Using ROSbot with ROS2

Dear community!

We would like to introduce you a brand-new image for ROSbot 2.0 and ROSbot 2.0 PRO based on Ubuntu 18.04 with ROS2. It’s Beta version, but we would be very pleased if you could try it and let us know what should we add or change.

You can download images here.

To reinstall system follow the instruction from ROSbot manual.

After booting the robot, you will need to update CORE2 firmware to make it compatible with ROS2. The firmware is already in the image, so to flash it, just ssh to your ROSbot home folder and execute the following command:

./flash_firmware.sh

Prior to launching the panel, it is required to establish communication with CORE2 board:

  • for ROSbot 2.0: sudo MicroXRCEAgent serial --dev /dev/ttyS1 -b 500000
  • for ROSbot 2.0 PRO: sudo MicroXRCEAgent serial --dev /dev/ttyS4 -b 460800

In our images we are using CycloneDDS instead of default DDS. Enable communication between FastRTPS on IPv4 and CycloneDDS on IPv6:

ros2 run dds_bridge dds_bridge

To find out more regarding the interoperability issue, refer to dds_bridge documentation.

By default CORE is measuring time since reset, thus timestamps are published the same. If you want to use system time, use rosbot_time_publisher node:

RMW_IMPLEMENTATION=rmw_fastrtps_cpp ros2 run dds_bridge rosbot_time_publisher

Last step is to launch the Route Admin Panel web application web application (also ported to ROS2!) hosted by ROSbot:

  • for ROSbot 2.0: ros2 launch route_admin_panel panel_rosbot.launch.py
  • for ROSbot 2.0 PRO: ros2 launch route_admin_panel panel_rosbot_pro.launch.py

We look forward for your suggestions and comments!

All the Best,
Hubert
Husarion Team