A minimal example of creating a ROS node that subscribes to topics and converts the messages to rerun log calls.
The solution here is mostly a toy example to show how ROS concepts can be mapped to Rerun. Fore more information on future improved ROS support, see the tracking issue: #1527
NOTE: Unlike many of the other examples, this example requires a system installation of ROS in addition to the packages from requirements.txt.
This example was developed and tested on top of ROS2 Humble Hawksbill and the turtlebot3 navigation example.
Installing ROS is outside the scope of this example, but you will need the equivalent of the following packages:
sudo apt install ros-humble-desktop gazebo ros-humble-navigation2 ros-humble-turtlebot3 ros-humble-turtlebot3-gazebo
In addition to installing the dependencies from requirements.txt
into a venv you will also need to source the
ROS setup script:
source venv/bin/active source /opt/ros/humble/setup.bash
First, in one terminal launch the nav2 turtlebot demo:
source /opt/ros/humble/setup.bash export TURTLEBOT3_MODEL=waffle export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/humble/share/turtlebot3_gazebo/models ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False
As described in the nav demo, use the rviz window to initialize the pose estimate and set a navigation goal.
You can now connect to the running ROS system by running:
python3 examples/python/ros_node/main.py