官网 https://wiki.ros.org/noetic#Installation
各种遇坑,(其中避开了Ubuntu:NO_PUBKEY(找不到公钥)的问题)总结步骤如下:
使用镜像 USTC
按如下步骤即可
导入key:
sudo gpg --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo gpg --export C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 | sudo tee /usr/share/keyrings/ros.gpg > /dev/null
将软件源添加至系统:
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/ros.gpg] https://mirrors.ustc.edu.cn/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
如果 IPv6 地址无效导致无法刷新软件源信息,将 mirrors.ustc.edu.cn 改成 ipv4.mirrors.ustc.edu.cn 以强制使用 IPv4。
刷新软件源缓存 sudo apt update,安装所需的 ROS 发行版。
然后使用命令: sudo apt install ros-noetic-desktop-full 即可完成安装。
最后配置一下环境:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装几个工具,初始化rosdep
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo rosdep init 这一步可能会报错,多尝试几次
rosdep update
(说明 在ROS中,rosdep update命令用于更新本地软件包依赖关系数据库。这个数据库存储了ROS软件包所需的系统依赖项的信息,例如操作系统库、工具和其他软件包。通过运行rosdep update,您可以确保本地数据库是最新的,并能够正确解析和安装ROS软件包的依赖项。这样,在构建和运行ROS程序时,就能够自动解决软件包的依赖关系,并且能够正确地安装所需的系统库和其他依赖项。)