学生休息室

分享技术和现实生活中的例子,学生如何在他们的日常项目中使用MATLAB和Simulink # studentsuccess万博1manbetx

准备两条大联盟

赛车休息室是圣诞假期。我祝大家成功和健康2018 !
在今日的帖子里,塞巴斯蒂安·卡斯特罗讨论他的经验在世界杯赛机器人车间他帮助提供亚太地区(RCAP)事件在曼谷,泰国。

提醒一下,MathWorks是伴随着全球赞助商的机器人世界杯赛很多好处对学生团队。在RCAP,我们有一个展位信息,赠品,软件演示和更多。我们在东南亚,甚至加入了我们的分销商TechSource。下次你在“机器人足球世界杯”事件,请停止说“嗨”。

MathWorks TechSource在我们的展台

背景

举办的最大的挑战之一就是从初级(大学预科)联盟的主要联盟(大学)。通常情况下,有一个重要的学习曲线,阻止即使是最成功的年轻团队继续在机器人世界杯赛一旦他们从高中到大学。

许多组织者举办的都知道这个问题,曾带领他们创建中间挑战针对克服这些学习曲线。不同于大联盟比赛,主要是研究平台为学生追求高级学位,这些挑战更适合教育本科生。一些例子是RoboCupRescue迅速制造机器人“机器人足球世界杯”亚太CoSpace挑战。

是什么让RCAP特别为我们被邀请博士杰弗里·谭帮助这种类型的另一个挑战。陈庆炎的组织者RoboCup@Home4年来,联盟的顾问KameRider团队。我们决定为他提供联合研讨会RoboCup@Home教育联赛。这对我们来说是一个很好的机会,因为它允许我们将MATLAB引入机器人设计和编程的各个方面,并成为一个好的基准的工具在一个真正的世界级的竞争。

有4支球队参加:

  • 日本多摩川科学俱乐部——日本多摩川学院、日本高中
  • 那烂陀——《创世纪》全球学校,印度——高中
  • KameRider EDU——中国/马来西亚Teknology大学南开大学——大学生
  • Skuba小——泰国Kasetsart大学——大学生

RoboCup@Home教育船员——由博士Kanjanapan Sukvichai (Skuba JR顾问)

天1 - 2:车间

前两天,我们提出了一个雄心勃勃的课程的主题让学生从头启动和运行与TurtleBot2——包括一个RGB +深度传感器和一个机器人手臂

我们要求提前与Ubuntu 14.04带一台笔记本电脑。然后,我们安装了机器人操作系统(ROS)和MATLAB从我们的网站免费许可证

我们的目标是开发的一个典型的RoboCup@Home算法。如果机器人有其环境的地图和接收语音命令——例如,“从厨房里给我拿水瓶子”,下图是一个例子的组件需要完成的任务。

答:语音识别和合成

语音识别是与完成的CMU PocketSphinx,而语音输入和合成是完成了audio_common堆栈。在研讨会中,我们展示了如何检测演讲,在字典中查找关键字,根据这些关键字并采取行动。这是MATLAB以外的全部完成。

几个学生问及MATLAB的语音识别功能。现在,有两种方法可以得到这个工作:

  1. 使用上面的ROS工具发布检测ROS主题和文本在MATLAB订阅它
  2. 从MATLAB调用一个用户定义的Python语言模块

一旦在MATLAB的文本,你可以利用它字符和字符串的功能,甚至是新的文本分析工具箱

我个人有方法# 2工作Python SpeechRecognition包——尤其是谷歌云演讲和CMU PocketSphinx。下图显示了一个简单的例子我跑我演讲文本分析工具箱用于集群分为两类——食品和饮料。有这样的词“走”,“有”,“一些”,给我们没有额外的信息。幸运的是,工具箱预处理功能为了解决这样的问题。

b .映射和导航

执行映射和导航任务,我们采取以下工作流程

  1. 生成一个地图的环境使用现有TurtleBot gmapping例子驾驶机器人周围
  2. 在上面的示例中,最新的地图发布在ROS主题(/地图)。所以,我们可以阅读到MATLAB作为一个地图占用网格并将其保存到一个文件。
  3. 一旦在MATLAB地图,我们可以样品概率路线图(人口、难民和移民事务局)并使用它找到两点之间的路径。
  4. 然后,我们可以计划一个机器人遵循这条道路纯追求算法

下面你将看到一个例子生成地图和路径我在我的办公室附近。假设图是静态的,可以重复步骤3和4为不同的起始点和目标点。

计算机视觉和控制

对于这个任务,我们操作只在MATLAB的世界。我们收到了许多评论原型与图像是容易OpenCV,主要是因为更具挑战性的语言(Python或c++)所需的是后者。

我们的愿景和控制工作流程是:

  1. 使用颜色阈值的应用定义阈值跟踪感兴趣的对象
  2. 执行blob分析找对象的位置
  3. 评估对象使用深度图像的距离检测对象的位置
  4. 移动机器人根据对象的位置和深度。我们开始用简单的开关与死区控制器线性和角速度。

在这一点上,学生们参考MATLAB代码与ROS闭环控制器建立。在接下来的几天里,他们被鼓励去修改这个代码以使他们的机器人跟踪对象更加智能化。让我们记住,大多数学生从未接触过MATLAB !

d .操纵

机器人被安装了TurtleBot武器。有双方获得这些武器工作:硬件和软件。

在硬件方面,我们指出学生ROBOTIS Dynamixel伺服ROS教程。这里的目标是确保ROS接口接头位置控制器的汽车机器人手臂。这将允许我们在MATLAB与控制器控制武器。

在软件方面,步骤是:

  1. 进口机械臂描述(URDF)文件在MATLAB作为一个刚体树表示
  2. 熟悉逆运动学(反向)在机器人系统工具箱的功能
  3. 遵循路径在几点,首先利用反向模拟,然后在真正的机器人手臂

下图显示了一个路径之间的线性插入点。然而,平滑轨迹也可能更多的数学,或与工具等曲线拟合工具箱

天3 - 5:竞争

车间天是为了提高对软件工具的认识需要成功的竞争。着一堆ROS教程、例子MATLAB文件,和其他有用的链接,学生现在的任务是我们的参考应用程序和使用它们在同一个竞争挑战大联盟。

这些挑战如下。谭博士的信贷KameRider团队示例YouTube视频。

  1. 言论自由和人的认可:演示基本的言语和视觉功能。例如问机器人“有多少人在你的面前吗?”,得到一个正确的答案。(人视频][演讲视频]
  2. 帮我拿:后一个人,帮助他们携带一个对象。(帮我拿视频]
  3. 餐厅:正确识别一个人准备下订单,听的顺序,和检索的对象已经命令(餐厅的视频][操作视频]
  4. 决赛:团队可以自由选择来证明什么,评估标准等新颖、科学贡献,演讲,和性能

在这段时间里,学生们花费数小时消化车间材料,测试他们的代码,慢慢建立算法的挑战。

日本多摩川科学俱乐部机器人在比赛中——杰弗里·谭博士的

以下是一些最突出的结果:

  • 团队经验丰富的第一手如何把代码执行不同的任务,并将它们集成到一个系统工作。
  • 所有小组已经完成与MATLAB计算机视觉和控制算法,但并不是所有的团队运作语音检测/合成和机械手控制。他们发现MATLAB代码更容易比其他的一些设置和修改基于ROS的包,需要知识的Python, c++,和/或柔荑花序构建系统使用和修改。
  • 高中两个团队成功地生成环境的地图和导航算法实现。
  • 那烂陀团队能够添加避障机器人使用向量场直方图在机器人系统工具箱的功能。
  • 少数的团队能够调整一些pretrained级联对象探测器人探测器例子的人认可和最后的挑战。

KameRider EDU在识别挑战——礼貌杰弗里·谭博士的人

结论

这次活动很有趣,作为奖励我喜欢波士顿逃离寒冷冬季几个星期。很满意看到学生们能达到多少,我们的谈话是如何进化的,在这么短的时间框架。

  • 在一开始,它主要是关于安装的问题,错误消息,基本MATLAB和ROS的问题,“我要如何完成所有这一切?”。
  • 快结束时,学生有一个很好的理解基本的ROS构造(主题、消息发布文件,柔荑花序,等等),通用编程工具(条件语句、循环、函数、断点等。),最重要的是已经问“接下来是什么?”

车间在行动——由团队那烂陀

普遍的共识是,MATLAB和活性氧都需要实现这个车间。实现和测试算法由MATLAB进行访问,而现有ROS的安装包了一些必要的低级传感和驱动,以及映射功能。

  • 许多ROS包很容易设置和可以提供强大的结果。然而,了解底层代码,构建系统修改或扩展这些包对于初学者来说是重要的。这可能是因为ROS是专为用户接受严格的软件开发过程。
  • 另一方面,MATLAB需要一个安装开始时,不需要重新编译,和示例代码(包括我们车间文件和文档的例子)决心容易跟随,调试和修改。

Heramb Modugula(团队那烂陀)说,“足够的时间是可用的修补机器人和示例代码,最终,编码在我们自己”。父亲和他的教练、Srikant Modugula强调集成的软件组件作为最重要的任务。“虽然MATLAB提供了一个强大的框架做机器人视觉,运动,和手臂相关任务,我们期待一个更简单的方法来连接它启用了ROS TurtleBot并无缝地编译和运行多个程序。”

计算机视觉和操作车间——礼貌的杰弗里·谭博士

总而言之,MATLAB及其相关的工具箱是一个完整的设计工具。这包括一个编程语言,交互式桌面环境(IDE),图形化编程环境万博1manbetxStateflow,与算法设计和调优应用程序来帮助,独立的代码生成工具

我们推荐的方法是使用MATLAB和Simulink原型算法可能是整个系统的一个子集,然后万博1manbetx部署这些算法作为独立的ROS节点使用自动代码生成。这种方式,机器人不依赖于MATLAB环境在竞争时(及其相关的开销)。有关更多信息,请参阅我们开始使用MATLAB仿真软件,ROS的博客帖子万博1manbetx或联系我们。

找到MathWorks logo !

我们的目标是将降低进入门槛,像这样的挑战来自世界各地的新团队加入两大联盟和执行有竞争力的在他们的第一年。这将为新人熟悉机器人编程创造机会并最终过渡到被“真正”的大联盟球队——也就是说,将最先进的算法来机器人世界杯赛和推动全球机器人研究的边界。

出于这个原因,我们将努力在未来事件提供这个车间,以及开放我们的材料并传到互联网上。如果你有兴趣学习使用这些材料或教,或有任何想法,请让我们的评论。我们希望看到更多的你报名参加未来RoboCup@Home教育的挑战。直到下次!

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。