This tutorial simulates a virtual Nova Carter running Mission Client in Isaac Sim and assign it a mission with Mission Control.
- To start, follow the instructions in the Isaac ROS Mission Client tutorial up to step 5. Verify that you have the warehouse scene open in Isaac Sim along with Mission Client built and that the scene in Isaac Sim looks like the image below.
- From the root of the Mission Control repo, run the following commands to bring up Mission Control and its dependencies using Docker Compose:
cd docs/tutorial/docker-compose
docker compose -f bringup_services_tutorial.yaml up
- Follow Step 7 of the Isaac ROS Mission Client tutorial to start the Mission Client. For reference, the command below is run inside the Isaac Docker container:
ros2 launch isaac_ros_vda5050_nav2_client_bringup isaac_ros_vda5050_nav2_client.launch.py init_pose_x:=-2.0 init_pose_yaw:=3.14159
- Constructing a navigation mission:
- Use the Waypoint Selection Tool to select the start and end points of the mission. Run the following command from the root of Mission Control repo:
docker compose -f waypoint_selection_ui/bringup_wp_selection_ui.yaml up --build
- Access the web interface for the Waypoint Selection Tool at: http://localhost:8051
- Go to 'Use Existing Files' and select 'carter_warehouse_navigation.png' and 'carter_warehouse_navigation.yaml'. Click on 'Load Selected Files' to load the map and verify that you see the map with the origin near the middle of the map as shown below:
- Click on the map to define waypoints for the mission. Avoid defining waypoints that are in an obstacle (dark spots on the map) or too close to an obstacle. For example:
- Press 'Generate Waypoints' to get the list of waypoints as x, y, z coordinates. Verify that it looks like the example:
[
{
"x": -2.9223684210526315,
"y": 4.0245616712068255
},
{
"x": 7.07763157894737,
"y": 3.8666669343647193
},
{
"x": 7.1828947368421066,
"y": -5.922806749845808
},
{
"x": -3.2907894736842085,
"y": -5.922806749845808
}
]
- (Optional) Click on 'Visualize Route' to see the route that would be generated by the route planner from Mission Control.
- Submitting the mission through Mission Control:
- You can access the Mission Control web interface at: http://localhost:8050/api/v1/docs
- Open the menu for
POST /mission/submit_missionand click on 'Try it out'. - In the request body, create a JSON object with the key 'route' and the value being the list of waypoints you generated in the previous step. An example is shown below.
- Press execute to submit the mission.
Optional Mission parameters
- Add the key 'iterations' and the value being the number of times the mission should be executed. The default is 1. In the example below, the route will be executed twice.
{
"route": [
{
"x": -2.9223684210526315,
"y": 4.0245616712068255
},
{
"x": 7.07763157894737,
"y": 3.8666669343647193
},
{
"x": 7.1828947368421066,
"y": -5.922806749845808
},
{
"x": -3.2907894736842085,
"y": -5.922806749845808
}
],
"iterations": 2
}- By default Mission Control will route to the nearest waypoints provided by SWAGGER. If you want the robot to end on a specific
x,y,thetaposition, you can use theend_locationparameter withexactset to true. Setthetato the desired orientation of the robot in radians.
{
"route": [
{
"x": -2.9223684210526315,
"y": 4.0245616712068255
},
{
"x": 7.07763157894737,
"y": 3.8666669343647193
},
{
"x": 7.1828947368421066,
"y": -5.922806749845808
},
{
"x": -3.2907894736842085,
"y": -5.922806749845808
}
],
"end_location": {
"x": -2.5081181774400676,
"y": -8.503454413823114,
"theta": 1.57,
"exact": true
}
}- After the response is received, verify that you see the Nova Carter navigate to the waypoints and complete the mission.




