Wandering Application with Multi-camera Rtabmap and AAEON Robot Kit#

This tutorial explains how to use Rtabmap with two Intel® RealSense™ cameras and an AAEON robot kit.

Run the Sample Application#

  1. Check if your installation has the all necessary Docker* images.

    docker images |egrep "amr-aaeon-amr-interface|amr-ros-base|amr-realsense|amr-ros-base-teleop|amr-imu-tools|amr-rtabmap|amr-nav2|amr-wandering"
    #if you have them installed, the result is:
    amr-aaeon-amr-interface
    amr-ros-base
    amr-realsense
    amr-ros-base-teleop
    amr-imu-tools
    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.

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

  3. Prepare the environment for two cameras. Replace 11111111111 and 33333333333 with the serial numbers of your two Intel® RealSense™ cameras. If you don’t know your camera serial numbers, you can leave the default values and extract the actual values from the error logs.

    export CAMERA_FRONT_SERIAL_NUMBER=11111111111
    export CAMERA_BACK_SERIAL_NUMBER=33333333333
    
  4. Use docker compose to execute the Wandering app Docker* container:

    docker compose -f $AMR_TUTORIALS/aaeon_2_cameras_rtabmap.tutorial.yml up 2> errlogs.txt 1> logs.txt
    

    This command will write logs to a text file named logs.txt. It is recommended to log to a file rather than the console so that navigating the large quantity of logs is easier.

    Expected result:

    The AAEON robot kit starts wandering. The robot’s path and perspective view should be visible within rtabmap-viz. (For more clarity, try right-clicking on 3d view and enable free camera, view of grid, and frustums of cameras) The green lines, connecting orange tool box show the loop closure.

    ../_images/irlAAEON.png
  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/aaeon_2_cameras_rtabmap.tutorial.yml down --remove-orphans
      

Troubleshooting#

To run this tutorial with a different setup, you need to modify the 01_docker_sdk_env/artifacts/01_amr/amr_generic/config/aaeon_2_cameras_realsense_model.urdf file. This file defines the relative locations of the cameras and the camera frustums.

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.