ROS2环境安装
当前我们的ROS2课程依赖的是linux环境。
因为咱们一般都是window是主系统,所以我们通过Vmware Workstation,通过Ubuntu的镜像,来安装Linux环境。
。自2024年5月起,VMware Workstation Pro 已经对商业、教育和个人用途全面免费,不再需要序列号了。你只需要准备一个Broadcom账号就可以下载。
注册Broadcom账号:访问 Broadcom 支持门户(https://support.broadcom.com),注册一个免费账户。
进入下载页:登录后,进入专门的 VMware 下载页面,地址是这个: https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware%20Workstation%20Pro&freeDownloads=true。
下载:在列表中找到“VMware Workstation Pro for Windows”,选择你想下载的版本,同意条款后就可以下载了。安装包大小在600MB左右。
Ubuntu 22.04.5 LTS(稳定版)镜像下载链接如下:
https://releases.ubuntu.com/jammy/?_gl=11i5lxui_gcl_au*MTAwMTAxODExOS4xNzgwMjc5NjI4LjEzNjkyNjU4OTEuMTc4MDI3OTk2Mi4xNzgwMjc5OTYx
话不多说,直接开始ROS2环境安装:
后面的弹窗默认点击,即可。点完之后 会是黑屏,如下图所示:
这个时候 不要慌。点击 “关闭客户机”
再点 “开启虚拟机”【就是开机的意思】
然后 就是 开始Ubuntu的配置
一路默认 即可
点击 “Continue”
点击 “Continue”
配置 用户名,密码
安装时间 因电脑而异,我的很慢
安装完之后,点击“Restart Now”即可
ROS2系统安装
接下来,我们就可以把ROS2安装到Ubuntu系统中了。安装步骤如下:
1. 设置编码
$ 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
2. 添加源
$ 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 (如果输入上面的命令,报了SSL超时。可以用命令“sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654”替代。这两条命令的目的 都是为了下载ROS2) $ 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
如遇报错“Failed to connect to raw.githubusercontent.com”,可参考https://www.guyuehome.com/37844
3. 安装ROS2
$ sudo apt update $ sudo apt upgrade $ sudo apt install ros-humble-desktop
4. 设置环境变量
$ source /opt/ros/humble/setup.bash $ echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc
至此,ROS2就已经在系统中安装好了。
以上命令,在如下方式打开终端。在终端中输入命令行完成:
ROS2 示例测试
示例1:命令行测试
启动第一个终端,通过以下命令启动一个数据的发布者节点:
$ ros2 run demo_nodes_cpp talker
作用:启动talker节点,它会周期性地在/chatter话题上发布字符串消息(Hello World加上一个递增数字)。频率默认约 10 Hz
启动第二个终端,通过以下命令启动一个数据的订阅者节点:
$ ros2 run demo_nodes_py listener
作用:启动listener节点,它会订阅/chatter话题,并在收到消息时打印到终端。
【除了分两个终端分别运行,还可以在后台运行(命令最后加&,即使用 ros2 run ... &)。如果需要停止,按Ctrl+C即可。】
示例2:小乌龟仿真测试
再来试一试ROS中的经典示例——小海龟仿真器。
启动两个终端,分别运行如下指令:
$ ros2 run turtlesim turtlesim_node $ ros2 run turtlesim turtle_teleop_key
第一句指令将启动一个蓝色背景的海龟仿真器,第二句指令将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键,就可以控制小海龟运动啦。
【键盘上的上箭头,下箭头:分别表示前进和后退】 【键盘上的左箭头,右箭头:分别表示左转,右转一定角度】
关于小海龟中蕴藏的ROS奥义,我们在后续教程中将持续探索。
至此,恭喜你ROS2安装成功!