ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

[TB3] Introducing ROS2 Tutorials

ros2

#1

Hi :slight_smile:

Today, we are introducing new packages about TurtleBot3 for ROS2 !!!

Anyone who has TurtleBot3 can download revised Raspbian OS for Raspberry Pi 3, turtlebot3_core.ino for OpenCR and related packages(https://github.com/ROBOTIS-GIT/turtlebot3/tree/ros2)

TurtleBot3 ROS2 packages includes bringup package, tele-operation package and cartographer package.

If you want to use TurtleBot3 in ROS2, please visit our e-manual :turtle:

http://emanual.robotis.com/docs/en/platform/turtlebot3/applications/#ros2

We specially thanks to OpenRobotics Memeber , ROS2 developer and ROS community and
eProsima developer julianbermudez, richiware, MiguelCompany, lemunozm


XEL Network first application + Distributing XEL devices 100 set for free in ROScon2018!
Discussion on ROS to ROS2 transition plan
[ros2arduino] Discussion for development : ROS2 library for Arduino
ROS 2 TSC Minutes October 17th, 2018
#2

We are releasing the software we used. Please refer if necessary.

ROS2 source code for TurtleBot3


#3

One of the main points of ROS2 is MacOS and Windows support.
I am able to build and run ROS2 on my Mac, but I’m having trouble getting the turtlebot3 metapackages installed and running. I’m obviously unable to do apt install commands, so I skipped them, but python crashes (segmentation fault 11) when trying to run colcon build, unfortunately. Is it possible to use turtlebot3 with MacOS at this moment? if so, could you create a tutorial for that as well? :slight_smile:

Thanks a bunch for all your hard work!


#4

Okay, so I got a little further along. I’m not sure what exactly fixed it, but I did install PCL, Ceres-solver and boost using brew. Right now I’m having a problem building sensor_msgs and geometry_msgs because nddscpp and RTIConnextCpp are throwing erros. Probably due to RTI Connext 5.3 not being installed. I’ll update if and when I get further along.


#5

Hi @nilswesthoff :slight_smile:

Thank you for inquiry about turtlebot3.
We have plan to support MacOS and Windows near future.

And this tutorial don’t require dependency about RTI Connext 5.3. We used to Free-RTPS.
How did you install ROS2 in your laptop? I tested ROS2 is installed through source not binary in Linux.


#6

I installed ROS2 using the official ROS2 wiki. The ROS2 build is complaining about connext_cmake_module not working, but other than that, the talker/listener example seems to work fine.

When trying to install the Turtlebot 3 dependencies, it’s not finding the ament_package module, which I had fixed before, but is back after installing RTI Connext.

Full logs after source local_setup.bash and colcon build:

Starting >>> cartographer
Starting >>> cartographer_ros_msgs
Starting >>> pcl_conversions
Starting >>> turtlebot3_description
Starting >>> turtlebot3_msgs                                                                                                                    
Starting >>> turtlebot3_teleop
--- stderr: cartographer_ros_msgs                                                                                                                   
CMake Error at CMakeLists.txt:32 (find_package):
  By not providing "Findgeometry_msgs.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "geometry_msgs", but CMake did not find one.

  Could not find a package configuration file provided by "geometry_msgs"
  with any of the following names:

    geometry_msgsConfig.cmake
    geometry_msgs-config.cmake

  Add the installation prefix of "geometry_msgs" to CMAKE_PREFIX_PATH or set
  "geometry_msgs_DIR" to a directory containing one of the above files.  If
  "geometry_msgs" provides a separate development package or SDK, be sure it
  has been installed.


---
Failed   <<< cartographer_ros_msgs	[ Exited with code 1 ]
--- stderr: cartographer                                                                                                                          
CMake Error at /usr/local/Cellar/cmake/3.12.2/share/cmake/Modules/FindPkgConfig.cmake:659 (message):
  None of the required 'cairo>=1.12.16' found
Call Stack (most recent call first):
  CMakeLists.txt:36 (PKG_SEARCH_MODULE)


---
Aborted  <<< cartographer
Aborted  <<< turtlebot3_teleop
--- stderr: turtlebot3_description                                                                                                               
Traceback (most recent call last):
  File "/Users/intern/ros2_ws/install/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 21, in <module>
    from catkin_pkg.package import parse_package_string
ModuleNotFoundError: No module named 'catkin_pkg'
CMake Error at /Users/intern/ros2_ws/install/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:94 (message):
  execute_process(/usr/local/bin/python3
  /Users/intern/ros2_ws/install/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py
  /Users/intern/turtlebot3_ws/src/turtlebot3/turtlebot3_description/package.xml
  /Users/intern/turtlebot3_ws/build/turtlebot3_description/ament_cmake_core/package.cmake)
  returned error code 1
Call Stack (most recent call first):
  /Users/intern/ros2_ws/install/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:49 (_ament_package_xml)
  /Users/intern/ros2_ws/install/share/ament_lint_auto/cmake/ament_lint_auto_find_test_dependencies.cmake:30 (ament_package_xml)
  CMakeLists.txt:54 (ament_lint_auto_find_test_dependencies)


---
Aborted  <<< turtlebot3_description
--- stderr: turtlebot3_msgs                                                                                
Traceback (most recent call last):
  File "/Users/intern/ros2_ws/install/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 21, in <module>
    from catkin_pkg.package import parse_package_string
ModuleNotFoundError: No module named 'catkin_pkg'
CMake Error at /Users/intern/ros2_ws/install/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:94 (message):
  execute_process(/usr/local/bin/python3
  /Users/intern/ros2_ws/install/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py
  /Users/intern/turtlebot3_ws/src/turtlebot3_msgs/package.xml
  /Users/intern/turtlebot3_ws/build/turtlebot3_msgs/ament_cmake_core/package.cmake)
  returned error code 1
Call Stack (most recent call first):
  /Users/intern/ros2_ws/install/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:49 (_ament_package_xml)
  /Users/intern/ros2_ws/install/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:126 (ament_package_xml)
  CMakeLists.txt:36 (rosidl_generate_interfaces)


---
Aborted  <<< turtlebot3_msgs
--- stderr: pcl_conversions                                     
CMake Error at CMakeLists.txt:21 (find_package):
  By not providing "Findsensor_msgs.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "sensor_msgs", but CMake did not find one.

  Could not find a package configuration file provided by "sensor_msgs" with
  any of the following names:

    sensor_msgsConfig.cmake
    sensor_msgs-config.cmake

  Add the installation prefix of "sensor_msgs" to CMAKE_PREFIX_PATH or set
  "sensor_msgs_DIR" to a directory containing one of the above files.  If
  "sensor_msgs" provides a separate development package or SDK, be sure it
  has been installed.


---
Aborted  <<< pcl_conversions

Summary: 0 packages finished [9.27s]
  1 package failed: cartographer_ros_msgs
  5 packages aborted: cartographer pcl_conversions turtlebot3_description turtlebot3_msgs turtlebot3_teleop
  5 packages had stderr output: cartographer cartographer_ros_msgs pcl_conversions turtlebot3_description turtlebot3_msgs
  4 packages not processed
The file /Users/intern/turtlebot3_ws/None does not exist.

#7

Sorry, I think your case is not proper to discuss in this thread.
If you get a ticket in turtlebot3 issue page, you are going to get a comment.
Or you can use ROS Answers


#8

It’s great to see Turtlebot3 support for ROS2. Out of curiosity, why did you move to using a micro-rtps client for the LIDAR data instead of using roscpp directly? Additionally, it would be nice to see the source code for the new LIDAR node checked in directly instead of bundled in a tar file.


#9

Hi @nburek

Of course, using roscpp to publish LIDAR data is more suitable. But we had some problem to publish it in Raspberry Pi 3 (https://github.com/ros2/ros2/issues/568). We are going to debug what is problem.

And code for LIDAR node will be uploaded in github. Thank you for your suggestions :slight_smile:


Introducing the XEL Network : Modular H/W ecosystem over ROS2
#10

Wondering about support for the Waffle instead of the burger?
That is the instructions for downloading the opencr_update shows in the instructions to

export OPENCR_MODEL=burger

I was assuming I could also choose waffle, but noticed the update file only appears to have burger. files…

I am assuming that for the OpenCr, I can probably simply build on my Windows machine using my fork/branch of OpenCR where I need to choose the ROS2 branch?

Thanks


#11

Hello @KurtE

We have not provide firmware for Waffle yet.
But we are ready for new firmware and ros2 packages for TB3 including Waffle.
We will notice when new version is updated :slight_smile:

Thanks you for your interest.


#12

This question might be weird but what is the major difference between catkin_make and colcon make? Thanks in advance. This is just out of curiosity:)


#13

@shivaang12 This is off topic for this thread. Please ask questions on https://answers.ros.org And before you do, please search there for similar questions that someone may have already asked and gotten an answer.