安装ROS foxy的文章较少,这里记录一下自己安装时遇到的一些坑:
1.https://raw.githubusercontent.com访问不了;
1. 设置语言环境
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
2. 设置源
sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
注意:若https://raw.githubusercontent.com拒绝服务,可以更改主机hosts文件(/etc/hosts),然后再重试几次;具体步骤:
- 打开 https://www.ipaddress.com/ 输入访问不了的域名
-查看对应的IP地址,这里我们选择第一个IP,其他的当然也可以;
- 修改主机hosts文件,并添加一行185.199.108.133 raw.githubusercontent.com
- 重新执行命令
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
注意:依然失败可以多实验几次,或者换手机热点
3. 添加源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
注意:
Mint20.2虽然基于Ubuntu20.04,但是lsb_release -a返回的是Mint的Codename:uma
因此,这里需要改成Ubuntu的Codename:focal
sudo sed -i -e 's/ubuntu .* main/ubuntu focal main/g' /etc/apt/sources.list.d/ros2.list
4. 安装ROS2 包
- 更新仓库
sudo apt update
- ROS桌面版安装
sudo apt install ros-foxy-desktop
注意:下载会很慢。。。
3. 若不安装桌面版,可以安装Base版
sudo apt install ros-foxy-ros-base
5. 设置环境变量并测试
source /opt/ros/foxy/setup.bash
测试example:
打开一个终端:
运行demo_nodes_cpp talker
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
打开另一个终端:
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener
7. 安装依赖
sudo apt install python3-rosdep
rosdep update
sudo apt update
sudo apt dist-upgrade
sudo apt install python3-colcon-common-extensions