完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
根据上一篇文章解决Atom搭建机器人操作系统问题(一),在做库移植的时候会遇到以下问题 。。。。/main.cpp:1:17: fatal error: ros.h: No such file or directory 放进去ros.h后,还是缺东西,接下来会出现好多问题。。。。 这些问题的关键都是未成功添加新的库文件! 下面,我将根据以上问题写一个详细的攻略帖子,希望对大家有所帮助. 这里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这里面就包含了所有的库文件. 二. 如何把ros_lib里面的文件作为IntoRobot平台的私有库呢? 文件这么多,是否都需要加入到平台上呢?显然是不需要的.一句话,按需添加.提示一下:需要把所有文件进行扁平化操作,才能放到平台上去哦!!例如std_msgs文件夹下的文件,全部要改成std_msgs_*.h 或者 std_msgs_*.cpp, *代表源文件名. 以下几个文件是必须添加的:ros.h, time.cpp,duration.cpp, IntoRobotSTM32Hardware.h, 以及ros文件夹里面的所有文件. tips: 添加文件的时候,注意修改文件里面的#include哦!因为进行了扁平化处理了嘛,文件名都变了. 下面是我添加的库的快照,供参考 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 20:07 , Processed in 0.656145 second(s), Total 71, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号