zoukankan      html  css  js  c++  java
  • ros 阅读记录 1

    2020-03-31 11:29:00 

    想看cartographer 的源码,但是发现如果我想做一些改变然后重复测试,没有rosbag是不行的。

    carto和ros耦合在一起了。

    (过了几天之后我发现了下面的东西:

    https://github.com/cartographer-project/cartographer/issues/1229  

    可以脱离ros运行 carto,  rosbag 依赖了 roslz4 依赖了 lz4 ,然后这家伙就把这部分

    单独拿出来了,牛皮  )

    于是想看ros源码,从头看起,发现最好先看看 catkin,想看到 catkin_pkg 之类的宏的定义,搞清构建过程等。

    读源码是一项巨大的工作,只能挑着读一些有趣的部分了。

    Catkin is a collection of cmake macros and associated python code used to build some parts of ROS 

     

    https://www.cnblogs.com/shepherd2015/p/11257356.html    自己写的 ros源码安装 

    http://wiki.ros.org/catkin/conceptual_overview  

    http://wiki.ros.org/catkin 

    https://github.com/ros/catkin 

    doc:

    http://docs.ros.org/kinetic/api/catkin/html/

    可以自己进上级目录查看相关文档

    代码里引用了 

    https://github.com/ros-infrastructure/catkin_pkg    

    http://docs.ros.org/independent/api/catkin_pkg/catkin_pkg.html#

    2020-04-01 10:37:12

    一定要建一个 python 的虚拟环境,不然的话 会和系统自带的 python环境、以及已经装好的 catkin 弄混

    2020-04-01 14:04:39

    下面开始分析 ros 中的依赖顺序

    只关心 c++ 接口的功能, 只关心 跟 opencv、pcl、imu 相关的部分

    不关心 rviz、rqt 等, roslaunch我也不想要,直接命令行启动 

    只关心和slam相关的最小需要的组件

    会包含ros最基本的设施,不然的话怎么搞slam

    2020-04-06 13:57

    自己编译了一个魔改版的ros,已经可以成功跑起来 roscore

    然后简单的 topic_demo 也能跑

    roslaunch还是不能省的,因为roscore在roslaunch包里面

    底层是 xmlrpcpp、paramiko 之类的东西

    下面是大致要编译的包:

     1 -- ~~  traversing 30 packages in topological order:
     2 -- ~~  - genmsg
     3 -- ~~  - gencpp
     4 -- ~~  - genpy
     5 -- ~~  - beginner_tutorials
     6 -- ~~  - cmake_modules
     7 -- ~~  - cpp_common
     8 -- ~~  - message_generation
     9 -- ~~  - message_runtime
    10 -- ~~  - rosbuild
    11 -- ~~  - rosclean
    12 -- ~~  - roscpp_core (metapackage)
    13 -- ~~  - roscpp_traits
    14 -- ~~  - rosgraph
    15 -- ~~  - roslang
    16 -- ~~  - rosmake
    17 -- ~~  - rosmaster
    18 -- ~~  - rospack
    19 -- ~~  - roslib
    20 -- ~~  - rosparam
    21 -- ~~  - rostime
    22 -- ~~  - roscpp_serialization
    23 -- ~~  - roslaunch
    24 -- ~~  - rosunit
    25 -- ~~  - rosconsole
    26 -- ~~  - std_msgs
    27 -- ~~  - rosgraph_msgs
    28 -- ~~  - xmlrpcpp
    29 -- ~~  - roscpp
    30 -- ~~  - rosout
    31 -- ~~  - topic_demo
    View Code

    ros不同的进程间通信似乎有两种方式:

    一是 走网络远程调用,序列化的方式

    二是 nodelet、bond_core这种方式

    我说ros的源码怎么这么大,扔了个opencv3进去两百多兆。

    2020-05.09-13:55

     1 hpyg@hpygComputer:~$ env | grep ROS
     2 ROS_ETC_DIR=/opt/ros/melodic/etc/ros
     3 ROS_ROOT=/opt/ros/melodic/share/ros
     4 ROS_MASTER_URI=http://localhost:11311
     5 ROS_VERSION=1
     6 ROS_PYTHON_VERSION=2
     7 ROS_PACKAGE_PATH=/home/hpyg/catkin_ws/src:/opt/ros/melodic/share
     8 ROSLISP_PACKAGE_DIRECTORIES=/home/hpyg/catkin_ws/devel/share/common-lisp
     9 ROS_DISTRO=melodic
    10 
    11 hpyg@hpygComputer:~$ env | grep ros
    12 LD_LIBRARY_PATH=/home/hpyg/catkin_ws/devel/lib:/opt/ros/melodic/lib:/usr/local/cuda-10.0/lib64
    13 ROS_ETC_DIR=/opt/ros/melodic/etc/ros
    14 CMAKE_PREFIX_PATH=/home/hpyg/catkin_ws/devel:/opt/ros/melodic
    15 ROS_ROOT=/opt/ros/melodic/share/ros
    16 PYTHONPATH=/home/hpyg/catkin_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages
    17 ROS_PACKAGE_PATH=/home/hpyg/catkin_ws/src:/opt/ros/melodic/share
    18 PATH=/opt/ros/melodic/bin:/home/hpyg/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin
    19 PKG_CONFIG_PATH=/home/hpyg/catkin_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig
  • 相关阅读:
    Nodejs下载和第一个Nodejs示例
    永久关闭Win10工具栏的TaskbarSearch控件
    对称加密,非对称加密,散列算法,签名算法
    【转】TTL和RS232之间的详细对比
    zlg核心板linux系统中查看系统内存等使用信息
    Power BI后台自动刷新数据报错 The operation was throttled by Power BI Premium because there were too many datasets being processed concurrently.
    剪切板和上传文件内容获取
    CSS, LESS, SCSS, SASS总结
    文字程序
    electron 打包“ERR_ELECTRON_BUILDER_CANNOT_EXECUTE”
  • 原文地址:https://www.cnblogs.com/shepherd2015/p/12603986.html
Copyright © 2011-2022 走看看