- Home
- openamrobot-ui overview
Experimental
openamrobot-ui · Overview
For: anyone who will operate, deploy or extend the robot's interface. Before you start: nothing. Demo Mode needs no robot and no ROS. When you finish: you will know what the dashboard does, what each page is for, and where its limits are.
What it is
A browser dashboard for operating and monitoring an autonomous mobile robot. Maps, manual driving, navigation goals, camera views, routes, visual programs, missions, health diagnostics, recordings and developer tools, in one interface.
It is the surface most people touch. A domain expert may never open a terminal; they will live here.
Demo Mode
The single most useful thing about this repository for a newcomer: you can explore the entire interface with no robot, no ROS installation and no hardware.
Demo Mode serves browser-side sample data. Every page renders, every control responds, nothing commands a real robot. It takes about five minutes to get running and it is the right way to learn the interface before you are responsible for a machine that moves.
See Set up.
The E-STOP is software only
Read this before operating real hardware
The red E-STOP button in the dashboard is a software stop. It sends one zero-velocity command and asks Nav2 to cancel the active goal.
It is not latched. It is not safety-rated. It depends on the browser, the network, rosbridge and the robot controller all working. If any of them has failed — which is precisely when you reach for an emergency stop — the button may do nothing.
Keep a tested physical emergency stop within reach whenever a real robot is powered.
This is not a criticism of the implementation. A browser button cannot be a safety device; no software stop reached over a network can be. It is stated here, and repeated on every operation page that mentions motion, because the consequence of misunderstanding it is someone standing in front of a moving robot pressing a button that is not connected to anything mechanical.
The pages
Eighteen of them.
| Page | URL | Use it for |
|---|---|---|
| Map | / |
Map, goals, pose, joystick, docking, waypoints |
| Routes | /route |
Reusable waypoint sequences |
| Maps | /maps |
Create, save, switch, rename, organise maps |
| Programs | /blocks |
Blockly visual programs and Voice Command |
| Scheduler | /scheduler |
Time-triggered actions |
| Missions | /missions |
Multi-step missions |
| Status | /info |
Camera, telemetry, battery, system health |
| Robot | /robot |
URDF model and live joint information |
| Devices | /devices |
External-device registry and serial detection |
| Health | /health |
Readiness, topic freshness, lifecycle, diagnostics |
| Metrics | /metrics |
Distance, uptime, success statistics |
| Recordings | /recordings |
Rosbag recording and replay |
| Events | /events |
Filterable event history |
| Console | /console |
/rosout and topic echo |
| Parameters | /params |
Read or change Nav2 parameters |
| Fleet | /fleet |
Robot profiles and active-robot selection |
| Config | /config |
Connections, Demo Mode, limits, preferences |
| Notes | /notes |
Example plugin page |
Scheduler and Missions run in the browser tab
They are browser-side. Close the tab and scheduled actions stop. Do not assume an interrupted browser session resumes safely. If you need something to survive a closed laptop, it does not belong in Scheduler.
What it is not
- Not the robot's brain. Navigation, localization and control run in
openamr-platform-sw. The UI commands and observes; it does not decide. - Not a safety system. See above.
- Not authenticated. See Security. Only open mode is implemented.
- Not the App. The guided-flow product for people who are not required to learn robotics is a separate layer.
Two workspaces
Worth understanding before installation, because conflating them is the most common setup mistake:
Robot / simulation workspace → Nav2, localization, sensors, drivers, simulator
UI workspace → dashboard, rosbridge, camera server, relays
They are separate. Start the robot or simulation first, then launch the UI.
Where to go next
| You want to | Go to |
|---|---|
| Try it without a robot | Set up |
| Understand how the browser talks to ROS | Concepts |
| Configure connections, limits, security | Configuration |
| Look up a page, port or package | Reference |
| Follow a worked task | Tutorials |
| Fix something | Troubleshooting |
| Learn to operate the robot | Use |
Build it: openamrobot-ui