掌桥专利:专业的专利平台
掌桥专利
首页

一种总线舵机机器人的控制方法

文献发布时间:2023-06-19 09:30:39


一种总线舵机机器人的控制方法

技术领域

本发明涉及机器人控制领域,具体的说是一种总线舵机机器人的控制方法。

背景技术

随着舵机技术的发展,串口舵机越来越多地应用到机器人的制作中,串口舵机使舵机内置了微处理器,能够通过级联的方式同时控制多个舵机,极大地简化了连线,使人型机器人的构建和控制变得简单化。我们所见到的机器人形态有很多种,如蛇形机器人、狗形机器人、多足机器人、人型机器人等,虽然机器人的形态各异,但普遍地,它们都由众多关节组成,每增加一个关节就增加了一个自由度,关节的数量很大程度上决定了机器人的灵活程度,如何有效地系统地通过一块控制主板控制所有的关节是机器人控制的核心技术之一。

教育类的机器人,通常使用动作组复现的方式来控制机器人的运动,这虽然不是一种自适应的自主解算动作的方式,但可以极大地加速机器人的开发进度,降低使用者的开发难度,通过上位机和机器人的相互配合调试,发挥串口舵机可读写角度参数的优势,使用示教编程的方式,可以很快地构建机器人的动作,将这些动作保存复现,同时可以加入传感器、音乐播放模块等丰富机器人的功能。

中国发明专利CN107443356A(公开日为20171208)公开了一种可实时显示机器人形态的系统及方法,阐述了由机器人关节舵机传输给MCU角度值,再由MCU将角度值传输给计算机实时模拟显示的控制方法,实际上是一种实时示教模拟的调试方法,但发明内并没有阐述MCU的程序处理方法。

中国发明专利CN110069029A(公开日为20190730)公开了一种基于总线舵机的足式机器人控制系统及其控制方法,公开了基于总线舵机的机器人的硬件控制系统结构组成和控制方法,提到了将主控模块进行分层设计,使得机器人在增加功能时只需在应用层开发而无需更改底层驱动,这与本发明的理念相似,但发明内容中并未提及如何实现上下层分离以及如何设计机器人主控程序的细节。

发明内容

本发明所要解决的技术问题在于提出了一种总线舵机机器人的控制方法,可以快速构建不同形态的机器人,快速编辑机器人动作组,实现既定功能。

本发明所要解决的技术问题采用以下技术方案来实现:

一种总线舵机机器人的控制方法,包括程序控制方法以及协议设计方法,所述协议设计方法包括用于连接主板进行调试的上位机,所述上位机通过串口或TCP通道传输中间协议层,所述中间协议层包括用于保存文件和配置的文件管理系统协议、用于驱动总线设备的软件串口协议、用于驱动传感器和显示器的IIC通道协议和用于读写端口状态的GPIO通道协议。

所述上位机内可以设置任意形态的机器人,其步骤包括导入图片、添加舵机控件、添加灯效、添加播放器,实现机器人的虚拟化调参界面。

所述文件管理系统协议包括配置文件、网络参数、动作文件和事件文件。

所述配置文件包括版本号、调试使能、联网使能、OLED使能、电压检测参数、舵机通讯流程参数、音乐模块参数;

所述电压检测参数包括参考ADC值、最大ADC值、最小ADC值、告警ADC值、告警频率;

所述舵机通讯流程参数包括最大舵机数、最大舵机重检次数、最大指令超时、最大指令重发次数。

所述网络参数包括STA模式使能、热点名称、热点密码、联网超时、AP模式使能、AP名称、AP密码、TCP端口号、UDP使能、UDP端口号;

所述TCP端口号用于局域网内的控制设备对单台机器人的连接,所述DUP端口号用于局域网内的控制设备对多台机器人的群控。

所述动作文件包含N个动作帧,所述动作帧内包括动作ID号、当前帧号、是否跳过本帧、舵机运动时间、舵机等待时间、N个舵机的角度值、舵机灯效使能、头灯使能、音乐播放参数。

所述事件文件包括系统闲置时与系统运动时两种情况下的事件文件,事件文件内包括触发条件、触发参数和动作参数;

所述触发条件包括单击、双击、三击或长按触摸条件,陀螺仪XYZ轴参数值,手柄按键值,电量信息,超声波距离值;

所述触发参数包括大于、等于、小于以及目标值;

所述动作参数包括播放动作N重复M次、停止动作、头灯亮灭、播放音乐ID、执行预设动作ID、舵机N在M毫秒移动Z度。

所述软件串口协议基于软串口的实现,将普通IO口驱动为多个串口,可以挂载包括总线舵机、音乐模块、从机模块,或实现将硬件串口数据流映射到软件串口从而由所述上位机直接控制硬件设备。

所述总线舵机可以通过软件串口协议接收所述上位机发送的运动指令或将角度值传输给上位机,实现示教编程动作组的功能;

所述从机模块包括带MCU的超声波传感器、带MCU的PS2手柄接收器、带MCU的RGB灯。

所述程序控制方法包括步骤:

S1)读取配置文件;

S2)初始化硬串口;

S3)初始化软串口;

S4)舵机检测;

S5)音乐模块初始化;

S6)网络初始化;

S7)数据缓冲池写入串口或TCP或UDP通道数据;

S8)根据中间层协议进行数据检索;

S9)动作控制;

S10)事件控制;

S11)返回步骤S7)完成主循环。

本发明的有益效果是:

(1)可以使用一套控制系统,快速搭建不同形态不同功能的机器人;

(2)中间层协议将上位机和下位机功能分离,用户扩充底层模块时,无需更改上层协议,扩充上层功能时也无需更改底层驱动;

(3)系统自由度高,可玩性足,既有科普教育意义,又有商业实用意义。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1为本发明的协议结构图;

图2为本发明的配置文件组成图;

图3为本发明的网络参数组成图;

图4为本发明的动作文件组成图;

图5为本发明的事件文件组成图;

图6为本发明的程序流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面对本发明进一步阐述。

如图1所示的协议结构图:

一种总线舵机机器人的控制方法,包括程序控制方法以及协议设计方法,所述协议设计方法包括用于连接主板进行调试的上位机,所述上位机通过串口或TCP通道传输中间协议层,其中串口连接为有线连接,TCP连接为无线连接,用户可以自由选择哪种连接方式,无线连接更有利于机器人的动作调试,中间层协议将底层驱动协议与顶层应用分离和联系,当需要增加系统功能时,用户只需新拟中间层协议,然后将底层驱动与中间层关联即完成功能,不会影响原有框架和功能,同时,当用户需要更换某种类型的传感器或执行器时,只需替换原有的底层驱动而无需更改上层框架,系统的可裁剪可扩展性大大提高。

进一步地,所述中间协议层包括用于保存文件和配置的文件管理系统协议、用于驱动总线设备的软件串口协议、用于驱动传感器和显示器的IIC通道协议和用于读写端口状态的GPIO通道协议。

进一步地,所述上位机内可以设置任意形态的机器人,其步骤包括导入图片、添加舵机控件、添加灯效、添加播放器,实现机器人的虚拟化调参界面。

进一步地,所述IIC通道协议驱动包括感知方位的陀螺仪和显示参数、表情等信息的OLED显示屏,所述GPIO通道协议驱动眼灯和读取触摸信号,这为机器人提供了外部信息的输入和内部信息输出,完成反馈。

进一步地,所述文件管理系统协议包括配置文件、网络参数、动作文件和事件文件。

进一步地,所述软件串口协议基于软串口的实现,将普通IO口驱动为多个串口,可以挂载包括总线舵机、音乐模块、从机模块,或实现将硬件串口数据流映射到软件串口从而由所述上位机直接控制硬件设备。

进一步地,所述总线舵机可以通过软件串口协议接收所述上位机发送的运动指令或将角度值传输给上位机,实现示教编程动作组的功能。

进一步地,所述从机模块包括带MCU的超声波传感器、带MCU的PS2手柄接收器、带MCU的RGB灯,传感器和执行器的内部都设置有MCU是为了直接适配于现有协议框架,同时利于系统的功能拓展。

如图2所示的配置文件组成图:

所述配置文件包括版本号、调试使能、联网使能、OLED使能、电压检测参数、舵机通讯流程参数、音乐模块参数;

进一步地,所述版本号用于区分软硬件版本信息,在于上位机交互时,上位机需要判断主板的软件和硬件版本,实现新老款兼容和程序更新。

进一步地,所述调试使能用于开启主板的调试功能,主板的第一硬件串口用于连接上位机,第二硬件串口可用于输出调试信息,这在程序开发阶段尤为方便,可以在试验程序功能的同时,同步输出各种调参信息。

进一步地,所述联网使能,用于打开主板的网络连接功能,可以将主板本身作为热点使用其他控制终端,如手机、电脑进行连接,也可以使主板搜索附近热点,将主板主动连接至局域网内,然后通过局域网内的其他控制终端通过TCP通道端口控制机器人。

进一步地,所述OLED使能是当系统IIC通道连接了OLED时,将既定的显示信息输出到显示屏上。

进一步地,所述电压检测参数包括参考ADC值、最大ADC值、最小ADC值、告警ADC值、告警频率,所述参数可以直接关联电池电压检测的ADC通道,所述参考ADC值描述了主板的参考电压,所述最大ADC值和最小ADC值分别对应电池的100%和0%电量,当电池电压ADC通道值低于告警ADC值时,系统会以告警频率提示用户需要充电。

进一步地,所述舵机通讯流程参数包括最大舵机数、最大舵机重检次数、最大指令超时、最大指令重发次数。

进一步地,所述最大舵机数描述机器人本体包含的关节总数,系统初始化时会以这个数据为最大搜索ID,从舵机号1开始往后检索舵机,看所有是否存在且工作正常;

进一步地,所述最大舵机重检次数、最大指令超时、最大指令重发次数是为了在检测舵机存在与否的过程中,防止舵机漏检的宽容措施,一旦舵机无法在初始化阶段被检测到,系统将不会在后续的操作中对此舵机执行命令,这是因为舵机的指令响应存在延时,一旦系统中包含故障的舵机或者未连接某一个舵机,如果继续对此ID舵机进行操作,将会增加整个动作帧的执行周期,使动作观感上产生卡顿。

进一步地,所述音乐模块参数包括音乐模块的音量大小、开机播放的音乐文件ID。

如图3所示的网络参数组成图;

所述网络参数包括STA模式使能、热点名称、热点密码、联网超时、AP模式使能、AP名称、AP密码、TCP端口号、UDP使能、UDP端口号。

所述STA模式使能用于开启主板连接局域网热点的功能,根据预先设置好的热点名称和热点密码,主板会自动连接如局域网内,此时局域网内的其他设备可以通过TCP端口号对单台机器人设备发起连接,建立TCP通道进行交互和控制,而当局域网内存在多台机器人设置时,控制设备可以通过UDP端口号发送指令,从而对局域网内的所有机器人实施群控,群控可广泛应用于商业表演、集群控制中。

所述AP模式使能,是在没有局域网的情况下,机器人切换到由自身发射热点,控制设备只需连接机器人的WIFI热点即可直接控制此台机器人。

如图4所示的动作文件组成图:

所述动作文件包含N个动作帧,所述动作帧内包括动作ID号、当前帧号、是否跳过本帧、舵机运动时间、舵机等待时间、N个舵机的角度值、舵机灯效使能、头灯使能、音乐播放参数。动作帧的信息包括舵机的运动目的、灯效、音乐,一个完整的动作组往往被分解为数条甚至数百条动作帧,用户的编辑思路就是事先将所有的定格动作摆好,然后输入相对应的运动参数,所述舵机运动时间即舵机从一个角度运动到另一个角度的时间,整体对应于机器人从一个动作切换到下一个动作的时间,这个参数设置得越大,动作越缓慢而平滑,反之设置得越小,动作越迅捷而带有卡顿。

进一步地,这些动作帧组成的动作文件被保存入上位机内以及主板内,并被拟定唯一的ID号,当用户发起动作开始的命令后,机器人将提取对应ID的动作组,依次读取动作组内的动作帧信息,还原用户事先编辑的动作。

纯粹地运动而不带有输入反馈的机器人是没有灵魂的,机械死板的,为此系统添加有超声波传感器感知障碍距离,陀螺仪传感器感知空间方位,触摸传感器感知人体对机器人的触摸,PS2手柄接收器可以接收手柄控制信号,而如何将输入信息与输出反馈进行对应,传统方式直接用代码编写对应反馈完成的效果并不出色,不可编辑且在多条件输入下可能引发系统混乱,这就需要一个事件处理机制来由用户预先编辑反馈。

如图5所示的事件文件组成图:

所述事件文件包括系统闲置时与系统运动时两种情况下的事件文件,事件文件内包括触发条件、触发参数和动作参数;

所述触发条件包括单击、双击、三击或长按触摸条件,陀螺仪XYZ轴参数值,手柄按键值,电量信息,超声波距离值;

所述触发参数包括大于、等于、小于以及目标值;

所述动作参数包括播放动作N重复M次、停止动作、头灯亮灭、播放音乐ID、执行预设动作ID、舵机N在M毫秒移动Z度。

在上位机图形化界面下,用户只需拖动相应的条件控件和动作控件,输入条件参数,即可快速完成一个反馈的构建,将所有的反馈信息编辑为一个事件文件保存至主板中,主板内的事件处理程序将会根据事件文件提供的对应输入输出关系自动检测和反馈。

以上表明了本发明的逻辑架构组成,而实现方法最终需要通过程序代码,如图6所示的程序流程图:

所述程序控制方法包括步骤:

S1)读取配置文件,配置文件由上位机界面内预先设置保存,在上电运行时首先被加载读取来初始化某些关键的参数;

S2)初始化硬串口,硬件串口是用于连接上位机进行交互的,使用中间层协议进行通讯;

S3)初始化软串口,软串口的关键是用于驱动总线舵机,根据舵机性质不同可以初始化不同的波特率;

S4)舵机检测,检测硬件实际连接了哪些舵机,放置故障舵机或舵机位空置对动作控制过程产生的干扰;

S5)音乐模块初始化,初始化开机播放的音乐以及音量大小;

S6)网络初始化,根据配置文件中的设定,初始化为AP模式或STA模式;

S7)数据缓冲池写入串口或TCP或UDP通道数据,当硬件串口、TCP通道、UDP通道内有数据进来时,无条件地将数据加载到数据缓冲池内等待数据识别提取,数据不是第一时间被解释以防止漏帧导致错过某些重要指令;

S8)根据中间层协议进行数据检索,从数据缓冲池内顺序检索数据,当提取到有效数据时即运行相应的指令;

S9)动作控制,动作组的控制是循环执行的,按照动作帧号顺序提取对应帧的动作信息驱动舵机运行到指定位置,提取灯效信息设置灯的亮灭,提取音乐信息播放对应的音乐文件;

S10)事件控制,事件控制分为4个步骤,首先收集系统传感器数据,其次检查设定调节,然后判定动作组执行状态结合事件文件中条件是属于系统闲置时还是系统运动中来确定当前是否可以将动作组打断,最后执行对应条件下预设的动作,完成反馈;

S11)返回步骤S7)完成主循环。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

技术分类

06120112190791