一种机器人设置交通规则的系统、方法及存储介质
技术领域
本发明涉及机器人控制技术领域,尤其涉及一种机器人设置交通规则的系统、方法及存储介质。
背景技术
机器人根据传感器实时感知环境,并通过路径算法规划行驶路径。
但是,机器人在实际工作时,多台机器人或者行人、叉车等同时在同一区域运行时,由于混行、逆行等情况容易引发交通堵塞或事故,而实际运行环境一般没有交通管理设备,比如隔离带、护栏等,如果增加交通管理设备,会导致成本增加,并且影响行人、叉车等通行。而现有技术中,针对此类复杂情况没有提供如何制定交通规则的方案。
有鉴于此,特提出本发明。
发明内容
针对上述现有技术中存在的技术问题,本申请的目的在于提供一种机器人设置交通规则的系统、方法及存储介质。
为实现本发明的目的,本发明提出如下技术解决方案:
第一方面,本发明实施例提供了一种机器人设置交通规则的系统,包括:机器人、操作终端,所述机器人和所述操作终端通讯,所述操作终端读取所述机器人的地图信息,通过所述操作终端在地图上需要设置交通规则的区域设定车道区域及车道分界线,将所述车道区域及车道分界线信息发送给所述机器人,
所述机器人还包括车道管理模块和路径规划模块,所述车道管理模块根据机器人中心与车道分界线上的点的位置关系划分车道方向,将所述车道分界线及车道分界线两侧的车道区域边界线设置为被占用格栅,并划定逆行方向分界线,设置为被占用格栅,形成障碍图层,所述路径规划模块接受障碍图层信息,不会规划路径至被占用格栅,使所述机器人按照车道方向行驶,不会逆行。
进一步地,所述机器人还包括处理器、存储器,所述存储器中存储上述系统的程序、数据,所述处理器处理或运行上述系统的程序、数据。
进一步地,所述操作终端包括安装了应用程序的电脑、平板电脑、智能手机等可与所述机器人通讯或连接的设备。
第二方面,本发明实施例还提供了一种机器人设置交通规则的方法,包括以下步骤:
通过操作终端在地图上需要设置交通规则的区域设定车道区域及车道分界线,将所述车道区域及车道分界线信息发送给机器人,车道管理模块根据机器人中心与车道分界线上的点的位置关系划分车道方向,将所述车道分界线及车道分界线两侧的车道区域边界线设置为被占用格栅,并划定逆行方向分界线,设置为被占用格栅,形成障碍图层,路径规划模块接受障碍图层信息,不会规划路径至被占用格栅,使所述机器人按照车道方向行驶,不会逆行。
在一种实施例中,通过操作终端在地图上设定需要设置交通规则的车道区域及车道分界线,具体包括,所述操作终端将地图信息绘制在画布上,捕获画布的点击事件,通过捕获点击的两个点作为对角点生成矩形车道区域,通过车道区域的顶点计算获得车道分界线。
进一步地,所述车道区域及所述车道分界线可以根据需要进行编辑,更改区域形状或车道分界线位置。
在一种实施例中,更改区域形状或车道分界线位置,具体包括,通过捕获绘制在画布上的车道区域顶点与车道分界线端点上的移动事件,捕获移动位置,将顶点或端点移动到目标位置。
进一步地,在同一地图上可以设置一个或多个车道区域。
在一种实施例中,车道管理模块根据机器人中心与车道分界线上的点的位置关系划分车道方向前,建立以机器人中心为原点的笛卡尔坐标系A,具体包括,以平行于车道分界线的直线为横轴,以垂直于车道分界线的直线为纵轴,通过计算坐标系A相对于地图坐标系的旋转角度确定横轴、纵轴方向,形成笛卡尔坐标系A。
进一步地,计算坐标系A相对于地图坐标系的旋转角度,具体包括:通过计算车道分界线与地图坐标系横轴负方向的夹角,以该夹角作为坐标系A相对于地图坐标系的旋转角度。
在一种实施例中,车道管理模块根据机器人中心与车道分界线上的点的位置关系划分车道方向前,进一步还包括,对地图坐标系下的车道区域及车道分界线上的点的坐标值转换为机器人中心为原点的坐标系A下的坐标值。
在一种实施例中,根据机器人中心与车道分界线上的点的位置关系划分车道方向,具体包括:
(1)当机器人在车道区域内部或车道分界线两端所在的车道区域边界线上时,选择车道分界线上的任一点,若该点纵坐标值为正数时,当前车道方向为横轴正方向,若该点纵坐标值为负数时,当前车道方向为横轴负方向;
(2)当机器人在车道区域外部时,选择车道分界线上的任一点,若该点横坐标值为负数时,允许行驶的车道方向为横轴负方向,若该点横坐标值为正数时,允许行驶的车道方向为横轴正方向,该种情况划分车道方向需配合逆行方向分界线使用,方可实现机器人靠其中一侧行驶,保证不会逆行;
(3)当机器人位于车道分界线上或者车道分界线两侧的车道区域边界线上时,将机器人手动推离或遥控驶离车道分界线或者车道分界线两侧的车道区域边界线后,机器人再根据在车道区域内部、车道区域外部的情况进行车道方向划分。
在一种实施例中,划定逆行方向分界线,具体包括:
(1)当机器人在车道区域内部时,选择车道分界线上距离机器人最近的点P0,在车道分界线逆行方向上选择距离点P0预定距离的点T0,以该点T0为基准点,做垂直于车道分界线的直线与当前车道区域相交,取机器人所在一侧车道区域边线的交点S0,S0与T0点连成的线段为逆行方向分界线;当所述预定距离大于P0点与车道分界线逆行方向端点形成的线段的距离时,即机器人距离逆行方向车道区域边界较近,或位于车道分界线两端所在的车道区域边界线上,视为在车道区域内部,则取当前车道区域内车道分界线上逆行方向的端点R1,以及距离R1点最近的且非机器人所在一侧区域的顶点Q0,Q0与R1连成的线段,为逆行方向分界线,保证机器人的可通过性;
(2)当机器人在车道区域外部时,选择离机器人最近的两个车道区域分别计算,选择该车道区域内车道分界线上离机器人最近的端点R0,若该点R0的横坐标值为负数时,选择R0点所在的车道区域距离R0最近且纵坐标值较小的顶点Q0,R0与Q0形成的线段,为逆行方向分界线;若该点R0的横坐标值为正数时,选择R0点所在的车道区域距离R0最近且纵坐标值较大的顶点Q0,R0与Q0形成的线段,为逆行方向分界线;若地图上仅有一个车道区域,则选择1个车道区域进行上述计算。
进一步地,在车道分界线逆行方向上选择距离点P0预定距离的点T0,所述预定距离根据实际应用进行预先设置或修改。
进一步地,所述车道方向及逆行方向分界线可以根据实际应用选择或修改,
例如,所述车道方向可以根据如下方式选择或修改:
(1)当机器人在车道区域内部时,选择车道分界线上的任一点,若该点纵坐标值为正数时,当前车道方向为横轴负方向,若该点纵坐标值为负数时,当前车道方向为横轴正方向;
(2)当机器人在车道区域外部时,选择车道分界线上的任一点,若该点横坐标值为负数时,允许行驶的车道方向为横轴正方向,若该点横坐标值为正数时,允许行驶的车道方向为横轴负方向;
(3)当机器人位于车道分界线上或者车道分界线两侧的车道区域边界线上时,将机器人手动推离或遥控驶离车道分界线或者车道分界线两侧的车道区域边界线后,机器人再根据在车道区域内部、车道区域外部的情况进行车道方向划分;
所述逆行方向分界线根据如下方式选择或修改:
(1)当机器人在车道区域内部时,选择车道分界线上距离机器人最近的点P0’,在车道分界线逆行方向上选择距离点P0’预定距离的点T0’,以该点T0’为基准点,做垂直于车道分界线的直线与当前车道区域相交,取机器人所在一侧车道区域边线的交点S0’,S0’与T0’点连成的线段为逆行方向分界线;当所述预定距离大于P0’点与车道分界线逆行方向端点形成的线段的距离时,即机器人距离逆行方向车道区域边界较近,或位于车道分界线两端所在的车道区域边界线上,视为在车道区域内部,则取当前车道区域内车道分界线上逆行方向的端点R1’,以及距离R1’点最近的且非机器人所在一侧区域的顶点Q0’,Q0’与R1’连成的线段,为逆行方向分界线,保证机器人的可通过性;
(2)当机器人在车道区域外部时,选择离机器人最近的两个车道区域分别计算,选择该车道区域内车道分界线上离机器人最近的端点R0’,若该点R0’的横坐标值为负数时,选择R0’点所在的车道区域距离R0’最近且纵坐标值较大的顶点Q0’,R0’与Q0’形成的线段,为逆行方向分界线;若该点R0’的横坐标值为正数时,选择R0’点所在的车道区域距离R0’最近且纵坐标值较小的顶点Q0’,R0’与Q0’形成的线段,为逆行方向分界线;若地图上仅有一个车道区域,则选择1个车道区域进行上述计算。
第三方面,本发明实施例还提供了一种机器人设置交通规则的存储介质,包括计算机可读存储介质,存储上述设置交通规则的系统、方法的程序和数据。
与现有技术相比,本发明利用上述系统、方法及存储介质,具有如下优势或有益效果:
本发明提出的机器人设置交通规则的方案,给机器人设定运行的交通规则,在地图上需要设置交通规则的区域设定车道区域及车道分界线,规定车道行驶方向,且禁止逆行,保证了机器人在复杂场景中工作的安全,提高机器人与行人、叉车等混行的安全性,同时保证了机器人路径规划的灵活性。
附图说明
图1所示为本申请实施例1的设置交通规则的系统示意图;
图2所示为本申请实施例2的设置交通规则的方法的流程图;
图3所示为本申请实施例2建立机器人中心为原点的笛卡尔坐标系的示意图;
图4所示为本申请实施例2划分车道区域及车道分界线的示意图;
图5所示为本申请实施例2机器人在车道区域内部一种划分车道方向的示意图;
图6所示为本申请实施例2机器人在车道区域内部另一种划分车道方向的示意图;
图7所示为本申请实施例2机器人在车道区域外部一种划分车道方向的示意图;
图8所示为本申请实施例2机器人在车道区域外部另一种划分车道方向的示意图;
图9所示为本申请实施例2机器人在车道区域内部一种划分逆行方向分界线的示意图;
图10所示为本申请实施例2机器人在车道区域内部另一种划分逆行方向分界线的示意图;
图11所示为本申请实施例2机器人在车道区域外部时划分逆行方向分界线的示意图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
应当说明的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用属于“包含”和/ 或“包括”时,其指明存在特征、步骤、操作、部件或者模块、组件和/ 或它们的组合。
为了方便描述,术语“第1”“第2”等仅用于描述目的,而不能理解为指示或暗示或技术特征的特定数量,“首”“末”等不能理解为指示或暗示的技术特征的特定顺序。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,本发明的方案可以通过硬件、软件或其他设备单个或多个组合实现,在以下实施例的说明中,本发明的方法及步骤可以通过储存在存储介质中包括但不限于硬盘、可移动存储设备、磁盘、光盘等来实现。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
如图1所示,本发明实施例提供了一种机器人设置交通规则的系统,包括:机器人1、操作终端2,所述机器人1和所述操作终端2通讯,所述操作终端2读取所述机器人1的地图信息,通过所述操作终端2在地图上需要设置交通规则的区域设定车道区域及车道分界线,将所述车道区域及车道分界线信息发送给所述机器人1,
需要说明的是,所述机器人1还包括车道管理模块11和路径规划模块12,所述车道管理模块11根据根据机器人1中心与车道分界线上的点的位置关系划分车道方向,将所述车道分界线及车道分界线两侧的车道区域边界线设置为被占用格栅,并划定逆行方向分界线,设置为被占用格栅,形成障碍图层,所述路径规划模块12接受障碍图层信息,不会规划路径至被占用格栅,使所述机器人1按照车道方向行驶,不会逆行。
进一步地,所述机器人1还包括处理器14、存储器13,所述存储器13中存储上述系统的程序、数据,所述处理器14处理或运行上述系统的程序、数据,处理器14、存储器13可以为1个或多个。
进一步地,所述操作终端2包括安装了应用程序的电脑、平板电脑、智能手机等可与所述机器人1通讯或连接的设备。
实施例2
如图2所示,与上述系统相应地,本发明实施例还提供了一种机器人设置交通规则的方法,包括以下步骤:
通过操作终端在地图上需要设置交通规则的区域设定车道区域及车道分界线,将所述车道区域及车道分界线信息发送给机器人,车道管理模块根据机器人中心与车道分界线上的点的位置关系划分车道方向,将所述车道分界线及车道分界线两侧的车道区域边界线设置为被占用格栅,并划定逆行方向分界线,设置为被占用格栅,形成障碍图层,路径规划模块接受障碍图层信息,不会规划路径至被占用格栅,使所述机器人按照车道方向行驶,不会逆行。
进一步地,如图4所示,通过操作终端在地图上设定需要设置交通规则的车道区域及车道分界线,具体包括,所述操作终端将地图信息绘制在画布上,捕获画布的点击事件,通过捕获点击的两个点作为对角点生成矩形车道区域,通过车道区域的顶点计算获得车道分界线,步骤如下:
(1)车道区域的第1、第3点为捕获点击,第2点、第3点的坐标值通过计算获得,如下:
第2点的横坐标P2_x = P3_x(第3点横坐标),纵坐标P2_y = P1_y(第1点纵坐标);
第4点的横坐标P4_x = P1_x(第1点横坐标),纵坐标P4_y = P3_y(第3点纵坐标);
(2)通过车道区域的坐标值计算获得车道分界线的首点、末点坐标值,如下:
车道分界线首点的横坐标Pstart_x = P4_x,纵坐标Pstart_y = (P4_y + P1_y)/2;
末点的横坐标Pend_x = P3_x, 纵坐标Pend_y = (P3_y + P2_y)/2
通过以上计算,将获得的端点P1、P2、P3、P4、Pstart、Pend绘制在画布上,发送给机器人。
进一步地,所述车道区域及所述车道分界线可以根据需要进行编辑,更改区域形状或车道分界线位置。
进一步地,更改区域形状或车道分界线位置,具体包括,通过捕获绘制在画布上的车道区域顶点与车道分界线端点上的移动事件,捕获移动位置,将顶点或端点移动到目标位置。
进一步地,在同一地图上可以设置一个或多个车道区域。
进一步地,车道管理模块根据机器人中心与车道分界线上的点的位置关系划分车道方向前,建立以机器人中心为原点的笛卡尔坐标系A,具体包括,以平行于车道分界线的直线为横轴,以垂直于车道分界线的直线为纵轴,,通过计算车道分界线与地图坐标系横轴负方向的夹角θ,地图坐标系逆时针旋转角度θ,形成笛卡尔坐标系A。
进一步地,计算坐标系A相对于地图坐标系的旋转角度,具体包括:通过计算车道分界线与地图坐标系横轴负方向的夹角,以该夹角作为坐标系A相对于地图坐标系的旋转角度,按如下公式一进行计算:
其中,θ为车道分界线与地图坐标系横轴负方向的夹角,pstart_x、pstart_y为车道分界线首点在地图坐标系下的横坐标、纵坐标值,pend_x、pend_y为车道分界线末点在地图坐标系下的横坐标、纵坐标值。
需要说明的是,本技术领域的技术人员应当理解,在其他实施方式中,可以选择车道分界线与地图坐标系横轴正方向、纵轴负方向或纵轴正方向的夹角作为坐标系A相对于地图坐标系的旋转角度,从而确定横轴、纵轴的方向,该种实施方式可获得相似的实施效果,本方案选择的车道分界线与地图坐标系横轴负方向的夹角作为旋转角度,便于后续计算,为本方案的优选方式,其他实施方式相应的技术方案在本发明的基础上本领域技术人员容易获得,应视为本发明的保护范围,在此不做详细说明描述。
进一步地,车道管理模块根据机器人中心与车道分界线上的点的位置关系划分车道方向前,进一步还包括,对地图坐标系下的车道区域及车道分界线上的点的坐标值转换为机器人中心为原点的坐标系A下的坐标值,按如下公式二、公式三转换:
其中,out.x为转换后的横坐标值,out.y为转换后的纵坐标值,x0为机器人相对于地图坐标系的横坐标值,y0为机器人相对于地图坐标系的纵坐标值,in.x为地图坐标系下的待转换点的横坐标值,in.y为地图坐标系下的待转换点的纵坐标值,θ为车道分界线与地图坐标系横轴负方向的夹角。
进一步地,根据机器人中心与车道分界线上的点的位置关系划分车道方向,具体包括:
(1)当机器人在车道区域内部或车道分界线两端所在的车道区域边界线上时,选择车道分界线上的任一点,优选地,选择车道分界线上距离机器人最近的点P0,若该点P0纵坐标值为正数时,当前车道方向为横轴正方向,若该点P0纵坐标值为负数时,当前车道方向为横轴负方向;
(2)当机器人在车道区域外部时,选择车道分界线上的任一点,优选地,选择车道分界线上距离机器人最近的端点R0,若该点R0横坐标值为负数时,允许行驶的车道方向为横轴负方向,若该点R0横坐标值为正数时,允许行驶的车道方向为横轴正方向,该种情况划分车道方向需配合逆行方向分界线使用,方可实现机器人靠其中一侧行驶,保证不会逆行;
(3)当机器人位于车道分界线上或者车道分界线两侧的车道区域边界线上时,将机器人手动推离或遥控驶离车道分界线或者车道分界线两侧的车道区域边界线后,机器人再根据在车道区域内部、车道区域外部的情况进行车道方向划分。
进一步地,划定逆行方向分界线,具体包括:
(1)当机器人在车道区域内部时,选择车道分界线上距离机器人最近的点P0,在车道分界线逆行方向上选择距离点P0预定距离的点T0,以该点T0为基准点,做垂直于车道分界线的直线与当前车道区域相交,取机器人所在一侧车道区域边线的交点S0,S0与T0点连成的线段为逆行方向分界线;当所述预定距离大于P0点与车道分界线逆行方向端点形成的线段的距离时,即机器人距离逆行方向车道区域边界较近,或位于车道分界线两端所在的车道区域边界线上,视为在车道区域内部,则取当前车道区域内车道分界线上逆行方向的端点R1,以及距离R1点最近的且非机器人所在一侧区域的顶点Q0,Q0与R1连成的线段,为逆行方向分界线,保证机器人的可通过性;
(2)当机器人在车道区域外部时,选择离机器人最近的两个车道区域分别计算,选择该车道区域内车道分界线上离机器人最近的端点R0,若该点R0的横坐标值为负数时,选择R0点所在的车道区域距离R0最近且纵坐标值较小的顶点Q0,R0与Q0形成的线段,为逆行方向分界线;若该点R0的横坐标值为正数时,选择R0点所在的车道区域距离R0最近且纵坐标值较大的顶点Q0,R0与Q0形成的线段,为逆行方向分界线;若地图上仅有一个车道区域,则选择1个车道区域进行上述计算。
进一步地,在车道分界线逆行方向上选择距离点P0预定距离的点T0,所述预定距离根据实际应用进行预先设置或修改。
进一步地,所述车道方向及逆行方向分界线可以根据实际应用选择或修改,本领域技术人员能够理解,可以根据实际需要选择车道方向,例如,可以按照如下方式确定:
(1)当机器人在车道区域内部或车道分界线两端所在的车道区域边界线上时,选择车道分界线上的任一点,选择车道分界线上距离机器人最近的点P0’,若该点P0’纵坐标值为正数时,当前车道方向为横轴负方向,若该点P0’纵坐标值为负数时,当前车道方向为横轴正方向;
(2)当机器人在车道区域外部时,选择车道分界线上的任一点,选择车道分界线上距离机器人最近的端点R0’,若该点R0’横坐标值为负数时,允许行驶的车道方向为横轴正方向,若该点R0’横坐标值为正数时,允许行驶的车道方向为横轴负方向,该种情况划分车道方向需配合逆行方向分界线使用,方可实现机器人靠其中一侧行驶,保证不会逆行;
(3)当机器人位于车道分界线上或者车道分界线两侧的车道区域边界线上时,将机器人手动推离或遥控驶离车道分界线或者车道分界线两侧的车道区域边界线后,机器人再根据在车道区域内部、车道区域外部的情况进行车道方向划分;
相应地,与上述对应的划定逆行方向分界线的方法,按照如下步骤确定:
(1)当机器人在车道区域内部时,选择车道分界线上距离机器人最近的点P0’,在车道分界线逆行方向上选择距离点P0’预定距离的点T0’,以该点T0’为基准点,做垂直于车道分界线的直线与当前车道区域相交,取机器人所在一侧车道区域边线的交点S0’,S0’与T0’点连成的线段为逆行方向分界线;当所述预定距离大于P0’点与车道分界线逆行方向端点形成的线段的距离时,即机器人距离逆行方向车道区域边界较近,或位于车道分界线两端所在的车道区域边界线上,视为在车道区域内部,则取当前车道区域内车道分界线上逆行方向的端点R1’,以及距离R1’点最近的且非机器人所在一侧区域的顶点Q0’,Q0’与R1’连成的线段,为逆行方向分界线,保证机器人的可通过性;
(2)当机器人在车道区域外部时,选择离机器人最近的两个车道区域分别计算,选择该车道区域内车道分界线上离机器人最近的端点R0’,若该点R0’的横坐标值为负数时,选择R0’点所在的车道区域距离R0’最近且纵坐标值较大的顶点Q0’,R0’与Q0’形成的线段,为逆行方向分界线;若该点R0’的横坐标值为正数时,选择R0’点所在的车道区域距离R0’最近且纵坐标值较小的顶点Q0’,R0’与Q0’形成的线段,为逆行方向分界线。若地图上仅有一个车道区域,则选择1个车道区域进行上述计算;
按照上述方法确定的车道方向以及逆行方向分界线同样可以使机器人按照规定的方向行驶,且不会逆行,获得相似的实施效果,上述方法应视为本发明的保护范围。
相应地,本发明实施例还提供了一种机器人设置交通规则的存储介质,包括计算机可读存储介质,存储上述设置交通规则的系统、方法的程序和数据,存储介质可以为一个或多个。
以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。