基于ROS获取Android图像和惯导数据

0  将手机与ROS连接

首先,通过局域网将手机与ROS相连接。我使用的是hitcm博客的程序,具体可以参考他的博客。到这一步已经可以订阅相关话题,并在程序中做相关计算了。但是如果还想记录下来手机传感器发布的数据,以便未来再次回放使用,则还需要进一步处理。

1 记录bag

ROS与手机相连后,使用rosbag命令开始记录数据,这里指定只保存android/imu和camera/image_raw两个话题下的消息:

rosbag record android/imu camera/image_raw # rosbag record <topic-names> or rosbag record -a 表示记录全部topic

更多请参考ROS wiki 。最后,按ctrl+C结束记录。

2 解析bag

现在已经可以在程序中写一个订阅节点来订阅图像和imu数据,然后在程序中进行相应处理,这个可以参考ROS wiki的例子,只需将相应订阅的类型和话题名改变即可。而如果你还不习惯使用bag文件在程序中做处理,那么你可以将数据保存成常见格式的文件,再进一步处理。从bag恢复数据网上有许多方法。比如使用roslaunch How to export image and video data from a bag file,还可以使用ROS自带的image_view功能包。进入一个空的文件夹,并使用image_view将相应话题中的数据记录下来:

# in a new terminal
rosrun image_view image_saver _filename_format:=%04d.png image:=camera/image_raw
# in a new terminal
rosbag play <.bag filename>

更多参数设置等用法请参考ROS wiki

然后就可以看到对应的数据被保存在文件夹下了。但是上述操作很多参数都不方便获得,因此不推荐。另外Matlab自带的Robotics Toolbox也很方便,提供了相应的解析rosbag的函数,详细的使用方法可以参考官方文档。我将自己的代码托管到Github上了,可以改变代码读取其他类型的传感器数据,还是挺方便的。
不过,最好还是自己写一个订阅节点,然后保存下来相应的数据,这个并不难。然后还可以在程序中使用ros自带的message_filters做实时的多传感器时间戳同步,非常使用。

转载于:https://www.cnblogs.com/GJGJH/p/9890210.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值