虚拟机 + Ubuntu22.04 + ros2 (humble) colcon build turtlebot3_node失败的解决方案

一、问题描述

在虚拟机Ubuntu22.04中安装了ROS2(humble),下载turtlebot3。在colcon build --symlink-install 编译的过程中turtlebot3_Fake_node一直失败,无法正常运行,影响后面的仿真测试。

虚拟机 + Ubuntu22.04 + ros2 (humble) colcon build turtlebot3_node失败的解决方案_第1张图片
虚拟机 + Ubuntu22.04 + ros2 (humble) colcon build turtlebot3_node失败的解决方案_第2张图片

二、解决方案

查阅相关资料后发现问题主要出在缺少ROS2 相关依赖&Ubuntu 版本匹配

(1)首先通过lsb_release-a查看系统版本
查到自己的系统版本后进入(emanual.robotis.com)官网,点击turtlebot3,找到左边第三个(3.Quick Start Guide)下的(PC setup)。

(2)选择自己的对应ros版本安装相关依赖

  1. open the terminal with ctrl+Alt+Tfrom Remote PC
  2. install Gazebo
$ sudo apt install ros-humble-gazebo-*
  1. install Cartographer
$ sudo apt install ros-humble-cartographer
$ sudo apt install ros-humble-cartographer-ros
  1. install Navigation2
$ sudo apt install ros-humble-navigation2
$ sudo apt install ros-humble-nav2-bringup

(3) 继续按官网进行source ~/.bashrc没通,可能是由于当时把工作空间删除的原因,后面在台式机上按照官网的说明,能顺利跑通没有任何问题。

(4)安装Turtlebot3功能包,这里提供的是智能佳官网的下载路径,当然也可以通过其他路径下载,去到智能佳官网(www.rosrobot.cn)

  1. 创建工作空间
mkdir -p ~/colcon_ws/src
  1. 安装turtlebot3功能包
cd ~/colcon_ws/src/
git clone -b hunble-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git

这里有几点需要特别注意
首先如果git指令无法执行,首先根据终端提示去安装它,同理如果出现其他缺少的功能,安装它即可。虚拟机一般能够较快的连接github进行下载,但再次提示一定要根据自己的版本来装,像我的是humble,有的可能是foxy,最后就是不要直接在github网站上下载zip文件,复制到工作空间的src文件夹里,因为git clone指令和直接下载还是不一样的,后面还有进行一些功能的扩展,必要通过git clone来装。

(5) 编译

cd ..
colcon build --symlink-install


解决问题colcon build --symlink-install turtlebot3_node编译成功!

(6)添加环境变量

echo 'source ~/colcon_ws/install/setup.bash' >> ~/.bashrc
echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
echo 'export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/colcon_ws/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models' >> ~/.bashrc
source ~/.bashrc

你可能感兴趣的:(ROS学习系列,机器人,人工智能,ROS)