在中国大学mooc学习机器人操作系统入门课程,特写系列教程来记录学习的过程。
1 安装
教程采用Ubuntu16.04以及ROS Kinetic,为了很好的兼容学习课程也采用相同的版本
1.1 配置系统源
采用国内中科大的源
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
1.2 设置ros的源
中科大源
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'
1.3 设置密码
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可缺的一部分。
1.4 开始安装
先更新源
sudo apt-get update
按照需求安装
全部安装:sudo apt-get install ros-kinetic-desktop-full
1.5 安装rosdep
执行以下命令
sudo rosdep init
rosdep update
rosdep update 出错
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Add distro "bouncy"
Add distro "crystal"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Add distro "indigo"
Skip end-of-life distro "jade"
Add distro "kinetic"
Add distro "lunar"
Add distro "melodic"
ERROR: error loading sources list:
<urlopen error <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)> (https://raw.githubusercontent.com/ros/rosdistro/master/melodic/distribution.yaml)
没有ssl认证,执行以下操作
sudo apt-get install ca-certificates
安装好之后重新执行前面的两条命令,执行第一条的时候提示已有文件,需要按照要求删除。
sudo rosdep init
ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize
完成命令即可
1.6 环境变量设置
让每一次终端打开都能够配置好ros环境
echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
source ~/.bashrc
1.7 安装官方推荐的包
rosinstall 是ROS中一个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给某个ROS软件包下载很多源码树。在ubuntu上安装这个工具
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
1.8 测试
首先启动ROS,输入代码运行roscore:
$ roscore
接着我们测试ROS的吉祥物–小海龟,来简单的测试ROS运行是否正常,同时也来体验一下ROS的神奇与精彩!
启动roscore后,重新打开一个终端窗口,输入:
rosrun turtlesim turtlesim_node
会出现一只乌龟,接着打开另一个终端执行:
rosrun turtlesim turtle_teleop_key
接着用键盘的方向键就可以指挥乌龟的前进了
2 安装重德智能教学包
课程的所有内容开源在github上,一下是地址
https://github.com/DroidAITech/ROS-Academy-for-Beginners
具体参考:https://sychaichangkun.gitbooks.io/ros-tutorial-icourse163/content/chapter1/1.5.html
在clone出现错误:
git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git
Cloning into 'ROS-Academy-for-Beginners'...
fatal: unable to access 'https://github.com/DroidAITech/ROS-Academy-for-Beginners.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
是系统不信任网站导致的,可以通过暂时关闭系统安全认证,输入一下命令
export GIT_SSL_NO_VERIFY=1