美文网首页机器人·学ROS
ROS入门篇—Apple的学习笔记

ROS入门篇—Apple的学习笔记

作者: applecai | 来源:发表于2019-07-21 21:00 被阅读2次

    1.引言

    休息了段时间后看了2本书《c++标准模板库编程实战》和《Effective Modern C++》,目的是巩固c++11/14的基础。

    但是对于我来说,学习的最佳方法还是找项目练手。所以这周六制作了ubunut16.06的UFEI U盘启动,重装后直接上ROS的slam项目。开始新一轮的折腾。

    2.ROS入门

    当然先要学下ROS基本知识,目前理解他的通信方式很灵活,就是c++的观察者模式。通过订阅和发布消息来实现对象通信。ROS主要包括节点,话题,消息,服务,通过看入门教程基本理解也使用了这些内容。我用的是kinetic

    ROS官方教程(中文版):http://wiki.ros.org/cn/ROS/Tutorials

    3.RVIZ可视化

    我的目的是学习slam,ros中有很多包,其中包括opencv及slam相关。但是对象间互相发送消息,那么点云图在哪里显示呢?这时候RIVZ就非学不可了。是三维可视化工具,强调把已有的数据可视化显示。当然之后还要学习很多其它有用的包。

    RVIZ官方教程:http://wiki.ros.org/rviz/Tutorials

    我的实验效果

    4.备忘点

    4.1无法识别ros本地包,则先要把本地编译环境添加到shell脚本中

    source devel/setup.bash

    用source的话shell不会创建副本,等于顺序执行。

    4.2 查看消息及消息参数

    运行命令rosmsg packagepcl_msgs可以列出msg文件夹下定义的消息

    运行命令rosmsg showpcl_msgs/Vertices查看具体消息参数

    4.3.创建新的package及编译的基本步骤

    mkdir

    -p ~/catkin_ws/src //-p说明若文件夹已经存在则不用再创建

    cd

    catkin_ws/src

    catkin_create_pkg

    pcl_tutorials pcl_conversions pcl_ros pcl_msgs sensor_msgs

    rospackprofile  //加入到package中

    roscd

    pcl_tutorials

    mkdir

    src //然后添加cpp及在src同级目录修改CMake文件

    cd

    ~/catkin_ws/

    catkin_make

    4.4.pcl&

    rviz ref code

    https://blog.csdn.net/hanshuning/article/details/52314108

    http://www.voidcn.com/article/p-mecwguji-bt.html

    参考2个blog自己做了一个pcl随机点云发送到rviz显示,直接用rosrun不行,后来通过自建脚本运行成功。如下

    5.小结

    了解了ROS基本的运行机制。网上查了下bag数据集回放,可以模拟各种传感器输入,然后通过ROS包中集成的算法库(也可以自己修改)应用后,再通过RVIZ进行地图构建的可视化。

    6.疑问

    之前做实验的数据集直接已文件的形式读取,输入到code中。ROS应该也可以的把,为什么用bag数据集回放,而不是推荐直接使用文件形式的数据集读入呢?

    答:我猜测,ROS可能消息接口都定义好了,然后模块化程度也高,所以都不用我们自己写code了,直接集成包通信即可。通过bag回放也方便进行ROS消息层面的调试。而不是直接源码调试。结论就是bag回放方法适合入门用户。^V^

    相关文章

      网友评论

        本文标题:ROS入门篇—Apple的学习笔记

        本文链接:https://www.haomeiwen.com/subject/quwvlctx.html