Skip to content

Preplanned drive (not supported on the Origin One 1.0/1)

Corresponding components: Origin platform, Autopilot, Cerebra studio

Warning

Make sure that the robot is unplugged from its charger

Important

Make sure that Cerebra Studio is installed on your computer (see installation for more information)

Important

Make sure that the robot has a map of the environment and that it is available to the Autopilot (see autopilot-mapping for more information)

Job preparation

After the robot completely finished the starting-up procedure, turn on the remote controller, drive it in front of the marker and open the Mission Planner of Cerebra Studio. Before you are able to plan a mission, or as we call it a "job", you should first follow some preparations

  1. Cerebra Studio will ask you to open a location, which can be either indoor or outdoor (or both). In the case of an indoor location you should select the location that relates to the map that you also want that the robot is using (as you may have multiple, often outdated, maps of an environment). In the case of outdoor you should select the location that corresponds to the area in which the robot will be operating.

    Note: in case you do not have defined a location yet, or want to create a new want, you may add a new location by clicking on the "add location" button (see the manual under the topic "create new location" of Cerebra Studio for more details)

  2. When a location is selected Cerebra Studio will ask to select a "job" for the robot. You may select an existing job, but if there are no jobs or you want to create a new one you may add a new job by clicking on the "create new job" button. More details on how to create and edit a job can be found in the manual under the topic "job management".

  3. You will now see a map that is either a floorplan or aerial photo, depending on whether your location is indoor or (also) outdoors.

  4. In the rop-right corner you may now "add task" to the job of the robot by clicking on that button (see this manual under the topic "add tasks to a job".). You can add a Follow path task by either selecting an existing path or add a new path by clicking on the button "new". Please note that paths are not linked to a specific map, which means that you may re-use old paths from an area that you re-mapped because the old map was outdated and too much in the area changed in the meantime for the robot to keep track of its position.

This completes the preparation and you may now continue to the execution part of a pre-planned drive.

CerebraPrep

Job execution

The job is now stored in Cerebra Studio and we need to pass that information to the robot so that it know what to execute. Also, we need to launch the Autopilot in its default mode, for which it is important that you have closed the previous session with the Autopilot properly, i.e., that is it not already running. In case you are uncertain about that you may best restart the robot, as a shutdown will force the Autopilot to close.

Info

You may also check the ROS2 topics of the robot to verify whether or not the Autopilot is still running. You can do so as follows 1. Connect to the wifi access point of the robot by searching for the wifi network named "origin-15-AP" (the post-fix AP stands for "access point"). 2. Open a new terminal in Linux and use ssh to enter the robot as follows: $ ssh avular@orgin-15.local. 3. Within the terminal, enter the docker container of the Autopilot as follows: $ avular compose enter autopilot. 4. Run the command to see all the ROS2 topics that exists: ros2 topic list. 5. If the topic autopilot\estimated_pose is present, then the Autopilot is already running and you should restart the robot

The following steps will start the execution of the job that was defined in Cerebra Studio by the robot.

  1. Open a terminal on your computer and start na ssh session with the robot, see firs-time-connecting
  2. Within the terminal, enter the docker container of the Autopilot as follows: $ avular compose enter autopilot.
  3. When indoors, ensure that the robot is close and in front of the Aruco marker. When outdoors, ensure that the robot has a stable RTK-GNSS fix and drive the robot for 5 meters manually (preferably in a straight line).
  4. Start the Autopilot in DEFAULT mode by running the following command in the docker environment of the Autopilot: ros2 launch autopilot_origin_twilight default.launch.py. It may take a minute or 2/3 until the Autopilot is successfully launched, at which you will receive a logging statement in the terminal that is equal to: [behaviortree_executor-1] [INFO] [autopilot.behaviortree_executor.LogInfo]: System initialized].
  5. Open a new terminal and start an ssh session with the robot.
  6. Within the terminal, enter the docker container of the Autopilot as follows: $ avular compose enter autopilot.
  7. Load the same map that you have used in Cerebra Studio into the Autopilot by running the following command ros2 service call /autopilot/information_manager/load_localization_map knowledge_base_msgs/srv/PublishLocalizationMap '{name: some_name}. You should receive a response in the terminal that the map was published successfully.

Info

In case you don't know the name of the map anymore, then you may request all the maps known to the robot using the following command: ros2 service call /autopilot/information_manager/resource/map/list knowledge_base_msgs/srv/ListResource.

The robot is now ready to execute the job you have defined in Cerebra Studio. Before starting the execution please check whether the robot has an accurate estimate of its position. You may do so may checking the robot's status that is displayed in the top-left corner of Cerebra Studio, which should be green and mention "High robot pose accuracy". If this is not the case, then either: - The robot did not yet detected the Aruco marker, in case of an indoor scenario, and you may trigger such a detected by driving closer and more straight in front of the Aruco marker (yet not closer than 30cm). - The robot does not yet have an RTK-GNSS fix, in case of an outdoor scenario, or it has an RTK-GNSS fix but you still need to drive the robot manually for some 5 meter in a straight line (this is necessary to get an accurate position estimate when driving outdoors on RTK-GNSS).

CerebraPose

Then, to trigger the execution you should hit the "play" butting right next to the name of the job in Cerebra Studio. Please verify that the robot is in a proper state to execute the job, as it might be waiting to request control of the robot since you manually drove the robot. In that case you should press the "X" button on the remote controller to release control (please also verify that the remote controller is still connected to the robot as this connection is broken when the remote controller was left aside for an hour).

Info

While executing the job the robot will keep track of its position, which is also shown on the map in Cerebra Studio. More information about how the robot is localizing itself can be found in at the autopilot-localization.

Info

While executing the job the robot will avoid obstacles. In case the task in Cerebra Studio is a "Follow path" task, then the robot has received a specific path to follow and it is not allowed to avoid medium and large, ad-hoc obstacles. Instead it will surely avoid small, ad-hoc obstacle with a size up to 15 cm, and it may, or may not, avoid medium obstacles having a size up to 50 cm. More information about obstacle avoidance can be found in at the autopilot-obstacle avoidance.