此文只給菜鳥修行用,大神請勿來亂!

ROS&ANDROID

之前在找資料關於ROS和ANDROID的配置,發現很多文章都寫的不清楚和很多錯誤,為了讓ANDROID開發人員能快速上手,只根據這個配置方法跑就好了,有興趣再了解詳細理論,把時間留給解決實際問題。這裡使用的系統和硬件設備是Ubuntu 14.04 for ROS Indigo + Android Studio 2.1.3 + 紅米NOTE 2,這裡預設已經安裝了ROS INDIGO和ANDROID STUDIO 2.1.3。

 

ROS JAVA SOURCES

ROS ANDROID 是基於以前開發的ROS JAVA繼續繼承(INHERIT)使用。

mkdir -p ~/rosjava/srcwstool init -j4 ~/rosjava/src https://raw.githubusercontent.com/rosjava/rosjava/indigo/rosjava.rosinstallsource /opt/ros/indigo/setup.bashcd ~/rosjavarosdep updaterosdep install --from-paths src -i -ycatkin_make

 

ROS MYJAVA SOURCES

添加自己的SOURCES&WORKSPACE。

mkdir -p ~/myjava/srccd ~/myjava/srcwstool init -j4 https://raw.githubusercontent.com/me/rosinstalls/master/my_custom_msg_repos.rosinstallsource ~/rosjava/devel/setup.bashcd ~/myjavarosdep updaterosdep install --from-paths src -i -ycatkin_make

 

ANDROID STUDIO設定

打開ANDROID STUDIO,建議把所有SDK BUILD-TOOLS版本都下載和更新,注意把“Show Package Details”勾上:

把API 10,13,15,18,21都一定要下載和更新,電腦容量任性的也可以連其他也一起下載和更新(土豪),主要原因是2年前ROS ANDROID是基於這API LEVEL上做開發,會有兼容問題:

 

ANDROID SDK路徑

搞定之後,需要添加路徑,下面是我ANDROID SDK的路徑,會和大家不一樣:

echo export PATH=${PATH}:/home/kennedywai/Android/Sdk/tools:/home/kennedywai/Android/Sdk/platform-tools:/opt/android-studio/bin >> ~/.bashrcecho export ANDROID_HOME=/home/kennedywai/Android/Sdk >> ~/.bashrc

 

ANDROID CORE SOURCES

重點來了,這裏根據官方步驟配置的話,會出現錯誤,需要做一些改變:

mkdir -p ~/android_corewstool init ~/android_core/src https://raw.github.com/rosjava/rosjava/indigo/android_core.rosinstallcd ~/android_corecatkin_make

配置到這裏,執行catkin_make編譯應該會出現ERROR,這是需要把android_core裏的一個文件buildscript.gradle修改裏面內容,路徑在這android_core/src/android_core/buildscript.gradle,在修改之前需要修改權限,修改android_core這個文件的權限爲“Create and delete files”:

sudo nautilus

修改文件buildscript.gradle複製貼上如下:

rootProject.buildscript { /*apply from: "https://github.com/rosjava/rosjava_bootstrap/raw/indigo/buildscript.gradle"*/ apply from: "https://raw.githubusercontent.com/rosjava/rosjava_bootstrap/indigo/buildscript.gradle" dependencies { classpath "com.android.tools.build:gradle:1.0.+" /*compile 'com.github.rosjava.android_remocons:common_tools:0.2.1' //bumped version compile 'org.ros.android_core:android_10:[0.2,0.3)]' compile 'org.ros.rosjava_core:rosjava:0.1.+' compile 'org.ros.rosjava_messages:turtlebot_msgs:2.2.+'*/ }}

這時再執行:

cd ~/android_corecatkin_make

應該就不會有ERRORS,過程依據網速快慢決定:

完畢後可以執行 source ~/android_core/devel/setup.bash

 

ROS官方ANDROID APP測試

測試之前,先執行ifconfig,檢查自己的IP地址,這裏爲192.168.0.101 :

這時先不要執行roscore,要是執行了就先關閉,先將ROS_IP設定爲LINUX_IP:

export ROS_IP=192.168.1.101roscore

http://192.168.0.101:11311/ 就是ROS和ANDROID連接的關鍵,這時打開ANDROID STUDIO,導入android_core裏的專案,FILE–>NEW–>IMPORT PROJECT:

保證手機與PC連接同一個網路(同一WIFI),同時在VM中設置虛擬機與主機的網絡連接是橋接模式,可以通過PC和手機互ping來測試網絡配置,如果ping連接沒問題,接下來的連接才有效。 確保網路配置正確後,導入android_core專案完了之後,選擇其中一個專案來執行到ANDROID手機或平板上,這裏選擇android_tutorial_pubsub,是有ANDROID手機或平板PUBLISH TOPIC給電腦,電腦SUBSCRIBE:

這時去SUBSCRIBE這個TOPIC:

rostopic echo /chatter

其實ROS TEXTVIEW在ANDROID手機上顯示HELLO WORLD的,也是其中一個SUBSCRIBER:

要是覺得輸入IP畫面很煩,可以在MainActivity.java文件修改程式:

先導入相關PACKAGES:

import java.net.URI;

然後修改

super("Pubsub Tutorial", "Pubsub Tutorial");

super("Pubsub Tutorial", "Pubsub Tutorial", URI.create("http://192.168.0.101:11311"));

這時候就不會再跳出IP輸入頁面,會直接執行ANDROID APP程式了。此時ROS ANDROID基本配置完成,之後就是應用開發。

‪#‎ros‬ ‪#‎robot‬ ‪#‎operating‬ ‪#‎system‬ ‪#‎機器人 ‬ #ANDROID #ROS機器人開發

共享此文章:

  • Twitter
  • Facebook
  • Google
  •  

Like this:

Like Loading...

 

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. 读取android手机流量信息
  4. android 使用html5作布局文件: webview跟javascript交互
  5. android Dialog大小修改
  6. Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
  7. android“设置”里的版本号
  8. Android开发环境搭建
  9. Android(安卓)Resource介绍和使用

随机推荐

  1. Android四种Activity的加载模式
  2. 【android】ORMLite框架 的使用方法---给
  3. Android面试题整理(一)
  4. APP开发实战114-Android(安卓)Studio打包
  5. android异步更新UI
  6. android rootfs
  7. android存取数据方式:文件、SharedPrefere
  8. Android简明开发教程二:安装开发环境
  9. Android(安卓)App兼容8.0和9.0
  10. smack 源码分析- PacketWriter (android