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?
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.
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.
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.
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
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.
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
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?
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
@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.
MicroRTSAgent lately suffers a renaming to Micro XRCE-DDS Agent. With such renaming links to documentation changed accordingly, in this case, you could find the official Micro XRCE-DDS documentation here: https://micro-xrce-dds.readthedocs.io/en/latest/index.html
Hi, @Kei .
I do not quite understand how ros2arduino comes here, I have TB3 Burger and struggling to follow the new ROS2 bringup emanual. I have a couple of errors with the lidar startup example,namely during ./turtlebot3_lidar:
" Error at create entities: participant 132 topic: 132 publisher: 132 darawriter:132 "
The lidar then stops spinning.
(Also is that a typo for datawriter?)
And when I just want to teleop key the wheels do not move, Is it a firmware issue as 1.0.0 has a bug with wheels?
@BorjaOuterelo Thank you, I believe ROBOTIS just recently updated their tutorials to fit the name changes. It is just my luck that I got a TB3 when all of these changes are happening.
The reason I described ros2arduino in the link I mentioned is that I applied ros2arduino with Micro-XRCE-DDS support to the TB3 firmware.
The existing firmware used MicroRTPS, but Micro-XRCE-DDS has not only changed its name, but also many internal codes. Therefore, we developed the ros2arduino library to support this and applied it to the TB3 firmware. So ros2arduino is very closely related to TB3.
Anyway, we modified e-manual because Micro-XRCE-DDS and new firmware were released.
Have you run Micro-XRCE-DDS-Agent properly?
This error occurs because Agent and client cannot communicate and XRCE-DDS entity cannot be created.
I have then tried to follow the guide “How to set sbc for turtlebot3 with ros2” with the Ubuntu Mate that I installed when I got the Turtlebot3. When I do this I get an error on an too old version of boost when doing the build of the lidar client. I only get boost version 1.58, but the CMakeLists require Boost 1.62.
What is currently the recommended way to get ROS2 on the turtlebot3 with Raspberry Pi3?