ROS2 IronIrwini的Debian软件包目前可用于Ubuntu22.04 Jammy
1、安装ROS2 IronIrwini前准备
需要先安装好Ubuntu22.04 Jammy的前提下开始安装ROS2
1.1 Set locale
请确保Set locale支持UTF-8
locale # check for UTF-8
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
1.2 Enable required repositories
需要将ROS2 apt存储库添加到的系统中。
- 首先确保Ubuntu Universe存储库已启用。
sudo apt install software-properties-common
sudo add-apt-repository universe
- 现在添加带有apt的ROS 2 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
密钥导入这一步失败。因为github被大陆运营商污染了,需要手动设置host地址。出错解决办法:
在终端中编辑hosts:
sudo vi /etc/hosts
写入以下四个地址
185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
最后重新运行
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
- 然后将存储库添加到源列表中。
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
1.3 安装开发工具
sudo apt update && sudo apt install ros-dev-tools
2. 安装ROS2
设置存储库后,更新您的apt存储库缓存。
sudo apt update
ROS2软件包建立在频繁更新的Ubuntu系统上。在安装新软件包之前确保系统是最新的。
sudo apt upgrade
安装ros2
sudo apt install ros-iron-desktop
3. 测试案例
在一个终端中,获取设置文件,然后运行C++ talker
:
source /opt/ros/iron/setup.bash
ros2 run demo_nodes_cpp talker
在另一个终端源中,安装文件,然后运行Python listener
:
source /opt/ros/iron/setup.bash
ros2 run demo_nodes_py listener
4. 查看ROS版本
检查是否设置了ROS_DISTRO和ROS_VERSION等变量。
printenv | grep -i ROS
ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=iron
5. 卸载
如果需要卸载ROS2,运行以下命令:
sudo apt remove ~nros-iron-* && sudo apt autoremove
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade