TurtleBot2 on ROS2 Humble (Launch/Sophus Problems)
Hello , I am currently trying to run TurtleBot2 on ROS2 Humble (on Ubuntu 22.04). I have installed Ubuntu with the Debian packages and proceeded just like @ljaniec setup
Nav2 binaries:
sudo apt install ros-humble-navigation2
sudo apt install ros-humble-nav2-bringup
sudo apt install ros-humble-turtlebot3*
sudo apt install ros-humble-turtle*
export TURTLEBOT3_MODEL=waffle
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/humble/share/turtlebot3_gazebo/models
Test Launch
ros2 launch nav2_bringup tb3_simulation_launch.py
ROS 2 workspace for sources
cd ~/tb2_ros2_nav2/
mkdir -p ros2_ws/src
cd ~/tb2_ros2_nav2/ros2_ws/src
Clone these Kobuki packages
git clone https://github.com/kobuki-base/kobuki_core.git
git clone https://github.com/kobuki-base/velocity_smoother.git
git clone https://github.com/kobuki-base/cmd_vel_mux.git
git clone https://github.com/kobuki-base/kobuki_ros_interfaces.git
git clone https://github.com/kobuki-base/kobuki_ros.git
Important! Install dependencies (ECL libraries, etc.)
cd ~/tb2_ros2_nav2/ros2_ws/
sudo rosdep install -i --from-path src --rosdistro humble -y
At this point I did some changes since I wasnt able to sudo rosdep install -i --from-path src --rosdistro humble -y
. I used git clone
in cd ~/tb2_ros2_nav2/ros2_ws/src
for :
- git: {local-name: src/sophus, uri: 'https://github.com/stonier/sophus.git', version: release/1.2.x }
- git: {local-name: src/ecltools, uri: 'https://github.com/stonier/ecltools.git', version: devel }
- git: {local-name: src/ecllite, uri: 'https://github.com/CNURobotics/ecllite.git', version: humble-test }
- git: {local-name: src/eclcore.git, uri: 'https://github.com/CNURobotics/eclcore.git', version: humble-test }
After I git cloned them I used rosdep install -i --from-path src --rosdistro humble -y
in cd ~/tb2_ros2_nav2/ros2_ws/
which worked and afterwards colcon build --symlink-install
. This led to some issues concerning the sophus package. I tried to find a solution for it but nothing would work, so I enabled the warnings (#eclenablecxx_warnings()) in
- eclcore/ecllinear_algebra/CMakeLists.txt
- eclcore/eclgeometry/CMakeLists.txt
- eclcore/eclmanipulators/CMakeLists.txt
- eclcore/eclmobile_robot/CMakeLists.txt
- eclcore/eclcore_apps/CMakeLists.txt
- kobuki_core/CMakeLists.txt
- eclcore/eclstatistics/CMakeLists.txt
which eventually let me colcon build --symlink-install
successfully. Afterwards I used git clone
in ~/tb2_ros2_nav2/ros2_ws/src
for the following packages:
- https://github.com/igrak34/TurtleBot2-on-ROS2
- https://github.com/ros-perception/laser_proc.git (https://github.com/ros-perception/laser_proc/tree/ros2-devel)
- https://github.com/ros-drivers/urg_c.git (https://github.com/ros-drivers/urg_c/tree/ros2-devel)
- https://github.com/ros-drivers/urg_node.git (https://github.com/ros-drivers/urg_node/tree/ros2-devel)
- https://github.com/ros-drivers/urg_node_msgs.git
edited files which cloned old devels and used colcon build --symlink-install
again.
Now I am trying to use ros2 launch turtlebot2_bringup turtlebot_bringup.launch.py
but it keep giving me this output:
[INFO] [launch]: All log files can be found below /home/autlab3/.ros/log/...
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): Node.init() missing 1 required keyword-only argument: 'executable
I have checked the turtlebot_bringup.launch.py file but was not able to find anything. Could anyone help me with this issue or the sophus issue? Thank you in advance !
Asked by Djinn on 2023-04-27 08:09:13 UTC
Comments
Did you source all packages' workspaces beforehand? Can you show us the log files under
/home/autlab3/.ros/log/
? You have to check "Show hidden files" on Ubuntu to see.ros
folder.Asked by ljaniec on 2023-04-28 16:37:50 UTC
Yes, I used
source /opt/ros/humble/setup.bash
and. install/setup.bash
prior to the launch command. Unfortunately the only thing that is shown under the log is this:[INFO] [launch]: All log files can be found below /home/autlab3/.ros/log/...
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): Node.init() missing 1 required keyword-only argument: 'executable
Asked by Djinn on 2023-05-02 07:02:57 UTC
@ljaniec do you know, what can possible cause this problem? Did you have this problem when working with the Turtlebot2 on Humble?
Asked by Djinn on 2023-05-05 08:26:03 UTC
It seems to be similar to this issue - maybe you have mismatched package versions somewhere (e.g. older
galactic
andhumble
)? I do not remember encountering this problem.Asked by ljaniec on 2023-05-05 09:00:03 UTC
I have just checked the launch file and compared it with the github file and was not able to find any differences nor 'executable_node' instead of 'executable'. I am quite sure that I only used the humble branches for all the packages. Do you perharps can think of a solution for this problem or maybe on how to check this problem, @ljaniec ?
Asked by Djinn on 2023-05-05 09:15:08 UTC
Or can you maybe provide your workspace folder structure, so I can compare it to mine. Maybe there are packages that I am missing.
Asked by Djinn on 2023-05-05 09:28:25 UTC