6.2 KiB
title | createTime | permalink | icon |
---|---|---|---|
VMWare安装ROS2 | 2025/02/24 07:42:27 | /learning-notes/ROS2/VMWare-install/ | lineicons:vmware |
:::tip 古月居文档 https://www.originbot.org/guide/pc_config/#ubuntu_install :::
虚拟机系统: VMware WorkStation 17.0
SSH连接工具:MobaXterm Home Edition
Ubuntu安装
::: steps
- 下载镜像
请安装:[logos:ubuntu 2em]: Ubuntu版本: 22.04 LTS,如果您在高校内,推荐使用CERNET校园网联合镜像站,安装Python3后可以使用以下脚本测试您的网络到各镜像站的连接速度 。
curl https://mirrors.cernet.edu.cn/oh-my-mirrorz.py | python3
重庆市高校推荐使用重庆大学Ubuntu ISO镜像,实测重医到重大的下载速度可达78MB/S。
- 设置软件源
Ubuntu默认的软件源下载较慢,切换为校园网镜像源或阿里云镜像源会好很多。
::: tabs @tab 重庆大学镜像
参考 https://mirrors.cqu.edu.cn/#/wiki/mirror-wiki/ubuntu
@tab 阿里云镜像
参考 https://developer.aliyun.com/mirror/ubuntu
@tab 校园网联合镜像站 参考 https://help.mirrors.cernet.edu.cn/ubuntu/
:::
固定IP地址
每次VMWare Workstation的虚拟机重启后, DHCP 会自动分配一个新的IP地址,使用SSH连接很不方便,我们可以设置固定IP地址。
:::warning
实际VMWare 在NAT模式下分配的子网网段可能会有不同,这里是192.168.11.0
;
查看子网:编辑-虚拟网络编辑器-VMnet8-子网IP
:::
使用你喜欢的编辑器编辑 /etc/netplan/01-network-manager-all.yaml
nano /etc/netplan/01-network-manager-all.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 ]
其中:
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
最后输入使配置生效
netplan apply
持久化网络配置
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
查看ip信息是否符合预期
ifconfig
配置SSH
以 root 身份登录终端
:::steps
- 安装SSH服务端
sudo apt update
sudo apt install openssh-server
- 启动SSH服务
sudo systemctl start ssh
sudo systemctl status ssh
- 设置开机自启动
sudo systemctl enable ssh
- 放行防火墙
sudo ufw allow ssh
- 修改SSH配置
此处启用了root登录、密钥登录,只是为了方便开发,生产环境请谨慎。
sudo nano /etc/ssh/sshd_config
找到 PermitRootLogin
, 取消注释并修改为
PermitRootLogin yes
PubKeyAuthentication yes
重启以生效
sudo systemctl restart ssh
- 连接测试
打开MobaXterm,sessions-SSH,填入你的主机固定IP和密码等,出现下面画面即为连接成功
可以使用 passwd
临时更改root密码
- 生成密钥(可选)
如果您希望使用SSH密钥进行身份验证,可以在客户端计算机上生成密钥:
ssh-keygen -t rsa -b 4096
一路回车就行,.ssh\id_rsa.pub
即为生成的密钥,以 ssh-rsa开头,长这样:
# 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
- 设置编码
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
- 配置镜像源
ROS2的软件包在各大高校、企业均有镜像地址,使用镜像可帮助我们更高效下载所需资源。重庆市高校推荐重庆大学ROS2软件镜像源。
添加ROS2的GPG Key
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
:::tip 这一步如果存在下载问题,可以参考 magic :::
智能选择校园网镜像写入ros2的软件列表
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
- 安装ROS2
sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop
- 设置环境变量
source /opt/ros/humble/setup.bash
echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc
- ROS2示例测试
当然是我最喜欢的小海龟啦~。需要启动两个终端:
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
第一句指令将启动一个蓝色背景的海龟仿真器,第二句指令将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键,就可以控制小海龟运动啦。
关于小海龟中蕴藏的ROS奥义,我们在后续教程中将持续探索。
至此,恭喜您,ROS2在VMware安装成功。
:::