录制rosbag的ios app

目的:

  • 使用苹果手机把imu,图像以及gps录制成rosbag格式,共算法研究使用

功能:

  1. 修改topic功能。
  2. 录制文件自动命名
  3. 实时wifi传输数据
  4. 上传bag文件功能
  5. 录制:图像,IMU,Gps
  6. 输出图像尺寸设置功能
  7. 输出图像格式(彩色/黑白)
  8. 输出频率设置
  9. 录制文件查看,文件名修改和删除
  10. 在地图上显示gps
  11. 同步显示图像,gps和imu滤波出来的姿态
  12. 显示bag属性:topic名字,msg数量等
  13. 光流跟踪测试
  14. imu视觉计算速度,和gps的速度对比
  15. 传感器数据质量评估
  16. 上传后自动生成地图功能
  17. 可视化生成的地图
  18. 下载定位地图
  19. 描述符匹配测试
  20. 调整曝光时间,ISO
  21. 调整焦距
  22. 调整色调
  23. 录制rosbag

细节:

  • 因为需要实时在手机和pc间传输数据,所以直接把ros的核心程序编译成ios的静态库。
  • ios程序中接收到各种传感器数据后,还做了时间对齐。
  • 如果用户选择录制rosbag,就把数据存成bag。如果用户选择发布,就通过ros的消息机制把数据广播出去。
  • 手机和pc必须要在一个网关的局域网内,可以使用手机的usb线模拟网线,不过这样好像只有在mac电脑上才性,所以用处不太大。
  • 录制的bag放在共享目录里面,使用itune就能取出来。

讨论:

  • 编译ros的core到ios真的废了我好多时间,不过借此对编译的理解又深了一步。
  • ios的界面布局也是适应了好半天。
  • 采用敏捷开发,最后的版本感觉还是挺好用的。

代码: