一、ROS介绍及版本选择
ros是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构
ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。
ROS设计者将ROS表述为“ROS = Plumbing + Tools + Capabilities +
Ecosystem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体
Ubuntu18.04适用版本是melodic
,注意版本选择
二、安装
1、
设置安装源
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'
2、
设置密钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
3、
更新软件列表
sudo apt update
4、
安装ROS
sudo apt-get install ros-melodic-desktop-full
注意在这一步的时候,很可能出现如下问题
网上查这个问题的时候,很可能会找到以下解决办法
sudo apt-get install aptitude
sudo aptitude install ros-melodic-desktop-full
但是这种办法不能解决根本问题
,aptitude这个工具只是给你提供一种避开依赖性问题的方案,比如它提供给你的方案是不安装低版本的工具包,但是这些工具包在后面的安装过程中还是会用到,早晚还是会出问题。aptitude这个工具很有作用,但是不适合再此处使用。
而真正问题出现的原因是某些依赖的工具包的版本低了,解决办法就是开启更新😂
打开ubuntu的软件和更新
做如下设置,然后再次尝试下载,即可成功!
5、
初始化rosdep
sudo apt install python-rosdep
sudo rosdep init
注意这里需要先安装第一步的python包,不然会失败
6、
下载rosdistro-master
的压缩包并解压到主目录
进行接下来的一系列步骤是为了防止直接rosdep update下载过程中被墙…
cd ~
unzip rosdistro-master.zip
mv rosdistro-master rosdistro
这里的压缩包由同学给出
https://pan.baidu.com/s/1z25LvAV1Z7dCTuzELqhOsA
提取码:75r1
7、
修改 20-default.list 文件
sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
如下
# os-specific listings first
yaml file:///home/xxx/rosdistro/rosdep/osx-homebrew.yaml osx
# generic
yaml file:///home/xxx/rosdistro/rosdep/base.yaml
yaml file:///home/xxx/rosdistro/rosdep/python.yaml
yaml file:///home/xxx/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/xxx/rosdistro/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
“xxx”代表需要修改为自己的用户名
8、
修改 sources_list.py 文件
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
修改原DEFAULT_SOURCES_LIST_URL 一行为
DEFAULT_SOURCES_LIST_URL = 'file:///home/xxx/rosdistro/rosdep/sources.list.d/20-default.list'
9、
修改 rep3.py 文件
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
修改原 REP3_TARGETS_URL 一行为
REP3_TARGETS_URL = 'file:///home/xxx/rosdistro/releases/targets.yaml'
10、
修改 init.py 文件
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
修改原 DEFAULT_INDEX_URL 一行为
DEFAULT_INDEX_URL = 'file:///home/xxx/rosdistro/index-v4.yaml'
11、
rosdep update
上述步骤全部完成之后,这一步应该没有问题了
12、
安装 rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
13、
环境变量配置
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
三、小海龟例子
打开第一个终端
roscore
打开第二个终端
rosrun turtlesim turtlesim_node
打开第三个终端
rosrun turtlesim turtle_teleop_key
鼠标需要聚焦在第三个打开的窗口,然后通过方向键控制
四、参考
Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)
ubuntu 下安装ROS失败的解决方法总结
五、总结
安装ROS为之后的嵌入式学习做准备。