MTK开发平台
直播中

黄涌

12年用户 73经验值
擅长:MEMS/传感技术 嵌入式技术 控制/MCU RF/无线
私信 关注
[试用报告]

【IntoRobot Atom试用体验】解决Atom搭建机器人操作系统问题(二)

根据上一篇文章解决Atom搭建机器人操作系统问题(一),在做库移植的时候会遇到以下问题
。。。。/main.cpp:1:17: fatal error: ros.h: No such file or directory


放进去ros.h后,还是缺东西,接下来会出现好多问题。。。。

191809z3ppge57v1si66hh.jpg.thumb.jpg
这些问题的关键都是未成功添加新的库文件!


下面,我将根据以上问题写一个详细的攻略帖子,希望对大家有所帮助.

  这里ROS不是指Router OperatingSystem(路由器操作系统),而是Robot OperatingSystem(机器人操作系统),是近些年来日益受到关注的中间件软件系统,其以非常丰富的开源代码,良好的可扩展性,以及分布式理念在机器人尤其是服务机器人领域的应用越来越广泛.

  由于ROS系统的运行要求较高的计算资源,所以其主节点(roscore)主要是在PC或者高速的嵌入式PC上运行,在运算能力较低的单片机STM32等无法运行.但是单片机类处理芯片又是机器人或者很多智能设备的关键部件,负责与各个部分底层硬件如传感器,电机驱动,码盘等交互,必不可少.如何将这些低端芯片和强大的ROS系统结合起来,让它们也能与ROS主系统无缝的链接,交互数据呢?强大的rosserial就孕育而生了.
   
言归正传.下面就是实现在IntoRobot-Atom上运行rosserial的具体步骤:
一.ROS相关操作 (默认你是安装了ros indigo版本, 没有的请参照http://wiki.ros.org/indigo/Installation/Ubuntu
    $ mkdir -p catkin_ws
    $ cd catkin_ws & mkdir -p src
    $ cd src
    $ git clone
https://github.com/IntoRobot/Rosserial4IntoRobot.git
    $ cd ..
    $ catkin_make & catkin_make install
    $ source install/setup.bash
    紧接着随便建一个文件夹,用于保存rosserial所生成的库文件,这些库文件就是实现在IntoRobot-Atom上跑ros节点的关键了.
  $ mkdir -p~/result_dir & cd ~/result_dir
    $ rosrun rosserial_intorobot make_libraries.py ./
   这时result_dir目录下就有出现一个文件夹ros_lib这里面就包含了所有的库文件.


2.jpg


二. 如何把ros_lib里面的文件作为IntoRobot平台的私有库呢?
  文件这么多,是否都需要加入到平台上呢?显然是不需要的.一句话,按需添加.提示一下:需要把所有文件进行扁平化操作,才能放到平台上去哦!!例如std_msgs文件夹下的文件,全部要改成std_msgs_*.h 或者 std_msgs_*.cpp, *代表源文件名.
  以下几个文件是必须添加的:ros.h, time.cpp,duration.cpp, IntoRobotSTM32Hardware.h, 以及ros文件夹里面的所有文件.
tips: 添加文件的时候,注意修改文件里面的#include哦!因为进行了扁平化处理了嘛,文件名都变了.
    下面是我添加的库的快照,供参考


3.jpg














更多回帖

发帖
×
20
完善资料,
赚取积分