ROS2学习笔记
一、ROS2安装
打开命令行终端,执行以下命令
- 设置编码
$ sudo apt update && sudo apt install locales
$ sudo locale-gen en_US en_US.UTF-8
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8
- 添加源
$ sudo apt update && sudo apt install curl gnupg lsb-release
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
- 安装ROS2
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install ros-humble-desktop
- 设置环境变量
若只安装ROS2可直接调用命令行设置ROS2环境变量
$ source /opt/ros/humble/setup.bash
$ echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc
若ROS1与ROS2共存,则按如下步骤实现ROS1和ROS2快速切换系统环境变量
(1)打开.bashrc文件
sudo gedit .bashrc
(2)在.bashrc文件末尾添加以下代码(注意将以前的source ros环镜的代码去掉)
#source /opt/ros/noetic/setup.bash
echo "ros noetic(1) or ros2 humble(2)?"
read edition
if [ "$edition" -eq "1" ]; then
source /opt/ros/noetic/setup.bash
echo "ros noetic(1) has been chosen!"
else
source /opt/ros/humble/setup.bash
echo "ros2 humble(2) has been chosen!"
fi
(3)打开Terminal后选择ROS1或ROS2环境变量
选择2
注意:(在2. 添加源)如遇报错“Failed to connect to raw.githubusercontent.com”
解决办法如下:
- 登录网站:https://www.ipaddress.com
- 在打开的网站中将“raw.githubusercontent.com”复制到查询栏中进行搜索,可以看到域名对应的IP地址信息
- 将搜索结果中展示的Ip地址和域名拷贝系统hosts文件中:
打开hosts文件sudo /etc/hosts
,按下 a 即可编辑文件
<!-- 添加以下内容 -->
185.199.108.133 raw.githubusercontent.com
4. 输入 :wq
保存退出,就可以正常使用了。
5. 运行小海龟判断是否完成ROS2安装。
$ ros2 run turtlesim turtlesim_node
$ ros2 run turtlesim turtle_teleop_key
至此,ROS2安装成功。
二、新建工作空间与功能包
第一次操作需安装所需工具
<!-- 功能包依赖管理工具python3-pip -->
$ sudo apt install -y python3-pip
<!-- 功能包依赖自动安装工具rosdepc -->
$ sudo pip3 install rosdepc
<!-- rosdepc初始化 -->
$ sudo rosdepc init
<!-- rosdepc检查更新 -->
$ rosdepc update
<!-- 工作空间编译工具 -->
sudo apt install python3-colcon-ros
- 新建工作空间
<!-- 在当前目录下新建工作空间dev_ws -->
mkdir -p dev_ws/src <!-- -p :连续创建目录 -->
<!-- 进入工作空间 -->
cd dev_ws
<!-- 安装所有功能包所需依赖 -->
$ rosdepc install -i --from-path src --rosdistro humble -y
- 编译工作空间
<!-- 在工作空间下编译 -->
$ colcon build
工作空间文件作用简要说明
- 工作空间的src目录下创建节点
<!-- C++节点 -->
$ ros2 pkg create --build-type ament_cmake <package_name>
<!-- Python节点 -->
$ ros2 pkg create --build-type ament_python <package_name>
节点文件简介
- 运行节点前设置环境变量
$ source install/local_setup.sh # 仅在当前终端生效