2.选择自定义高级,点击下一步
3.继续下一步到下面的界面,点击稍后安装操作系统,然后继续下一步
4.选择客户机操作系统为Linux,版本为Ubuntu 64位,继续下一步
5.为虚拟机设置一个名称,同时选择虚拟系统的安装路径,这里建议安装到固态硬盘,继续下一步
5.处理器配置,这里建议处理器数量和每个处理器的内核数量最少选择为2,继续下一步
6.虚拟机内存默认4GB即可,继续下一步
7.网络类型这里选择使用网络地址转换(NAT),继续下一步
8.接下来的几个步骤都是默认设置,一直下一步即可
9.对于磁盘容量的大小,根据不同的用途可以选择合适的容量,官方默认给的是20GB,这里我们设置的是40GB,然后下一步
10.点击一次下一步,进入到如下界面,然后点击自定义硬件
11.新CD/DVD(SATA)选项,选择使用ISO映像文件,选择Ubuntu镜像,选择完后关闭即可
下载链接为:点击跳转
12.以下即为Ubuntu虚拟机配置成功界面
2.2 Ubuntu操作系统安装
1.点击界面左侧的开启此虚拟机,即可进入Ubuntu操作系统安装界面,点击Try or Install Ubuntu 即可开始安装
2.进入如下安装界面后,左侧选择框往下拉,选择中文简体,方便我们后续的安装,然后点击安装Ubuntu
3.这里默认设置为Chinese,点击继续即可
4.默认正常安装,如果有低需求,可以选择最小安装,这也可节约电脑资源
5.这里选择默认清除整个磁盘并安装Ubuntu,点击现在安装
6.这里点击继续即可
7.国内网络安装,默认位置为Shanghai,点击继续即可
8.账户设置,可以根据个人习惯设置自己的姓名、计算机名、用户名、登录密码等,设置完点击继续即可
9.接下来等待系统安装即可
10.系统安装完毕重启即可
11.重启后,输入密码进入系统,界面如下
2 ROS2安装配置与测试
2.1 ROS2的安装
1.在ROS2官方的文档中,安装ROS2之前需要首先检查操作系统语言环境
官方解释: 确保你有一个支持UTF - 8的语言环境。如果你处在一个极小的环境(例如一个Docker容器)中,那么这个语言环境可能和POSIX一样是极小的。我们通过以下设定进行检验。然而,如果你使用不同的UTF - 8支持的语言环境,应该是很好的。
我们可以Ctrl+Alt+T调出终端,输入locale检查是否支持 UTF-8,若不支持,则需要继续执行下边的指令进行设置
locale # check for UTF-8 == # 检查是否支持 UTF-8
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
locale # verify settings == 验证设置是否正确
在我们安装的Ubuntu操作系统中,是支持UTF - 8
的语言环境的,和官方文档不同之处在于,我们安装Ubuntu操作系统之前,选择的是中文(简体)安装,所以语言环境有所不同,这并不影响ROS2的安装
2.Ubuntu universe存储库设置与启动
在设置ROS2软件源之前,我们需要首先启动Ubuntu universe存储库
,启动Ubuntu universe存储库
我们可以通过Ubuntu系统的设置进行操作,也可以打开终端通过命令行进行操作。
系统设置操作
找到桌面左下角的显示应用程序按钮,显示界面如下,找到软件和更新程序,打开
软件和更新界面如下,勾线社区维护的自由和开源软件(universe),就保证了Ubuntu universe存储库
的启动。
设置下载自为阿里云
若启动成功,可以通过下面的指令进行检验
apt-cache policy | grep universe
3.设置ROS软件源
通过下面的命令,首先将ROS 2 apt存储库更新添加到系统,然后通过apt授权ROS 2的GPG密钥:
sudo apt update && sudo apt install curl
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
接下来进行实操演示:
在命令行输入第一行指令,输入密码
接下来输入第二行指令,进行ROS2 GPG密钥的添加,这个时候出现了异常报错,显示拒绝连接
。
解决: 这个是因为github的一些域名的DNS解析被污染,导致DNS解析过程无法通过域名取得正确的IP地址。
这里用一个常见的解决办法:
打开https://www.ipaddress.com/输入访问不了的域名raw.githubusercontent.com,查询他的真实IP地址。
接下来我们修改/etc/hosts
文件,终端下通过以下命令打开hosts
文件
sudo gedit /etc/hosts
接下来我们重新运行指令
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
执行完成,没有异常警告,ROS2 的GPG密钥添加成功
然后通过以下指令,将存储库添加到我们的源列表中。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
4.安装ROS2
设置完存储库后,首先通过下面的指令更新apt存储库缓存
sudo apt update
由于ROS 2建立在频繁更新的Ubuntu系统上。所以官方建议在安装新的软件包之前确保您的系统是最新的。我们可以通过下面的指令更新升级已安装的软件
sudo apt upgrade
ROS2桌面版安装
sudo apt install ros-humble-desktop
5.环境配置
官方文档给出了环境配置的方法,在终端下执行ROS2程序之前,要调用下面的命令进行环境配置,才可正确执行程序
source /opt/ros/humble/setup.bash
由于每次打开新的终端,都需要进行环境的配置,这降低了开发和测试的效率,为了避免每次打开新的终端都进行环境配置这个问题,我们可以将配置环境指令通过下面的指令写入 ”~/.bashrc“ 文件,那么每次新启动终端时,就不需要在手动配置环境:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc # 将配置环境指令通过下面的指令写入 ”~/.bashrc“ 文件
sudo gedit ~/.bashrc # 查看”~/.bashrc“ 文件
至此,ROS2的安装与环境配置,接下来我们进行ROS2的环境测试。
在我们安装的ROS2桌面完整版中,内置了一些案例,我们可以运行这些案例来测试ROS2的安装与配置是否正常。在这里,我们选用ROS2经典的小乌龟案例来进行演示,实操如下:
使用快捷键Ctrll+Alt+T
分别打开两个终端,并分别输入下面两个命令
ros2 run turtlesim turtlesim_node # 启动乌龟GUI节点界面,乌龟可以在界面中运动
ros2 run turtlesim turtle_teleop_key # 启动键盘控制节点,可以通过键盘控制乌龟运动