技术领域
本发明属于机器人技术领域,具体地涉及一种基于WebRTC的机器人远程通话系统。
背景技术
随着机器人技术的日益进步,机器人的智能控制技术得到了长足发展,在深空探测、深海探测、智能物流、自主导览等场景下都有着重要作用,但当前的机器人依然无法完全满足在复杂场景下的自主移动作业需求,为了更好的应对复杂场景,机器人一般会带有人工控制移动的功能。在人工控制机器人移动时,需要通与机器人进行实时音视频通话,进而根据实际情况来操作机器人。
目前机器人的实时音视频通话一般通过安装软件或者浏览器插件的方式进行,对于很多用户来说,插件的下载、软件的安装和更新是复杂且容易出现问题的。
发明内容
针对现有技术的不足,本发明提供了一种基于WebRTC的机器人远程通话系统。该远程通话系统的客户端可以在浏览器内与机器人进行音视频通话,通话异常中断后会自动重连;信令服务可以维护多组客户端与机器人的一对一通话,实时监测通话连接是否正常;机器人启动后即开始监听音视频通话连接,通话结束后会继续监听新的连接,通话时不依赖浏览器,并支持忙碌等待。
为实现本发明的目的,本发明采用如下技术方案:一种基于WebRTC的机器人远程通话系统,所述机器人远程通话系统包括:客户端、信令服务、消息服务和机器人,所述客户端和机器人均安装有摄像头、音响、麦克风、显示器,所述客户端使用支持WebRTC的浏览器通过信令服务与消息服务主动与机器人建立音视频通话,并且支持通话的断线自动重连;所述信令服务用于存储、转发客户端和机器人的消息,维护多组客户端与机器人的1对1映射关系;所述消息服务用于接收客户端发布的身份ID、信令服务地址等信息,供机器人订阅,支持MQTT和HTTP协议;所述机器人通过信令服务器和消息服务与客户端建立点对点连接,传输音视频流,播放视频和语音。
进一步地,所述信令服务通过WebSocket连接与客户端和机器人通信,当信令服务器与客户端和机器人任意一方的连接中断时,会自动断开与另一方的WebSocket连接,并清理保存的客户端与机器人信息及映射关系。
进一步地,所述客户端通过HTTP协议发布身份ID、信令服务地址信息到消息服务,机器人通过MQTT协议订阅客户端身份ID、信令服务地址信息。
进一步地,所述机器人使用Gstreamer的WebRTC插件,通过信令服务器和消息服务与客户端建立音视频通话;通话时不使用浏览器,通话界面可根据需要配置为隐藏或显示;当机器人正处于通话中时,新的通话请求会被拒绝。
与现有技术相比,本发明具有如下有益效果:
1.客户端可在浏览器上输入机器人编号与指定的机器人进行音视频通话,无需安装任何插件,在检查到通话因异常而中断时会自动与机器人进行重连。
2.信令服务支持多组客户端与机器人1对1音视频通话,可以通过与客户端及机器人之间的Websokcet连接监测通话是否已经结束。
3.引入消息服务后,客户端只需指定进行通话的机器人ID,消息服务就会向这个机器人发送建立通话连接所需的信息,消除了机器人IP频繁变化带来的麻烦。
4.机器人侧服务基于Gstreamer技术开发,遵从WebRTC协议规范与信令服务器进行通信,服务启动后持续监听音视频通话连接,在通话时不依赖浏览器,通话界面可根据需要进行显示或隐藏,通话忙碌时自动忽略新的连接请求,达到忙碌等待的效果。
综上,该机器人远程通话系统具有支持拨号呼叫、异常中断自动重连、忙碌等待、不完全依赖浏览器、机器人侧通话界面可配置的特点。
附图说明
图1为基于WebRTC的机器人远程通话系统的时序图。
具体实施方式
为了使本发明的目的变得更加明白,下面结合附图对本发明的做进一步的详细说明。
如图1,提供了本发明的时序图,从图中可以看出,所述机器人远程通话系统包括:客户端、信令服务、消息服务和机器人,所述客户端和机器人均安装有摄像头、音响、麦克风、显示器,可以使机器人与客户端之间进行音视频通话。所述客户端使用支持WebRTC的浏览器通过信令服务与消息服务主动与机器人建立音视频通话,无需安装任务浏览器插件,操作简单方便。所述客户端启动后会与消息服务建立Websocket连接,并通过连接向消息服务发送注册信息,并通过监测Websocket连接来判断通话是否结束;所述客户端在在建立通话后会实时监测通话状况,如果监测到通话因数据通道异常而中断,会自动尝试复用之前的通道进行通话重连,达到断线自动重连的效果;所述信令服务负责存储、转发客户端和机器人的消息,维护多组客户端与机器人的1对1映射关系。所述信令服务通过WebSocket连接与客户端和机器人通信,利用Websocket连接全双工的特性,当信令服务感知到与客户端和机器人任意一方的连接中断时,会自动断开与另一方的WebSocket连接,并清理保存的客户端与机器人信息及映射关系,起到自动清理数据的效果。所述消息服务支持消息发布、订阅功能,用于接收客户端发起的通话请求,让客户端发起通话连接时不需要事先知晓机器人的IP地址。所述机器人通过订阅消息服务的消息来达到监听通话连接的效果;所述机器人通过信令服务与客户端交换会话描述协议信息,并以此与客户端建立点对点视频通话;所述机器人使用Gstreamer技术进行开发,利用Gstreamer技术的图形化界面能力,去除了对浏览器的依赖,并可以根据需要对通话界面是否展示进行配置。
实施例1
在本发明的一个实施例中,客户端、信令服务、消息服务均部署在机房,机器人部署在turtleBot机器人的上位机中,四者处于同一个局域网,turtleBot机器人安装有罗技C270摄像头、Runpu麦克风音响一体设备;通过安装有普通USB摄像头、Runpu麦克风音响一体设备的本地电脑访问客户端界面,输入机器人编号后可以与turtleBot机器人建立音视频通话连接。
实施例2
在本发明的另一个实施例中,客户端、信令服务、消息服务均部署在机房,机器人部署在自研的导览机器人的上位机中,四者处于同一个局域网,导览机器人安装有MYNTEYE双目摄像头、内置麦克风及音响;通过安装有普通USB摄像头、Runpu麦克风音响一体设备的本地电脑访问客户端界面,输入导览机器人编号后可以与导览机器人建立音视频通话连接。
机译: 一种通信系统和方法,包括中心远程机器人遥控操作控制数据,用于不与第一移动远程机器人之间来回无线收发数据,以及间接与第二移动机器人Mobil之间来回无线收发数据,其中,第一和第二远程机器人C Omprenden接收器或至少一个收发器。
机译: 移动机器人,终端设备,移动机器人的远程控制系统以及一种能够实时检查移动机器人的状态并允许用户在远程站点中控制移动机器人的方法
机译: 机器人清洁器,一种远程监视系统和一种使用能够通过安装多个摄像头进行远程监视和识别位置的机器人清洁器的监视方法