之前博客实现了在windows系统上安装配置Linux,本博文,在安装的Linux基础上安装ROS系统。
Windows上安装ROS1
- 首先确认安装ubuntu20.04
# 列出所有可用的在线Linux版本
wsl --list --online
# 安装20.04
# wsl --install -d Ubuntu-20.04
# 进入指定发行版
wsl -d Ubuntu-20.04
# 可以通过输入命令列出已安装的 Linux 分发版并检查每个版本的 WSL:
wsl.exe --list --verbose
wsl -l -v
Ctrl+D #退出
- 在终端输入
echo cd ~ >> ~/.bashrc这样可以确保每次打开的时候都为home目录 - ubuntu20.04对应的是ROS Noetic,具体安装步骤如下:
# 设置源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 设置密钥
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
# 进行安装
sudo apt update
sudo apt install ros-noetic-desktop-full
# 安装完后记得source一下~
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装完后,开启roscore,看看是否成功即可:
Windows上安装ROS2
# 列出所有可用的在线Linux版本
wsl --list --online
# 安装20.04
wsl --install -d Ubuntu-22.04
# 进入指定发行版
wsl -d Ubuntu-22.04
# 可以通过输入命令列出已安装的 Linux 分发版并检查每个版本的 WSL:
wsl.exe --list --verbose
wsl -l -v
Ctrl+D #退出
- 对于22.04安装的是ROS2 humble
- 之前博客实现过基于Ubuntu20.04的Foxy安装。
首先需要设置系统Locale,确保系统支持UTF-8编码,这是ROS2运行的必要条件:
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(验证是否成功)
安装依赖工具:
sudo apt install curl gnupg2 software-properties-common
添加GPG密钥
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
这一步如果很慢,可以尝试通过网站,在查询框中输入:raw.githubusercontent.com并回车,在里面找到相应的的ipv4地址:
然后将IP和域名185.199.110.133 raw.githubusercontent.com添加到/etc/hosts文件中,如下图:
通过sudo vim /etc/hosts打开,编辑,然后按Esc退出编辑,然后按:再按wq;(注意,配置后,终端需要重启)
配置软件源(推荐清华源)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
安装ROS2 Humble桌面版:
sudo apt update
sudo apt install ros-humble-desktop
# 配置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
接下来验证安装
# 终端1:启动C++发布者节点
ros2 run demo_nodes_cpp talker
# 终端2:启动Python订阅者节点
ros2 run demo_nodes_py listener
# 小海龟仿真示例
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
vscode 打开WSL
注意需要确保本机跟WSL在同一个网络下,也就是能ping通,可以通过WSL setting设置
注意,此时WSL内的系统相当于新安装的系统,因此git等均需要重新配置~