ROS探索总结(六十一)—— 古月私房课 | 风靡机器人圈的ROS到底是什么

  • 内容
  • 评论
  • 相关

~欢迎关注~
微信公众号:古月居
新浪微博:
古月春旭
知乎专栏:古月居
原文链接:古月私房课 | 风靡机器人圈的ROS到底是什么

 

古月居联合深蓝学院推出的“古月私房课”第一弹——《ROS机械臂开发:从入门到实战》已经上线啦,欢迎各位小伙伴前来围观,以下是第二讲《风靡机器人圈的ROS到底是什么》的精华内容。

 

大家好,这里是古月居和深蓝学院联合推出的《ROS机械臂开发:从入门到实战》的第二讲——风靡机器人圈的ROS到底是什么,我是主讲人胡春旭。

幻灯片1

本讲我们将从以下五个方面给大家介绍ROS是什么?

幻灯片2

ROS已经成为机器人领域的普遍标准,大家多少都用过或者听说过,那么ROS到底是什么?机器人操作系统的概念其实比较模糊,有没有一个更清晰的定义。

幻灯片3

古月君认为ROS早期发布的这张图更能明确的说明ROS到底是什么?ROS = 通信机制 + 开发工具 + 应用功能 + 生态系统,接下来我们就从这四个方面深入剖析ROS的含义。

幻灯片4

首先来看ROS的通信机制,这也是ROS最底层的原理。

幻灯片5

ROS系统可以用一张计算图来描述,图中有处理各种机器人功能的节点,以及节点之间的通信数据。

幻灯片6

计算图中会涉及以下概念:节点是处理功能的进程,节点管理器负责建立节点之间的连接,话题和服务是节点之间的通信机制。前者单向传输,后者带有反馈。

幻灯片7

这里我们必须要理解话题与服务之间的区别,大家可以参考以下表格说明:

幻灯片10

ROS的第二大部分是开发工具,可以大大提高我们机器人开发的效率。

幻灯片12

ROS主要基于Linux实现,最为常用的工具就是命令行工具了,我们可以使用丰富的命令查询、控制、编译整个ROS系统。

幻灯片13

坐标变换是机器人的基础理论,虽然理论并不复杂,但实现时需要一些空间想象力,TF可以帮助我们减轻计算压力,轻松管理系统中的所有坐标系。

幻灯片15

ROS还基于Qt设计了一系列可视化工具——Qt工具箱,其中可以显示图像、日志、数据曲线、控制按键等等功能。

幻灯片16

Rviz同样基于Qt开发,但是一个更加通用的显示平台,不仅可以显示机器人模型、地图环境、传感器信息等,还可以通过插件机制无限扩展成为一个机器人上位机。

幻灯片17

Rviz的主要功能是显示数据,前提当然是有数据,那如果没有怎么办?这就需要仿真创造数据了,Gazebo就是一款三维物理仿真平台,可以实现机器人系统的仿真。

幻灯片18

ROS的第三大部分——应用功能,也是资源最为丰富的部分,全球各地的开发者都在为这个部分作出贡献。

幻灯片19

比如我们常用的导航框架,只需要完成传感器的数据发布,很快就可以实现移动机器人的导航功能。

幻灯片20

ROS中还有多种SLAM建图的功能包。

幻灯片21

我们课程主讲的ROS机械臂开发更离不开MoveIt!的支持。

幻灯片22

最后一个部分是ROS生态系统,这个是ROS快速发展的大环境。

幻灯片24

其中包括的资源众多,相对也比较松散,大家最好利用google等搜索工具来查找。

幻灯片25

ROS社区的活跃度也呈指数级在上升,中国即将超过美国成为使用ROS的第一大国。

幻灯片26

ROS在推动机器人快速发展的同时,也已经成为机器人领域的事实标准。

幻灯片27

以上就是本讲内容精要,更多精彩,欢迎大家关注“古月居”。

幻灯片31

 

完整内容和课程视频欢迎大家关注

《ROS机械臂开发:从入门到实战》

 

20190316222716

 

更多内容欢迎关注:

微信公众号:古月居 (guyue_home)

新浪微博:古月春旭

知乎专栏:古月居

微信 OR 支付宝 扫描二维码
为本文作者 打个赏
pay_weixinpay_weixin

评论

2条评论
  1. Gravatar 头像

    祝小文 回复

    老师,您好!
    今天在使用catkin_make,编译工作空间的时候,出现了问题(网上说是python编译器有关的编译错误),尝试了多种解决方法也没有解决。
    问题:
    CMake Error at /opt/ros/indigo/share/catkin/cmake/safe_execute_process.cmake:11 (message):
    execute_process(/home/zxw/one_ws/build/catkin_generated/env_cached.sh
    "/usr/bin/python" "/usr/bin/empy" "--raw-errors" "-F"
    "/home/zxw/one_ws/build/catkin_generated/order_packages.py" "-o"
    "/home/zxw/one_ws/build/catkin_generated/order_packages.cmake"
    "/opt/ros/indigo/share/catkin/cmake/em/order_packages.cmake.em") returned
    error code 1
    Call Stack (most recent call first):
    /opt/ros/indigo/share/catkin/cmake/em_expand.cmake:25 (safe_execute_process)
    /opt/ros/indigo/share/catkin/cmake/catkin_workspace.cmake:35 (em_expand)
    CMakeLists.txt:63 (catkin_workspace)

    -- Configuring incomplete, errors occurred!
    See also "/home/zxw/one_ws/build/CMakeFiles/CMakeOutput.log".
    See also "/home/zxw/one_ws/build/CMakeFiles/CMakeError.log".
    Invoking "cmake" failed

    尝试的措施:(都失败l)
    1.将ubuntu系统默认的python编译器更改为系统自带的python编译器即可.(https://blog.csdn.net/xdzhangzhenhao/article/details/79447259)
    2.pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools
    (https://www.cnblogs.com/wjx-zjut/p/8805537.html)

    希望能够得到老师的指点

    • 古月

      古月 回复

      @祝小文 不好意思,这个错误我也不确定,还是以google搜索为准

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据