本文就是为Ubuntu18.04安装ROS Melodic
首先ubuntu不同的版本对应ROS不同的版本,我们需要在安装过程中找到对应的版本进行在终端里的安装操作;
图片转自http://f.dataguru.cn/thread-903259-1-1.html
Melodic 主要对应:Ubuntu Artful (17.10), Bionic (18.04 LTS) 以及Debian Stretch
其次保证一个良好的网络环境十分重要,必要时就开热点吧,网络不稳定也是安装失败的一大因素。
当你装好双系统在linux操作系统下(Ubuntu18.04)时,打开终端开始操作
命令都可参考wiki百科Ubuntu install of ROS Melodic
配置Ubuntu软件库
- 配置Ubuntu存储库以允许 "restricted," "universe," and "multiverse."
设置sources.list
将电脑设置为接受来自packages.ros.org的软件,官网是这一句
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
但是我使用这一句再往后操作就会出现无法定位软件包的错误所以推荐如下这一句,使用国内的镜像 :
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'
设置密钥
中间的hkp://keyserver.ubuntu.com:80是我成功时使用的,如果不行可替换为
hkp://ha.pool.sks-keyservers.net:80 或 hkp://pgp.mit.edu:80
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
安装
有时候这一步之后会执行不完全成功或者显示无法定位软件包
可以在一开始软件库的位置添加apt
具体添加可以试一试https://blog.csdn.net/zhwisdom0427/article/details/72898772 的这一句deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
sudo apt-get update
桌面完整安装:(推荐):ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知
sudo apt-get install ros-melodic-desktop-full
然后是漫长的等待,加载很多东西
需要先初始化rosdep。rosdep能够轻松地安装要编译的源代码的系统依赖关系,并且需要在ROS中运行一些核心组件。
sudo rosdep init
然后
rosdep update
后面的步骤我完全按照https://blog.csdn.net/zhangrelay/article/details/80241758 做的十分顺畅没有出现前面的我自己存在的问题,可以继续参考这个进行对安装的完善和验证就结束了。
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果安装了多个ROS分发,则〜/ .bashrc必须仅为您当前使用的版本提供setup.bash。
rosinstall是一种常用的命令行工具可安装上
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
一个终端
roscore
第二个终端
rosrun turtlesim turtlesim_node
再开起一个终端控制
rosrun turtlesim turtle_teleop_key
在第三个终端里键盘控制上下左右小海龟就能运动了。
[ERROR] [1542765270.211635192]: [registerPublisher] Failed to contact master at [localhost:11311]. Retrying...
那么首先检查是否打开roscore,执行命令如下:
然后再进行小海龟的测试,或者有时解决如下:
详细还可参考wiki关于这个ERROR的解决Failed to contact master at [localhost:11311]
基本上只要打开了roscore都能执行命令看到这只小海龟