ros1的安装
1.配置ubuntu的软件和更新
配置ubuntu的软件和更新,允许安装不经认证的软件。
首先打开“软件和更新”对话框,具体可以在 Ubuntu 搜索按钮中搜索。
打开后按照下图进行配置(确保勾选了”restricted”, “universe,” 和 “multiverse.”)
2.更换Ubuntu系统源
可根据实际情况选择距离你最近的源
3.配置ROS源
- USTC源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
如执行有问题,则:sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
然后再输入如下命令,信任 ROS 的 GPG Key,并更新索引sudo apt install curl gnupg2
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
若无法连接到密钥服务器,可以尝试替换上面命令中的 hkp://keyserver.ubuntu.com:80 为 hkp://pgp.mit.edu:80 。
你也可以使用curl命令替换apt-key命令,这在使用代理服务器的情况下比较有用:4.安装ROS
所需类型的 ROS:ROS 多个类型:Desktop-Full、Desktop、ROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perceptionsudo apt install ros-noetic-desktop-full
安装前记得执行sudo apt update
按需选用full或者是base,base没有图形化界面,适合安装在机器人上;
按照Ubuntu版本选择ROS版本,kinetic版本适合于Ubuntu 16.04,其他Ubuntu版本各有其相应的ROS版本,不建议混用。
安装完成后,可以用下面的命令来查看可使用的包
参考ROS官方安装在Ubuntu上安装ROS Noetic5.配置环境变量
配置环境变量,方便在任意 终端中使用 ROS。echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果需要卸载ROS可以调用如下命令:
sudo apt remove ros-noetic-*
6.安装构建依赖
在noetic 最初发布时,和其他历史版本稍有差异的是:没有安装构建依赖这一步骤。随着 noetic 不断完善,官方补齐了这一操作。
首先安装构建依赖的相关工具sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
ROS中使用许多工具前,要求需要初始化rosdep(可以安装系统依赖) – 上一步实现已经安装过了。sudo apt install python3-rosdep
初始化rosdepsudo rosdep init
rosdep update
如果一切顺利的话,rosdep 初始化与更新的打印结果如下:
但是,在 rosdep 初始化时,多半会抛出异常。
解决方法
1.先打开资源备份路径:https://gitee.com/zhao-xuzuo/rosdistro,
打开 rosdistro/rosdep/sources.list.d/20-default.list文件留作备用(主要是复用URL的部分内容:gitee.com/zhao-xuzuo/rosdistro/raw/master)。
2.进入”/usr/lib/python3/dist-packages/“ 查找rosdep中和raw.githubusercontent.com相关的内容,调用命令:find . -type f | xargs grep "raw.githubusercontent"
3.修改相关文件,主要有: ./rosdistro/init.py、./rosdep2/gbpdistro_support.py、./rosdep2/sources_list.py 、./rosdep2/rep3.py。
可以使用sudo vim命令修改文件:
文件中涉及的 URL 内容,如果是:raw.githubusercontent.com/ros/rosdistro/master都替换成步骤1中准备的gitee.com/zhao-xuzuo/rosdistro/raw/master即可。
修改完毕,再重新执行命令:sudo rosdep init
rosdep update
更新成功打印信息:
Skip end-of-life distro “ardent”
Skip end-of-life distro “bouncy”
Skip end-of-life distro “crystal”
Add distro “dashing”
Skip end-of-life distro “eloquent”
Add distro “foxy”
Skip end-of-life distro “groovy”
Skip end-of-life distro “hydro”
Skip end-of-life distro “indigo”
Skip end-of-life distro “jade”
Add distro “kinetic”
Skip end-of-life distro “lunar”
Add distro “melodic”
Add distro “noetic”
Add distro “rolling”
updated cache in /root/.ros/rosdep/sources.cache
sudo sh -c ‘. /etc/lsb-release && echo “deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs
main” > /etc/apt/sources.list.d/ros-latest.list’
/root/yolov5-6.0/train.py –data ../map_data/data.yaml –cfg models/yolov5n.yaml –batch-size 1 –epochs 100