一、问题描述
在虚拟机Ubuntu22.04中安装了ROS2(humble),下载turtlebot3。在colcon build --symlink-install
编译的过程中turtlebot3_Fake_node一直失败,无法正常运行,影响后面的仿真测试。
二、解决方案
查阅相关资料后发现问题主要出在缺少ROS2 相关依赖&Ubuntu 版本匹配。
(1)首先通过lsb_release-a
查看系统版本
查到自己的系统版本后进入(emanual.robotis.com)官网,点击turtlebot3,找到左边第三个(3.Quick Start Guide)下的(PC setup)。
(2)选择自己的对应ros版本安装相关依赖
- open the terminal with
ctrl+Alt+T
from Remote PC - install Gazebo
$ sudo apt install ros-humble-gazebo-*
- install Cartographer
$ sudo apt install ros-humble-cartographer
$ sudo apt install ros-humble-cartographer-ros
- install Navigation2
$ sudo apt install ros-humble-navigation2
$ sudo apt install ros-humble-nav2-bringup
(3) 继续按官网进行source ~/.bashrc
没通,可能是由于当时把工作空间删除的原因,后面在台式机上按照官网的说明,能顺利跑通没有任何问题。
(4)安装Turtlebot3功能包,这里提供的是智能佳官网的下载路径,当然也可以通过其他路径下载,去到智能佳官网(www.rosrobot.cn)
- 创建工作空间
mkdir -p ~/colcon_ws/src
- 安装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编译成功!文章来源:https://www.toymoban.com/news/detail-704941.html
(6)添加环境变量文章来源地址https://www.toymoban.com/news/detail-704941.html
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
到了这里,关于虚拟机 + Ubuntu22.04 + ros2 (humble) colcon build turtlebot3_node失败的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!