ROS(indigo) turtlebot2 + android一些有趣应用

时间:2022-05-14 05:16:04

ROS和Android配合使用非常有趣,这里推荐,ROSClinet,使用rosbridge让android和ROS通信:

具体参考奥斯卡的个人剧场:http://xxhong.net/

turtlebot示例非常全面,也给出了Android的Apk,今天尝试一下。实际机器人已测。

考虑到通用性,这里选用仿真环境:

~$ roslaunch turtlebot_gazebo turtlebot_world.launch

~$ roslaunch turtlebot_gazebo gmapping_demo.launch

~$ roslaunch turtlebot_rviz_launchers view_navigation.launch 

~$ rocon_master_info

ROS(indigo) turtlebot2 + android一些有趣应用

~$ rqt_remocon

ROS(indigo) turtlebot2 + android一些有趣应用

然后启动手机应用进行连接,注意ROS_IP等一些环境配置:

ROS(indigo) turtlebot2 + android一些有趣应用

ROS(indigo) turtlebot2 + android一些有趣应用

ROS(indigo) turtlebot2 + android一些有趣应用

这里以Make A Map为例:

PC端,已经启动Gazebo和rviz:

ROS(indigo) turtlebot2 + android一些有趣应用

ROS(indigo) turtlebot2 + android一些有趣应用

还需要如下两个命令:

~$ rosrun topic_tools transform /cmd_vel /mobile_base/commands/velocity geometry_msgs/Twist 'm'

~$ rosrun topic_tools transform /camera/rgb/image_raw/compressed /compressed_image sensor_msgs/CompressedImage 'm'

在手机端就可以遥控并构建地图:

ROS(indigo) turtlebot2 + android一些有趣应用

ROS(indigo) turtlebot2 + android一些有趣应用

其他功能比如全景,跟随等,一样不多说。

这里补充非常重要的参考资料,对于系统学习ROS非常有帮助:

1. turtlebot

2. rocon

rocon

概观

该rocon框架是一套工具和模块可以一起使用,以在上面提供高水平的服务运行一个自定义的多主机系统的活性氧。它不会尝试,并确定什么样的服务来运行1,也不会尝试朝云机器人伸出太积极。把它看成是一个集中的工作场所,你可以处理为多机器人装置系统收到的信息和本地指令2

而不是在一次照亮整个音乐会,该指南将通过模块,其中许多可以独立使用行走。这应该有助于突出像任何好的高潮演唱会的功能。

入门

安装

  1. 安装

    安装完成rocon环境。

独立的工具

Rocon启动

rocon_launch工具是用于启动每个多roslaunch实例自己的终端的便利工具。

  1. Rocon启动单大师

    产生多个roslaunch终端有一个主器件的工作。

Rocon主信息

我们倾向于发布关于我们的ROS大师(名称,描述,图标)的一些基本信息。这通常是音乐会remocons(后下)的利益,但实际上可以为其想提供一些信息,为客户内省的任何独立ROS大师完成。

  1. 出版信息大师

    提供有关您ROS主数据向希望内省的客户。

独立概念

以下概念提供了一个简单的介绍到一些正在和周围的rocon框架使用的更根本的东西。

Rocon的URI

Rocon通用资源标志符字符串键描述各种实体(机器人,remocons),这对他们的运行,使我们能够在更高层次上形成对这些资源的请求,以及其分配兼容的应用程序。

rocon:// concert_name / hardware_platform /名/ application_framework / OPERATING_SYSTEM#rocon_app

你会经常看到这些在各种消息的ROS API级别飞散各地。有关这些字符串的信息被埋没的狮身人面像文档中rocon_uri包。

  • 概观

  • 规格 -详细介绍了如何一个rocon_uri串可以或可以不进行组装。

  • 规则 -你可以在rocon URI字符串使用有效的字段列表。

  • 用法 -蟒蛇API和示例。

人际交往

关于

rocon_interactions包提供用于建立人类用户,并正在运行的ROS主站系统之间的相互作用的框架。基本上,它解决的问题,我跑什么,我该如何配置呢?。寻找合适的发射运行,或设立rviz会话都是很好的例子-用户应该不需要从头开始四处找出运行或在哪里可以找到的文档。随着rocon相互作用,所有用户需要做的是点了一个遥控器在运行ROS主(或QT或Android版本),选择一个角色,他们将与一些他们可以与演唱会进行互动的方式呈现。这适用于多种互动-机器人,QT,发射器,Web应用程序,甚至在文件指向一个用户。

对于rocon的人机交互框架有了更深的了解,仔细阅读关于引进rocon_interactions维基页面。

教程

如果你只是想快速演示,应对入门教程下方。其余的教程是有作为参考,如果你想深入了解入rocon互动框架。

  1. 入门

    的rocon互动概念的演练。

  2. 文档交互

    定义指向网络上的文件交互。

  3. Qt的相互作用

    定义基于Qt的前端交互。

  4. Rviz互动

    定义rviz配置的相互作用。

  5. Web应用程序交互

    定义Web应用程序的交互。

  6. Android的相互作用

    定义的互动,可以推出Android活动。

该Appable机器人

关于

在场景和环境中,我们通常会部署(真实世界的场景)机器人往往只是另一种人。它去上班,有时一个团队中,有时自主工作。在几乎所有这些情况下,工作任务驱动,这是我们希望用于与机器人相互作用的焦点。这是熟悉的和我们的思维方式和工作方法作为人类的自然延伸。

任务驱动方式的困难的部分是退后一步,让机器人做任务,尽其能力,而试图用自己的自主权,尽可能干涉。这是一个艰难的平衡,但没有考虑到这一点的,更高层次的业务流程会很快变得过于复杂。

因此,如果一个机器人taskable,应该在很多情况下几乎肯定会重新分配任务,以最大限度地发挥其潜力。多任务将是很好的,但问题打开了潘多拉的盒子。为了使我们的任务再分配功能的机器人,我们反复机器人应用平台柳肯等人最初鼓动,因为它是一个方便的配合上。这是少谈'应用'比它是关于提供一个非常方便的方式来部署,启动,在任务驱动的方式停止和管理您的机器人。

该appable机器人旨在是旨在简化一个完整的框架:

  • 软件安装
  • 发射
  • 重新分配
  • 连接(或配对模式,多主)
  • 编写可移植软件

并提供与机器人上通过两个不同的模式的公共接口交互的有用的手段:

  • 配对模式:1-1人类与机器人的配置和互动。
  • 演唱会模式:通过演唱会解决机器人的自主控制。

功能

功能是在自举一级提供一个抽象层的手段。这使得编写机器人不可知的“应用程序”更容易。如果一个机器人可以声明它实现了导航能力的标准化接口,那么应用程序可以依靠用来利用这种能力的活性氧接口。什么样的能力是关于更详细的解释和API文档可以在上找到的功能的wiki页面。

  1. 功能演示

    演示性能服务器的功能。

拉普斯

,利用和两个顶部的能力和我们称之为拉普斯机器人的一些引导层运行的应用程序(又名rocon应用程序,或机器人应用 - 是从手机应用程序很容易分辨)。这些基本上没有代码发射器。其中,功能旨在反映可平行于自己的冲突管理运行的机器人的某些子功能,拉普斯应代表发射环境及其对机器人的当前活动的配置,或任务,例如啤酒递送。鉴于这种概念上的约束,只有一个拉普都不应当在机器人在同一时间运行。

这个决定是主要以简化机器人在更高层次上进行交互的方式。就像在一个团队人类,我们在更高层次的框架机器人(如演唱会我们将在后面介绍)被设计为重新分配任务的资源。为appable机器人,这意味着停止和启动相应的拉普。这让我们推出的软件配置调整或根据需要重新运行完全不同的软件。这是在其上不具有PR2的计算能力的机器人特别重要。

产品规格

教程

  1. 反思拉普斯

    如何使用拉普工具

  2. 创建一个机器人应用

    如何创建和安装配对或演唱会模式的机器人的应用程序(拉普)。

  3. 故障排除拉普斯

    如何排除无效拉普

该经理拉普

该rocon应用程序管理器处理拉普斯的发现,发现和生命周期管理(如开始/停止)。对于平台兼容拉普斯的发现和安装的拉普管理器使用的模块rocon_app_utilities。在运行时,它也与交互能力的服务器,以确保拉普所需的所有功能依赖条件和适当的开始,并与拉普停止一起。

  1. 安装Rocon应用程序管理器

    安装rocon_app_platform环境。

  2. 配置拉普经理机器人

    介绍如何设置拉普经理机器人

  3. 调出拉普经理

    描述了当你开始拉普经理会发生什么。

  4. 通过QT拉普经理拉普启动

    显示了通过rocon_qt_app_manager开始拉普斯

配对

  1. 配对

    在串联启动拉普斯rocon互动

  2. 运行交互与QT遥控器

    节目开始通过rqt遥控器互动

  3. 运行交互与Android遥控器

    显示开始通过机器人遥控器互动

  4. 运行交互使用Web遥控器

    显示开始通过网络遥控器的交互

基本多主

这里列出了多主机基本的组件不是演唱会具体。您可以使用这些如果你想建立一个替代多主框架。

工具

  1. Rocon启动了多主机

    产生多个roslaunch终端在多个ROS主人。

网关模式

网关模式是一个rocon多主机系统的引擎。他们使用的应用程序管理器和音乐会级组件统筹的ROS话题,服务和行动主人之间的交流,但在一般情况下,它们是如何运作与rocon演唱会打你不需要详细了解。如果您想了解更多关于他们,从这里开始:

任务再分配自治

待办事项:这个正在等待一个小的重新设计和部分水电教程重写

  1. 多主拉普经理

    通过启用了多主机的拉普经理rocon网关

演唱会

概观

音乐会是在相互作用的顶部,appable机器人和网关组件运行一个多主框架,试图使网络(通常LAN)从中协调和管理一组机器人在一个集中的工作区,参与某种设备场景。这可以独立使用,或者它可以进一步发展为一种有用的桥到云3。一些特点:

  • 无线连接:技术无线连接机器人的稳健处理。

  • 多业务处理:服务,在更高层次上parallelisable编排块

    • 想想一个Web服务器上运行的服务,但在这里我们有teleop,做一个地图,标注地图,富...
  • 机器人计划:机器人公开的,可以通过演唱会的服务请求重新分配任务的资源。

  • 软件共享:产卵和整个演唱会的服务,软件实例共享访问。

  • 人际交往:基础设施,强迫人类作为演唱会的服务交互的参与者。

更详细的概念说明可以,如果你从我们的商场逗留去找到术语页面上的rocon维基。

教程

快速演示

  1. 颤振音乐会

    一个例子演唱会示范,健谈监听风格。

  2. 颤振音乐会 - 分布式

    分布在多台机器喋喋不休音乐会

  3. 颤振音乐会 - 无线

    分布式喋喋不休音乐会的无线处理

  4. 龟音乐会

    一个例子演唱会的示范,turtlesim风格。

  5. 龟Teleop音乐会

    与模拟龟音乐会teleop服务。

创建自己的解决方案

  1. 创建自己的解决方案

    如何创建自己的解决方案

  2. 弹出一个音乐会

    如何启动音乐会

  3. 自定义服务配置

    如何创建自己的解决方案

  4. 启用Web交互

    如何访问和通过网络互动演唱会

  5. 先进的解决方案客户化

    介绍了演唱会的论点提供

让你的机器人加入音乐会

  1. 音乐会客户端准备

    如何安装和待办事项音乐会模式准备

  2. 创建音乐会模式启动

    如何准备你的机器人你的演唱会使用

  3. 加入演唱会作为客户端

    介绍了如何加入一个演唱会作为客户端

  4. Teleop通过音乐会的机器人

    介绍如何捕获通过演唱会的机器人和teleop

创建自己的服务

  1. 创建自己的服务

    如何创建自己的服务

凉亭音乐会

  1. 演唱会服务凉亭概述

    介绍演唱会的服务凉亭设计流程

  2. 如何添加一个新的机器人类型

    如何添加一个新的机器人类型一致的服务凉亭使用

  3. 如何产卵在演唱凉亭机器人

    如何产卵在演唱凉亭机器人

TurtleBot

 

概观

  • 迁移 -什么是你的靛蓝turtlebot软件中新增和有光泽!

关于

  1. Turtlebot-开发栖息地

    各种使用场景turtlebots和他们的开发人员。

  2. 你Turtlebot交互

    你可以招惹的许多方法/激发你的turtlebot行动!

制备

  1. Turtlebot安装

    安装软件到turtlebot。

  2. PC安装

    安装用于您的监控工作站的电脑软件。

  3. 网络配置

    获得turtlebot和PC聊天对方。

培养

  1. TurtleBot Bringup

    如何启动TurtleBot软件。

  2. PC Bringup

    连接从PC turtlebot。

  3. TurtleBot照顾和喂养

    本教程介绍了如何充电和维护TurtleBot。

  4. 创建测程和陀螺仪校准

    ROS(indigo) turtlebot2 + android一些有趣应用如果你有一个创建基础这仅仅是必要的。该Kobuki配备了工厂校准陀螺仪。这将告诉你如何校准或试运行任何基于导航的应用程序时,这是高度推荐TurtleBot的校准。

应用

环顾四周

  1. 答:首先互动

    与turtlebot运行你的第一个互动 - 噜!

  2. 可视化

    查找和呼叫发射器以可视化的乌龟和数据流。

  3. 3D可视化

    从Kinect的/华硕3D形象化和相机数据。

  1. 键盘Teleop

    一个turtlebot的键盘遥。

  2. 操纵杆Teleop

    一个turtlebot的操纵杆遥。

  3. Qt的Teleop

    一个turtlebot Qt的遥操作。

  4. 互动标记Teleop

    该教程介绍如何使用rviz交互标记控制TurtleBot。

导航

  1. SLAM地图构建与TurtleBot

    如何使用gmapping生成一个地图

  2. 与TurtleBot已知地图的自主导航

    本教程介绍了如何使用TurtleBot与先前已知的地图。

什么好笑的

  1. 该TurtleBot跟随演示

    介绍如何在您的TurtleBot运行TurtleBot跟随演示。

  2. 该TurtleBot全景演示

    介绍如何在您的TurtleBot运行TurtleBot全景演示。

Android的相互作用

  1. 从Play商店下载Turtlebot Android应用

    从Play商店下载Android应用程序上通过的Android设备上运行turtlebot turtlebot拉普斯

  2. 如何运行Turtlebot 11014633

    说明如何运行turtlebot android应用

  3. Turtlebot Android应用程序开发教程

    说明如何开发turtlebot Android应用

模拟

阶段

  1. TurtleBot在舞台模拟器

    如何启动turtlebot阶段模拟

  2. 定制舞台模拟器

    说明如何使用自己的地图与舞台模拟器turtlebot并调整配置,为您的需求

凉亭

  1. 凉亭Bringup指南

    见凉亭模拟turtlebot。

  2. 探索世界凉亭

    游弋在凉亭世界,用RViz“看”什么在它。

  3. 制作地图,并用它导航

    使用导航堆栈创建地图的凉亭世界,并开始基于它的导航。

开发园地

  1. 定制龟

    预加载乌龟自己的定制/配置。

  2. 创建第一个拉普

    创建,加载并执行'胡言乱语'拉普,而且,是不是真的值得的?

  3. 创建第一个互动

    创建,加载并执行'胡言乱语'互动。

  4. 添加新的3D传感器

    添加了全新的3D传感器到turtlebot堆栈支持。

描述如何开发Android的互动教程可以在发现Android的角落

附录

Rocon QT应用程序管理器

  1. 与QT应用程序管理器启动拉普

    如何启动与Rocon Qt的应用程序管理器实现拉普斯

多TurtleBot音乐会

Teleop音乐会

Teleoperate多个turtlebots!

  1. TurtleBot音乐会Bringup

    如何启动turtlebot音乐会

  2. 弹出Turtlebot为客户音乐会

    如何启动turtlebot音乐会

  3. Teleop通过演唱会一turtlebot

    如何teleoperate在演唱turtlebot

其他资源