前言

      临近毕业,整理一下之前做的东西。这篇博客来自于博主在2016年3月份投的一篇会议论文(论文主要介绍了一个基于手机摄像头和IMU的简单VIO系统,用于AR的Tracking部分,本博文是其中的数据采集部分)。

     本文的目的是将pc和手机连于同一局域网下,然后手机实时把相机和imu的数据打包成ros的消息格式,pc订阅这些消息,进行进一步的处理。

     稍微好的安卓手机都会配备IMU(注意:很多手机只有单纯的三轴加速度计,并没有三轴的陀螺仪)。博主用的是华为荣耀7,配备了LSM330的6轴IMU。

     个人理解错误的地方还请不吝赐教,转载请标明出处,内容如有改动更新,请看原博:http://www.cnblogs.com/hitcm/

     如有任何问题,feel free to contact me at robotsming@gmail.com


安装使用

     编译好的安装包已经放到博主的git上,欢迎下载使用,商业合作请联系博主。

     安装里面的apk:

     git clone https://github.com/hitcm/Android_Camera-IMU.git

     为了后面的显示,还需要执行sudo apt-get install ros-indigo-imu-tools

     1.首先保证pc和安卓手机置于同一局域网下,然后开启ROS系统的roscore,打开安卓上的应用,在IP Port中修改ip地址为pc的ip地址,port不需要修改。

     2.修改完毕后点击Connect,则连接成功,进入相机界面。

     3.在pc上执行rostopic list,可以看到相机数据和imu数据的名字如下,前三个topic即是。

          

      4.执行命令cd到上面下载git的本地目录下,执行上述git提供的launch文件,roslaunch android_cam-imu.launch

      使用的效果如下:

         


欢迎拍砖

    1.本应用不是很稳定,因为博主安卓编程功底差,不过在华为荣耀7和小米2s中测试基本正常。

    2.实时测试中,相机可以到接近30fps,imu只有50+Hz,应该是受imu硬件的限制。欢迎对Andorid系统硬件熟悉的朋友赐教,如何解决传感器同步的问题?

ROS实时采集Android的图像和IMU数据的更多相关文章

  1. vs联合halcon——采集图像(实时采集与单次采集)

    摘要 在对vs进行环境配置好以后,就可以开始与halcon联合进行实战.本篇就对图像的采集进行总结.通过构建采集相机GrabImage类的三个方法实现图像的采集: open() 打开相机 grabim ...

  2. 性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程

    基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程   By: 授客 QQ:1033553122     1. 测试环境 2. 实现功能 3. 使用前提 4. ...

  3. DirectSound播放PCM(可播放实时采集的音频数据)

    前言 该篇整理的原始来源为http://blog.csdn.net/leixiaohua1020/article/details/40540147.非常感谢该博主的无私奉献,写了不少关于不同多媒体库的 ...

  4. 用ADB(Android Debug Bridge)实时监测Android程序的运行

      监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...

  5. 采用Flume实时采集和处理数据

    它已成功安装Flume在...的基础上.本文将总结使用Flume实时采集和处理数据,详细过程,如下面: 第一步,在$FLUME_HOME/conf文件夹下,编写Flume的配置文件,命名为flume_ ...

  6. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...

  7. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...

  8. 从ROS bag文件中提取图像

    从ROS bag文件中提取图像 创建launch文件,如下: export.launch <launch> <node pkg="rosbag" type=&qu ...

  9. Openresty+Lua+Kafka实现日志实时采集

    简介 在很多数据采集场景下,Flume作为一个高性能采集日志的工具,相信大家都知道它.许多人想起Flume这个组件能联想到的大多数都是Flume跟Kafka相结合进行日志的采集,这种方案有很多他的优点 ...

随机推荐

  1. ajax通讯之格式详解

    前言: ajax的出现,一定程度上改变了js的命运,同时也被广泛使用,而jq的兴起也大大降低了ajax的使用难度.虽然,jq的ajax方法使用起来十分便利,但是大部分开发人员也仅仅只是对其中的几个属性 ...

  2. java文件名更改一直是false,看看是否是文件打开没有关

    // 更改文件名称 public static void chenckFileName(String oldFile, String newFileName) { File file = new Fi ...

  3. JS不支持正则中的负向零宽断言

    今天在项目中用到了正则表达式,并且需要用负向零宽断言 (?<=exp) 进行筛选,结果运行时报 Invalid group 错,一开始以为是自己很久没用表达式写错了,查阅了一下正则语法后发现并没 ...

  4. Python学习一(面向对象和函数式编程)

    学习了一周的Python,虽然一本书还没看完但是也收获颇多,作为一个老码农竟然想起了曾经荒废好久的园子,写点东西当做是学习笔记吧 对Python的语法看的七七八八了,比较让我关注的还是他编程的思想,那 ...

  5. VS2013配置WTL91_5321_Final

    网上关于WTL的文章,尤其是中文的文章不多,根据收集的资料整理出了VS2013安装WTL的方法. .下载.文件很小的,地址:http://sourceforge.net/projects/wtl/fi ...

  6. js中的三元运算符

    <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a="fal ...

  7. git乱码问题解决

    etc\gitconfig文件中增加以下内容: [gui]     encoding = utf-8 [i18n]     commitencoding = gbk [svn]     pathnam ...

  8. 小知识:Python函数传递变长

    先来实践一把: def f1(*args): print(args) f1(1,2,3,4) 得出:(1, 2, 3, 4) ----- 是一个元祖 Part 1: *args可以传递任意多的数,ar ...

  9. phoenix将hdfs数据导入hbase

    http://phoenix.apache.org/bulk_dataload.html

  10. DUBBO参数验证

    public class ValidationParameter implements Serializable {           private static final long seria ...