0、引用文件
- ros系统的官网
- 哔哩哔哩的课进视频的《『ROS 入门 (一)』什么是ROS?| 虚拟机安装配置 | ROS安装 》
1、设置ubuntu的环境配置
- 1、首先需要进行联网,需要联网、需要联网。重要的事情说三遍。
- 2、按下win键,输入soft,点击SoftWare & Updates
- 3、点击Ubuntu Software,勾选里面的前四个选项(main、universe、restricted、multiverse),然后在 Download from中选择other滑动找到China中的阿里云,然后点击choose server,之后会出现弹窗输入密码。
- 4、点击close之后弹出窗口,看内容需要进行联网之间开始没有联网的小伙伴需要重新开始弄了,确认联网后选择reload,之后稍等会自动退出。
2、 添加ROS下载源和下载密钥
- 1、ctrl+alt+t打开终端,更换清华的下载源,复制下面的指令,在ubunt中终端上按ctrl+shift+v进行粘贴或者右键粘贴。按下回车,输入密码。
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 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'
- 3、添加ros秘钥,复制下面的指令,在ubunt中终端上按ctrl+shift+v进行粘贴或者右键粘贴。按下回车。
出现imported:1即为成功
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3、安装ROS系统
- 1、必须联网,首先更新一下源,更新系统。执行下面命令。更新中间需要同意是否继续,输入y按回车。
sudo apt update && sudo apt-get upgrade
正常如下图:出现errror的、不能连接的检查网络,或者更换好的网络。
- 2、安装ros系统,执行下面的指令,其中的melodic是根据ubuntu的版本不同而不同,20的是n开头,他是按照字母表排的。同样下载东西确保网络稳定速度快。否则可能出现中断情况。还有一种情况是ubuntn会出现息屏的情况导致停止下载。如果你能一直瞪着的就当我没说。(设置通过win键之后可以搜索打开,设置系统息屏的如图)
sudo apt install ros-melodic-desktop-full
安装时候出现错误:
重复执行上面的语句。直到会出现下面出现绿色的进度条。达到100就可以了
最后结果如图:其中发现三个包没有升级,分别是指向的三个,对安装ros没有影响。
4、配置ROS
4.1、需要执行sudo rosdep init
- 问题:出现sudo: rosdep: command not found,无法找到指令
- 解决办法:执行下面指令
sudo apt install python-rosdep
- 问题:出现ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.无法访问该网站。 - 解决办法:
1、在ubuntu中打开https://www.ipaddress.com/网站:
2、输入栏中放大镜前面输入raw.githubusercontent.com地址:
3、查看下面的地址:
4、打开/etc下面的hosts的文件并修改,在文件末尾依次增加ip + raw.githubusercontent.com,更换ip后尝试rosdep init
打开文件方便更改地址。更改地址后保存ctrl+s或者又上方save。
sudo gedit /etc/hosts
5、作者亲测可用,修改完成后如图:
sudo rosdep init
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run
rosdep update
4.2、执行rosdep update
- 问题:reading in sources list data from /etc/ros/rosdep/sources.list.d
ERROR: error loading sources list:
(‘The read operation timed out’,)
超时无法连接。 - 解决办法1:直接到对应网址保存所需要的文件到/etc/ros/rosdep
- 文件的链接:https://pan.baidu.com/s/1ff0bsxZqABpbyWv1JAZ76w。提取码:yyds。下载之后,直接将需要的文件拖入ubuntu中
- 之后将桌面的文件移动到/etc/ros/rosdep下,首先打开/etc/ros/rosdep路径执行命令sudo mv /home/ubuntu/Desktop/*.yaml ./
此时就可以完成了update操作了 - 解决办法2:查看链接
4.3、ROS环境配置
4.3.1ROS的环境配置
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc && source ~/.bashrc
- ROS的环境配置,使得你每次打开一个新的终端,ROS的环境变量都能够自动配置好,也就是添加到bash会话中,因为命令 source /opt/ros/kinetic/setup.bash 只在当前终端有作用,即具有单一时效性,要想每次新开一个终端都不用重新配置环境,就用echo语句将命令添加到bash会话中。
4.3.2安装rosinstall 和其他依赖
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
5、测试ROS
- 首先启动ROS,输入代码运行roscore:
$ roscore
- 在终端重新打开一个新的终端并输入
$ rosrun turtlesim turtlesim_node
- 再在终端重新打开一个新的终端标签(ctrl+shift+t)并输入
$ rosrun turtlesim turtle_teleop_key
这是你会看到弹出一个窗口,并有一只小海龟,通过键盘上的上下左右键(注意按上下左右键是,鼠标箭头必须在最后一个终端内,否则无法控制)可以控制小乌龟的运动。这表明你的ROS以及成功安装并正常运行
如图