ROS實時採集Android的圖像和IMU數據

前言

      臨近畢業,整理一下以前作的東西。這篇博客來自於博主在2016年3月份投的一篇會議論文(論文主要介紹了一個基於手機攝像頭和IMU的簡單VIO系統,用於AR的Tracking部分,本博文是其中的數據採集部分)。android

     本文的目的是將pc和手機連於同一局域網下,而後手機實時把相機和imu的數據打包成ros的消息格式,pc訂閱這些消息,進行進一步的處理。git

     稍微好的安卓手機都會配備IMU(注意:不少手機只有單純的三軸加速度計,並無三軸的陀螺儀)。博主用的是華爲榮耀7,配備了LSM330的6軸IMUgithub

     我的理解錯誤的地方還請不吝賜教,轉載請標明出處,內容若有改動更新,請看原博:http://www.cnblogs.com/hitcm/編程

     若有任何問題,feel free to contact me at robotsming@gmail.com測試


安裝使用

     編譯好的安裝包已經放到博主的git上,歡迎下載使用,商業合做請聯繫博主。spa

     安裝裏面的apk:blog

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

     爲了後面的顯示,還須要執行sudo apt-get install ros-indigo-imu-toolsget

     1.首先保證pc和安卓手機置於同一局域網下,而後開啓ROS系統的roscore,打開安卓上的應用,在IP Port中修改ip地址爲pc的ip地址,port不須要修改。同步

     2.修改完畢後點擊Connect,則鏈接成功,進入相機界面。

     3.在pc上執行rostopic list,能夠看到相機數據和imu數據的名字以下,前三個topic便是。

           android

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

      使用的效果以下:

          GIF


歡迎拍磚

    1.本應用不是很穩定,由於博主安卓編程功底差,不過在華爲榮耀7和小米2s中測試基本正常。

    2.實時測試中,相機能夠到接近30fps,imu只有50+Hz,應該是受imu硬件的限制。歡迎對Andorid系統硬件熟悉的朋友賜教,如何解決傳感器同步的問題?

相關文章
相關標籤/搜索