目录
安装方法一:
一、对应版本查看
二、开始安装
三、rosdep init 与rosdep update报错问题
四、Ros melodic 小海龟运行
安装方法二(鱼香ROS方式)
Ros Wiki -cn这里是Ros的中文网址,可以看到一些教程,具体Ros 1 还是Ros 2这里并不进行说明,可以在官网上进行查看。
Ros是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。
安装方法一:
一、对应版本查看
Ubuntu版本 | ROS版本 | 支持时间 |
16.04 | Kinetic Kame | April,2021 |
18.04 | Melodic Morenia | May,2023 |
20.01 | Noetic Ninjemys | May,2025 |
打开Ros Wiki 的Installation介绍界面你可以看到关于版本选择的问题,这里Ubuntu 18.04 选择安装ROS Melodic Morenia 版本。
打开ROS Melodic Morenia界面选择 Ubuntu 即可看到官方的安装教程,我们开始根据教程进行安装,并给出优化安装步骤,对过程中遇到的错误进行解释。
二、开始安装
1-运行以下命令,更新索引及软件到最新版本
TIps:未对Ubuntu 18.04系统进行换源和调试,请先换源进行调试再运行。
sudo apt update
sudo apt upgrade
2-添加ROS镜像源(这里用ROS中科大的源进行替代)
Tips:
如果添加ROS官方源注意官方的源在国外,在rosdep阶段会出现获取失败,跟网络情况有关,建议连接手机网络重试(科学方法是最好的方法)
如果是虚拟机,建议使用最好的方法。
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密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Tips:
如果使用官方源,出现更新curl包的情况,更新就好。
如果出现gpg:无法获取公钥,直接使用上面的就好
4-更新Ubuntu 18.04 的索引库
sudo apt update
5-安装ROS-桌面版-全安装
sudo apt-get install ros-melodic-desktop-full
好了,接下来就要经历漫长的等待了……
5-配置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source /opt/ros/melodic/setup.bash
6-构建软件包的依赖关系
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
7-安装python-rosdep
sudo apt install python-rosdep
8-初始化rosdep
Tips:博主这里先进行了rosdep update,后进行的sudo rosdep init。这里放出的是操作成果后给出的反馈结果。
sudo rosdep init
rosdep update
在进行sudo rosdep init时出现了神奇的情况,显示已经初始化,下面会给出解释。
hr@HR:~$ sudo rosdep init
ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize
那么这里ROS melodic就已经成功安装了,第四节会给出小海龟验证是否正常运行。
三、rosdep init 与rosdep update报错问题
sudo rosdep init 这个命令只是让ROS系统进行初始化,这个在运行的时候也会自动初始化,不必担心,可以先解决rosdep update的问题。rosdep init 与rosdep update都是由于它的更新地址指向https://raw.githubusercontent.com/ros/rosdistro/master/rosdep,而这个网址国内无法访问。
rosdep update是安装所需要的依赖库,例如SLAM中常用的Cartographer、ORB-SLAM等算法需要一些依赖库,只使用ROS 一般依赖的,也不用耗费时间去弄。
1、运行sudo rosdep init 初始化若报错为
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.
无法从后面的网站中获取list清单,这是因为网络原因,尝试一直输入,或换手机热点
2、运行rosdep update若报错含有
ERROR:unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml]:------------------(中间省略)-------The handshake operation timed out-------(后面省略)
翻译一下:无法处理源[--网址--]连接超时问题,跟sudo rosdep init的问题本质是一样的
现在解决办法有:
1-一直试(只能解决sudo rosdep init的问题)
2-更改默认连接时间,将time out 时间延长(使本地与[https://raw.githubusercontent.com/ros/rosdistro/master/rosdep]源长时间连接尝试)
3-更改本地hosts文件(添加国外ip,使PC能够访问[https://raw.githubusercontent.com])
4-切换网络,连接手机4G网,进行尝试
博主在这里都进行过尝试,需要上面三种的搜索CSDN很多大佬都会给出具体过程,2-4偶尔都能成功,插网线情况下还是3靠谱,不插网线情况下还是4比较好用。
测试来测试去,本质上都是网络问题
我这里采用的是直接解决网络方法,直接将国内搭建的加速节点写入/etc/ros/rosdep/sources.list中,让rosdep直接通过加速节点来访问国外源。(Tips:不能给出具体我所使用的网址抱歉)
第二种方法是直接将gitee的仓与所指向的[https://raw.githubusercontent.com]进行替换,让rosdep直接从gitee的仓里获取更新。gitee也就相当于国内的github。(Tips:大神已经将仓址和方法在网上发布过了)
第三种简单粗暴更快更好的方法,科学的方式访问国外网址。
四、Ros melodic 小海龟运行
1-启动ROS核心
roscore
这里我们可以看到启动的ROS版本为melodic(/rosdistro: melodic),版本号为1.14.13
2-启动小海龟仿真器(新命令窗口)
rosrun turtlesim turtlesim_node
3-启动小海龟控制节点(新命令窗口)
rosrun turtlesim turtle_teleop_key
4-在控制节点窗口通过方向键即可控制小海龟进行运动
5-退出控制并结束进程,命令行窗口下Ctrl+C结束进程即可
到此Ubuntu 18.04 已经成功的安装好了ROS melodic,接下来就是一些插件,工具和理论的学习了。
安装方法二(鱼香ROS方式):
打开终端执行:【】
wget http://fishros.com/install -O fishros && . fishros
出现下面界面后,自行选择安装即可,一般选择为【1】一键安装ROS,后续为【1】选择更换系统源再进行安装,然后选择melodic完成安装即可。
不积跬步无以至千里,不积小流无以成江河 -----------------1:34