android要與ROS通訊,一種是基於rosbridge,另一種是基於rosjava庫。

相關參考例子工程

rosbridge例子:

github.com/hibernate201

rosbridge(rosbridge_suite)是ros官方為開發者提供的一個用於非ros系統和ros系統進行交互通信的功能包。包括話題的訂閱,消息的發布,服務的調用,參數的設置和獲取,圖片信息的傳遞等等,都是JSON格式的字元串。獲取JSON字元串並將命令發送到ros,反之亦然。

rosjava例子:

github.com/rosjava/andr

github.com/rosjava/andr

rosjava庫,這玩意兒類似於ROS官方支持的rospy roscpp等,也是ROS分散式計算平臺的一種language binding。

使用舉例:

以android_apps-kinetic為例,首先下載android_apps-kinetic工程github.com/rosjava/andr

Android Studio導入工程編譯運行

啟動登入界面:

保證手機跟Raspberry Pi 3連接同一個網路,通過PC 獲取Raspberry Pi 3的IP=XXX.XXX.XXX.XXX

修改Master URI選擇roscoreURI 點擊CONNECT

主界面:

  • Set Pose在地圖長按 相當於Rviz中的 2D Pose Estimate
  • Set Goal在地圖長按 相當於Rviz中的 2D Nav Goal
  • 左下角Joystick可以發出cmd_vel topic控制小車移動
  • Camera View與Map View可以相互切換
  • miiboo.apk是由android_apps-kinetic和android_core-kinetic改造而來,基於rosjava庫,在原有控制移動、小車位置設定,導航目標設定及路徑顯示等功能基礎上集成了自動獲取IP、啟動保存建圖和代價地圖顯示選擇功能。

miiboo.apk運用介紹:

主界面:

進入建圖模式

圖層顯示選擇


推薦閱讀:
相關文章