ROS学习笔记之——ROSAndroid 与 rosjava

50 篇文章 13 订阅

之前博客已经介绍过一些在ROS系统上的Android环境的配置及项目的搭建。《ROS学习笔记之——基于ROS的Android开发》《基于linux系统安装Android Studio》本博文来学习一下其整体框架

 

目录

ROS Android

概述

ROSJAVA

概述

rosjava的构建环境

java

Gradle

Maven

Catkin

rosjava_core

Ros Android 应用

RosActivity

Android Interactions(交互)

Android Pairings(配对)

Using native ROS code on Android

参考资料


 

ROS Android

Android的代码是基于rosjava客户端和核心库,准备与androidstudio和Google支持的androidgradle插件无缝协作

android项目的官方源代码可以在github(https://github.com/rosjava)上找到

概述

在ROS Android开发时应该注意:

  • 避免在本地编译你的项目需要的每个依赖
  • 将堆栈添加到工作区,用一个调用以正确的顺序编译所有内容(即注意堆栈间的依赖关系)
  • 兼容的命令行和IDE工作流

ROS Android的依赖图如下图所示

  • android_core - Damon Kohler的android开发的核心库。
  • android_extras - 各种额外功能(例如hokuyo、qrcodes)
  • android_apps - 机器人应用程序管理的开发库和应用程序(turtlebot)
  • android_remocons - 机器人的远程控制客户端

 

 

ROSJAVA

rosjava类似roscpp或rospy一样。为ros通信提供了一个客户端库(采用java语言),以及不断增长的核心工具

rosjava的核心项目可以见:https://github.com/rosjava

Rosjava主要用于构建Android应用程序。

概述

rosjava的目标是:

  • 为ros人员提供一种构建、打包和使用rosjava包的方法,将rosjava与其他ros工具集成(如roslaunch等)。
  • 也为非ros的人提供了一种方法,只需将rosjava二进制文件链接到ros机器人上。他们不需要去ros构建环境——让他们可以直接访问maven存储库。

rosjava的构建环境

java

目前Java支持是针对ros ubuntu平台上的openjdk。但它也同样可以工作在其他java实现上,没有什么不一样的地方

Gradle

Gradle是用于管理单个和多个java项目构建的工具(类似于c++中的CMake)它提供了一种强大的脚本语言以及对各种模块和扩展的插件支持.

Gradle对rosjava构建的范围扩展到了堆栈概念。它通常控制几个相关软件包的编译和组装。

Maven

maven 用于存储gradle构建的二进制结果,也用于处理系统依赖关系(又称rosdeps)

它是一个完全跨平台的解决方案,允许您检索和部署java依赖项。

Catkin

我们很少使用Catkin。它的任务是提供ros包信息, 成为跨多个存储库构建序列的粘合剂,可能由不同的人维护。

rosjava_core

(http://rosjava.github.io/rosjava_core/hydro/index.html)

rosjava_core是ROS的纯Java实现.它提供了一个客户端库,使Java程序员能够快速地与ROS的topic、services和Parameters交互。也提供了roscore的Java实现

 

Ros Android 应用

RosActivity

在RosActivity类的基础上构建android应用程序。

robot_activity功能包的介绍(http://wiki.ros.org/robot_activity).是一个ROS的包,实现了节点生命周期。这个想法是,当一个新的ROS节点时,你不必编写大量的 bolier-plate代码在C++中

 

Android Interactions(交互)

让你的android应用程序与安装机器人进行有效的交互。

Android应用程序比pc和ssh隧道更容易让用户(甚至开发者)使用他们的机器人.

 

Android Pairings(配对)

Simultaneously bring up & tear down an android listener/robot talker pair.

 

Using native ROS code on Android

http://wiki.ros.org/android_ndk

 

 

参考资料

http://wiki.ros.org/android

http://wiki.ros.org/rosjava

http://wiki.ros.org/android_core

https://github.com/rosjava/rosjava_mvn_repo(半官方包)

https://github.com/turtlebot/turtlebot_android(simple apps for turtlebot development.)

https://github.com/ekumenlabs/base_controller(Android controllers for the Kobuki and the Husky robots.)

http://wiki.ros.org/rosjava/Tutorials/kinetic/No%20Ros%20Installation(没有ros的情况下,用Android配置ros的app)

https://index.ros.org/doc/ros2/(ROS2)

https://www.cnblogs.com/hiram-zhang/p/10410171.html(Android手机端与robot端ROS网络通信)

http://wiki.ros.org/ApplicationsPlatform/Clients/Android/Tutorials/Getting%20Started(Building A ROS Android App)

 

 

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值