参考
1.假设已经装好了Ubuntu18.04,在正式安装前,更换软件源为中科大源。
2.添加sources.list
这一步将镜像添加到Ubuntu系统源列表中,推荐使用国内镜像源,下载速度比较快。
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'
3.添加keys
公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可少的一部分,不添加会报错。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
4.系统更新
这一步确保Debian软件包索引是最新的。
sudo apt-get update
sudo apt-get upgrade
5.安装ROS
这里安装的是桌面完整版(推荐),包含ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators and 2D/3D perception ,大概2G多。
sudo apt install ros-melodic-desktop-full
等待安装完成即可。
6.配置ROS
(1)初始化rosdep
在使用 ROS 工具之前,需要初始化 rosdep。 rosdep 可以在我们需要编译某些源码的时候为其安装一些系统依赖项,并且在运行一些ROS核心组件时也是必不可少的。
sudo rosdep init
rosdep update
如果提示你没有安装rosdep,按如下命令安装。
sudo apt install python-rosdep2
下面就是我在初始化rosdep中遇到的一些问题了
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
ERROR: error loading sources list:
(‘The read operation timed out’,)
具体来说就是请求超时,是网络的问题。
解决办法
参考下面的博客ROS安装遇到 sudo rosdep init 与rosdep update出现error loading sources list,我采用了里面提到的第一种方法,链接如下:解决rosdep update一直timeout的问题,将超时限制改的大一些,我把DOWNLOAD_TIMEOUT=15.0
改成了DOWNLOAD_TIMEOUT=80.0
,先执行sudo apt-get update
然后执行rosdep update
,反复几次尝试才成功。
网上好多教程说换用其他网络(如手机热点)可以解决,也可以试一下。
(2)配置环境变量
这一步使得我们每次打开一个新终端,ROS的环境变量都能够自动配置好,也就是添加到bash会话中。
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
7.构建软件包的依赖项
到此我们已经安装了运行核心 ROS 包所需的东西。 要创建和管理自己的 ROS 工作区,有各种单独分布的工具和要求。rosinstall 是一种常用的命令行工具,使我们可以通过一个命令轻松下载 ROS 包的许多源代码树。
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
8.测试ROS
在终端输入以下命令,如果是下图这样,那么恭喜你,已经装好了ROS,可以开始大展身手了。
roscore
但是如果你出现了以下问题:
Command ‘roscore’ not found, but can be installed with:
sudo apt install python-roslaunch
可以尝试参考下面的方法解决
我参考了下面三个教程
- 安装ROS时遇到问题
- 安装成功了的ros系统,突然提示未安装ros
- ROS安装问题: “Command ‘roscore‘ not found, but can be installed with: sudo apt install python-roslaunch“
第一个教程有一些笔误,从第一个教程中执行不通的cmake开始,我的指令和结果如下:
行不通的加了sudo
第二个教程前面和第一个教程类似,没有搞定,重装也没有解决问题,但是重新配置环境变量就可以了,我的还是不行。
第三个教程起到了很大帮助,既然roscore指令是用来启动roscore可执行文件的,那么先检查roscore文件是否存在:
cd /opt/ros/melodic/bin
ls -l
果然不存在,那只好重装一遍,运行以下指令,因为许多包都装过了,还是很快的
sudo apt install ros-melodic-desktop-full
最后再bash一下,roscore就可以执行了
source ~/.bashrc
roscore
启动roscore后,重新打开一个终端,执行以下指令:
rosrun turtlesim turtlesim_node
屏幕上出现一只小海龟
再新建一个终端,执行以下指令:
rosrun turtlesim turtle_teleop_key
将鼠标放在第三个终端上,通过键盘上的方向键就可以控制小海龟移动了
希望这个教程能对你有用~~