Locations
A location is a named point a robot can be sent to. Instead of an operator driving a robot across a building by hand, they pick a name from a list and the robot navigates there on its own, using its own navigation stack to route and avoid obstacles.
You set them up by uploading a map of the site and clicking the spot you want. Give it a name and it becomes a destination. Each site has its own map, and every user and robot with access to that site gets every location on it, so you build the list once rather than robot by robot.
What Locations Do
- Turn driving into dispatching. Sending a robot to "Loading Dock 2" takes one click. The operator does not need to know the building, and does not need to watch the robot the whole way.
- Make one operator useful across many robots. Manual driving occupies a person for the whole trip. Dispatching does not, so one person can keep several robots working instead of babysitting one.
- Remove tribal knowledge. The place names live in the platform, not in an operator's head, so a new starter is useful immediately and cover is easy.
- Keep names consistent across a fleet. Every robot on a site can share the same set of places, so instructions mean the same thing regardless of which robot is free.
- See where the robot is. The robot's live position shows on the map as a pulsing red beacon, with a cone pointing the way it is facing, so you can watch it travel instead of guessing from the camera feed. The beacon turns grey if the position goes stale.
- Recall and cancel. Every robot has a Home, and any trip in progress can be cancelled from the session.
Where Locations Come From
Locations are created in Command HQ under Customizations → Locations, by placing them on a site's map. They then appear automatically in the Locations list inside the teleop session for any robot on that site. Operators do not add them, and nothing needs setting up on the robot itself.
A site has to exist with its map uploaded before locations can be placed on it, so create the site first.
Two other entries can show up in the same list:
- Home. Each robot has a Home entry. If a home location has been saved for that robot, the robot navigates to it. If not, CTRL+R asks the robot to run its own built-in homing routine instead, which is usually a return to its dock or charger.
- Places from a system you already run. Organizations can connect an existing source, so destinations already tracked elsewhere, such as inventory or product locations, become available without anyone retyping them.
The pulsing beacon needs Pose Streaming switched on for that robot, and it is off by default. Turn it on in the live config panel on the Robot Setup or Edit Robot page. Without it the map still works and the robot still navigates, you just cannot see where it is. The robot also has to report its position against the same map, so if the beacon never appears, check that first.
Uploading a map
The usual source is a PGM file, which is what most robots produce from their standard mapping routine. Drive the robot around once to let it build a map of the space, export it, and upload it to the site. PNG, JPG and YAML files are accepted too.
Sending a Robot
Locations live in a panel inside the teleop session. Open a session, find the location by name or with the search box, and send the robot. While it is travelling, the panel shows that the trip is in progress along with how long it has been going, and there is a Cancel control to stop it. Home has its own button at the top of the panel.
The robot reports back when it arrives or if it fails, so the operator does not need to watch the video feed to know the trip finished.
How It Works
A location is a name plus a point in the robot's own map: an X, Y and Z coordinate, with an optional facing direction so the robot arrives pointing the right way. Those numbers are positions on the map your robot's navigation system already uses, not GPS coordinates.
When an operator sends a robot, CTRL+R publishes that point to the robot's navigation goal topic as a geometry_msgs/PoseStamped in the map frame. The robot's own navigation stack does the rest. Cancelling publishes to the nav cancel topic, and Home publishes to the nav home topic when no home location is saved. All three topic names are configurable on the Configuring Your Robot page.
Progress comes back on the nav status topic, which the agent expects to carry exactly three values: "started", "completed" and "failed". That is what drives the in-progress and finished states in the panel.
The destination is handed to the robot at the moment an operator sends it, so the robot does not need the whole list of places in advance. Adding or renaming a location in Command HQ takes effect straight away, with nothing to push out to the fleet.
Requirements and Limits
- The robot needs a working navigation stack. CTRL+R sends a destination; it does not do path planning or obstacle avoidance. A robot that cannot navigate on its own will receive the goal and do nothing with it.
- The robot needs to know where it is. Navigation depends on the robot being localized on its map. If it has lost its position, trips will fail.
- Locations belong to a site, not a robot. A robot only sees the locations for the site it belongs to, so a robot moved between sites picks up that site's list rather than carrying its old one.
- Locations are map-specific. They only make sense against the map the robot was using when they were created. Remap the building and the coordinates need revisiting.
