sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3.更新
sudo apt-get update && sudo apt-get upgrade
4.安装(20.04版本的对应noetic)
sudo apt-get install ros-noetic-desktop-full
错误:
显示无法定位软件包(网上大都说是软件源的问题)
<成功记录>
1.添加软件源(使用第三方软件源清华镜像)
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2.添加密钥(不变)
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3.更新(试了试网上的另一个指令)
sudo apt update
4.安装ROS
注意:不同版本对应不同版本的ros,比如20.04版本的对应noetic,18.04对应melodic,16.04对应kinetic,只需将noetic位置处换成对应版本即可
sudo apt-get install ros-noetic-desktop-full
前四步成功后,接下来
5.初始化rosdep
sudo rosdep init
sudo apt-get install python3-rosdep python3-wstool ros-noetic-ros
随后再次尝试sudo rosdep init
再次出错,只是错误不同
依旧四处求救,多次失败后,
找到成功的解决办法
输入指令:sudo gedit /etc/hosts
打开后在末尾添加:199.232.28.133 raw.githubusercontent.com
rosdep update
(记住不要在前面加上sudo,没有sudo)
sudo gedit /etc/resolv.conf
打开后
1.将原有的nameserver这一行注释(一定要注释,经过尝试,没注释掉依旧报错)
2.添加两行
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
保存后退出,再次执行rosdep update,成功
6.设置环境变量
作用:
让系统去查找某个命令,其在哪个目录下面,需要通过环境变量去找到某个路径
如:ROS安装了很多命令行工具,但是这些工具所在路径在什么位置,需要通过环境变量告诉系统,因此需要将ROS 的环境变量设置到系统中来
依次输入
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
bashrc 是终端的一个配置文件
source 一个指令,用来运行某个脚本;source ~/.bashrc通过运行bashrc来让环境变量生效
检验;
输入ros ,双击tab键,可见很多ros开头的命令,是我们安装完ros后包含的一些命令行工具,只有环境变量成功才可见,由此判断环境变量设置
关于ros默认的安装路径:
文件/其他位置/计算机/opt/ros/noetic
安装的功能包主要在noetic中的lib或者share里
7.测试ROS安装是否成功
第一步,在当前终端输入roscore
(作用:启动ROS Master,即ROS里管理器)
第二步,打开一个新终端输入:rosrun turtlesim turtlesim_node
(作用:启动小海龟仿真器)
此时会出现一个小海龟
第三步,再次打开一个新终端输入:rosrun turtlesim turtle_teleop_key
(作用:启动海龟控制节点)