Wandering Application in a ARIAC Gazebo* Simulation#
This tutorial explains how to use an industrial simulation room model (the OSRF GEAR workcell that was used for the 2018 ARIAC competition) with objects and a wafflebot3 robot for simulation in Gazebo*. The industrial room includes: shelves, conveyor belts, pallets, boxes, robots, stairs, ground lane markers, and a tiled boundary wall.
Run the Sample Application#
If your system has an Intel® GPU, follow the steps in the Get Started Guide for Robots to enable the GPU for simulation. This step improves Gazebo* simulation performance.
Check if your installation has the turtlesim Docker* image.
docker images |egrep "amr-turtlebot3|amr-rtabmap|amr-nav2|amr-wandering" #if you have them installed, the result is: amr-turtlebot3 amr-rtabmap amr-nav2 amr-wandering
Note
If these images are not installed, continuing with these steps triggers a build that takes longer than an hour (sometimes, a lot longer depending on the system resources and internet connection). Intel® recommends checking your installation with FastMapping Algorithm or installing the Robot Complete Kit with the Get Started Guide for Robots.
Check that EI for AMR environment is set:
echo $AMR_TUTORIALS # should output the path to EI for AMR tutorials /home/user/edge_insights_for_amr/Edge_Insights_for_Autonomous_Mobile_Robots_2023.1/AMR_containers/01_docker_sdk_env/docker_compose/05_tutorials
If nothing is output, refer to Get Started Guide for Robots Step 5 for information on how to configure the environment.
Use
docker compose
to execute the Wandering app Docker* container:docker compose -f $AMR_TUTORIALS/wandering_gazebo_ariac.tutorial.yml up
Expected result:
The robot starts wandering inside the simulation. See the simulation snapshots from different angles:
To increase performance, the real-time update rate can be set to 0:
In Gazebo*’s left panel, go to the World Tab and click Physics.
Change the real-time update rate to 0.
To stop the Wandering app, do the following:
Type
Ctrl-c
in the terminal executing the Docker* containerRemove the stopped containers:
docker compose -f $AMR_TUTORIALS/wandering_gazebo_ariac.tutorial.yml down --remove-orphans
Troubleshooting#
If the robot is not moving but Gazebo* is started, start the Wandering application manually by opening a container shell and entering:
docker compose -f $CONTAINER_BASE_PATH/01_docker_sdk_env/docker_compose/01_amr/amr-sdk.all.yml run --rm wandering bash ros2 run wandering_app wandering
The ARIAC world tutorial works only with the eiforamr
user.
If the yml is started with a different user, the Gazebo* model fails.
In case of such a failure, verify that the file 01_docker_sdk_env/docker_compose/01_amr/.env
contains the line
CHOOSE_USER=eiforamr
For general robot issues, refer to: Troubleshooting for Robot Tutorials.