PGuide-Docs/docs/notes/学习笔记/ROS2/1.VMWare安装.md
2025-03-05 03:57:17 +08:00

269 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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)
:::
虚拟机系统: 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地址。
:::warning
实际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 ]
```
其中:
- `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
netplan apply
```
持久化网络配置
```shell
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
```
查看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. 连接测试
打开MobaXtermsessions-SSH填入你的主机固定IP和密码等出现下面画面即为连接成功
![2025-02-25_04-20-47.png](/src/2025-02-25_04-20-47.png)
可以使用 `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/)
添加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安装成功。
:::