SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic

摘要                                          

ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便。我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用。本章节主要内容:

1.ROS是什么

2.ROS系统整体架构

3.在ubuntu16.04中安装ROS kinetic

4.如何编写ROS的第一个程序hello_world

5.编写简单的消息发布器和订阅器

6.编写简单的service和client

7.理解tf的原理

8.理解roslaunch在大型项目中的作用

9.熟练使用rviz

10.在实际机器人上运行ROS高级功能预览



3.在ubuntu16.04中安装ROS kinetic

9安装ROS软硬件配置总结

使用ROS进行机器人的学习和开发,一般需要一个机器人平台和一个调试工作平台。机器人平台上出于性价比和功耗考虑一般采用ARM嵌入式板作为硬件设备,比如树莓派3RK3399开发板、nvidia-jetson-tx2等;调试工作平台一般采用x86个人电脑,比如笔记本电脑、台式电脑等。ARM嵌入式板的厂家一般都会提供相应定制化的ubuntu系统,定制化主要体现在硬件外设驱动和一些加快系统速度的优化,作为软件开发人员可以不必考虑这些问题直接当做普通ubuntu使用就行了,比如针对树莓派3定制化的ubuntu-mate系统;x86个人电脑上的话就可以直接安装ubuntu官方发布的系统就行了,你可以把ubuntu直接安装在物理机上,这样ubuntu运行会更加流畅,你也可以把ubuntu安装在虚拟机上,这样可以更方便的切换使用机器上原来的系统(如windows系统)和虚拟机上的ubuntu系统。不管是采用何种硬件,在硬件上以何种方式安装上ubuntu及其定制化ubuntu,一旦我们拥有了一个可用的ubuntu系统,就可以在这个ubuntu系统上安装当下流行的ROS发行版了(本文写作时最流行的ROS发行版是ROS-kinetic)。安装ROS软硬件配置的总结,如图9

机器人平台上安装ROS软硬件配置,推荐大家使用树莓派3作为硬件,ubuntu-mate-16.04作为操作系统,安装ROS-kinetic这个ROS发行版。这一部分的具体讲解将在后续的文章中展开。

调试工作平台上安装ROS软硬件配置,推荐大家使用x86个人电脑(笔记本电脑、台式电脑都可以)作为硬件,在虚拟机上运行ubuntu16.04系统,安装ROS-kinetic这个ROS发行版。由于在虚拟机上安装运行ubuntu16.04系统已经在前面的文章(一)Linux基础——2.安装Linux发行版ubuntu系统中详细讲解了,这里就默认我们已经拥有了一个运行在虚拟机上的ubuntu16.04系统了。接下来就着重讲解如何安装ROS发行版ROS-kinetic

其实在ubuntu上安装ROS,有很详细的ROS官方教程,感兴趣的朋友可以直接参考官方教程http://wiki.ros.org/kinetic/Installation/Ubuntu。由于官方教程用英文书写,为了方便大家阅读,我将官方教程翻译过来,方便大家学习,下面正式进入安装。温馨提醒,由于不同的编辑器对过长的句子换行的规则不同,下面的命令被自动换行后可能影响正常的阅读,请直接参阅官方教程中的命令http://wiki.ros.org/kinetic/Installation/Ubuntu

1)配置ubuntu的资源库

系统设置->软件和更新->Ubuntu软件,可以打开如图10中的资源库配置界面,确保“universe”,“restricted”、“multiverse”被勾选了,“下载自”选项中选择“中国的服务器”,这样下载更新软件速度会更快点。不过一般情况下,以上选项都是默认设置好了的。

(图10)资源库配置界面

2)设置ubuntusources.list

打开命令行终端,输入如下命令:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

(3)设置keys

打开命令行终端,输入如下命令:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

(4)安装ros-kinetic-desktop-full完整版

打开命令行终端,分别输入如下两条命令:

sudo apt-get update

sudo apt-get install ros-kinetic-desktop-full

小技巧,如果安装过程提示“下载错误”,请耐心重试上面的两条命令,这个错误多半是由于网络故障造成的。

(5)初始化rosdep

打开命令行终端,分别输入如下两条命令:

sudo rosdep init

rosdep update

(6)配置环境变量

打开命令行终端,分别输入如下两条命令:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

source ~/.bashrc

(7)安装rosinstall

打开命令行终端,输入如下命令:

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

(8)测试ros安装成功与否

打开命令行终端,输入如下命令:

roscore

如果此时出现以下内容

setting /run_id to 4cb2a932-06c0-11e9-9ff2-000c2985f3ab
process[rosout-1]: started with pid [38686]
started core service [/rosout]

那么恭喜你,ROS已经成功的安装上了!!!

后记                                        

------SLAM+语音机器人DIY系列【目录】快速导览------

第1章:Linux基础

1.Linux简介

2.安装Linux发行版ubuntu系统

3.Linux命令行基础操作

第2章:ROS入门

1.ROS是什么

2.ROS系统整体架构

3.在ubuntu16.04中安装ROS kinetic

4.如何编写ROS的第一个程序hello_world

5.编写简单的消息发布器和订阅器

6.编写简单的service和client

7.理解tf的原理

8.理解roslaunch在大型项目中的作用

9.熟练使用rviz

10.在实际机器人上运行ROS高级功能预览

第3章:感知与大脑

1.ydlidar-x4激光雷达

2.带自校准九轴数据融合IMU惯性传感器

3.轮式里程计与运动控制

4.音响麦克风与摄像头

5.机器人大脑嵌入式主板性能对比

6.做一个能走路和对话的机器人

第4章:差分底盘设计

1.stm32主控硬件设计

2.stm32主控软件设计

3.底盘通信协议

4.底盘ROS驱动开发

5.底盘PID控制参数整定

6.底盘里程计标

第5章:树莓派3开发环境搭建

1.安装系统ubuntu_mate_16.04

2.安装ros-kinetic

3.装机后一些实用软件安装和系统设置

4.PC端与robot端ROS网络通信

5.Android手机端与robot端ROS网络通信

6.树莓派USB与tty串口号绑定

7.开机自启动ROS节点

第6章:SLAM建图与自主避障导航

1.在机器人上使用传感器

2.google-cartographer机器人SLAM建图

3.ros-navigation机器人自主避障导航

4.多目标点导航及任务调度

5.机器人巡航与现场监控

第7章:语音交互与自然语言处理

1.语音交互相关技术

2.机器人语音交互实现

3.自然语言处理云计算引擎

第8章:高阶拓展

1.miiboo机器人安卓手机APP开发

2.centos7下部署Django(nginx+uwsgi+django+python3)

----------------文章将持续更新,敬请关注-----------------

 

如果大家对博文的相关类容感兴趣,或有什么技术疑问,欢迎加入下面的《SLAM+语音机器人DIY》QQ技术交流群,一起讨论学习^_^

关于我们:

视频教程:

 

https://www.bilibili.com/video/av61448040

posted @ 2019-02-16 01:07 小虎哥哥爱学习 阅读(...) 评论(...) 编辑 收藏