最近需要学习ROS操作系统,决定安装在ubuntu上,但是诸多原因导致安装出现各种问题,先总结如下:
先上官方安装教程!官方教程何其重要!
ROS安装
1.操作系统的选择
在前在ubuntu16上安装,出现很多很多问题,现在回想应该是因为网络的原因。
之后在deepin15安装,也失败,应该还是网络原因。
在新发布的deepin20也安装失败,原因是ROS还不支持这个系统。
现在在ubuntu18尝试安装,成功。
2.换源
由于国内的各种原因,这里不仅要换软件包的源,ROS的源也要换掉。
ubuntu18换源如下:
打开源列表:
sudo vim /etc/apt/sources.list #修改镜像文件
删除源内容,复制粘贴如下内容:
# 这里的是18.04的镜像需要根据不同版本进行选择
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
加入ROS的源,注意这里不要使用官方的源,各种原因你懂的:
sudo sh -c 'echo "deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu $(lsb_release -sc) 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
3.安装
安装这个版本,当然还有其他的可以选择,推荐这个,注意版本为melodic:
sudo apt install ros-melodic-desktop-full
上一步通常没有什么问题
问题在如下的步骤:
sudo rosdep init
rosdep update
不出意外,sudo rosdep init会报错webdown*****,
lee@lee-TM1801:~$ 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.
原因很简单,网站被墙了,使用如下解决:
#打开hosts文件
sudo gedit /etc/hosts
#在文件末尾添加
151.101.84.133 raw.githubusercontent.com
#保存后退出再尝试sudo rosdep init
继续rosdep update即可。
继续安装:
sudo apt-get install python-rosinstall
配置环境变量:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
4.后续
安装依赖:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
其他报错皆可百度解决问题,不再赘述。
跑一个小海龟的例子:
注意,以下三条命令必须在三个终端分别执行。
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtlesim_node
在第三个终端里键盘控制上下左右小海龟就能运动了。
这里可能报错,出现键盘不能控制小海龟的问题:
如果在第三步时小海龟在键盘下不能移动时,可以尝试在第三步之前
source /opt/ros/kinetic/setup.sh
5.再继续建立工作
ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化
catkin工作目录,如下所示。除非用户创建新的工作目录,否则此设置只需设置一次。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建
cd ~/catkin_ws/
catkin_make
设置环境变量:
sudo apt install net-tools
gedit ~/.bashrc
环境变量:
# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到’build’和’devel’这两个文件夹。在’devel’文件夹里面你可以看到几个setup.*sh文件。接下来首先source一下新生成的setup.*sh文件:
source devel/setup.bash
以下可选:
# Set ROS Network
#ifconfig查看你的电脑ip地址
export ROS_HOSTNAME=192.168.89.135
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
# Set ROS alias command 快捷指令
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:
echo $ROS_PACKAGE_PATH
/home/<youruser>/catkin_ws/src:/opt/ros/melodic/share:/opt/ros/melodic/stacks
到此,就安装完成了!
请大家一定按照官方文档安装,本文档仅为出现问题指南,具体过程可能也有所遗漏!
大家有什么问题欢迎评论指出,我也会尽量答复。