ROS Melodic的迷失与救赎::https://blog.csdn.net/column/details/28058.html
GitChat::沉迷机器人操作系统的一个理由和四种修仙秘籍
原文链接:https://blog.csdn.net/ZhangRelay/article/details/83789116
跟随绿色激光点运动?如何实现?
在黄色边缘线的赛道上行驶?如何实现?
这是一篇轻松愉快的博文,简单聊聊如何从玩机器人,升级为开发和设计机器人的工程师。
关键词::涉及Anki Cozmo机器人/Python编程/ROS机器人操作系统/AI人工智能(TensorFlow)::
本文内容已经完成课程测试,将全部公开。
全部课程开发已经历经3年,不断改进与优化,并会持续更新哦(2016-2020)。
课程大纲链接:---- https://blog.csdn.net/ZhangRelay/article/details/83544323 ----
更多相关内容可查看个人其他博文,欢迎批评,请多指教,下面进入正文::
此部分具体教程侧重熟悉和通过平板使用Cozmo
这是一款2017年上市的人工智能玩具机器人,2018年新款换了酷炫一身黑改名为Vector,功能升级,外观完全一致,如下图:
有android和ios的APP,也有Windows/Linux/MacOS的开发SDK,并支持ROS indigo/kinetic/melodic,功能十分强大!
官网:Anki:https://www.anki.com/en-us 中文介绍:Anki: |
Anki公司是由卡内基梅隆机器人研究所(Carnegie Mellon Robotics InsTItute)的三名毕业生于2010年创办的,现已获得了超过2亿美元的风险投资。Anki目前已经售出了150万台机器人,并且找到了他们认为是最容易打入家庭市场的道路——玩具(智能机器人系列)。这个明星产品是一个狂躁的小推土机机器人,名为Cozmo,它可以在桌面上行走,玩简单的游戏,它的顶部装有会亮的立方体。根据一项分析,如果按照收入计算的话,Cozmo是2017年美国、英国和法国的亚马逊网站上最畅销的玩具。 Vector是一个略大型的黑色版Cozmo,Cozmo的售价为180美元,Vector定价可能在250美元,并在2018年10月发货(现在Anki 以200美元的折扣价在Kickstarter上推出了该款机器人。)Vector先进的一点是提升了Cozmo难以做到的自主化程度。对于Cozmo来说,盒子里藏着一个连接Wi-Fi的智能手机,里面运行着一个控制机器人的应用程序。 |
各种软件和开发工具可以到官网对应处下载,也可以下载打包好的完整版:
https://download.csdn.net/download/zhangrelay/10765987
此部分具体教程侧重Linux环境配置和Python编程基础!
需要正确安装SDK才能使用此功能。确保手机或平板正确连接。
安卓手机:(adb)
苹果手机:(usbmuxd)
平板:(usbmuxd)
经过测试支持Ubuntu 14.04/16.04/18.04。详细安装内容参考(使用SDK):http://cozmosdk.anki.com/docs/
稍后也会在博客中补充并详细讲解。如果上述步骤一切顺利,就可以在电脑端运行Python代码控制Cozmo啦!!!
向机器人世界问好 Hello Robotics!
'''Hello World
Make Cozmo say 'Hello World' in this simple Cozmo SDK example program.
'''
import cozmo
def cozmo_program(robot: cozmo.robot.Robot):
robot.say_text("Hi Robotics").wait_for_completed()
cozmo.run_program(cozmo_program)
前进和转向 drive turn
'''Drive And Turn
Make Cozmo drive forwards and then turn 90 degrees to the left.
'''
import cozmo
from cozmo.util import degrees, distance_mm, speed_mmps
def cozmo_program(robot: cozmo.robot.Robot):
# Drive forwards for 150 millimeters at 50 millimeters-per-second.
robot.drive_straight(distance_mm(150), speed_mmps(50)).wait_for_completed()
# Turn 90 degrees to the left.
# Note: To turn to the right, just use a negative number.
robot.turn_in_place(degrees(90)).wait_for_completed()
cozmo.run_program(cozmo_program)
此部分具体教程侧重使用ROS进行机器人控制
rviz::(Ubuntu 18.04 + ROS Melodic)
教程包括消息机制/TF2坐标变换/调试工具使用等,可见摄像头中3个方块(左下角),分别对应cube1,cube0,cube2,机器人自身坐标和方块都识别准确。我们换一个视角来看看!
方块改为三角形排列,rviz如下:
人类视角到机器人视角的完美变换!!!
此部分具体教程侧重人工智能AI
具体参考:github(cozmo-tensorflow)::https://github.com/whatrocks/cozmo-tensorflow
-----补充资料----
Cozmo的功能是非常丰富的。
1. 支持Scartch这个和手机APP功能重复了(Blockly)。
https://github.com/maxosprojects/cozmo-blockly
2. 语音控制:
https://github.com/rizal72/Cozmo-Voice-Commands
3. Cozmo浏览工具:
https://github.com/GrinningHermit/Cozmo-Explorer-Tool
4. 完全版教程
Cozmopedia是卡内基梅隆大学David S. Touretzky教授的一个课程项目。
Cozmopedia与Anki没有任何关联或授权。Anki的官方Cozmo网站包括邂逅Cozmo,Cozmo SDK和Cozmo SDK论坛。
对于为初学者设计的Cozmo编程完全不同的方法,请在https://Calypso.software上尝试Calypso。
机器人技术的十大理念 ; 大学课程 ; K-12和Anki的大学论坛
adb(Android Debug Bridge)、Fire tablet 、 摄像头 、 充电器 、 颜色和灯光 、 轻巧立方体
Cozmo SDK软件架构
动作序列
动作组、触发器和行为
在cozmo-tools GitHub库中。
simple_cli工具 ; world_viewer工具 ; event_monitor工具 ; genfsm工具
粒子滤波(Particle filter)
cozmo_fsm功能包
状态机速记和genfsm工具
关键类:StateNode,Transition,Event, StateMachineProgram
安装OpenCV
在Cozmo中使用OpenCV
Tkinter ; OpenGL
语音控制演示
多机器人相关资源
Cozmo编程框架(ROS,Scratch等)
演示示例汇总
研究论文和会议报告
坐标系 ; 四元数 ; 齐次坐标
作者:Evan Ackerman
图片来源:anki
当我们第一次看到所有Anki的PR 为其即将推出的Cozmo机器人时,我们印象深刻 - 主要是。Anki似乎决心将一个有意义和有能力的小硬件过度膨胀成一个充满期待的“家庭的一部分。”我们对期望不感兴趣:我们想知道这个机器人能做什么,以及它是怎么做的在前5分钟后我会继续关注。
今天,Anki宣布了我们在Cozmo附带的SDK中期待的内容。起初,这似乎并不是什么大不了的事情 - 许多公司发布了带有机器人的SDK(通常是徒劳的),希望开发人员能够抓住它并为他们的机器人不断灌输各种新的令人兴奋的功能。免费。然而,在与Anki联合创始人兼总裁Hanns Tappeiner谈话之后,我们更加乐观地认为Cozmo的SDK可能会激励你(和其他人)用这个机器人做一些非常酷的东西。
我们对Hanns Tappeiner的采访以及一些示例代码即将发布。
IEEE Spectrum: Cozmo的SDK与其他机器人玩具的其他SDK有何不同?
Hanns Tappeiner: 这里的大部分公司都是机器人极客,所以我们使用了很多机器人技术SDK。我们真正感受到的事情之一就是开放不仅仅是机器人SDK中通常可用的功能 - 例如打开灯或移动电机 - 而是我们在过去开发的所有东西四年的水平远高于此水平。例如,识别面部并实时跟踪它们。规划从点到点的路径,同时避开障碍物。我们已经为机器人实现了完整的SLAM,因此机器人可以在创建地图时进行本地化并找出他的位置。
作为机器人爱好者,我们有兴趣试图弄清楚我们如何能够全面推进机器人技术领域。缺少的一件事是,虽然那里有机器人软件,但通常大多数人都可以访问机器人领域。它可能不是那些可能是优秀开发人员的人,但他们对机器人技术的了解并不足以真正使用这种东西。无论功能有多复杂和多高级,我们都希望使用单行代码的人员可以使用它。这就是Cozmo SDK的功能。
汉恩斯不是在开玩笑。他向我们展示了SDK的测试版以及它们背后的代码(用Python编写)的一系列简单演示。下面是四个视频剪辑,后面是代码截图的图库。你可以利用这些命令获得多少功能:例如,一个演示让Cozmo自动驾驶三个立方体并拾取最远的立方体。您所要做的就是使用“cozmo.PickupObject”命令告诉机器人“去拾取那个块”,它会为您完成所有路径规划,运动,方向和操纵器控制:
新闻稿中包含了一些内容完整的列表,您可以使用Cozmo的SDK进行操作; 在这里,他们是根据我们对Hanns的介绍添加的一些额外内容:
我们对Cozmo如何做SLAM特别感兴趣,因为它的尺寸很小,只有一个摄像头:
Hanns Tappeiner:机器人脸上有一个摄像头,这是我们唯一使用的摄像头。相机是主传感器,但我们拥有非常高质量的IMU,所以即使我们看不到地标,我们仍然会跟踪机器人的方向。我们使用车轮来估计我们驾驶的距离,这是相当近似的。机器人可能会在盲人附近行驶一分钟左右,他做的时间越长,他的实际位置就越多,但是当他看到像任何立方体一样的地标时,他就会知道他到底在哪里
IEEE Spectrum:所以SLAM与单个摄像头一起工作是因为立方体和充电底座是已知的尺寸,所以机器人能够分辨它们有多远?
Hanns Tappeiner:这是对的。这对我们来说非常好的原因是每个立方体都有一个加速度计。地标的一个问题是,当你再次看到它们时,你不知道你是移动了,还是他们移动了。当其中一个立方体移动时,您通过加速度计知道它,您可以将它们从地图中移除。他还会绘制出他并不真正理解的东西:当他遇到某些东西时,他会把它记录为障碍,它会被添加到他的地图中,下次他会计划一条路径不会遇到这样的障碍。
IEEE Spectrum:我们什么时候可以开始使用SDK?
Hanns Tappeiner: 我们将在10月推出该产品时将SDK作为测试版发布。这实际上是一个相当大的对话:我们应该发布测试版,还是我们应该等待另外六个月才能获得完整的SDK?我们决定我们肯定要发布测试版,因为那里有很多不同类型的开发人员,我们希望在其中提供所有功能,供人们评论。
一旦完成,我们的猜测是,在发布后的几个月内,在圣诞节之前,我们将开始K-12教育部分。我们不打算开发自己的图形化编程语言,因为已经有一些像Scratch和Swift那样做得非常好。我们将花费大量资源确保将Cozmo集成到这样的语言中,尽管它可能也是如此。
IEEE Spectrum: 您是否考虑过与ROS集成?
Hanns Tappeiner: 我喜欢ROS。我的联合创始人和我都在研究生院里使用过ROS。我们不会为ROS开发大量代码,但这不是必需的。我认为我们的一位工程师在30分钟左右的时间内使用当前的SDK为其创建了一个ROS节点。我们将在GitHub上发布,我们也将发布其他内容。但是在ROS中开发更多代码 - 这是我们希望研究人员和制造商做的事情。当你是一名研究员时,我觉得ROS是一种完美的工具,但对于那些比如游戏开发者的人来说,它是不够的。我们觉得我们需要更进一步,人们在没有任何机器人知识的情况下可以使用这种高级功能。
IEEE Spectrum: 您认为Cozmo对研究有用吗?
Hans Tappeiner: 是的。我还不能谈论它,但我们在研究机器人领域的关系相当紧密,我在卡内基梅隆大学,麻省理工学院,斯坦福大学等地有很多朋友,我们将在接下来的几年里与他们见面。周。Cozmo获得了很多兴奋。
尽管我们最初的悲观情绪(我们仍然认为这不完全是错误的),但我们对此SDK持乐观态度。Cozmo以及测试版SDK将于10月份以180美元的价格发售,如果您提前预订,则需要160美元。
-----
Fin
-----