--- title: VMWare安装ROS2 createTime: 2025/02/24 07:42:27 permalink: /learning-notes/ROS2/VMWare-install/ icon: lineicons:vmware --- :::tip 参考资料 古月居文档 [https://www.originbot.org/guide/pc_config/#ubuntu_install](https://www.originbot.org/guide/pc_config/#ubuntu_install) 华为云文档 [https://blog.csdn.net/m0_54219225/article/details/127170419](https://blog.csdn.net/m0_54219225/article/details/127170419) 此文档完成后,固定好的IP地址为 `192.168.8.8` ::: :::info 此页面存在疏忽,待完善 ::: 虚拟机系统: VMware WorkStation 17.0 SSH连接工具:MobaXterm Home Edition ## Ubuntu安装 ::: steps 1. 下载镜像 请安装:[logos:ubuntu 2em]: Ubuntu版本: 22.04 LTS,如果您在高校内,推荐使用CERNET校园网联合镜像站,安装Python3后可以使用以下脚本测试您的网络到各镜像站的连接速度 。 [重医校园内网(千兆)临时镜像站](http://192.168.183.171:5244/mirrors/system-iso/Ubuntu) [阿里云(万兆)开源镜像站](https://mirrors.aliyun.com/ubuntu-releases/) ```shell curl https://mirrors.cernet.edu.cn/oh-my-mirrorz.py | python3 ``` 重庆市高校推荐使用[重庆大学Ubuntu ISO镜像](https://mirrors.cqu.edu.cn/ubuntu-releases/),实测重医到重大的下载速度可达78MB/S。 2. 设置软件源 Ubuntu默认的软件源下载较慢,切换为校园网镜像源或阿里云镜像源会好很多。 ::: tabs @tab 重庆大学镜像 参考 [https://mirrors.cqu.edu.cn/#/wiki/mirror-wiki/ubuntu](https://mirrors.cqu.edu.cn/#/wiki/mirror-wiki/ubuntu) @tab 阿里云镜像 参考 [https://developer.aliyun.com/mirror/ubuntu](https://developer.aliyun.com/mirror/) @tab 校园网联合镜像站 参考 [https://help.mirrors.cernet.edu.cn/ubuntu/](https://help.mirrors.cernet.edu.cn/ubuntu/) ::: ### 固定IP地址 每次VMWare Workstation的虚拟机重启后, DHCP 会自动分配一个新的IP地址,使用SSH连接很不方便,我们可以设置固定IP地址。 ::: details Windows10 ::: ::: details Windows11 ::: :::details VMWare配置 实际VMWare 在NAT模式下分配的子网网段可能会有不同,这里是`192.168.11.0`; 查看子网:编辑-虚拟网络编辑器-VMnet8-子网IP ![2025-02-25_03-56-01.png](/src/2025-02-25_03-56-01.png) ::: 使用你喜欢的编辑器编辑 `/etc/netplan/01-network-manager-all.yaml` ```shell nano /etc/netplan/01-network-manager-all.yaml ``` ```yaml # Let NetworkManager manage all devices on this system network: renderer: networkd version: 2 ethernets: ens33: dhcp4: false addresses: - 192.168.11.133/24 routes: - to: default via: 192.168.11.2 nameservers: addresses: [ 8.8.8.8, 8.8.4.4, 192.168.11.2, 233.5.5.5 ] ``` :::info IP解释 - `192.168.11.133`是本地中未被占用的CIDR地址 - `192.168.11.133`是你想设置的固定地址 - `192.168.11.0`是VMware WorkStation的NAT模式子网网段 - 网关设置为同一网段即可转发流量,例如此处的`192.168.11.2`,不可为广播地址或主机地址 - `233.5.5.5`是阿里云的DNS ::: 持久化网络配置 ```shell sudo systemctl enable systemd-networkd sudo systemctl start systemd-networkd ``` 安装网络管理工具包 ```shell sudo apt install net-tools ``` 最后输入使配置生效 ```shell netplan apply ``` 查看ip信息是否符合预期 ```shell ifconfig ``` ### 配置SSH 以 root 身份登录终端 :::steps 1. 安装SSH服务端 ```shell sudo apt update sudo apt install openssh-server ``` 2. 启动SSH服务 ```shell sudo systemctl start ssh sudo systemctl status ssh ``` 3. 设置开机自启动 ```shell sudo systemctl enable ssh ``` 4. 放行防火墙 ```shell sudo ufw allow ssh ``` 5. 修改SSH配置 此处启用了root登录、密钥登录,只是为了方便开发,生产环境请谨慎。 ```shell sudo nano /etc/ssh/sshd_config ``` 找到 `PermitRootLogin`, 取消注释并修改为 ```shell PermitRootLogin yes PubKeyAuthentication yes ``` 重启以生效 ```shell sudo systemctl restart ssh ``` 6. 连接测试 打开MobaXterm,sessions-SSH,填入你的主机固定IP和密码等,出现下面画面即为连接成功 ![2025-02-25_04-20-47.png](/src/2025-02-25_04-20-47.png) 可以使用 `sudo passwd ` 临时更改root密码 7. 生成密钥(可选) 如果您希望使用SSH密钥进行身份验证,可以在客户端计算机上生成密钥: ```shell ssh-keygen -t rsa -b 4096 ``` 一路回车就行,`.ssh\id_rsa.pub`即为生成的密钥,以 ssh-rsa开头,长这样: ![2025-02-25_04-50-16.png](/src/2025-02-25_04-50-16.png) ```shell # linux传输key ssh-copy-id username@your_server_ip ``` Windows系统直接打开MobaXterm,将\{user}\.ssh的`id_rsa.pub`的内容写入到服务器上的 ~/.ssh/authorized_keys文件中,没有就手动创建一个。 ::: ## ROS2系统安装 :::warning 这里以Ubuntu22.04LTS 的Humble ROS2版本为例 ::: :::steps 1. 设置编码 ```shell 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. 配置镜像源 ROS2的软件包在各大高校、企业均有镜像地址,使用镜像可帮助我们更高效下载所需资源。 重庆市高校推荐重庆大学ROS2软件镜像源。这一步如果存在下载问题,可以参考 [magic](/csdiy/tools-must/magic/clash-core/windows/) 添加ROS2的GPG Key ```shell sudo apt install curl gnupg2 sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg ``` 智能选择校园网镜像写入ros2的软件列表 ```shell echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.cernet.edu.cn/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null sudo apt update ``` ![2025-02-25_04-53-54.png](/src/2025-02-25_04-53-54.png) 3. 安装ROS2 ```shell sudo apt update sudo apt upgrade sudo apt install ros-humble-desktop ``` 4. 设置环境变量 ```shell source /opt/ros/humble/setup.bash echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc ``` 5. ROS2示例测试 当然是我最喜欢的小海龟啦~。需要启动两个终端: ```shell ros2 run turtlesim turtlesim_node ``` ```shell ros2 run turtlesim turtle_teleop_key ``` 第一句指令将启动一个蓝色背景的海龟仿真器,第二句指令将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键,就可以控制小海龟运动啦。 关于小海龟中蕴藏的ROS奥义,我们在后续教程中将持续探索。 至此,恭喜您,ROS2在VMware安装成功。 :::