2025-03-18 02:42:42 +08:00

8.4 KiB
Raw Blame History

title createTime permalink icon
VMWare安装ROS2 2025/02/24 07:42:27 /learning-notes/ROS2/VMWare-install/ lineicons:vmware

本文主要介绍如何在VMWare WorkStation中安装Ubuntu22.04LTS和ROS2并配置固定IP地址和SSH连接使用教育网联合镜像站配置Ubuntu和ROS2的软件镜像源。

:::info 参考资料 古月居文档 https://www.originbot.org/guide/pc_config/#ubuntu_install

华为云文档 https://blog.csdn.net/m0_54219225/article/details/127170419

此文档完成后固定好的IP地址为 192.168.8.8

:::

虚拟机系统: VMware WorkStation 17.0

SSH连接工具MobaXterm Home Edition、VS Code

Ubuntu安装

::: steps

  1. 下载镜像

请安装:[logos:ubuntu 2em]: Ubuntu版本: 22.04 LTS如果您在高校内推荐使用CERNET校园网联合镜像站安装Python3后可以使用以下脚本测试您的网络到各镜像站的连接速度 。

重医校园内网(千兆)临时镜像站 阿里云(万兆)开源镜像站

curl https://mirrors.cernet.edu.cn/oh-my-mirrorz.py | python3

重庆市高校推荐使用重庆大学Ubuntu ISO镜像实测重医到重大的下载速度可达78MB/S。

  1. 设置软件源

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 [+vuepress] 会自动分配一个新的IP地址使用SSH连接很不方便我们可以设置固定IP地址。 [+vuepress]: VuePress 是一个 静态站点生成器 (SSG) 。 专为构建快速、以内容为中心的站点而设计。 ::: details Windows11

设置VMnet8的IPV4地址

打开Windows11设置找到网络和Internet-更改适配器选项-VMware Network Adapter VMnet8-编辑-Internet协议版本4-属性-使用以下IP地址 2025-03-18_01-05-58.png

2025-03-18_01-06-39.png

2025-03-18_01-07-50.png

:::

:::details VMWare配置

实际VMWare 在NAT模式下分配的子网网段可能会有不同这里设置为192.168.8.0;

查看子网:编辑-虚拟网络编辑器-VMnet8-子网IP 2025-03-18_01-09-24.png

点击NAT设置

2025-03-18_01-36-45.png

设置网卡

2025-03-18_01-17-12.png 2025-03-18_01-35-08.png :::

使用你喜欢的编辑器编辑 /etc/netplan/01-network-manager-all.yaml

nano /etc/netplan/01-network-manager-all.yaml

:::info 如何快速使用nano删除

标记所有内容: 按 Ctrl+A 跳转到行首。

按下 Ctrl+Shift+6或 Alt+A开始标记。

按 Alt+/ 跳转到文件末尾,此时会标记从开头到末尾的所有内容。

删除标记内容:按 Ctrl+K 剪切(删除)选中部分。

:::

# Let NetworkManager manage all devices on this system
network:
  renderer: NetworkManager
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.8.8/24
      routes:
        - to: default
          via: 192.168.8.1
      nameservers:
        addresses: [ 8.8.8.8, 114.114.114.114, 233.5.5.5 ]

:::info IP解释

  • 192.168.8.8是本地中未被占用的CIDR地址也是是你想设置的固定地址
  • 192.168.8.*是VMware WorkStation的NAT模式子网网段网关设置为同一网段即可转发流量例如此处的192.168.8.1,不可为广播地址.255或主机地址.0
  • 8.8.8.8是Google的DNS服务器
  • 114.114.114.114是国内移动、电信和联通通用的DNS可拦截钓鱼、木马病毒网站提供更快的解析速度
  • 233.5.5.5是阿里云的DNS服务器 :::

持久化网络配置

sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd

安装网络管理工具包

sudo apt install net-tools

最后输入使配置生效

netplan apply

查看ip信息是否符合预期

ifconfig

配置SSH

以 root 身份登录终端

:::steps

  1. 安装SSH服务端
sudo apt update
sudo apt install openssh-server
  1. 启动SSH服务
sudo systemctl start ssh
sudo systemctl status ssh

  1. 设置开机自启动
sudo systemctl enable ssh
  1. 放行防火墙
sudo ufw allow ssh
  1. 修改SSH配置

此处启用了root登录、密钥登录只是为了方便开发生产环境请谨慎。

sudo nano /etc/ssh/sshd_config

找到 PermitRootLogin, 取消注释并修改为

PermitRootLogin yes
PubKeyAuthentication yes

重启以生效

sudo systemctl restart ssh

连接测试

:::tabs

@tab :[tabler:brand-powershell]:MobaXterm 打开MobaXtermsessions-SSH填入你的主机固定IP和密码等出现下面画面即为连接成功 2025-02-25_04-20-47.png

可以使用 sudo passwd 临时更改root密码

@tab :[devicon:vscode]:VS Code

安装SSH拓展

2025-03-18_01-46-37.png

添加链接-输入账密即可

2025-03-18_01-45-56.png

:::

生成密钥(推荐)

如果您希望使用SSH密钥进行身份验证可以在客户端计算机上生成密钥

ssh-keygen -t rsa -b 4096

一路回车就行,.ssh\id_rsa.pub即为生成的密钥,以 ssh-rsa开头长这样 2025-02-25_04-50-16.png

# 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. 设置编码
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
  1. 配置镜像源

ROS2的软件包在各大高校、企业均有镜像地址使用镜像可帮助我们更高效下载所需资源。

重庆市高校推荐重庆大学ROS2软件镜像源。这一步如果存在下载问题可以参考 magic

添加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

智能选择校园网镜像写入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

2025-02-25_04-53-54.png

  1. 安装ROS2
sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop
  1. 设置环境变量
source /opt/ros/humble/setup.bash
echo " source /opt/ros/humble/setup.bash" >> ~/.bashrc 
  1. ROS2示例测试

当然是我最喜欢的小海龟啦~。需要启动两个终端:

ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key

第一句指令将启动一个蓝色背景的海龟仿真器,第二句指令将启动一个键盘控制节点,在该终端中点击键盘上的“上下左右”按键,就可以控制小海龟运动啦。

关于小海龟中蕴藏的ROS奥义我们在后续教程中将持续探索。

至此恭喜您ROS2在VMware安装成功。

:::