APP下载

一种基于ROS的鼓乐机器人设计与实现

2017-11-07罗捷

科技视界 2017年17期
关键词:手势识别树莓派机器人

罗捷

【摘 要】论文介绍了一种能够使用龙鼓演奏的鼓乐机器人的设计与实现。该机器人为了实现较好的自动演奏效果,实现手势识别遥控选曲、手势控制即兴演奏等设计要求,机器人使用了ROS(机器人操作系统)实现了多种异质硬件的整合。经过测试,机器人运行稳定,自动演奏节奏准确,即兴演奏响应迅速。

【关键词】机器人;ROS;手势识别;龙鼓;树莓派;爱迪生平台

中图分类号: TP242 文献标识码: A 文章编号: 2095-2457(2017)17-0091-001

The Design and Implementation of a Dragon Drum Robot Based ROS

LUO Jie

(Guangxi technological college of machinery and electricity,Nanning Guangxi 530023,China)

【Abstract】This paper introduces the design and implementation of a robot can be used to play the Dragon drum. In order to realize the automatic playing,gesture recognition,gesture control remote improvisation play music.The robot use ROS(Robot Operating System) to achieve the integration of heterogeneous hardware.After testing,the robot runs stably,automatically plays accurately, when improvisation play,the robot responds quickly.

【Key words】Robot;ROS;Gesture recognition;Dragon drum;Raspberry pi;Intel Edison

0 引言

隨着计算机技术、自动控制技术的不断发展,物联网技术、机器人技术的逐渐兴起,机器人的应用已经不局限于工业领域,而是逐渐进入了人们生活的方方面面。如送餐机器人、扫地机器人等。

音乐机器人属于表演机器人的一种。通常,一种音乐机器人有两种不同的设计重点:一种使用音乐播放设备,注重与人的互动;一种直接演奏真实的乐器,注重真实的音效。此类机器人根据乐器的不同,主要有弦乐机器人、管乐机器人、键盘类机器人和打击乐机器人。其中打击乐机器人往往由多条机械臂组成,演奏时动作敏捷,节奏感极强,视觉和听觉效果较好。乐器演奏机器人以其真实的演奏音效和机械动作带来的美感,越来越受到人们的青睐。

手势语言作为人类最早使用至今,且仍被广泛使用的一种交际工具。随着人工智能、机器视觉等领域的迅速发展,手势识别也理所当然成为了新一代的人机交互方式。

ROS(Robot Operating System)“机器人操作系统”是一种机器人软件框架,它能够在异质的计算机集群提供类似操作系统的功能。在机器人中,可以实现不同平台间的信息互联。利用其丰富的开源软件包的支持,可以迅速的整合多种不同的硬件设备,组成机器人。

本文尝试基于ROS框架,整合树莓派、普通PC、单片机、手势传感器、舵机等异质硬件,设计和实现了一种鼓乐机器人。机器人使用6个2自由度机械臂同时使用3个龙鼓实现鼓乐的演奏。使用手势识别的方式实现人对机器人的控制。

1 总体方案和功能分析

本文的鼓乐演奏机器人设计,有三个主要组成部分:机械结构设计、系统硬件设计和软件设计。机械结构设计主要针对支架和机械臂的执行机构设计;软硬件部分用于实现机械臂控制、网络连接和手势识别等功能。

在乐器演奏机器人的设计中,由于机器人所使用乐器的特殊性,往往不能直接使用乐谱,而需要根据将对乐谱进行改编,转换成控制指令,保存为文本。演奏时,由上位机将选定曲目的控制指令组发给下位机,再由下位机控制机械臂完成演奏。

本鼓乐机器人的结构如下图所示:

2 机械结构设计

本鼓乐机器为了追求更好的龙鼓演奏效果,使用3个龙鼓作为演奏乐器,每个龙鼓由2个个配有鼓槌机械臂锤击,整个机器人共6个机械臂。因为在龙鼓演奏中,往往通过敲击鼓的不同位置,实现不同的声音效果,因此每个机械臂设置了两个自由度,可以灵活的选择敲击龙鼓的不同部位,每个自由度由大扭力舵机驱动。六条机械臂通过三脚架支撑,手臂根部均统一连接到支架顶端的圆形底座上,每个机械臂的根部按间隔60°等间距安装,使用时通常以2个手臂为一组进行演奏。

3 系统硬件设计

根据本机器人的需求,由于人类的听觉器官对于音乐的节奏时差非常敏感,因此演奏音乐的(下转第69页)(上接第91页)时间控制较为严格。本机器人在舵机控制部分使用STM32单片机,以保证控制的实时性。单片机由于其性能、软件支持等问题,对于手势识别等功能难以直接支持。因此本机器人由的单片机作为下位机,使用串口与树莓派相连。树莓派作为上位机,负责实现较为复杂的手势交互、Wi-Fi等功能。手势交互控制器使用爱迪生平台和手势传感器(leap motion)组成。

4 软件设计

按照本机器人的硬件设计,会发现机器人的硬件种类比较多,需要整合多种异质硬件。ROS十分适合用于整合不同硬件。由于树莓派和爱迪生平台都是Linux系统,因此都可以安装ROS。ROS系统通过节点(Node)实现各种功能,通过主题(Topic)和消息(Message)实现节点间的通讯。只要进行简单的设置,即可以实现网络通讯,通讯的细节被ROS封装。ROS节点图如下:

其中sender节点直接由ROS提供,它使用基于leap motion传感器的官方SDK,虽然进行了简化,智能提供一个手掌的数据,但对于本机器已经足够。gesture节点通过订阅话题,获得sender节点发出的手指关节坐标和手掌法线坐标,以此来判断手势。目前可以判断的手势有:止(拇指横指,其余四指收回)、选曲(伸出食指表示第一曲,如此类推)、手指跟随演奏(食指中指伸直并拢)等。

5 小结

本文阐述了鼓乐机器人的总体方案和功能、机械结构设计、硬件设计和软件设计。该设计基于ROS框架完成,具有开发周期较短、整合差异性硬件能力强等特点。该机器人使用真实的龙鼓进行鼓乐演奏,音效真实。使用了手势识别作为接收用户的控制指令,并可以远程控制,实现自动演奏和即兴演奏。经过测试,该鼓乐机器人演奏效果真实,手势识别操作较为灵敏,满足了设计要求。

【参考文献】

[1]付晓东.音乐机器人的发展历史与技术成果[J].演艺科技:2015,5:12-17.

[2]韩新斌,王晨升.一种打击琴键音乐机器人的设计与实现[J].软件:2013,34(1):1-3.

[3]张亚东,葛锁良.基于单片机的多功能智能机器人设计[J].通信技术:2012,45(1):96-98.

[4]郭剑鹰,吕恬升.国外音乐机器人研究[J].机电一体化,2002,3:14-17.

[5]黄卫华.基于树莓派的葫芦丝演奏机器人设计与开发D].武汉:武汉科技大学,2016.endprint

猜你喜欢

手势识别树莓派机器人
基于手势识别的工业机器人操作控制方法
智能安全防盗探测小车
基于嵌入式技术的农村医疗系统设计