android要與ROS通信,一種是基於rosbridge,另外一種是基於rosjava庫。java
相關參考例子工程android
rosbridge例子:git
rosbridge(rosbridge_suite)是ros官方爲開發者提供的一個用於非ros系統和ros系統進行交互通訊的功能包。包括話題的訂閱,消息的發佈,服務的調用,參數的設置和獲取,圖片信息的傳遞等等,都是JSON格式的字符串。獲取JSON字符串並將命令發送到ros,反之亦然。
rosjava例子:
rosjava庫,這玩意兒相似於ROS官方支持的rospy roscpp等,也是ROS分佈式計算平臺的一種language binding。
使用舉例:
Android Studio導入工程編譯運行
啓動登入界面:
保證手機跟Raspberry Pi 3鏈接同一個網絡,經過PC 獲取Raspberry Pi 3的IP=XXX.XXX.XXX.XXXgithub
修改Master URI選擇roscore的URI 點擊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運用介紹:
主界面:
進入建圖模式
圖層顯示選擇
後記
若是你們對博文的相關類容感興趣,或有什麼技術疑問,歡迎加入下面的《SLAM+語音機器人DIY》QQ技術交流羣,一塊兒討論學習^_^網絡
關於咱們:app
視頻教程:分佈式
https://www.bilibili.com/video/av61448040ide