ROS(indigo) turtlebot2 + android一些有趣应用
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
~$ rqt_remocon
然后启动手机应用进行连接,注意ROS_IP等一些环境配置:
这里以Make A Map为例:
PC端,已经启动Gazebo和rviz:
还需要如下两个命令:
~$ 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非常有帮助:
1. turtlebot
2. rocon
概观
该rocon框架是一套工具和模块可以一起使用,以在上面提供高水平的服务运行一个自定义的多主机系统的活性氧。它不会尝试,并确定什么样的服务来运行1,也不会尝试朝云机器人伸出太积极。把它看成是一个集中的工作场所,你可以处理为多机器人装置系统收到的信息和本地指令2。
而不是在一次照亮整个音乐会,该指南将通过模块,其中许多可以独立使用行走。这应该有助于突出像任何好的高潮演唱会的功能。
入门
安装
- 安装
安装完成rocon环境。
独立的工具
Rocon启动
该rocon_launch工具是用于启动每个多roslaunch实例自己的终端的便利工具。
- Rocon启动单大师
产生多个roslaunch终端有一个主器件的工作。
Rocon主信息
我们倾向于发布关于我们的ROS大师(名称,描述,图标)的一些基本信息。这通常是音乐会remocons(后下)的利益,但实际上可以为其想提供一些信息,为客户内省的任何独立ROS大师完成。
- 出版信息大师
提供有关您ROS主数据向希望内省的客户。
独立概念
以下概念提供了一个简单的介绍到一些正在和周围的rocon框架使用的更根本的东西。
Rocon的URI
Rocon通用资源标志符字符串键描述各种实体(机器人,remocons),这对他们的运行,使我们能够在更高层次上形成对这些资源的请求,以及其分配兼容的应用程序。
rocon:// concert_name / hardware_platform /名/ application_framework / OPERATING_SYSTEM#rocon_app
你会经常看到这些在各种消息的ROS API级别飞散各地。有关这些字符串的信息被埋没的狮身人面像文档中rocon_uri包。
人际交往
关于
该rocon_interactions包提供用于建立人类用户,并正在运行的ROS主站系统之间的相互作用的框架。基本上,它解决的问题,我跑什么,我该如何配置呢?。寻找合适的发射运行,或设立rviz会话都是很好的例子-用户应该不需要从头开始四处找出运行或在哪里可以找到的文档。随着rocon相互作用,所有用户需要做的是点了一个遥控器在运行ROS主(或QT或Android版本),选择一个角色,他们将与一些他们可以与演唱会进行互动的方式呈现。这适用于多种互动-机器人,QT,发射器,Web应用程序,甚至在文件指向一个用户。
对于rocon的人机交互框架有了更深的了解,仔细阅读关于引进rocon_interactions维基页面。
教程
如果你只是想快速演示,应对入门教程下方。其余的教程是有作为参考,如果你想深入了解入rocon互动框架。
- 入门
的rocon互动概念的演练。
- 文档交互
定义指向网络上的文件交互。
- Qt的相互作用
定义基于Qt的前端交互。
- Rviz互动
定义rviz配置的相互作用。
- Web应用程序交互
定义Web应用程序的交互。
- Android的相互作用
定义的互动,可以推出Android活动。
该Appable机器人
关于
在场景和环境中,我们通常会部署(真实世界的场景)机器人往往只是另一种人。它去上班,有时一个团队中,有时自主工作。在几乎所有这些情况下,工作任务驱动,这是我们希望用于与机器人相互作用的焦点。这是熟悉的和我们的思维方式和工作方法作为人类的自然延伸。
任务驱动方式的困难的部分是退后一步,让机器人做任务,尽其能力,而试图用自己的自主权,尽可能干涉。这是一个艰难的平衡,但没有考虑到这一点的,更高层次的业务流程会很快变得过于复杂。
因此,如果一个机器人taskable,应该在很多情况下几乎肯定会重新分配任务,以最大限度地发挥其潜力。多任务将是很好的,但问题打开了潘多拉的盒子。为了使我们的任务再分配功能的机器人,我们反复机器人应用平台柳肯等人最初鼓动,因为它是一个方便的配合上。这是少谈'应用'比它是关于提供一个非常方便的方式来部署,启动,在任务驱动的方式停止和管理您的机器人。
该appable机器人旨在是旨在简化一个完整的框架:
- 软件安装
- 发射
- 重新分配
- 连接(或配对模式,多主)
- 编写可移植软件
并提供与机器人上通过两个不同的模式的公共接口交互的有用的手段:
- 配对模式:1-1人类与机器人的配置和互动。
- 演唱会模式:通过演唱会解决机器人的自主控制。
功能
功能是在自举一级提供一个抽象层的手段。这使得编写机器人不可知的“应用程序”更容易。如果一个机器人可以声明它实现了导航能力的标准化接口,那么应用程序可以依靠用来利用这种能力的活性氧接口。什么样的能力是关于更详细的解释和API文档可以在上找到的功能的wiki页面。
- 功能演示
演示性能服务器的功能。
。
拉普斯
,利用和两个顶部的能力和我们称之为拉普斯机器人的一些引导层运行的应用程序(又名rocon应用程序,或机器人应用 - 是从手机应用程序很容易分辨)。这些基本上没有代码发射器。其中,功能旨在反映可平行于自己的冲突管理运行的机器人的某些子功能,拉普斯应代表发射环境及其对机器人的当前活动的配置,或任务,例如啤酒递送。鉴于这种概念上的约束,只有一个拉普都不应当在机器人在同一时间运行。
这个决定是主要以简化机器人在更高层次上进行交互的方式。就像在一个团队人类,我们在更高层次的框架机器人(如演唱会我们将在后面介绍)被设计为重新分配任务的资源。为appable机器人,这意味着停止和启动相应的拉普。这让我们推出的软件配置调整或根据需要重新运行完全不同的软件。这是在其上不具有PR2的计算能力的机器人特别重要。
产品规格
教程
该经理拉普
该rocon应用程序管理器处理拉普斯的发现,发现和生命周期管理(如开始/停止)。对于平台兼容拉普斯的发现和安装的拉普管理器使用的模块rocon_app_utilities。在运行时,它也与交互能力的服务器,以确保拉普所需的所有功能依赖条件和适当的开始,并与拉普停止一起。
- 安装Rocon应用程序管理器
安装rocon_app_platform环境。
- 配置拉普经理机器人
介绍如何设置拉普经理机器人
- 调出拉普经理
描述了当你开始拉普经理会发生什么。
- 通过QT拉普经理拉普启动
显示了通过rocon_qt_app_manager开始拉普斯
配对
- 配对
在串联启动拉普斯rocon互动。
- 运行交互与QT遥控器
节目开始通过rqt遥控器互动
- 运行交互与Android遥控器
显示开始通过机器人遥控器互动
- 运行交互使用Web遥控器
显示开始通过网络遥控器的交互
基本多主
这里列出了多主机基本的组件不是演唱会具体。您可以使用这些如果你想建立一个替代多主框架。
工具
- Rocon启动了多主机
产生多个roslaunch终端在多个ROS主人。
网关模式
网关模式是一个rocon多主机系统的引擎。他们使用的应用程序管理器和音乐会级组件统筹的ROS话题,服务和行动主人之间的交流,但在一般情况下,它们是如何运作与rocon演唱会打你不需要详细了解。如果您想了解更多关于他们,从这里开始:
任务再分配自治
待办事项:这个正在等待一个小的重新设计和部分水电教程重写 |
演唱会
概观
音乐会是在相互作用的顶部,appable机器人和网关组件运行一个多主框架,试图使网络(通常LAN)从中协调和管理一组机器人在一个集中的工作区,参与某种设备场景。这可以独立使用,或者它可以进一步发展为一种有用的桥到云3。一些特点:
无线连接:技术无线连接机器人的稳健处理。
多业务处理:服务,在更高层次上parallelisable编排块
- 想想一个Web服务器上运行的服务,但在这里我们有teleop,做一个地图,标注地图,富...
机器人计划:机器人公开的,可以通过演唱会的服务请求重新分配任务的资源。
软件共享:产卵和整个演唱会的服务,软件实例共享访问。
人际交往:基础设施,强迫人类作为演唱会的服务交互的参与者。
更详细的概念说明可以,如果你从我们的商场逗留去找到术语页面上的rocon维基。
教程
快速演示
- 颤振音乐会
一个例子演唱会示范,健谈监听风格。
- 颤振音乐会 - 分布式
分布在多台机器喋喋不休音乐会
- 颤振音乐会 - 无线
分布式喋喋不休音乐会的无线处理
- 龟音乐会
一个例子演唱会的示范,turtlesim风格。
- 龟Teleop音乐会
与模拟龟音乐会teleop服务。
创建自己的解决方案
- 创建自己的解决方案
如何创建自己的解决方案
- 弹出一个音乐会
如何启动音乐会
- 自定义服务配置
如何创建自己的解决方案
- 启用Web交互
如何访问和通过网络互动演唱会
- 先进的解决方案客户化
介绍了演唱会的论点提供
让你的机器人加入音乐会
- 音乐会客户端准备
如何安装和待办事项音乐会模式准备
- 创建音乐会模式启动
如何准备你的机器人你的演唱会使用
- 加入演唱会作为客户端
介绍了如何加入一个演唱会作为客户端
- Teleop通过音乐会的机器人
介绍如何捕获通过演唱会的机器人和teleop
创建自己的服务
- 创建自己的服务
如何创建自己的服务
凉亭音乐会
- 演唱会服务凉亭概述
介绍演唱会的服务凉亭设计流程
- 如何添加一个新的机器人类型
如何添加一个新的机器人类型一致的服务凉亭使用
- 如何产卵在演唱凉亭机器人
如何产卵在演唱凉亭机器人
概观
迁移 -什么是你的靛蓝turtlebot软件中新增和有光泽!
关于
- Turtlebot-开发栖息地
各种使用场景turtlebots和他们的开发人员。
- 你Turtlebot交互
你可以招惹的许多方法/激发你的turtlebot行动!
制备
- Turtlebot安装
安装软件到turtlebot。
- PC安装
安装用于您的监控工作站的电脑软件。
- 网络配置
获得turtlebot和PC聊天对方。
培养
- TurtleBot Bringup
如何启动TurtleBot软件。
- PC Bringup
连接从PC turtlebot。
- TurtleBot照顾和喂养
本教程介绍了如何充电和维护TurtleBot。
- 创建测程和陀螺仪校准
如果你有一个创建基础这仅仅是必要的。该Kobuki配备了工厂校准陀螺仪。这将告诉你如何校准或试运行任何基于导航的应用程序时,这是高度推荐TurtleBot的校准。
应用
环顾四周
遥
- 键盘Teleop
一个turtlebot的键盘遥。
- 操纵杆Teleop
一个turtlebot的操纵杆遥。
- Qt的Teleop
一个turtlebot Qt的遥操作。
- 互动标记Teleop
该教程介绍如何使用rviz交互标记控制TurtleBot。
导航
- SLAM地图构建与TurtleBot
如何使用gmapping生成一个地图
- 与TurtleBot已知地图的自主导航
本教程介绍了如何使用TurtleBot与先前已知的地图。
什么好笑的
- 该TurtleBot跟随演示
介绍如何在您的TurtleBot运行TurtleBot跟随演示。
- 该TurtleBot全景演示
介绍如何在您的TurtleBot运行TurtleBot全景演示。
Android的相互作用
- 从Play商店下载Turtlebot Android应用
从Play商店下载Android应用程序上通过的Android设备上运行turtlebot turtlebot拉普斯
- 如何运行Turtlebot 11014633
说明如何运行turtlebot android应用
- Turtlebot Android应用程序开发教程
说明如何开发turtlebot Android应用
模拟
阶段
- TurtleBot在舞台模拟器
如何启动turtlebot阶段模拟
- 定制舞台模拟器
说明如何使用自己的地图与舞台模拟器turtlebot并调整配置,为您的需求
凉亭
- 凉亭Bringup指南
见凉亭模拟turtlebot。
- 探索世界凉亭
游弋在凉亭世界,用RViz“看”什么在它。
- 制作地图,并用它导航
使用导航堆栈创建地图的凉亭世界,并开始基于它的导航。
开发园地
- 定制龟
预加载乌龟自己的定制/配置。
- 创建第一个拉普
创建,加载并执行'胡言乱语'拉普,而且,是不是真的值得的?
- 创建第一个互动
创建,加载并执行'胡言乱语'互动。
- 添加新的3D传感器
添加了全新的3D传感器到turtlebot堆栈支持。
描述如何开发Android的互动教程可以在发现Android的角落。
附录
Rocon QT应用程序管理器
- 与QT应用程序管理器启动拉普
如何启动与Rocon Qt的应用程序管理器实现拉普斯
多TurtleBot音乐会
Teleop音乐会
Teleoperate多个turtlebots!
- TurtleBot音乐会Bringup
如何启动turtlebot音乐会
- 弹出Turtlebot为客户音乐会
如何启动turtlebot音乐会
- Teleop通过演唱会一turtlebot
如何teleoperate在演唱turtlebot
其他资源
ROS(indigo) turtlebot2 + android一些有趣应用的更多相关文章
- ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot
一直在寻找一个示例可以将ROS学习中常用的基础内容大部分都包含进去,最好还包括Gazebo仿真, 这样即使没有硬件设备,也可以很好的学习ROS相关内容,但又必须有对应的硬件,便于后续研究. 这里,介绍 ...
- 学习使用turtlebot2——安装ROS Indigo系统
最近在学习使用turtlebot2,特此做一些学习记录. 安装ROS前要先决定自己电脑的Ubuntu(乌班图)系统.现在学习ROS常使用的Ubuntu系统有Ubuntu 16.04 和Ubuntu14 ...
- ubuntu14.04 and ros indigo install kinect driver--16
摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 今日多次测设ros indigo install kinect driver ,提示各种失败,然 ...
- ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)
ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub ...
- 在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~
在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~ 不需要额外购买GPS设备. 将手机GPS数据通过蓝牙传输给计算机使用,当然通过类似方 ...
- Ubuntu14.04安装和配置ROS Indigo(一)
安装ROS 配置Ubuntu的软件源 配置Ubuntu要求允许接受restricted.universe和multiverse的软件源,可以根据下面的链接配置: https://help.ubuntu ...
- ROS Indigo在ubuntu1404上的安装方法
安装配置方法参照 http://wiki.ros.org/indigo/Installation/Ubuntu 以下操作需要保证虚拟机能够正常连接网络. 1.更换源镜像: 将源设置为国内源,我选择的 ...
- ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明
ROS(indigo) 安装和使用更新版本的Gazebo,本文以7为例. Gazebo7支持更多新的功能,如果使用下面命令安装ROS(indigo): ~$ sudo apt-get install ...
- ROS连接ABB机械臂调试详细教程-ROS(indigo)和ABB RobotStudio 6.03.02-
在ROS industrial介绍中,给出了ROS和常用机械臂的连接方式.具体信息可以参考:http://wiki.ros.org/Industrial ROS连接ABB机械臂调试详细教程-ROS(i ...
随机推荐
- [LeetCode] Path Sum IV 二叉树的路径和之四
If the depth of a tree is smaller than 5, then this tree can be represented by a list of three-digit ...
- 【JAVA】pdf转图片
最近java项目中使用到了pdf转图片的需求,在此记录一下. 1.基于GhostScript p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px ...
- 从零开始搭建支持http2的web服务
前段时间开始,公司各项业务开始陆续接入http2,关于http2的优点与所适用的场景网上有很多的文档可以查阅,这里我主要是总结分享一下如何从0到1搭建http2服务. 这里先说明一下,要完成http2 ...
- ●BZOJ 4176 Lucas的数论
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4176 题解: 莫比乌斯反演,杜教筛 首先有这么一个结论: 令d(n)表示n的约数的个数(就是 ...
- [HDU]4694 Important Sisters(支配树)
支配树模板 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ...
- hdu3183 RMQ
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- hdu 4609 (FFT求解三角形)
Problem Description King OMeGa catched three men who had been streaking in the street. Looking as id ...
- day4 liaoxuefeng---函数
一.调用函数: 调用abs函数:取绝对值函数, >>> abs(100) 100 >>> abs(-20) 20 >>> abs(12.34) 1 ...
- Delphi7数据库编程之TDataSet(转)
TDataSet类由TBDEDataSet(BDE组件).TCustomADODataSet(ADO组件).TIBCustomDataSet(InterBase组件).TCustomSQLDataSe ...
- K-means聚类 的 Python 实现
K-means聚类 的 Python 实现 K-means聚类是一个聚类算法用来将 n 个点分成 k 个集群. 算法有3步: 1.初始化– K 个初始质心会被随机生成 2.分配 – K 集群通过关联到 ...