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#

  1. 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.

  2. 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.

  3. 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.

  4. 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:

    ../_images/8281DCAC-7F7E-48AC-89E1-0F55F37B01DF-low.png ../_images/44DAED41-EB8D-4883-A7CC-22D46F206582-low.png

    To increase performance, the real-time update rate can be set to 0:

    1. In Gazebo*’s left panel, go to the World Tab and click Physics.

    2. Change the real-time update rate to 0.

  5. To stop the Wandering app, do the following:

    • Type Ctrl-c in the terminal executing the Docker* container

    • Remove 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.