【Linux】ubuntu18.04安装ROS避坑指南
先上官⽅安装教程!官⽅教程何其重要!
1.操作系统的选择
在前在ubuntu16上安装,出现很多很多问题,现在回想应该是因为⽹络的原因。
之后在deepin15安装,也失败,应该还是⽹络原因。
在新发布的deepin20也安装失败,原因是ROS还不⽀持这个系统。
现在在ubuntu18尝试安装,成功。
2.换源
由于国内的各种原因,这⾥不仅要换软件包的源,ROS的源也要换掉。
ubuntu18换源如下:
打开源列表:
sudo vim /etc/apt/sources.list #修改镜像⽂件
删除源内容,复制粘贴如下内容:
# 这⾥的是18.04的镜像需要根据不同版本进⾏选择
# 默认注释了源码镜像以提⾼ apt update 速度,如有需要可⾃⾏取消注释
deb mirrors.tuna.tsinghua.edu/ubuntu/ bionic main restricted universe multiverse
# deb-src mirrors.tuna.tsinghua.edu/ubuntu/ bionic main restricted universe multiverse
deb mirrors.tuna.tsinghua.edu/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src mirrors.tuna.tsinghua.edu/ubuntu/ bionic-updates main restricted universe multiverse
deb mirrors.tuna.tsinghua.edu/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src mirrors.tuna.tsinghua.edu/ubuntu/ bionic-backports main restricted universe multiverse
deb mirrors.tuna.tsinghua.edu/ubuntu/ bionic-security main restricted universe multiverse
# deb-src mirrors.tuna.tsinghua.edu/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启⽤
# deb mirrors.tuna.tsinghua.edu/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src mirrors.tuna.tsinghua.edu/ubuntu/ bionic-proposed main restricted universe multiverse
加⼊ROS的源,注意这⾥不要使⽤官⽅的源,各种原因你懂的:
sudo sh -c 'echo "deb mirrors.tuna.tsinghua.edu/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'加⼊密钥,更新软件包:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu: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:
raw.githubusercontent/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
#保存后退出再尝试sudo rosdep init
ubuntu安装教程继续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⽬录和⽂件在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=${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
到此,就安装完成了!
请⼤家⼀定按照官⽅⽂档安装,本⽂档仅为出现问题指南,具体过程可能也有所遗漏!
⼤家有什么问题欢迎评论指出,我也会尽量答复。
发布评论