当前位置: 首页 > 专利查询>江南大学专利>正文

一种基于Socket通信的无线遥控机器人系统设计方案技术方案

技术编号:27438710 阅读:21 留言:0更新日期:2021-02-25 03:37
本发明专利技术公开了一种基于Socket通信的无线遥控机器人系统设计方案,包括有机器人、云端服务器和客户端,本发明专利技术以Linux系统为开发平台,采用Python

【技术实现步骤摘要】
一种基于Socket通信的无线遥控机器人系统设计方案


[0001]本专利技术涉及智能机器人和物联网领域,特别涉及一种基于Socket通信的无线遥控机器人系统设计方案。

技术介绍

[0002]目前机器人的应用日益广泛,许多高校和研究机构都加入了对机器人的相关研究。而将物联网技术与机器人控制相融合则是业界的一个研究重点。目前业界较为出名的机器人控制系统ROS,虽然使用广泛,但其API编写非常复杂,主要用于复杂的多自由度机器人控制,对高校学生的学习研究并不友好。

技术实现思路

[0003]专利技术目的:本实用专利技术目的是提供一种可读性高,扩展性好的基于Socket通信的无线遥控机器人系统设计方案,能够将机器人融入到物联网系统中,简化工程师的开发流程,提高控制的快速性和稳定性,同时便于实现机器人的有限和无线调试。
[0004]技术方案:本专利技术所述的一种基于Socket通信的无线遥控机器人系统设计方案,包括有机器人、云端服务器和客户端;所述机器人硬件结构包括有外壳、Linux主控制器、微控制器、电源/通信变换板、空心杯直流电机、电机驱动器、机械臂、传感器和电源;所述机器人软件模块包括有底盘运动模块、传感器控制模块、机械臂控制模块、Socket网络通信模块;所述云端服务器包括一个ServerSocket包,所述ServerSocket包可独立运行,也可作为被调用的API;所述云端服务器启动后将启动三个子线程:主线程、机器人端处理线程和客户端处理线程;所述云端服务器上设置有机器人监听端口和客户端监听端口;所述客户端软件包含客户端通信协议包(ClientSocket)和远程键盘控制脚本(ClientRemoteControl);所述机器人、云端服务器和客户端之间的工作流程包括以下步骤:
[0005]S1:机器人、云端服务器和客户端通过云端服务器进行通信桥接,桥接后云端服务器与机器人之间、机器人与云端服务器之间、云端服务器与客户端之间以及客户端与云端服务器之间通过互相之间的通信报头来判断通信是否正常,通信不正常则尝试重新连接;
[0006]S2:机器人、云端服务器和客户端两两之间通信正常后云端服务器运行云端服务器脚本,对机器人和客户端进行双端监听状态,并判断机器人和客户端的连接状态,机器人或客户端任何一方未连接都无法进入控制流程,服务器会持续呼叫对应目标,直到与目标连接;
[0007]S3:在云端服务器与机器人、客户端均建立有效连接后,云端服务器接收客户端报文,报文解析有效后云端服务器会向客户端发送报头以告知报文解析成功;
[0008]S4:云端服务器读取解析有效的信息,重新合成对应报文发送给机器人,机器人解析报文成功后执行报文中指令并向服务器发送报文告知报文解析成功和机器人连接正常,完成一次云端控制,进入下一次通信流程。
[0009]作为优选,所述机器人中Linux主控制器和电源/通信变换板之间采用RS232接口通信,Linux主控制器和其他硬件结构之间统一采用UART-TTL通信。
[0010]作为优选,所述机器人中软件模块调用有电机驱动包(MotorDriver)、机器人姿态变换包(RobotSport)、通信协议包(RobotSocket)、有线控制调试脚本(KeyboardDirectControl)、无线控制调试脚本(RobotRemoteControl)。
[0011]作为优选,所述云端服务器中ServerSocket包中包括有基础服务器Socket收发API、机器人报文合成API、客户端报文合成API、机器人报文解析API和客户端报文解析API。
[0012]作为优选,所述云端服务器启动的三个子线程中,主线程用于输出机器人、客户端的连接状态和收发包的内容;机器人端处理线程用于实时检查机器人通信,并用于发送机器人报文,同时定义机器人端监听端口为9998,用户可查看空闲端口并修改监听端口;客户端处理线程用于实时检查客户端通信,并用于发送客户端报文,同时定义客户端监听端口为9999,用户可查看空闲端口并修改监听端口。
[0013]作为优选,所述客户端通信协议包(ClientSocket)中包含基础Socket通信方法、客户端报文合成和解析方法,可以独立运行,也可以作为API被调用;所述远程键盘控制脚本(ClientRemoteControl)中包含有基础键盘监听器API,可用于云端控制调试,也可用于用户开发。
[0014]作为优选,所述S1中云端服务器与机器人之间的标准通信报头为Robot_Msg;机器人与云端服务器之间的标准通信报头为ServerMsg;云端服务器与客户端之间的标准通信报头为ClientMsg;客户端与云端服务器之间的标准报头为ServerMsg。
[0015]作为优选,所述机器人、云端服务器和客户端报文解析的流程一致,包括有以下步骤:
[0016]S3.1:本机Socket接收报文,接收报文后判断报头是否正确,正确则反馈本机-目标报头,目标则在识别该报头后判断连接正常;
[0017]S3.2:本机接收报文结束后,本机将二进制报文进行utf-8解码转换成字符串式的报文;
[0018]S3.3:本机对字符串式报文进行解析,从变量中读取报文,首先判断报头,报头正确后判断模式,模式正确则将模式解析并存储,再判断动作是否正确,正确则将动作后对应参数解析并存储,最后判断报尾,若报尾正确则将解析状态标志位设为成功。
[0019]S3.4:本机解析过程中有一个环节出错则将解析状态标志位设为失败,防止主程序读取错误的指令和参数。
[0020]作为优选,所述S3.1中Socket接收均采用守护线程。
[0021]作为优选,所述机器人端软件部分、云服务器软件部分和客户端软件部分的控制程序选用Python语言编写。
[0022]有益效果:本专利技术通用过基于Python语言编写的控制程序,提供了一种可读性高,扩展性好的方案,便于机器人的有线和无线调试,同时通过机器人、云端服务器和客户端的互联互通,实现了机器人能够通过客户端进行控制,也可以通过调用云端服务器API来进行云端远程控制,达到一对多,多对多控制的效果。
附图说明
[0023]图1是本专利技术的总体系统结构;
[0024]图2是机器人端的硬件结构;
[0025]图3是本专利技术的软件结构;
[0026]图4是本专利技术的系统运行流程;
[0027]图5是本专利技术中报文解析流程;
[0028]图6是本专利技术通过SSH终端软件测试后的输出截图。
具体实施方式
[0029]下面将结合本专利技术实例中的附图,对本专利技术实例中的技术方案进行清楚完整地描述,本实例描述的仅是本专利技术的一部分实例不是全部的实例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。
[0030]如图1所示,为本专利技术的总体系统结构,包括有机器人、云端服务器和客户端,云端服务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Socket通信的无线遥控机器人系统设计方案,其特征在于:包括有机器人、云端服务器和客户端;所述机器人硬件结构包括有外壳、Linux主控制器、微控制器、电源/通信变换板、空心杯直流电机、电机驱动器、机械臂、传感器和电源;所述机器人软件模块包括有底盘运动模块、传感器控制模块、机械臂控制模块、Socket网络通信模块;所述云端服务器包括一个ServerSocket包,所述ServerSocket包可独立运行,也可作为被调用的API;所述云端服务器启动后将启动三个子线程:主线程、机器人端处理线程和客户端处理线程;所述云端服务器上设置有机器人监听端口和客户端监听端口;所述客户端软件包含客户端通信协议包(ClientSocket)和远程键盘控制脚本(ClientRemoteControl);所述机器人、云端服务器和客户端之间的工作流程包括以下步骤:S1:机器人、云端服务器和客户端通过云端服务器进行通信桥接,桥接后云端服务器与机器人之间、机器人与云端服务器之间、云端服务器与客户端之间以及客户端与云端服务器之间通过互相之间的通信报头来判断通信是否正常,通信不正常则尝试重新连接;S2:机器人、云端服务器和客户端两两之间通信正常后云端服务器运行云端服务器脚本,对机器人和客户端进行双端监听状态,并判断机器人和客户端的连接状态,机器人或客户端任何一方未连接都无法进入控制流程,服务器会持续呼叫对应目标,直到与目标连接;S3:在云端服务器与机器人、客户端均建立有效连接后,云端服务器接收客户端报文,报文解析有效后云端服务器会向客户端发送报头以告知报文解析成功;S4:云端服务器读取解析有效的信息,重新合成对应报文发送给机器人,机器人解析报文成功后执行报文中指令并向服务器发送报文告知报文解析成功和机器人连接正常,完成一次云端控制,进入下一次通信流程。2.根据权利要求1所述的一种基于Socket通信的无线遥控机器人系统设计方案,其特征在于:所述机器人中Linux主控制器和电源/通信变换板之间采用RS232接口通信,Linux主控制器和其他硬件结构之间统一采用UART-TTL通信。3.根据权利要求1所述的一种基于Socket通信的无线遥控机器人系统设计方案,其特征在于:所述机器人中软件模块调用有电机驱动包(MotorDriver)、机器人姿态变换包(RobotSport)、通信协议包(RobotSocket)、有线控制调试脚本(KeyboardDirectControl)、无线控制调试脚本(RobotRemoteControl)。4.根据权利要求1所述的一种基于Socket通信的无线遥控机器人系统设计方案,其特征在于:所述云端服务器中ServerSocket包中...

【专利技术属性】
技术研发人员:刘珏李祥宇张雷沈雨阳何浩
申请(专利权)人:江南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1