ROS简介: ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。在某些方面ROS相当于一种“机器人框架(robot frameworks)(来自ROSwiki)
建议准备一个干净、换好源的 ubuntu 16.04 以上的虚拟机(建议清华源 )
查看ubuntu 版本
lsb_release -a
要使用小鱼的一键安装系列,需要下载一个脚本,然后执行这个脚本,进行ROS的安装与环境的配置,还可以看鱼香大佬的教程
wget http://fishros.com/install -O fishros && . fishros
大家可以看到这里会显示出你当前的Linux发行版版本,而且他还支持arm平台(我在jetson nano试过,可以),接着会让你选择是否按照他提供的源(好像是清华源)进行安装,因为我己经换了源了这里 选择 2 ,如果没换源可以选 1
这里也选 1,后面就进行安装了(大概几分钟)
其实这跟小鱼的脚本本质上差不多,只是小鱼的脚本已经帮你把环境依赖、版本选择、网络问题都跟你封装、解决好了,还有一种是用源码安装ROS ,之前在树莓派上试过,大家有兴趣可以尝试了解一下 。 官方教程 - ROS Wiki
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'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop-full
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc #使环境生效
可以打开用户目录下的 .bashrc 文件,可以在最后看到 ROS环境
在终端输入 roscore ,后面就可以自行选择配置rosdep
在使用许多 ROS 工具之前,需要初始化 rosdep
,如果要源码编译安装功能包 的话就需要他
下载脚本并执行脚本 (因为每次执行这个脚本后,都会自动删除脚本,所以需要重新执行)
wget http://fishros.com/install -O fishros && . fishros
这里我们选择 3 配置rosdep
这个rosdep 请求的是国外的服务器,所以会被墙。有些是通过代理的方式,但这个不稳定,因为时间久了要么代理跑路了,要么被墙了。它需要的文件都官方都放在 github 上的,那么我们可以clone 到本地,然后改url地址即可。
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
1.1 自动修改
git clone https://gitee.com/tyx6/rosdistro.git
# 默认下载到当前文件夹下
# 下载成功后可以在当前文件夹下看见名为 rosdistro 的文件夹
cd rosdistro
git checkout -b tfly_dev origin/tfly_dev # 切换分支
sudo python3 Mrosdep.py
# 此脚本在 rosdistro 目录下,是本人为了方便编写的
# 如果有什么问题可以手动修改,或早评论区提问
1.2 手动修改
git clone https://github.com/ros/rosdistro.git
# 默认下载到当前文件夹下
# 下载成功后可以在当前文件夹下看见名为 rosdistro 的文件夹
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
# 在大概64行 修改 DEFAULT_SOURCES_LIST_URL
DEFAULT_SOURCES_LIST_URL = 'file:///home/test/rosdistro/rosdep/sources.list.d/20-default.list'
# file:// 是本地文件的 url 形式
# /home/test/rosdistro/rosdep/sources.list.d/20-default.list 这是文件所在的绝对路径
# 路径根据你将 rosdistro 下载到那个路径修改
修改20-default.list文件
将上面的内容修改成下面这种形式,同样需要要根据自己实际路径修改,修改完后记得保存
# os-specific listings first
yaml file:///home/test/rosdistro/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///home/test/rosdistro/rosdep/base.yaml
yaml file:///home/test/rosdistro/rosdep/python.yaml
yaml file:///home/test/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/test/rosdistro/releases/fuerte.yaml fuerte
# 修改其余3个文件中,都是将地址 https://raw.githubusercontent.com/... 改为本地地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
# 大概在68行的地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
# 大概在34行的地址
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
# 大概在36行的地址
init.py
gbpdistro_support.py
rep3.py
2. 开始配置
sudo rosdep init
rosdep update
如有其他问题,或者发现文章有错误,请在评论区留言
Keep learning!