本发明涉及机器人控制技术领域,特别涉及一种基于web网页的云机器人控制系统及实现方法。
背景技术:
近年来,随着云计算的提出和应用,云机器人系统应运而生。比如,在专利文件cn101973031a中公开了一种云机器人系统及实现方法,该系统包括云计算平台以及至少一个机器人,其中云平台用于接收各机器人发送的运行信息,包括该机器人数据、状态以及请求,并将处理后的数据、状态以及相应的控制指令回馈给相应的机器人;机器人则将其运行信息发送至云计算平台,并接收来自云计算平台的处理结果,根据云计算平台的控制指令运行自身动作。
然而,目前的机器人系统,主要还是以近端工控机等作为机器人的“大脑”进行运算和数据储存的,虽然能够借助云计算平台节省机器人的大脑成本,但又会增加机器人自身的硬件成本,使得机器人体型较大而控制不够灵活。另外,系统缺少客户端的设计,用户无法直接与云机器人系统进行交互控制,进而影响系统的可拓展性与功能多样性,难以自主地实现复杂动作,因此无法很好地应用于实际工作中,这无疑造成了资源的浪费。
internet技术的发展促进了web应用的发展,web应用技术与机器人控制的结合越来越密切,然而,目前的web应用主要还是用于信息、图片、视频等的交换,与机器人系统的结合并不够多,且也常常因为服务器处理效率低、网络拥挤或控制动作过于简单等各种原因,也很难真正地应用于生产工作中。
技术实现要素:
本发明的第一目的在于克服现有技术的缺点与不足,提供一种基于web网页的云机器人控制系统,该系统可以高效灵活地实现更加复杂的机器人控制。
本发明的第二目的在于提供一种基于web网页的云机器人控制实现方法。
本发明的第一目的通过下述技术方案实现:一种基于web网页的云机器人控制系统,包括机器人端、用户端和云端,用户端通过云端连接机器人端,其中,
机器人端包含多类机器执行设备,每个机器执行设备包括主控器和分别连接主控器的传感器、第一网络通讯器以及执行器,第一网络通讯器连接云端,不同第一网络通讯器相互连接并共同组成自组织网络;传感器用于采集执行器运动信息和周围环境信息,并将这些信息发送给主控器,主控器通过第一网络通讯器将执行器运动信息和周围环境信息上传至云端;
用户端包括语音采集模块、人体信息采集模块和第二网络通讯器,第二网络通讯器连接云端,语音采集模块用于采集用户的语音信号,人体信息采集模块用于采集用户的人体信号;
用户端具有可选择机器人端控制模式、所要控制的目标机器执行设备以及输入控制指令的web网页,控制模式包括语音控制模式、人体信号控制模式和网页控制模式;web网页用于通过第二网络通讯器从云端获取并显示执行器运动信息和周围环境信息,将机器人端控制模式、目标机器执行设备、输入的控制指令、语音信号及人体信号发送给云端;
云端用于将web网页输入的控制指令处理成机器执行设备可识别的控制指令,用于在语音控制模式下根据语音信号生成相应的控制指令,在人体信号控制模式下根据人体信号生成相应的控制指令,并将用户选择的机器人端控制模式和目标机器执行设备、处理后的web网页输入的控制指令和生成的控制指令、语音信号、人体信号、机器人端的执行器运动信息以及周围环境信息进行存储;
云端通过第一网络通讯器将控制指令发送给主控器,主控器用于根据控制指令控制执行器的工作状态。
优选的,机器执行设备包括无人机、移动机器人、机械臂,用户端包括智能手机和电脑,web网页包括手机端web网页和pc端web网页。
优选的,传感器包括但不限于摄像头、距离传感器和陀螺仪;执行器包括但不限于电机、舵机、抓手、吸盘、轮胎;主控器包括但不限于工控机、arduino、rasberrypi。
优选的,人体信息采集模块包括但不限于肢体信号采集模块、生理信号采集模块,其中,肢体信号采集模块包括但不限于姿态传感器、力度传感器;生理信号采集模块包括但不限于脑电信号传感器、肌电信号传感器。
优选的,云端包括远程云和本地云,其中,远程云为云服务器和云数据库,远程云通过广域网与机器人端及用户端进行连接;本地云为近端软件设备,本地云通过本地局域网与机器人端及用户端进行连接。
更进一步的,近端软件设备包括近端处理器以及近端数据库。
优选的,第一网络通讯器与云端之间、第二网络通讯器与云端之间均通过网络传输协议传输数据,网络传输协议包括实时无线多跳协议。
优选的,云端存储有包括人工神经网络、slam、深度学习的机器算法,云端采用机器算法生成控制指令。
本发明的第二目的通过下述技术方案实现:一种基于web网页的云机器人控制实现方法,所述方法应用于本发明第一目的所述的基于web网页的云机器人控制系统,包括如下步骤:
s1、用户在用户端浏览器中输入web网页url,获得web网页资源,进入web网页页面;
s2、用户在web网页页面进行账号注册和登录,在注册时,用户的账号和密码通过第一网络通讯器发送到云端进行存储;用户登录后,系统在云端检索用户信息,若符合,则登录成功,若不符合,则失败,需重新登录或者注册新账号再重新登录;
s3、登录成功后,用户在web网页页面选择控制模式,并根据不同控制模式进入相应控制页面,控制模式包括语音控制模式、人体信号控制模式和网页控制模式;
接着用户在控制页面选择所要控制的机器执行设备,此时云端主动为web网页提供所选机器执行设备的执行器运动信息和周围环境信息,web网页将这些信息进行显示;
s4、若进入网页控制模式,则用户在web网页输入控制指令,该控制指令通过第二网络通讯器发送给云端,云端处理控制指令并通过第一网络通讯器将处理后的控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现;
若进入语音控制模式,则用户通过web网页上的语音输入按钮和语音采集模块进行语音信息的录入,云端通过第二网络通讯器获取语音信号并将其转化成相应的控制指令,云端通过第一网络通讯器将控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现;
若进入人体信号控制模式,则用户通过人体信息采集模块获取人体信号,云端通过第二网络通讯器获取人体信号并将其转化成相应的控制指令,云端通过第一网络通讯器将控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现;
在上述过程中,不同机器执行设备之间通过自组织网进行数据共享,云端自动记录控制日志并进行存储;
s5、控制完成后,断开web网页与云端的网络连接,退出web网页。
优选的,用户在web网页输入控制指令,包括选择web网页中设定的功能和动作,以及手动输入机器执行设备的关节角度和四元点数据;
云端将语音信号转化成相应的控制指令,具体为:用户端先将语音信号转换为文字信息,然后云端根据文字信息获知用户的控制意图,将用户的控制意图与云端存储的已有动作进行配对,从而确定出具体控制方法和数据,最后将控制方法和数据发送给机器人端进行执行;
云端存储的已有动作包括web网页提供的设定动作、已执行的历史动作,以及云端自己重新设计的新的复杂动作。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明将web应用与云机器人系统相结合,以web网页作为人机交互和云端交互平台,可以为用户提供与群机器人的交互,统筹云机器人系统的控制及交互,完善云端的算法,云端可以为机器人端完成大部分复杂计算和提供强大的数据储存功能,增强机器人控制系统的运算能力,提高资源利用率。另外,本发明可选择语音、网页和人体信号控制机器人端,控制方式非常灵活。
(2)由于网页应用开发简单,具有易开发性和可更新性,因此本发明可以根据云机器人种类及云端设备的更新而不断更新自身的应用,维护简单。
(3)本发明提供远程云、本地云、机器人自组织云三种云端模式,可以根据实际系统需要进行自主选择,云端可以进行资源的调配,满足各云机器人的需求,减少资源的浪费,同时也可以将原本传统机器人置于机器人端的计算卸载到云端,降低机器人端的负担以及搭建机器人的成本,提高资源利用率。
(4)本发明搭建机器人自组织云,基于自组织云,机器执行设备间可以做到数据共享,共享内容包括传感器信息及机器人控制过程、机器人协作轨迹,实现r2r模式。除此之外,机器人端通过第一网络通讯器接收来自云端的控制指令的同时,也会将自身的状态信息反馈回云端,实现r2c模式。
(5)本发明云端存储有多种机器算法,可在语音控制或人体信号控制情况下选择相应机器算法生成更合理有效的控制指令,有利于提高控制的精确度和复杂度。
附图说明
图1是本发明基于web网页的云机器人控制系统的结构框图。
图2是语音采集模块、人体信息采集模块、web网页与各类机器执行设备的连接示意图。
图3是本发明基于web网页的云机器人控制实现方法的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本发明将云端应用与机器人系统相结合,再配合上web技术,实现高运算能力、高存储能力、高效率、操作简单、可交互的云机器人控制系统。
实施例
本实施例公开了一种基于web网页的云机器人控制系统,如图1和图2所示,包括机器人端1、用户端2和云端3,用户端通过云端连接机器人端。
其中,机器人端包含多类机器执行设备,例如无人机、移动机器人、机械臂等,本实施例的机器执行设备均基于ros系统开发而成。每个机器执行设备由主控器、传感器、第一网络通讯器以及执行器等硬件资源组成。
第一网络通讯器连接主控器和云端,第一网络通讯器与云端之间通过网络传输协议传输数据,网络传输协议包括实时无线多跳协议。不同第一网络通讯器相互连接并共同组成自组织网络(即机器人自组织云),自组织网络是由系统中多个机器执行设备内部形成的云计算资源,可以让自身或者其他机器执行设备共同获取机器人端计算和存储资源,实现数据共享,充分利用机器人端资源,实现机器人协作等高级应用。自组织网络内部可视不同情况采用不同通讯方法。
传感器和执行器分别连接主控器,传感器用于采集执行器运动信息和周围环境信息,并将这些信息发送给主控器,主控器通过第一网络通讯器将执行器运动信息和周围环境信息上传至云端。在本实施例中,传感器包括但不限于摄像头、距离传感器和陀螺仪。执行器包括但不限于电机、舵机、抓手、吸盘、轮胎。主控器包括但不限于工控机、arduino、rasberrypi。
用户端包括语音采集模块、人体信息采集模块和第二网络通讯器,第二网络通讯器连接云端,两者之间通过网络传输协议传输数据,网络传输协议包括实时无线多跳协议。语音采集模块用于采集用户的语音信号,人体信息采集模块用于采集用户的人体信号。
本实施例的用户端包括智能手机和电脑,语音采集模块可采用麦克风。人体信息采集模块包括但不限于肢体信号采集模块、生理信号采集模块,具体来说,肢体信号采集模块包括但不限于姿态传感器、力度传感器;生理信号采集模块包括但不限于脑电信号传感器、肌电信号传感器。其中,麦克风和姿态传感器、力度传感器可采用手机/电脑自带的元件。
用户端提供有web网页,web网页是用户与云端及机器人端进行交互的gui页面,web网页可以是手机端web网页,也可以是pc端web网页。web网页设有相应的控件,可用来选择机器人端控制模式、所要控制的目标机器执行设备以及输入控制指令,控制模式包括语音控制模式、人体信号控制模式和网页控制模式。
web网页还用于通过第二网络通讯器从云端获取并显示执行器运动信息和周围环境信息,例如本实施例是在网页上以html形式展示距离传感器实时检测的执行器与周围障碍物的距离、陀螺仪检测的角速度等运动信息和摄像头实时拍摄的周围环境图像/视频,用户可以在用户端查看,由此可以更好地了解机器执行设备状态,优化控制效果。另外,用户还可以通过web网页将新的算法上传至云端来完善云端的计算能力。
web网页通过第二网络通讯器将机器人端控制模式、所选的目标机器执行设备、输入的控制指令、语音信号及人体信号发送给云端。
本实施例具体是使用jsp技术结合css对web网页进行布局设计,通过javaservlet技术完成web网页的通讯及逻辑运算功能。
云端用于将web网页输入的控制指令处理成机器执行设备可识别的控制指令,用于在语音控制模式下根据语音信号生成相应的控制指令,在人体信号控制模式下根据人体信号生成相应的控制指令,并将用户选择的机器人端控制模式和目标机器执行设备、处理后的web网页输入的控制指令和生成的控制指令、语音信号、人体信号、机器人端的执行器运动信息以及周围环境信息进行存储。
云端还存储有机器算法例如人工神经网络、slam、深度学习算法,云端可以配合网页的指令来调用这些算法,采用机器算法生成更合理高效的控制指令,更好地完成机器人端控制如自主导航、抓取等。
云端通过第一网络通讯器将控制指令发送给主控器,主控器用于根据控制指令控制执行器的工作状态,从而完成相应的动作。
这里,云端可以记录下用户的一系列控制过程和机器人的运动轨迹,将其存入云端数据库中,由用户输入名称及控制指令等信息,之后在用户为该动作所选择的控制模式中如语音控制或人体信号控制等模式中,将该动作复现出来。
在本实施例中,云端包括远程云和本地云。远程云即远程云资源,远程云是借助已有的计算能力超强的云服务器和超大存储空间的云数据库来实现的,远程云通过广域网与机器人端及用户端进行连接。本地云与远程云不同之处在于资源存放在近端软件设备中,由机器人端与用户端附近的拥有较强计算能力和存储能力的设备通过本地局域网与机器人端及用户端进行连接,近端软件设备包括近端处理器以及近端数据库。
本实施例采用本地云作为备用,与远程云相辅相成,采用两种类型云端可以提高系统稳定性,也缓解各云端网络的拥塞,故可以更好地为机器人控制系统提供服务。传统机器人控制系统需要在机器人端完成运算和存储,而本实施例可以将运算和存储卸载到云端完成,减少机器人端成本,也为机器人的小型化提供了有力的条件。
本实施例还公开了一种基于web网页的云机器人控制实现方法,所述方法应用于上述基于web网页的云机器人控制系统,如图3所示,包括如下步骤:
s1、用户在用户端浏览器中输入web网页url,获得web网页资源,进入web网页页面。
s2、用户在web网页页面进行账号注册和登录,在注册时,用户的账号和密码通过第一网络通讯器发送到云端进行存储;用户登录后,系统在云端检索用户信息,若符合,则登录成功,若不符合,则失败,需重新登录或者注册新账号再重新登录。
s3、登录成功后,用户在web网页页面选择控制模式,并根据不同控制模式进入相应控制页面,控制模式包括语音控制模式、人体信号控制模式和网页控制模式,在各控制页面中可切换到其他控制页面;
接着用户在控制页面选择所要控制的机器执行设备,此时云端主动为web网页提供所选机器执行设备的执行器运动信息和周围环境信息,web网页将这些信息进行显示。
s4、(1)若进入网页控制模式,则用户在web网页输入控制指令,具体可以是选择web网页中设定的功能和动作,也可以是手动输入机器执行设备的关节角度和四元点数据;该控制指令通过第二网络通讯器发送给云端,云端处理控制指令并通过第一网络通讯器将处理后的控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现。
另外,用户还可以通过web网页和云端强大的运算能力设计新的复杂的动作,并可将新动作记录入云端,新动作可作为网页上的动作按键选项,也可提供给其他控制模式(语音控制模式、人体信号控制模式)使用。
(2)若进入语音控制模式,则用户通过web网页上的语音输入按钮和语音采集模块进行语音信息的录入,云端通过第二网络通讯器获取语音信号并将其转化成相应的控制指令,云端通过第一网络通讯器将控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现。
这里,云端将语音信号转化成相应的控制指令,具体为:用户端先将语音信号转换为文字信息,这样可以减少web网页和云端之间的数据传输量,缩减时延,提高传输效率。然后云端根据文字信息获知用户的控制意图,将用户的控制意图与云端存储的已有动作进行配对,从而确定出具体控制方法和数据,最后将控制方法和数据发送给机器人端进行执行。云端存储的已有动作包括web网页提供的设定动作、已执行的历史动作,以及云端利用自己强大的运算能力重新设计的新的复杂动作。
(3)若进入人体信号控制模式,则用户通过人体信息采集模块获取人体信号,云端通过第二网络通讯器获取人体信号并将其转化成相应的控制指令,云端通过第一网络通讯器将控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现。
在上述过程中,不同机器执行设备之间通过自组织网进行数据共享,例如,通过自组织网络将控制指令与自组织网络中其他机器执行设备进行共享,利用自组织网络的计算能力生成相搭配的其他机器执行设备控制指令,使其他机器执行设备也能接收控制指令并开始做相应的运动,从而可以达到多机器人协作的效果。云端自动记录控制日志并进行存储。
s5、控制完成后,断开web网页与云端的网络连接,退出web网页。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
1.一种基于web网页的云机器人控制系统,其特征在于,包括机器人端、用户端和云端,用户端通过云端连接机器人端,其中,
机器人端包含多类机器执行设备,每个机器执行设备包括主控器和分别连接主控器的传感器、第一网络通讯器以及执行器,第一网络通讯器连接云端,不同第一网络通讯器相互连接并共同组成自组织网络;传感器用于采集执行器运动信息和周围环境信息,并将这些信息发送给主控器,主控器通过第一网络通讯器将执行器运动信息和周围环境信息上传至云端;
用户端包括语音采集模块、人体信息采集模块和第二网络通讯器,第二网络通讯器连接云端,语音采集模块用于采集用户的语音信号,人体信息采集模块用于采集用户的人体信号;
用户端具有可选择机器人端控制模式、所要控制的目标机器执行设备以及输入控制指令的web网页,控制模式包括语音控制模式、人体信号控制模式和网页控制模式;web网页用于通过第二网络通讯器从云端获取并显示执行器运动信息和周围环境信息,将机器人端控制模式、目标机器执行设备、输入的控制指令、语音信号及人体信号发送给云端;
云端用于将web网页输入的控制指令处理成机器执行设备可识别的控制指令,用于在语音控制模式下根据语音信号生成相应的控制指令,在人体信号控制模式下根据人体信号生成相应的控制指令,并将用户选择的机器人端控制模式和目标机器执行设备、处理后的web网页输入的控制指令和生成的控制指令、语音信号、人体信号、机器人端的执行器运动信息以及周围环境信息进行存储;
云端通过第一网络通讯器将控制指令发送给主控器,主控器用于根据控制指令控制执行器的工作状态。
2.根据权利要求1所述的基于web网页的云机器人控制系统,其特征在于,机器执行设备包括无人机、移动机器人、机械臂,用户端包括智能手机和电脑,web网页包括手机端web网页和pc端web网页。
3.根据权利要求1所述的基于web网页的云机器人控制系统,其特征在于,传感器包括但不限于摄像头、距离传感器和陀螺仪;执行器包括但不限于电机、舵机、抓手、吸盘、轮胎;主控器包括但不限于工控机、arduino、rasberrypi。
4.根据权利要求1所述的基于web网页的云机器人控制系统,其特征在于,人体信息采集模块包括但不限于肢体信号采集模块、生理信号采集模块,其中,肢体信号采集模块包括但不限于姿态传感器、力度传感器;生理信号采集模块包括但不限于脑电信号传感器、肌电信号传感器。
5.根据权利要求1所述的基于web网页的云机器人控制系统,其特征在于,云端包括远程云和本地云,其中,远程云为云服务器和云数据库,远程云通过广域网与机器人端及用户端进行连接;本地云为近端软件设备,本地云通过本地局域网与机器人端及用户端进行连接。
6.根据权利要求5所述的基于web网页的云机器人控制系统,其特征在于,近端软件设备包括近端处理器以及近端数据库。
7.根据权利要求1所述的基于web网页的云机器人控制系统,其特征在于,第一网络通讯器与云端之间、第二网络通讯器与云端之间均通过网络传输协议传输数据,网络传输协议包括实时无线多跳协议。
8.根据权利要求1所述的基于web网页的云机器人控制系统,其特征在于,云端存储有包括人工神经网络、slam、深度学习的机器算法,云端采用机器算法生成控制指令。
9.一种基于web网页的云机器人控制实现方法,其特征在于,所述方法应用于权利要求1~8中任一项所述的基于web网页的云机器人控制系统,包括如下步骤:
s1、用户在用户端浏览器中输入web网页url,获得web网页资源,进入web网页页面;
s2、用户在web网页页面进行账号注册和登录,在注册时,用户的账号和密码通过第一网络通讯器发送到云端进行存储;用户登录后,系统在云端检索用户信息,若符合,则登录成功,若不符合,则失败,需重新登录或者注册新账号再重新登录;
s3、登录成功后,用户在web网页页面选择控制模式,并根据不同控制模式进入相应控制页面,控制模式包括语音控制模式、人体信号控制模式和网页控制模式;
接着用户在控制页面选择所要控制的机器执行设备,此时云端主动为web网页提供所选机器执行设备的执行器运动信息和周围环境信息,web网页将这些信息进行显示;
s4、若进入网页控制模式,则用户在web网页输入控制指令,该控制指令通过第二网络通讯器发送给云端,云端处理控制指令并通过第一网络通讯器将处理后的控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现;
若进入语音控制模式,则用户通过web网页上的语音输入按钮和语音采集模块进行语音信息的录入,云端通过第二网络通讯器获取语音信号并将其转化成相应的控制指令,云端通过第一网络通讯器将控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现;
若进入人体信号控制模式,则用户通过人体信息采集模块获取人体信号,云端通过第二网络通讯器获取人体信号并将其转化成相应的控制指令,云端通过第一网络通讯器将控制指令发送给所选的机器执行设备,所选的机器执行设备根据控制指令进行动作复现;
在上述过程中,不同机器执行设备之间通过自组织网进行数据共享,云端自动记录控制日志并进行存储;
s5、控制完成后,断开web网页与云端的网络连接,退出web网页。
10.根据权利要求9所述基于web网页的云机器人控制实现方法,其特征在于,用户在web网页输入控制指令,包括选择web网页中设定的功能和动作,以及手动输入机器执行设备的关节角度和四元点数据;
云端将语音信号转化成相应的控制指令,具体为:用户端先将语音信号转换为文字信息,然后云端根据文字信息获知用户的控制意图,将用户的控制意图与云端存储的已有动作进行配对,从而确定出具体控制方法和数据,最后将控制方法和数据发送给机器人端进行执行;
云端存储的已有动作包括web网页提供的设定动作、已执行的历史动作,以及云端自己重新设计的新的复杂动作。
技术总结