主题为“凉亭和机器人工具”的第二次ROS聚会的演示


4月18日,下一次在线ROS Meetup将会举行,我们将继续发布过去ROS Meetup的报告录音,该记录于2019年11月30日在莫斯科举行,聚集了200多名ROS业余爱好者,他们分享了他们的经验和知识。

在此出版物中,您可以了解有关
Gazebo 机器人模拟器,机器人行为和数据集的一系列演讲

所以走吧!

在机器人技术中使用Gazebo Simulator


报告作者:Alexander Bogoslovsky

演示
幻灯片有时无法与“实时”机器人互动,在这种情况下,您必须求助于模拟器。如果涉及到ROS,那么首先要考虑到Gazebo仿真器,因为它最初是为ROS使用而创建的。凉亭举行了许多机器人比赛,其中包括DARPA和NASA等知名组织。该模拟器将帮助实现几乎所有固态机器人,例如人形机器人,轮式机器人,直升飞机,水下机器人等。

用于凉亭的机器人以URDF(统一机器人描述格式)格式创建的-XML标记描述了机器人链接及其之间的通信节点。由于这是通用格式,对于在ROS上定位真实的机器人(例如,robot_state_publisher和joint_state_publisher程序包)也是必需的,因此最初并不是要描述整个机器人。因此,将模型导入凉亭时,URDF格式将转换为SDF(模拟描述格式),其中可能已经包含用于建模的所有必要信息,包括表面材质,颜色,传感器等。在模拟世界中,我们进一步放置了机器人,因此该世界基本上具有相同的SDF格式。用来描述世界的此类文件名称的扩展名采用“ .world”形式。

Gazebo的多功能性归功于社区创建的各种插件以及完全开源的软件。当任务变得过于具体时,您可以根据提供的API编写自己的插件以完成任务。大量的用户社区将为写作提供帮助,以及模拟器官方网站上凉亭上的大量教育文章。但是,编写自己的插件并非总是必要的-模拟器的基本功能非常广泛。

此报告回顾了凉亭的功能和特性,以及它的优缺点,可以帮助您在项目中决定使用此模拟器。

行为树作为定义机器人动作脚本的一种方式


报告作者:Evgeny Safronov

演示幻灯片
在许多情况下,机器人的行为不仅应复杂多样,而且应尽可能地可预测(最好为100%)。基于ML方法的统计行为模型可以模拟非常复杂的动作,但是仍然很难保证机器人行为的安全性和透明性。在这种情况下,工程师会使用各种状态机。替代它们的是行为树/ BT树,它们来自游戏行业的机器人技术。

在本视频中,我们将从行为树的基础知识开始-考虑节点和叶子的类型,遍历(执行)树的规则,分析创建BT的两种主要样式-命令式和反应式,并确保很少以纯形式使用它们。我们将从机器学习的角度讨论BT的含义,以及如何将ML方法集成到手工创建的树结构中,我们将看到节点模板(如OOP中的类)有助于封装行为,提高树逻辑的可读性并创建单独的库。最后,简要概述了用于ROS的现成框架。没有明确的领导者,从基本语义到与ROS的交互,每个人在许多关键方面都有不同的方法。但是,现在您可以下载并尝试将BT连接到您的机器人/模拟器!

你包里有什么?如何使用文件袋而不被数据淹没


报告作者:Oleg Shipitko

演示幻灯片
包文件是ROS中主要的数据记录格式,这已不是什么秘密。大多数至少曾经遇到过ROS的开发人员都知道什么是包文件以及如何使用它们。但是,并非所有人都想到以下问题:
  • 袋中的文件如何存放?
  • 如何减少其体积?
  • 除了录制和播放外,我还可以处理文件袋文件吗?
  • 如果其中一封邮件的类型已更改,但我不想弹出所有以前记录的文件,该怎么办?

这些问题和其他问题的答案专用于我们的演示。

在我们的演讲中,我们试图回答每个问题。
该报告分为几个部分。首先,考虑了用于存储文件包的格式及其内部结构。

该报告的第二部分讨论了录制文件的功能。 rosbag record命令的非显而易见且很少使用的参数会突出显示。考虑到写入袋图像文件的功能。描述了用于压缩文件袋的算法。

在致力于简化和检查已记录文件的部分中,考虑了一些命令,这些命令使您可以查看包文件的内容,并找出包中包含的主题。特别注意rqt_bag文件检查工具及其主要功能。

袋文件中记录的数据可用于测试各种分类算法。在这种情况下,出现了标记数据的任务-将数据集与某个标签匹配,该标签定义了对给定数据集正确的类。作为解决此问题的工具的示例,该报告考虑了rosbag-sliding-windows-annotator程序包,该程序包使您可以使用视觉主题中的数据作为注释数字数据的基础。同时,从用户json-file加载了标记所需的类,这使得该包可配置用于许多标记任务。

当存储大量袋文件时,出现了快速查找符合某些条件的文件的任务。对于移动机器人,此类标准可以是,例如,特定的天气,移动路线,文件中是否存在特定事件(例如,阻挡机器人路径的人)等。为了快速搜索满足所需标准集的文件,可以对文件进行批注-将每个文件映射为一定压缩量的信息,其中包含快速搜索所需的数据。该报告讨论了在“ Visilelect Service”公司中使用的对袋文件进行批注的方法-映射每个袋文件图像,使您可以快速查看和比较有关许多文件的信息。

该报告的最后一部分专门概述了用于将文件袋文件迁移到ROS的标准工具。如果文件中的一条或多条消息已更改,但您要保存和使用以前记录的袋文件,则必须进行迁移。在这种情况下,您可以通过在旧邮件中添加新字段(或删除现有邮件)来覆盖旧文件。为了简化此过程,ROS提供了现成的工具,该工具在报告中进行了简要介绍。

结论


即将在4月18日举行下一次ROS见面会,只是现在我们将以在线网络研讨会的形式进行,我们邀请所有同事以听众和演讲者的身份参加。参加免费,名额有限,请在此处注册
我们还将组织有关ROS的开源软件包竞赛!
我们提醒您,您可以在俄罗斯找到志同道合的ROS开发人员,并在我们的电报频道ROS俄罗斯社区中找到最新的ROS新闻

如果您对开发机器人,机器人模块或软件组件感兴趣,或者想炫耀自己的开发成果或者只是与志趣相投的人聊天,欢迎参加我们的下一次ROS聚会,该聚会将于4月18日以在线形式举行

All Articles