Win11 WSL2 Ubuntu20.04 Install ROS2
WSL2 安装 Ubuntu20.04
ROS2 安装
设置语言环境
Ubuntu20.04 默认的语言环境是 C.UTF-8
,是 C 语言默认的语言环境,字符集排序使用的是传统的字典序
locale
ROS2 需要将语言环境设置为 en-US.UTF-8
,字符排序使用的是根据 Unicode
规范的字符排序
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
添加 apt 软件源
- 启用 Ubuntu Universe 存储库
sudo apt install software-properties-common
sudo add-apt-repository universe
- 添加 ROS2 GPG 密钥
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
这里会出现链接不上 raw.githubusercontent.com
的问题
到下面的链接,搜索框中输入 raw.githubusercontent.com
,会查询出一组地址
- 修改
hosts
文件,添加上面查到的地址和域名
sudo gedit /etc/hosts
再次执行
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
- 添加存储库到软件源列表
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
安装 ROS2
sudo apt update
sudo apt upgrade
备注
Ubuntu20.04 不能从源安装 ros-humble,需要从源码编译,如果要安装 Humble,建议升级为 Ubuntu22.04
- 安装 ROS2 Foxy Desktop(ROS, RViz, Demo, tutorials)
sudo apt install ros-foxy-desktop python3-argcomplete
测试例程
talker & listener
- 设置运行环境
source /opt/ros/foxy/setup.bash
- 执行 C++ 的示例节点
talker
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
- 再打开一个终端执行 Python 的示例节点
listener
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener
turtlesim
打开终端输入
source /opt/ros/foxy/setup.bash
ros2 run turtlesim turtlesim_node
打开第二个终端输入
source /opt/ros/foxy/setup.bash
ros2 run turtlesim turtle_teleop_key
启动了一个小海龟仿真器,并且可以通过键盘输入操作它的方向
设置 .bashrc
每次打开新终端都需要重新激活 ROS 的环境
source /opt/ros/foxy/setup.bash
可以把这一行命令写入 .bashrc
文件中,这样启动终端的时候就会自动加载环境了
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
source ~/.bashrc
这样重新打开新的终端,就会自动激活 ROS 环境了