Ubuntu16.04下安装ROS操作系统及简介

一、相关知识

1.ROS系统简介

    ROS---(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。

    ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。

    ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。

    ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途。而高层的用户提供的包则可以使用很多种不同的许可证。

    总的来说,ROS是一个适用于机器人编程的框架,这个框架为我们将原本松散的部分整合起来,提供通信框架。ROS并不是传统的如Windows这样的操作系统,它连接了操作系统和开发的ROS应用程序,所以是一个中间件,起到了桥梁的作用。

 

2.ROS系统功能图示

3.ROS系统特点

1)分布式点对点

    ROS采用了分布式的框架,通过点对点的设计让机器人的进程可以分别运行,便于模块化的修改和定制,提高了系统的容错能力。

2)多种语言支持

    ROS支持多种编程语言。C++、Pyhton和已经在ROS中实现编译,是目前应用最广的ROS开发语言,Lisp、C#、Java等语言的测试库也已经实现。

3)开源社区

    ROS具有一个庞大的社区ROS WIKI(http://wiki.ros.org/ ),这个网站将会始终伴随着你ROS开发,无论是查阅功能包的参数、搜索问题还是。当此外,ROS遵从BSD协议,对个人和商业应用及修改完全免费。

 

4.ROS系统优缺点

(1)优点:提供框架、工具和功能;方便移植;庞大的用户群体;免费开源。

(2)缺点:通信实时性能有限;系统稳定性尚不满足工业级需求;安全性上没有防护措施;仅支持Linux。

 

二、安装步骤

1.检查Ubuntu环境是否正确

(1)在命令行中输入cat /etc/issu

检查自己的Ubuntu系统为16.04

 

(2)检查初始环境配置

进入软件与更新,勾选universe,restricted,multiverse三项。

 

2.添加sources.list

在命令行中输入:sudo sh -c '. /etc/lsb-release && echo "deb http://49.123.83.107/ros/ubuntu/ xenial main" > /etc/apt/sources.list.d/ros-latest.list'

在这里我用的是我们实验室的源,大家可以换成中科大的源,比较快。

3.添加keys

公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可缺少的一部分。

在命令行中输入:sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

 

4.系统更新

在命令行中输入:sudo apt-get update && sudo apt-get upgrade

更新一下软件包。如果是新安装的环境,需要更新的比较多,可能会比较慢。

 

5.安装ROS完整包

在命令行中输入:sudo apt-get install ros-kinetic-desktop-full

这个过程同样比较缓慢。

 

6.查看是否安装成功

在命令行中输入:

cd /

cd opt

ls

查看是否有ros操作系统

 

证明安装成功。

 

7.初始化rosdep

在命令行中输入:

sudo rosdep init

rosdep update

 

 

8.配置环境

在命令行中输入命令如下:

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

source ~/.bashrc

 

9.安装依赖包

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

 

10.测试ROS是否搭建成功

输入:roscore

等待程序不动后,再打开一个窗口。

输入:rosrun turtlesim turtlesim_node

出现一只小乌龟,再打开一个窗口;

输入:rosrun turtlesim turtle_teleop_key

此时,可以在终端窗口,键入方向键控制小乌龟的移动。

 然后就可以愉快的进行ROS开发!

猜你喜欢

转载自blog.csdn.net/lipengfei0427/article/details/100985032