概述
此文只給菜鳥修行用,大神請勿來亂!
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/src
wstool init -j4 ~/rosjava/src https://raw.githubusercontent.com/rosjava/rosjava/indigo/rosjava.rosinstall
source /opt/ros/indigo/setup.bash
cd ~/rosjava
rosdep update
rosdep install --from-paths src -i -y
catkin_make
ROS MYJAVA SOURCES
添加自己的SOURCES&WORKSPACE。
mkdir -p ~/myjava/src
cd ~/myjava/src
wstool init -j4 https://raw.githubusercontent.com/me/rosinstalls/master/my_custom_msg_repos.rosinstall
source ~/rosjava/devel/setup.bash
cd ~/myjava
rosdep update
rosdep install --from-paths src -i -y
catkin_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 >> ~/.bashrc
echo export ANDROID_HOME=/home/kennedywai/Android/Sdk >> ~/.bashrc
ANDROID CORE SOURCES
重點來了,這裏根據官方步驟配置的話,會出現錯誤,需要做一些改變:
mkdir -p ~/android_core
wstool init ~/android_core/src https://raw.github.com/rosjava/rosjava/indigo/android_core.rosinstall
cd ~/android_core
catkin_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_core
catkin_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.101
roscore
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機器人開發
共享此文章:
Like this:
Like Loading...
最后
以上就是执着钻石为你收集整理的ROS & ANDROID此文只給菜鳥修行用,大神請勿來亂!的全部内容,希望文章能够帮你解决ROS & ANDROID此文只給菜鳥修行用,大神請勿來亂!所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复