原创声明
本文为 HinGwenWoong 原创,如果这篇文章对您有帮助,欢迎转载,转载请阅读文末的【授权须知】,感谢您对 HinGwenWoong 文章的认可!
前言
现在的机器人越来越火,市场上的需求量越来越高,我们要学习如何更快速的搭建机器人系统,来为我们的开发助一臂之力,下面介绍一种必成功的安装 ROS
的方式。
我是 HinGwenWoong,一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,码字不易,如果帮到您,请帮我在屏幕下方点赞 👍 ,您的点赞可以让技术传播得更远更广,谢谢!
一、ROS是什么?
ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。在某些方面ROS相当于一种“机器人框架(robot frameworks)”类似的“机器人框架”有:Player,YARP,Orocos,CARMEN,Orca,MOOS和 Microsoft Robotics Studio。
ROS 运行时的“蓝图”是一种基于ROS通信基础结构的松耦合点对点进程网络。ROS实现了几种不同的通信方式,包括基于同步RPC样式通信的服务(services)机制,基于异步流媒体数据的话题(topics)机制以及用于数据存储的参数服务器(Parameter Server)。想更加深入的解释这些概念,请参见概念综述。
ROS并不是一个实时的框架,但ROS可以嵌入实时程序。Willow Garage的PR2机器人使用了一种叫做pr2_etherCAT的系统来实时发送或接收ROS消息。ROS也可以与Orocos实时工具包无缝集成。
二、安装步骤
本文安装的版本是 ROS Melodic
,使用的系统是 Ubuntu18.04
-
添加镜像源,我这里设置的是清华的镜像源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
- 1
-
设置密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- 1
-
确保你的 Debian 包索引是最新的:
sudo apt update
- 1
-
安装
桌面完整版(推荐): 包含 ROS、rqt、rviz、机器人通用库、2D/3D 模拟器、导航以及 2D/3D 感知包。sudo apt install ros-melodic-desktop-full
- 1
然后就是漫长的等待
我们可以看到清华的镜像源发挥了作用:
-
初始化 rosdep,出错了别慌,跟着我一步一步走,下面有出错的解决方法
sudo rosdep init
- 1
如果显示
sudo: rosdep: command not found
,则运行命令安装依赖sudo apt install python-rosdep2
- 1
之后,大概率出现一下错误: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
- 2
- 3
下面介绍终极方法,保准可以!
① 首先,编辑文件/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
第294
行sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
- 1
加入这行
url = "https://ghproxy.com/" + url
, 注意缩进
② 修改sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
- 1
在
https://raw.githubusercontent.........
前入https://ghproxy.com/
③ 以同样的方式在以下文件添加https://ghproxy.com/
:件命令 行数 sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py 第35行 sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py 第69行 sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py 第39行 sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py 第68行、第119行 ④ 修改文件
/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
- 1
在第
206
行添加如下代码gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
- 1
-
文件都修改好之后,重新执行
sudo rosdep init
,可以看到成功!!!
-
然后根据指引,执行,执行过程中,如果有报错,莫慌,往下看
rosdep update
- 1
完成!
-
如果出现
unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]
,就要出动必杀技了
修改hosts
文件大法:sudo gedit /etc/hosts
- 1
去到 IP查询网:ipaddress.com,将查询到的 IP 写到
hosts
文件中
再次执行更新即可:rosdep update
- 1
-
设置环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
- 1
- 2
-
构建工厂依赖
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
- 1
-
测试
roscore
- 1
成功!!!!
总结
这就是 ROS 的必成功的搭建方式,希望能够助你一臂之力,让你避开所有的坑!
我是 HinGwenWoong,一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,码字不易,如果帮到您,请帮我在屏幕下方点赞 👍 ,您的点赞可以让技术传播得更远更广,谢谢!
参考
- ROS wiki
- ROS入门教程-安装并配置ROS环境(Kinetic 版本)
- 解决ROS系统 rosdep update超时问题的新方法
- ROS安装过程中如何解决 rosdep update 命令出现错误
授权须知
- 原创文章在推送一天后才可进行转载
- 转载文章,禁止声明原创
- 不允许直接二次转载,转载请根据原文链接联系作者
- 若无需改版,在文首清楚标注作者及来源/原文链接,并删除【原创声明】,即可直接转载。
但对于未注明转载来源/原文链接的文章,我将保留追述的权利。作者:HinGwenWoong
一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,共同进步!
CSDN: HinGwenWoong
原文链接:ROS Melodic 安装必成功流程+避坑指南(超详细) - 若需要修改文章的排版,请根据原文链接联系作者
- 再次感谢您的认可,转载请遵守如上转载须知!