Ros_Android环境搭建

1、ROS是什么?

首先,我们在学习ros的时候,得明白ros是什么?简单的说,ros就是一个分布式操作系统,通过节点node,主题topic,服务service等进行通信和控制。

这个机制就好比 两个人聊天微信,每个人都是一个节点node,微信这个软件的聊天功能就是Topic,两个人只有都通过微信才能聊天,如果一个人用whatsup,另一个人用微信,是收不到对方信息的。 而service就好比表情包或者微信朋友圈,两个人在聊天的同时也可以自己搞搞有趣的东西即Service,但是不一定非要通过微信的聊天功能即Topic。所以学好ROS就是不断的了解这种通信和交流的机制,然后应用在自己的项目上就好了。就好比你通过opencv采集到了一个物体的坐标,然后用这个坐标去驱动一个马达。以往的方式是要把他们都放在同一个ide中如visual studio,但是通过ros,opencv可以放到一个ide里执行,马达控制可以在arduino里执行,彼此通过ros的topic通信就好了。(打个比方,以前生产和销售要在同一个办公室,但是现在可以分隔两地。彼此用电话交流)

2、Ros的亮点与其他

ROS 这几年的亮点有 三维重建/室内导航与重建/PCL与opencv/仿真与人机协作等对于ROS高阶玩家,这里安利一枚ROS2015的年会ROSCon 2015 就在这页的下面就有每个来宾的video和pdf。大多都是讲他们公司/领域 是怎么使用ROS做开发的。

3、Ros_android环境的搭建

官网 http://wiki.ros.org/android的kinetic的模式下进行环境搭建
1、Android Studio & Tools Download

首先下载安装androidstudio以及jdk

--1、安装jdk
$ sudo apt-get install openjdk-8-jdk

--2、安装好androidstudio后,打开androidstudio
$ /opt/android-studio/bin/studio.sh

注意:打开androidstudio后,打开File-Settings-Android Sdk后,选择Sdk Manager中的build Tools中的25.0.2,以及Android APIs 10 (gingerbread), 13 (honeycomb), 15 (ice cream), 18 (jellybean)都得安装,便于ros_android的代码在编译的有依赖

--3、配置环境变量
$ echo export PATH=\${PATH}:/opt/android-sdk/tools:/opt/android-sdk/platform-tools:/opt/android-studio/bin >> ~/.bashrc
$ echo export ANDROID_HOME=/opt/android-sdk >> ~/.bashrc

2、安装ros的开发环境

sudo apt-get install ros-kinetic-rosjava-build-tools

> mkdir -p ~/android_core
> wstool init -j4 ~/android_core/src https://raw.github.com/rosjava/rosjava/kinetic/android_core.rosinstall
> source /opt/ros/kinetic/setup.bash
> cd ~/android_core
> rosdep update
>rosdep install --from-paths src -i -y
> catkin_make

此时,android_core编译成功。这个时候,将这个项目导入android_studio,选择相应的模块进行测试即可

3、测试(以camera为例)

> sudo apt-get install ros-kinetic-image-view ros-kinetic-rqt-image-view ros-kinetic-image-transport-plugins
> source /opt/ros/kinetic/setup.bash
> export ROS_IP=192.168.1.101(你的ip地址)
> rosrun image_view image_view image:=/camera/image _image_transport:=compressed

补充:相关命令

查看摄像头的命令

> rostopic list

启动摄像头

> roslaunch usb_cam usb_cam-test.launch

你可能感兴趣的:(Ros)