在KUKA youBot平台上实现机器人任务,第1部分

尊敬的Geektimes读者,ITMO大学MIS系的学生设计局(机器人工程系或RED)欢迎您。我们已经在我们大学博客中发表过文章

在大学发展计划的框架内,RED追求多个目标,其中之一是在国际水平上参与学生竞争性机器人技术的研究。作为启动平台,选择了流行的国际RoboCup比赛。自1997年以来,RoboCup举办了多种类型的比赛,从机器人足球比赛到面向社会的机器人比赛,不一而足。俄罗斯队也参加了比赛并获得了奖品。

根据RED的技术设备和竞争环境的分析,可能的竞赛类别之一是RoboCup @ Work,其中许多工业机械手都在竞争中完成其典型任务。该选择主要是因为该部门有几个由KUKA创建的youBot工业机器人。 youBot是一种全向移动平台,其上安装了具有五个自由度和两个手指握把的操纵器。包装包括:Hokuyo Automatic Co.的激光测距仪URG-04LX-UG01在240°时的测量范围为5600 mm,可以实现定位和制图; ASUS Xtion运动识别设备,类似于Microsoft Kinect。创作者介绍了这款机器人非常适合教育领域。





您可以在youBot控制器(在我们的示例中为Ubuntu 12.04)上安装操作系统,该操作系统使您可以立即在机器人内置的计算机上开始控制。与机器人的通信是通过Wi-Fi模块进行的。

与youBot一起是了解工业机械手的绝好机会。但首先,我们需要测试自己和您的业务。

决定在youBot上为此类移动操纵器执行一项显而易见的任务-查找并捕获目标对象。程序算法如下:
  1. 本地化和制图:在障碍物(障碍物是低矮的木板-“墙”)中,确定对象所站立的目标站点的位置,并采用随后的方法进行定位。
  2. : , , .
  3. .

使用上述激光测距仪解决了定位问题,并使用ASUS Xtion解决了识别任务。我们需要做的就是编写程序来处理来自这些传感器的数据(这样做的好处是有用于这些目的的现成的开放库),以及以某种方式实现对象捕获。另外,您需要将任务的所有三个部分合并到一个系统中。

我们决定使用机器人操作系统控制youBot,处理数据并在传感器和机器人之间进行通信。在Habr上已经有关于ROS和使用它的机器人的文章。例如,讲述了六足机器人的出色实现,范围从解析铁并设计模型到在ROS控制下组合所有节点。

为了以防万一,我们记得ROS是与机器人一起使用的框架,可促进各种软件组件的开发和集成。 ROS用于业余和教育项目,以及用于开发工业机器人程序。值得一提的是,目前正在开发第二版ROS,该版本有望包含更多用于开发机器人的功能。

ROS提供了标准OS的许多服务:硬件抽象,底层设备控制,进程之间的消息传递以及数据包管理。 ROS由两部分组成:ros软件核心本身ros-pkg(一组软件包(package),其中包含任何数据,库,可执行文件和配置,并在逻辑上组合成一个有用的模块。

通信中的ROS组分的基本概念是节点(节点),消息(消息)和主题(主题)节点是一个正在运行的进程,可以与其他进程进行通信。主题-连接各个节点的命名管道。 ROS基于图形架构,其中数据处理发生在可以在它们之间接收和传输消息的节点中。这些消息发布在将消息分为兴趣组的主题中。当某个节点需要接收带有特定数据的消息时,该节点将订阅特定主题。由于这种有节点“订户出版商»(之间的关系发布商订户)。

在我们的例子中,ROS内核在youBot控制器本身上运行,并且在三个程序节点(本地化,对象识别和捕获)之间组织了一个数据处理图。这些节点以适当的主题发布有关其工作的数据,无论是有关机器人到达目标平台的信息还是对象的坐标。对于三个主题,对主控制节点进行签名,该主控制节点监视其他三个主题的工作,并在特殊主题中发布命令,该主题将订阅受管节点。因此,控制图如下所示:



为了加快工作速度,我们分为三个团队,每个团队都必须实现三个节点之一。

在下一篇文章中,我们将介绍我们如何实现本地化以及用于此目的的内容。
和我们在一起。

Source: https://habr.com/ru/post/zh-CN392419/


All Articles