一种机器人通信控制方法
技术领域
本发明涉及机器人通信技术领域,特别是涉及一种机器人通信控制方法。
背景技术
现有的机器人运动一般为人工远程遥控通信控制,通信方法具体可以是无线或有线。当机器人运用到拍摄中时,将摄像机或者其他拍摄器材置于可运动的机器人上,拍摄人员进行操作拍摄,多台机器人都要对应的多个拍摄人员,成本较高。并且,当多个拍摄人员距离较远时,人与人之间需要通过对讲机等通讯设备进行传话获得信息,然后拍摄人员才能控制机器人对应运动进行拍摄,效率低,出错率高。即使现有较为先进的机器人采用了串口通信技术进行通信控制拍摄流程,但因为串口通信的数据出错率高,导致机器人运动不到位,拍摄质量低。
发明内容
基于此,有必要针对机器人拍摄的通信数据容易出错的情况,提供一种机器人通信控制方法,能够解决传统拍摄过程中通信不稳定,出错率高的问题。
一种机器人通信控制方法,包括上位机,下位机和运动部件,所述上位机与所述下位机的通信包括以下步骤,
S1.1,所述上位机和所述下位机上电,所述上位机和所述下位机开始通信握手,所述上位机发送握手下行帧到下位机,所述下位机检验握手下行帧内的生命信号是否与其预设值相同,若是,所述上位机和所述下位机开始正常通信,若否,所述下位机回应随机数据组成的上行帧给所述上位机,重新握手;
S1.2,所述上位机和下位机完成通信握手后,在所述上位机发送的第一下行帧和所述下位机发送的第一上行帧中设置有校验算法;
S1.3,所述上位机和所述下位机之间的第一上行帧和第一下行帧内容包括帧头、地址码、协议控制码、生命信号、业务协议、校验码和帧尾,上位机和下位机通过校验算法分别校验第一上行帧和第一下行帧的校验码是否正确,若是,进入下一步,若否,上位机重新发送下行帧;
S1.4,上位机检验第一上行帧的生命信号与第一下行帧生命信号是否一致,若是,判定下位机工作正常;若否,上位机重新发送下行帧;
当上述步骤全部判定正常后,所述下位机将接收的第一下行帧数据按照RS485通信协议解析后按照地址码发送给对应的运动部件,所述下位机与所述运动部件的通信包括以下步骤,
S1.5,所述运动部件上电,所述下位机和所述运动部件通信握手;
S1.6,所述下位机发送的第二下行帧和运动部件发送的第二上行帧中设置有校验算法;
S1.7,所述下位机和所述运动部件之间的第二上行帧和第二下行帧内容包括帧头、地址码、协议控制码、业务协议、校验码和帧尾,下位机和运动部件通过校验算法分别校验第二上行帧和第二下行帧的校验码是否正确,若是,进入下一步,若否,下位机重新解析上位机发送的第一下行帧数据。
优选的,所述上位机和所述下位机进行通信握手的条件为,所述上位机重置;所述下位机重置;所述上位机检测到连续三次第一上行帧校验码异常;所述上位机检测到连续三次第一上行帧生命信号异常;所述下位机检测到连续三次第一下行帧校验码异常。
优选的,所述校验算法为CRC8算法。
优选的,所述校验码约定采用CRC8算法对帧头、地址码、协议控制码、生命信号、业务数据全部字节数据进行计算获得。
优选的,所述上位机为电脑控制端和中继器,所述电脑控制端通过所述中继器与所述下位机按照TCP/IP协议通信,所述下位机为HOST-C控制板,所述运动部件包括云台、云台升降装置和小车,所述云台通过所述云台升降装置与所述小车连接,所述HOST-C控制板与所述运动部件按照RS485协议通信。
优选的,所述上位机为AI超算平台和ROS控制板,所述AI超算平台发送控制指令给到所述ROS控制板,所述下位机为HOST-C控制板,所述HOST-C控制板与所述ROS控制板按照RS485协议通信,所述运动部件包括云台、云台升降装置和小车,所述云台通过所述云台升降装置与所述小车连接,所述HOST-C控制板与所述运动部件按照RS485协议通信。
优选的,所述ROS控制板上设置有WIFI模块。
优选的,所述HOST-C控制板与所述运动部件按照RS485进行通信的控制协议分为机器人运动控制协议和云台控制协议,所述机器人控制协议包括以下,
S8.11,HOST-C控制板和小车通信握手协议;
S8.12,重启协议;
S8.13,云台升降装置上升/下降/停止协议;
S8.14,小车直线前进,直线后退,前进左转,前进右转,后退左转,后退右转前进向左圆周,前进向右圆周,后退向左圆周,后退向右圆周,顺时针原地旋转,逆时针原地旋转,停止协议;
S8.15,选择模式协议;
S8.16,云台升降装置状态查询协议;
S8.17,小车协议查询协议;
S8.18,小车电量查询协议;
S8.19,云台对HOST-C控制板通信握手;
S8.20,设置云台地址协议;
S8.21:云台左右/俯仰/延时协议;
S8.22:云台位置实时查询协议;
S8.23:云台运动状态查询;
S8.24:云台双轴控制协议。
优选的,还包括灯光模块,所述灯光模块通过RS485接口与所述HOST-C控制板连接。
一种机器人通信控制方法,所述上位机和运动部件的通信包括以下步骤,
S10.1,所述上位机和所述运动部件上电,所述上位机和所述运动部件开始通信握手,所述上位机发送握手下行帧到运动部件,所述运动部件检验握手下行帧内的生命信号是否与其预设值相同,若是,所述上位机和所述运动部件开始正常通信,若否,所述运动部件回应随机数据组成的上行帧给所述上位机,重新握手;
S10.2,所述上位机和所述运动部件完成通信握手后,在所述上位机发送的第三下行帧和所述运动部件发送的第三上行帧中设置有校验算法;
S10.3,所述上位机和所述运动部件之间的第三上行帧和第三下行帧内容包括帧头、地址码、协议控制码、生命信号、业务协议、校验码和帧尾,所述上位机和所述运动部件通过校验算法分别校验第三上行帧和第三下行帧的校验码是否正确,若是,进入下一步,若否,上位机重新发送下行帧;
S10.4,上位机检验第三上行帧的生命信号与第三下行帧生命信号是否一致,若是,判定所述运动部件工作正常;若否,上位机重新发送下行帧。
本发明的有益之处在于:1、本发明的通信控制方法,上位机、下位机和运动部件之间采用串口通信,并在在通信数据中同时添加了校验码和生命信号,确保了上位机、下位机和运动部件之间的通信正常,降低通信数据的出错率,防止上位机和下位机之间的通信被第三方破解,导致数据信息泄露;2、本发明的上位机是由是人工操作的电脑控制端和/或机器人AI超算平台,可以实现机器人的双模式上位机控制,并且,在电脑控制端上能创建多个机器人操控客户端,一人同时操控多台机器人进行拍摄工作;或者由机器人的ROS控制板通过WIFI模块组网,能实现多台机器人联网拍摄,自动化程度高,降低人工成本。
附图说明
图1为其中一实施例一种机器人通信控制协议结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
一种机器人通信控制方法,包括上位机1,下位机2和运动部件3,所述上位机1与所述下位机2的通信包括以下步骤,
S1.1,所述上位机和所述下位机上电,所述上位机和所述下位机开始通信握手,所述上位机发送握手下行帧到下位机,所述下位机检验握手下行帧内的生命信号是否与其预设值相同,若是,所述上位机和所述下位机开始正常通信,若否,所述下位机回应随机数据组成的上行帧给所述上位机,重新握手。具体的,由上位机1发出握手请求,下位机2握手,如果上位机1发出3次错误请求,下位机2主动向上位机1请求握手。上位机1和下位机2的通信握手用于完成协议版本识别,以及协议破解混淆,在完成通信握手后,上位机1和下位机2开始通信业务。
S1.2,所述上位机1和下位机2完成通信握手后,所述上位机1发送的第一下行帧和所述下位机2发送的第一上行帧中设置有校验算法。具体的,校验算法为CRC8算法,因为上位机1和下位机2之间采用的是物理链路串口通信,数据可靠性低,所以在上位机1和下位机2通信过程中添加校验算法。下位机2接收上位机1发送的第一下行帧数据后,需要通过CRC8算法进行校验,确保接收到的数据正常,然后进行处理和数据反馈,并给上位机1回传一个第一上行帧,上位机1同理检验该上行帧。CRC8算法为现有技术,并且该算法的误码率在百万分之一,符合机器人拍摄场景使用需求。
S1.3,所述上位机1和所述下位机2之间的第一上行帧和第一下行帧内容包括帧头、地址码、协议控制码、生命信号、业务协议、校验码和帧尾,上位机1和下位机2通过校验算法分别校验第一上行帧和第一下行帧的校验码是否正确,若是,进入下一步,若否,上位机1重新发送第一下行帧。具体的,上位机1和下位机2之间的第一上行帧和第一下行帧为固定长度,共计16字节。具体内容参见下表1:
表1
帧头:约定帧头固定为0xFE。
地址码:用以标明运动部件地址。
协议控制码:控制协议族,用于控制智能电杆;查询协议族,用于查询通讯已发送的下行协议;设置协议族,用于做硬件设置相关;设置地址协议族,用于修改设备地址。所有的上、下行帧,解析的时候,需要先解析协议控制码,可以识别出是什么类型的数据,然后解析业务协议,就是在这个类型下,有哪些功能该如何执行。
生命信号:上位机定义的随机数。
业务协议具体内容参见下表2:
表2
校验码:约定采用CRC8算法对帧头+地址码+协议控制+生命信号+业务数据共计14个字节进行计算获得。
帧尾:约定帧尾固定为0xA5。
其中,约定无论是第一上行帧还是第一下行帧,上位机和/或下位机收到帧头或者帧尾不正确的数据帧后,直接丢弃。
S1.4,上位机1检验第一上行帧的生命信号与第一下行帧生命信号是否一致,若是,判定下位机2工作正常;若否,上位机1重新发送下行帧。具体的,生命信号是由上位机1定义的一个随机数,并且上位机1和下位机2之间的通信采用一问一答方式,下位机2在收到第一下行帧后,需要应答带有同样生命信号的第一上行帧,上位机1接收到上行帧后,需要检验第一上行帧内的生命信号是否和发送的第一下行帧内的生命信号一致。进而降低上位机和下位机通讯被破解的可能性,还可实时对下位机异常状态监测。
当上述步骤全部判定正常后,所述下位机2将接收的下行帧数据按照RS485通信协议解析后按照地址码发送给对应的运动部件3,所述下位机2与所述运动部件3的通信包括以下步骤,
S1.5,所述运动部件3上电,所述下位机2和所述运动部件3通信握手。具体的,下位机2和运动部件3的握手机制与上位机1和下位机2的握手机制一样,但是因为握手对象不同,因此握手协议中的地址不一样,每个设备有唯一的地址。
S1.6,所述下位机2发送的第二下行帧和运动部件3发送的第二上行帧中设置有校验算法。与上位机1和下位机2之间通信的校验算法一致。
S1.7,所述下位机2和所述运动部件3之间的第二上行帧和第二下行帧内容包括帧头、地址码、协议控制码、业务协议、校验码和帧尾,下位机2和运动部件3通过校验算法分别校验第二上行帧和第二下行帧的校验码是否正确,若是,进入下一步,若否,下位机2重新解析上位机1发送的第一下行帧数据。具体的,下位机2按照RS485协议解析从上位机1收到的第一下行帧,并按照解析出来的地址码将对应的第二下行帧的业务协议内容分配给对应的运动部件3,运动部件3按照第二下行帧中的业务协议进行功能运动。
具体的,所述上位机1和所述下位机2进行通信握手的条件为,所述上位机1重置;所述下位机2重置;所述上位机1检测到连续三次第一上行帧校验码异常;所述上位机1检测到连续三次第一上行帧生命信号异常;所述下位机检测到连续三次第一下行帧校验码异常。另外,约定下位机2一旦收到上位机1的通讯握手指令,必须停止所有的业务,恢复初始状态,包括下位机2控制运动部件3各个部件返回到初始位置,以及TCP服务重置等。
如图1所示,所述上位机1为电脑控制端11和中继器12,所述电脑控制端11通过所述中继器12与所述下位机2按照TCP/IP协议通信,所述下位机2为HOST-C控制板,所述运动部件3包括云台31、云台升降装置32和小车33,所述云台31通过所述云台升降装置32与所述小车33连接,所述HOST-C控制板2与所述运动部件3按照RS485协议通信。具体的,工作人员在远程使用电脑控制端11和HOST-C控制板按照TCP/IP协议通信,HOST-C控制板2按照RS485协议将电脑控制端11发送的控制指令进行解析,控制运动部件3运动拍摄,其中,拍摄装置,如摄像机,安装在所述云台31上,可以想到的是,摄像机可以随着云台31自由旋转,当云台升降杆32运动时,摄像机可以随之上下升降,当小车33运动时,摄像机可以在水平面位移。进一步的,所述运动部件3内还可以设置智能变焦环34,智能变焦环34能在HOST-C控制板2的控制下调节摄像机的焦距,对拍摄对象特征部位进行拍摄,丰富视频内容。并且,为了实现远距离控制拍摄,提高拍摄时的通信质量,在电脑控制端11和2之间设置有中继器12,确保电脑控制端11和HOST-C控制板2通信良好,并扩大通信距离,避免远距离通信时导致信号发生衰减。进一步的,还可以在电脑控制端11内设置多个管理客户端,一台电脑控制端11可以同时操控多台机器人,当多台设备在不同位置同时拍摄一个被摄物的时候,自然就丰富了视频效果,达到电影级视频效果。
如图1所示,所述上位机1为AI超算平台13和ROS控制板14,所述AI超算平台13发送控制指令给到所述ROS控制板14,所述下位机2为HOST-C控制板,所述HOST-C控制板2与所述ROS控制板14按照RS485协议通信,所述运动部件3包括云台31、云台升降装置32和小车33,所述云台31通过所述云台升降装置32与所述小车33连接,所述HOST-C控制板2与所述运动部件3按照RS485协议通信。具体的,AI超算平台13能够通过机器人的“眼睛”,如摄像机,识别被拍摄物体及其运动路径,进而将跟踪拍摄指令通过USB串口给到ROS控制板14,ROS控制板14将该指令按照COM协议或者TCP/IP协议发送给HOST-C控制板2,具体由HOST-C控制板2控制机器人的运动部件,云台31,云台升降装置32和小车33按照指令运动,实现机器人自动化追踪拍摄。另外,HOST-C控制板2还可以控制智能变焦环34调节摄像机镜头的焦距,丰富了视频内容。
如图1所示,所述ROS控制板14上设置有WIFI模块141。具体的,通过在ROS控制板14上设置WIFI模块141,机器人可以在自动状态下实现联网运动工作,无需人工参与即可联网控制拍摄。
具体的,所述HOST-C控制板2与所述运动部件3按照RS485进行通信的控制协议分为机器人运动控制协议和云台控制协议,所述机器人控制协议包括以下,
S8.11,HOST-C控制板和小车通信握手协议;
S8.12,重启协议;
S8.13,云台升降装置上升/下降/停止协议;
S8.14,小车直线前进,直线后退,前进左转,前进右转,后退左转,后退右转前进向左圆周,前进向右圆周,后退向左圆周,后退向右圆周,顺时针原地旋转,逆时针原地旋转,停止协议;
S8.15,选择模式协议;
S8.16,云台升降装置状态查询协议;
S8.17,小车协议查询协议;
S8.18,小车电量查询协议。
具体的,所述云台控制协议包括以下,
S8.19,云台31对HOST-C控制板2通信握手;
S8.20,设置云台地址协议;
S8.21:云台左右/俯仰/延时协议;
S8.22:云台位置实时查询协议;
S8.23:云台运动状态查询;
S8.24:云台双轴控制协议。
具体上述协议为HOST-C控制板2根据上位机1发送的控制指令解析出来的业务协议内容,并根据协议控制码发送给对应的运动部件3,控制运动部件3按照指令运动,或者查询对应运动部件3实时状态。
如图1所示,还包括灯光模块4,所述灯光模块4通过RS485接口与所述HOST-C控制板2连接。具体的,灯光模块4安装在小车33上,所述HOST-C控制板2根据上位机1的控制指令控制灯光模块4的开闭以及亮度,用于在拍摄时为拍摄对象在光线不足时用灯光模块4补光。
如图1所示,具体在另一实施例当中,上位机1还可以直接通过RS485接口与运动部件3连接,控制运动部件3运动。所述上位机1和运动部件3的通信包括以下步骤,S10.1,所述上位机1和所述运动部件3上电,所述上位机1和所述运动部件3开始通信握手,所述上位机1发送握手下行帧到运动部件3,所述运动部件3检验握手下行帧内的生命信号是否与其预设值相同,若是,所述上位机1和所述运动部件3开始正常通信,若否,所述运动部件3回应随机数据组成的上行帧给所述上位机1,重新握手;
S10.2,所述上位机1和所述运动部件3完成通信握手后,在所述上位机1发送的第三下行帧和所述运动部件3发送的第三上行帧中设置有校验算法;
S10.3,所述上位机1和所述运动部件3之间的第三上行帧和第三下行帧内容包括帧头、地址码、协议控制码、生命信号、业务协议、校验码和帧尾,所述上位机1和所述运动部件3通过校验算法分别校验第三上行帧和第三下行帧的校验码是否正确,若是,进入下一步,若否,上位机重新发送下行帧;
S10.4,所述上位机1检验第三上行帧的生命信号与第三下行帧生命信号是否一致,若是,判定所述运动部件3工作正常;若否,上位机1重新发送下行帧。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。