CN109434831B - 机器人运行方法、装置、机器人、电子设备及可读介质 - Google Patents

机器人运行方法、装置、机器人、电子设备及可读介质 Download PDF

Info

Publication number
CN109434831B
CN109434831B CN201811339939.5A CN201811339939A CN109434831B CN 109434831 B CN109434831 B CN 109434831B CN 201811339939 A CN201811339939 A CN 201811339939A CN 109434831 B CN109434831 B CN 109434831B
Authority
CN
China
Prior art keywords
intermediate point
robot
target
determining
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811339939.5A
Other languages
English (en)
Other versions
CN109434831A (zh
Inventor
李连中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Shenzhen Robotics Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloudminds Shenzhen Robotics Systems Co Ltd filed Critical Cloudminds Shenzhen Robotics Systems Co Ltd
Priority to CN201811339939.5A priority Critical patent/CN109434831B/zh
Publication of CN109434831A publication Critical patent/CN109434831A/zh
Priority to PCT/CN2019/116109 priority patent/WO2020098551A1/zh
Priority to US16/728,629 priority patent/US20200147796A1/en
Application granted granted Critical
Publication of CN109434831B publication Critical patent/CN109434831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本公开涉及一种控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质。该方法包括:确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。本公开涉及的控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质,能够使得机器人平稳的从起点运行至目标点。

Description

机器人运行方法、装置、机器人、电子设备及可读介质
技术领域
本公开涉及机器人控制领域,具体而言,涉及一种控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质。
背景技术
随着科学科技的发展,机器人的应用范围不断扩大,机器人代替人完成工作任务也越来越普遍。机器人路径规划的方法有很多,例如典型的人工势场法、栅格法、遗传算法等。当机器人开始一次漫游时,首先全局规划器根据已有的长期信息进行全局静态规划,确定虚拟人应该经过的最优化路线。然后全局规划器控制执行***按照该路径运动。
然而对于移动机器人,特别是室外巡逻机器人,运动场景非常复杂,可能随时遇到障碍物,在机器人遇到障碍物的时候,需要快速有效的改变机器人的路径。在这种使用场景下,控制机器人运行的全局路径规划方法不太适用。在机器人运动过程中,机器人感知***会持续对周围环境进行感知。当发现动态的物体或未知障碍时,可启用局部规划器根据这些感知到的局部信息,确定短期內的运动。当避障行为的优先级高于沿原路径前进时,局部规划器就能够通过竞争获得执行***的控制权,使得虚拟人按照局部规划结果运动。完成对当前感知障碍的规避行为后,全局规划器再次取得执行***的控制权,使得虚拟人重新回到全局规划路径上,继续向目标点运动。
由于机器人避障行为经常需要在很短的时间内,快速有效的改变机器人的路径,而现有技术中存在的快速改变机器人路径的方式,常常使得机器人在移动过程中存在不平稳的现象,因此,需要一种新的控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质,能够控制机器人平稳的从起点运行至目标点。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种控制机器人运行的方法,该方法包括:确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;以及控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。
根据本公开的一方面,提出一种控制机器人运行的装置,该装置包括:状态模块,用于确定机器人的当前姿态、目标姿态以及运行速度;路径模块,用于根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;角速度模块,用于通过所述运行路径与所述运行速度确定运行角速度;以及运行模块,用于所述机器人以所述运行速度、运行角速度移动以达目标姿态。
根据本公开的一方面,提出一种机器人,该机器人包括:控制***,用于确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;以及通过所述运行速度确定运行角速度生成运行指令;以及运行***,用于接收所述运行指令,并依据所述指令进行移动以达目标姿态。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的控制机器人运行的方法、装置、机器人、电子设备及计算机可读介质,能够控制机器人平稳的从起点运行至目标点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种控制机器人运行的方法及装置的***框图。
图2是根据一示例性实施例示出的一种控制机器人运行的方法的流程图。
图3是根据一示例性实施例示出的一种控制机器人运行的方法中三阶贝塞尔曲线示意图。
图4是根据另一示例性实施例示出的一种控制机器人运行的方法的流程图。
图5是根据一示例性实施例示出的一种控制机器人运行的装置的框图。
图6是根据另一示例性实施例示出的一种机器人***的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本申请的发明人发现,对于移动机器人,特别是室外巡逻机器人,运动场景非常复杂,可能随时遇到障碍物,则需改变机器人的路径,全局路径规划方法不适用;有鉴于现有技术中的技术缺陷,本申请的发明人提出一种基于三阶贝塞尔(Bézier)曲线的机器人速度规划方法,利用 Bézier曲线的特性实时规划机器人的速度。
本申请中的控制机器人运行的方法以“最大曲率最小化”为目标函数,通过最优化的方法,求得Bézier曲线的制点,进而求得参数方程;再结合机器人的实时位置和Bézier曲线的曲率实时规划机器人的速度。本申请中的控制机器人运行的方法已知机器人初始和末端位置和姿态,实时规划机器人的线速度和角速度。
下面将对本申请的详细内容进行描述:
图1是根据一示例性实施例示出的一种控制机器人运行的方法及装置的***框图。
如图1所示,***架构100可以包括终端设备101、102、103,网络 104和服务器105。网络104用以在终端设备101、102、103和服务器 105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如搜索类应用、即时通信工具等。
终端设备101、102、103可以是具有控制功能、移动功能的电子设备,包括但不限于智能机器人、巡逻机器人、自动驾驶汽车的中控装置、智能家居等。
终端设备101、102、103中的储存单元和处理单元可在移动中为终端设备101、102、103提供实时路径规划。终端设备101、102、103可例如确定当前姿态、目标姿态以及运行速度;终端设备101、102、103 可例如根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;终端设备101、102、103可例如通过所述运行路径与所述运行速度确定运行角速度;终端设备101、102、103可例如以所述运行速度、运行角速度移动以达目标姿态。
服务器105可以是提供各种服务的服务器,例如对终端设备101、 102、103在移动中提供实时路径规划的后台服务器。后台服务器可以对接收到的实时路径数据进行分析等处理,并将处理结果(例如角速度,运行轨迹、实时速度等)反馈给终端设备101、102、103,以便终端设备 101、102、103进行移动。
终端设备101、102、103可例如将当前状态实时上传给服务器 105,服务器105可例如确定终端设备101、102、103的当前姿态、目标姿态以及运行速度;服务器105可例如根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;服务器105可例如通过所述运行路径与所述运行速度确定运行角速度;服务器105可例如控制终端设备 101、102、103以所述运行速度、运行角速度移动以达目标姿态。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本公开实施例所提供的控制机器人运行的方法可以由服务器105执行也可由终端设备101、102、103中执行,相应地,控制机器人运行的装置可以设置于服务器105中,也可设置于终端设备 101、102、103中。
图2是根据一示例性实施例示出的一种控制机器人运行的方法的流程图。控制机器人运行的方法20至少包括步骤S202至S208。
如图2所示,在S202中,确定机器人的当前姿态、目标姿态以及运行速度。其中,当前姿态、目标姿态为机器人初始和末端位置和姿态。具体可例如,当前姿态X0=(x0,y00)包括当前位置与当前方向角;目标姿态Xn=(xn,ynn)包括目标位置与目标方向角。
在S204中,根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径。
其中,贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。由于贝塞尔曲线自身具有的平滑特征,使得贝塞尔曲线在工业控制方面得到了很广泛的应用。
在一个实施例中,生成贝塞尔曲线需要数据点和控制点:
数据点:指一条路径的起始点和终止点。
控制点:控制点决定了一条路径的弯曲轨迹,根据控制点的个数,贝塞尔曲线被分为一阶贝塞尔曲线(0个控制点)、二阶贝塞尔曲线(1 个控制点)、三阶贝塞尔曲线(2个控制点)等等。
在一个实施例中,根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径包括:通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数;以及根据三阶贝塞尔曲线的参数确定所述运行路径。
在一个实施例中,具体可通过具有2个控制点的三阶贝塞尔曲线确定运行路径。在生成运行路径的过程中,具体可为:将机器人的初始和末端位置位置作为贝塞尔曲线数据点,求取2个控制点以确定三阶贝塞尔曲线,生成的三阶贝塞尔曲线可例如图3所示。
在S206中,通过所述运行路径与所述运行速度确定运行角速度。可例如,确定机器人的速度更新周期;确定机器人的速度更新次数;确定运行时间;以及通过运行时间、速度更新周期、速度更新次数确定运行角速度。其中,机器人的速度更新周期,速度更新次数,运行时间均可通过用户指定进行设置。
在一个实施例中,机器人的速度更新周期,速度更新次数,运行时间还可例如通过机器人待完成的任务时间,以及当前时间进行优化计算继而确定。
在一个实施例中,确定机器人速度更新次数包括:确定所述运行路径的路径长度;以及通过路径长度、运行速度、速度更新周期确定速度更新次数。其中,可通过计算三阶贝塞尔曲线的曲线长度确定路径长度;运行速度可通过用户指定。
在S208中,控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。其中,所述机器人的驱动方式为后驱型。
驱动方式是指发动机的布置方式以及驱动轮的数量、位置的形式。一般的可移动终端都有前、后两排车轮,其中直接由发动机驱动转动,从而推动(或拉动)汽车前进的车轮就是驱动轮。
按照驱动轮的数量,可分为两轮驱动和四轮驱动两大类。根据发动机在汽车的位置以及驱动轮的位置,两轮驱动又分为前置后驱(FR)、前置前驱(FF)、后置后驱(RR)、中置后驱(MR)等四种形式。在本申请中,机器人可例如为前转后驱型机器人。
值得一提的是,在现有技术中,大部分的车辆也为后驱型车辆,所以本申请中的控制机器人运行的方法也可应用于自动驾驶的汽车控制领域。
根据本公开的控制机器人运行的方法,通过三阶贝塞尔曲线生成机器人运行路径,进而根据运行路径确定机器人运行中的速度与角速度的方式,能够控制机器人平稳的从起点运行至目标点。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图4是根据另一示例性实施例示出的一种控制机器人运行的方法的流程图。图4所示的流程是对图2所示的流程中S204中“根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径”的详细描述,
如图4所示,在S402中,通过所述当前位置与所述目标位置确定三阶贝塞尔曲线的起点与终点。
在S404中,通过所述起点、所述终点、当前方向角、以及目标方向角确定第一中间点参数方程与第二中间点参数方程。
在S406中,通过有约束条件的优化方法求解所述第一中间点参数方程得到第一中间点。其中,所述优化方法的优化目标包括:三阶贝塞尔曲线的最大曲率的值最小。所述优化方法的约束条件包括:三阶贝塞尔曲线的最大曲率小于预定值;以及所述第一中间点的值、以及所述第二中间点的值均大于零。
在S408中,通过有约束条件的优化方法求解所述第二中间点参数方程得到第二中间点。其中,所述优化方法的优化目标包括:三阶贝塞尔曲线的最大曲率的值最小。所述优化方法的约束条件包括:三阶贝塞尔曲线的最大曲率小于预定值;以及所述第一中间点的值、以及所述第二中间点的值均大于零。
在S410中,通过起点、终点、第一中间点、以及第二中间点确定三阶贝塞尔曲线的参数。
下面根据三阶Bézier曲线对生成运行路径的过程进行说明。如上文所述,三阶Bézier曲线由4个控制点唯一确定的平面三阶Bézier曲线,其基本特性如下:
三阶Bézier曲线的参数方程为:
P(u)=P0(1-u)3+3P1(1-u)2u+3P2(1-u)u2+P3u3,u∈[0,1]
Bézier曲线的起点和终点,即:
P(0)=P0
P(1)=P3
Bézier曲线端点的切向量为:
P′(0)=3(P1-P0)
P′(1)=3(P4-P3)
Bézier曲线在任一点的曲率为:
Figure BDA0001862278990000091
Bézier曲线具有仿射变换不变的特性,为保证规划的机器人轨迹平滑可行,生成的三阶Bézier曲线应满足如下要求:
Bézier曲线的起点和终点为机器人的起点和目标点;
Bézier曲线的起点和终点的切线向量与机器人的姿态平行;
Bézier曲线的曲率应该连续且有界;
假设机器人初始姿态为X0=(x0,y00),目标姿态为Xn=(xn,ynn),其中θ为机器人的方向角,为满足以上要求,生成三阶Bézier曲线的4个控制点(起点,第一中间点,第二中间点,以及终点)为:
Figure BDA0001862278990000092
其中,d1=|P0P1|,d2=|P2P3|。
通过以上参数化方法,可知的三阶Bézier曲线有两个未知参数d1、 d2,为保证曲率的连续、有界性,可通过最优化的方法来求得d1、d2,优化目标函数设定为三阶贝塞尔曲线的最大曲率的值最小:
J(d1,d2)=κmax(um)
其中,um为使得曲线的曲率为最大值得t。
上述目标函数的的优化参数为d1、d2,使得机器人的最大曲率最小,从而使机器人的运行轨迹较为平滑,该速度优化问题最终转化为有条件约束的非线性优化问题,即:
minimize:J(d1,d2)
s.t.κmax(u)≤Kmax
d1>0
d2>0
至此已求出三阶Bézier曲线的4个控制点,即得到了曲线的参数方程,进而可求出在曲线上任一点的曲率。
对于移动机器人来说,为保证机器人沿着规划的三阶Bézier曲线运动,只需保证机器人任意时刻的转弯半径与此时机器人所在曲线位置的曲率半径相等即可。假设根据机器人以线速度v(t)由起点运行至目标点,则机器人的角速度为:
ω(t)=v(t)·κ(u)
其中,u=f(t)。
如果机器人严格按照规划的速度[v,w]运行,则机器人的运行路线即为规划的三阶Bézier曲线,从而平稳的到达目标位姿。
值得一提的是,在一个实施例中,在求解三阶贝塞尔曲线的参数过程中,还可例如通过其他的优化方法,优化的目标也可根据实际的需要进行调整,本申请不以此为限。
下面将以一个具体的实施例,介绍在机器人运行过程中,角速度、以及运行路径的具体计算过程:
假设机器人初始姿态为X0=(x0,y00),目标姿态为Xn=(xn,ynn),则三阶Bézier曲线的4个控制点为:
Figure BDA0001862278990000111
根据优化函数
minimize:J(d1,d2)
s.t.κmax(t)≤Kmax
d1>0
d2>0
求得最优的d1、d2
则三阶Bézier曲线的参数方程为:
P(u)=P0(1-u)3+3P1(1-u)2t+3P2(1-u)t2+P3u3,u∈[0,1]
Bézier曲线的总长度为:
Figure BDA0001862278990000112
假设机器人在整个曲线上以匀速速度v0运行,机器人速度更新周期为Δt,则机器人速度更新总次数为:
Figure BDA0001862278990000113
机器人运行的角速度为:
Figure BDA0001862278990000114
根据本申请中的机器人运行方法,机器人以速度[v0,w]的速度运行,即可实现从起点平滑的运行至目标点。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是根据一示例性实施例示出的一种控制机器人运行的装置的框图。控制机器人运行的装置50包括:状态模块502,路径模块504,角速度模块506,以及运行模块508。
状态模块502用于确定机器人的当前姿态、目标姿态以及运行速度;其中,当前姿态、目标姿态为机器人初始和末端位置和姿态。
路径模块504用于根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;在一个实施例中,根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径包括:通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数;以及根据三阶贝塞尔曲线的参数确定所述运行路径。
角速度模块506用于通过所述运行路径与所述运行速度确定运行角速度;可例如,确定机器人的速度更新周期;确定机器人的速度更新次数;确定运行时间;以及通过运行时间、速度更新周期、速度更新次数确定运行角速度。其中,机器人的速度更新周期,速度更新次数,运行时间均可通过用户指定进行设置。
运行模块508用于所述机器人以所述运行速度、运行角速度移动以达目标姿态。其中,所述机器人的驱动方式为后驱型。
根据本公开的控制机器人运行的装置,通过三阶贝塞尔曲线生成机器人运行路径,进而根据运行路径确定机器人运行中的速度与角速度的方式,能够控制机器人平稳的从起点运行至目标点。
图6是根据另一示例性实施例示出的一种机器人的***框图。机器人60包括:控制***602,运行***604。
控制***602用于确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;以及通过所述运行速度确定运行角速度生成运行指令;
运行***604用于接收所述运行指令,并依据所述指令进行移动以达目标姿态。
图7是根据一示例性实施例示出的一种电子设备的框图。
下面参照图7来描述根据本公开的这种实施方式的电子设备200。图7显示的电子设备200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备200以通用计算设备的形式表现。电子设备 200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同***组件(包括存储单元220和处理单元210)的总线 230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图2,图4中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205 的程序/实用工具2204,这样的程序模块2205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备 200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200 还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、 RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
图8示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图8所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:确定机器人的当前姿态、目标姿态以及运行速度;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;控制所述机器人以所述运行速度、运行角速度移动以达目标姿态。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等) 执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (11)

1.一种控制机器人运行的方法,其特征在于,包括:
确定机器人的当前姿态、目标姿态以及运行速度,所述当前姿态包括当前位置与当前方向角,所述目标姿态包括目标位置与目标方向角;
根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;
通过所述运行路径与所述运行速度确定运行角速度;以及
控制所述机器人以所述运行速度、运行角速度移动以达所述目标姿态;
所述根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径包括:
通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数;以及
根据三阶贝塞尔曲线的参数确定所述运行路径;
所述通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数包括:
通过所述当前位置与所述目标位置确定三阶贝塞尔曲线的起点与终点;
通过所述起点、所述终点、当前方向角、以及目标方向角确定第一中间点参数方程与第二中间点参数方程;以及
求解所述第一中间点参数方程与第二中间点参数方程以获取三阶贝塞尔曲线的参数;
所述求解所述第一中间点参数方程与第二中间点参数方程以获取三阶贝塞尔曲线的参数包括:
通过有约束条件的优化方法求解所述第一中间点参数方程得到第一中间点,所述优化方法的优化目标包括:三阶贝塞尔曲线的最大曲率的值最小;
通过有约束条件的优化方法求解所述第二中间点参数方程得到第二中间点;以及
通过起点、终点、第一中间点、以及第二中间点确定三阶贝塞尔曲线的参数;
所述通过有约束条件的优化方法求解所述第一中间点参数方程得到第一中间点,通过有约束条件的优化方法求解所述第二中间点参数方程得到第二中间点包括:
将所述当前姿态表示为X0=(x0,y00),将所述目标姿态表示为Xn=(xn,ynn),其中x0,y00分别为所述机器人在所述起点的x轴坐标、y轴坐标和方向角,xn,ynn分别为所述机器人在所述终点的x轴坐标、y轴坐标和方向角,可将所述起点、所述第一中间点、所述第二中间点以及所述终点在x轴、y轴的坐标分别表示为:
Figure FDA0002636908090000021
其中,P0表示所述起点,P1表示所述第一中间点,P2表示所述第二中间点,P3表示所述终点,d1=|P0P1|,d1表示所述起点到所述第一中间点之间的距离,d2=|P2P3|,d2表示所述第二中间点到所述终点之间的距离;
将所述约束条件表示为:
J(d1,d2)=κmax(um)
其中,κmax表示所述三阶贝塞尔曲线曲率的最大值,um为所述三阶贝塞尔曲线上曲率取所述最大值时的时间步,J表示以d1、d2为变量的优化目标函数;
求解使J最小的d1、d2以得到所述第一中间点和所述第二中间点。
2.如权利要求1所述的方法,其特征在于,所述优化方法的约束条件包括:
三阶贝塞尔曲线的最大曲率小于预定值;以及
所述第一中间点的值、以及所述第二中间点的值均大于零。
3.如权利要求1所述的方法,其特征在于,根据三阶贝塞尔曲线的参数确定所述运行路径包括:
将参数带入三阶贝塞尔曲线公式,以确定所述运行路径。
4.如权利要求1所述的方法,其特征在于,通过所述运行路径与所述运行速度确定运行角速度包括:
确定机器人的速度更新周期;
确定机器人的速度更新次数;
确定运行时间;以及
通过运行时间、速度更新周期、速度更新次数确定运行角速度。
5.如权利要求4所述的方法,其特征在于,确定机器人速度更新次数包括:
确定所述运行路径的路径长度;以及
通过路径长度、运行速度、速度更新周期确定速度更新次数。
6.如权利要求1所述的方法,其特征在于,所述机器人包括:
前转后驱型机器人。
7.一种控制机器人运行的装置,其特征在于,包括:
状态模块,用于确定机器人的当前姿态、目标姿态以及运行速度,所述当前姿态包括当前位置与当前方向角,所述目标姿态包括目标位置与目标方向角;
路径模块,用于根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;
所述路径模块,还用于通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数;以及根据三阶贝塞尔曲线的参数确定所述运行路径;
所述路径模块,还用于通过所述当前位置与所述目标位置确定三阶贝塞尔曲线的起点与终点;通过所述起点、所述终点、当前方向角、以及目标方向角确定第一中间点参数方程与第二中间点参数方程;以及求解所述第一中间点参数方程与第二中间点参数方程以获取三阶贝塞尔曲线的参数;
所述路径模块,还用于通过有约束条件的优化方法求解所述第一中间点参数方程得到第一中间点,所述优化方法的优化目标包括三阶贝塞尔曲线的最大曲率的值最小;通过有约束条件的优化方法求解所述第二中间点参数方程得到第二中间点;以及通过起点、终点、第一中间点、以及第二中间点确定三阶贝塞尔曲线的参数;
所述路径模块,还用于将所述当前姿态表示为X0=(x0,y00),将所述目标姿态表示为Xn=(xn,ynn),其中x0,y00分别为所述机器人在所述起点的x轴坐标、y轴坐标和方向角,xn,ynn分别为所述机器人在所述终点的x轴坐标、y轴坐标和方向角,可将所述起点、所述第一中间点、所述第二中间点以及所述终点在x轴、y轴的坐标分别表示为:
Figure FDA0002636908090000041
其中,P0表示所述起点,P1表示所述第一中间点,P2表示所述第二中间点,P3表示所述终点,d1=|P0P1|,d1表示所述起点到所述第一中间点之间的距离,d2=|P2P3|,d2表示所述第二中间点到所述终点之间的距离;
将所述约束条件表示为:
J(d1,d2)=κmax(um)
其中,κmax表示所述三阶贝塞尔曲线曲率的最大值,um为所述三阶贝塞尔曲线上曲率取所述最大值时的时间步,J表示以d1、d2为变量的优化目标函数;
求解使J最小的d1、d2以得到所述第一中间点和所述第二中间点;
角速度模块,用于通过所述运行路径与所述运行速度确定运行角速度;以及
运行模块,用于所述机器人以所述运行速度、运行角速度移动以达目标姿态。
8.一种机器人,其特征在于,包括:
控制***,用于确定机器人的当前姿态、目标姿态以及运行速度,所述当前姿态包括当前位置与当前方向角,所述目标姿态包括目标位置与目标方向角;根据三阶贝塞尔曲线与所述当前姿态、所述目标姿态确定运行路径;通过所述运行路径与所述运行速度确定运行角速度;以及通过所述运行速度确定运行角速度生成运行指令;以及
运行***,用于接收所述运行指令,并依据所述指令进行移动以达目标姿态;
所述控制***,还用于通过当前位置与当前方向角、目标位置与目标方向角计算三阶贝塞尔曲线的参数;以及根据三阶贝塞尔曲线的参数确定所述运行路径;
所述控制***,还用于通过所述当前位置与所述目标位置确定三阶贝塞尔曲线的起点与终点;通过所述起点、所述终点、当前方向角、以及目标方向角确定第一中间点参数方程与第二中间点参数方程;以及求解所述第一中间点参数方程与第二中间点参数方程以获取三阶贝塞尔曲线的参数;
所述控制***,还用于通过有约束条件的优化方法求解所述第一中间点参数方程得到第一中间点,所述优化方法的优化目标包括三阶贝塞尔曲线的最大曲率的值最小;通过有约束条件的优化方法求解所述第二中间点参数方程得到第二中间点;以及通过起点、终点、第一中间点、以及第二中间点确定三阶贝塞尔曲线的参数;
所述控制***,还用于将所述当前姿态表示为X0=(x0,y00),将所述目标姿态表示为Xn=(xn,ynn),其中x0,y00分别为所述机器人在所述起点的x轴坐标、y轴坐标和方向角,xn,ynn分别为所述机器人在所述终点的x轴坐标、y轴坐标和方向角,可将所述起点、所述第一中间点、所述第二中间点以及所述终点在x轴、y轴的坐标分别表示为:
Figure FDA0002636908090000051
其中,P0表示所述起点,P1表示所述第一中间点,P2表示所述第二中间点,P3表示所述终点,d1=|P0P1|,d1表示所述起点到所述第一中间点之间的距离,d2=|P2P3|,d2表示所述第二中间点到所述终点之间的距离;
将所述约束条件表示为:
J(d1,d2)=κmax(um)
其中,κmax表示所述三阶贝塞尔曲线曲率的最大值,um为所述三阶贝塞尔曲线上曲率取所述最大值时的时间步,J表示以d1、d2为变量的优化目标函数;
求解使J最小的d1、d2以得到所述第一中间点和所述第二中间点。
9.如权利要求8所述的机器人,其特征在于,所述机器人包括:
前转后驱型机器人。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201811339939.5A 2018-11-12 2018-11-12 机器人运行方法、装置、机器人、电子设备及可读介质 Active CN109434831B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811339939.5A CN109434831B (zh) 2018-11-12 2018-11-12 机器人运行方法、装置、机器人、电子设备及可读介质
PCT/CN2019/116109 WO2020098551A1 (zh) 2018-11-12 2019-11-06 机器人运行方法、装置、机器人、电子设备及可读介质
US16/728,629 US20200147796A1 (en) 2018-11-12 2019-12-27 Moving method and device for a robot, robot, electronic apparatus and readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811339939.5A CN109434831B (zh) 2018-11-12 2018-11-12 机器人运行方法、装置、机器人、电子设备及可读介质

Publications (2)

Publication Number Publication Date
CN109434831A CN109434831A (zh) 2019-03-08
CN109434831B true CN109434831B (zh) 2020-11-27

Family

ID=65551372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811339939.5A Active CN109434831B (zh) 2018-11-12 2018-11-12 机器人运行方法、装置、机器人、电子设备及可读介质

Country Status (2)

Country Link
CN (1) CN109434831B (zh)
WO (1) WO2020098551A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109434831B (zh) * 2018-11-12 2020-11-27 深圳前海达闼云端智能科技有限公司 机器人运行方法、装置、机器人、电子设备及可读介质
CN110308733A (zh) * 2019-08-07 2019-10-08 四川省众望科希盟科技有限公司 一种微小型机器人运动控制***、方法、存储介质及终端
CN110737276B (zh) * 2019-11-06 2023-03-31 达闼机器人股份有限公司 预警方法、巡逻机器人及计算机可读存储介质
JP7441047B2 (ja) * 2020-01-10 2024-02-29 三菱重工業株式会社 経路生成装置、制御装置、検査システム、経路生成方法およびプログラム
CN111993411A (zh) * 2020-07-07 2020-11-27 深圳市优必选科技股份有限公司 一种机器人运动规划方法、装置、机器人及存储介质
CN114543763B (zh) * 2020-11-24 2024-01-16 广东博智林机器人有限公司 一种地坪设备的工作方法、装置、设备及介质
CN112666945B (zh) * 2020-12-18 2024-07-12 广东嘉腾机器人自动化有限公司 一种agv曲线路径优化方法
CN112720479B (zh) * 2020-12-22 2022-03-18 深圳市优必选科技股份有限公司 一种机器人姿态控制方法、装置及机器人
CN114237436A (zh) * 2021-12-22 2022-03-25 杭州群核信息技术有限公司 相机路径绘制方法和基于相机路径绘制的渲染交互***
CN115685990A (zh) * 2022-09-22 2023-02-03 深圳市智绘科技有限公司 自动充电方法、装置、电子设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255174A (zh) * 2017-12-20 2018-07-06 北京理工华汇智能科技有限公司 机器人路径规划方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6252614A (ja) * 1985-08-30 1987-03-07 Shinko Electric Co Ltd 自立走行ロボツトの走行制御方法
CN102207736B (zh) * 2010-03-31 2013-01-02 中国科学院自动化研究所 基于贝塞尔曲线的机器人路径规划方法及装置
US20150178961A1 (en) * 2013-12-20 2015-06-25 Nvidia Corporation System, method, and computer program product for angular subdivision of quadratic bezier curves
CN106383440A (zh) * 2016-10-18 2017-02-08 河池学院 基于路径规划控制运动的机器人
CN107168305B (zh) * 2017-04-01 2020-03-17 西安交通大学 路口场景下基于Bezier和VFH的无人车轨迹规划方法
CN107756397B (zh) * 2017-08-30 2020-01-10 北京华航唯实机器人科技股份有限公司 调整机器人轨迹的方法和装置
CN107702723B (zh) * 2017-11-27 2019-11-08 安徽工程大学 一种机器人路径规划方法、存储介质及设备
CN108629847A (zh) * 2018-05-07 2018-10-09 网易(杭州)网络有限公司 虚拟对象移动路径生成方法、装置、存储介质及电子设备
CN109434831B (zh) * 2018-11-12 2020-11-27 深圳前海达闼云端智能科技有限公司 机器人运行方法、装置、机器人、电子设备及可读介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255174A (zh) * 2017-12-20 2018-07-06 北京理工华汇智能科技有限公司 机器人路径规划方法及装置

Also Published As

Publication number Publication date
CN109434831A (zh) 2019-03-08
WO2020098551A1 (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN109434831B (zh) 机器人运行方法、装置、机器人、电子设备及可读介质
Mercy et al. Spline-based motion planning for autonomous guided vehicles in a dynamic environment
Liu et al. A nonlinear model predictive control formulation for obstacle avoidance in high-speed autonomous ground vehicles in unstructured environments
Elbanhawi et al. Continuous path smoothing for car-like robots using B-spline curves
US20200147796A1 (en) Moving method and device for a robot, robot, electronic apparatus and readable medium
US20210325894A1 (en) Deep reinforcement learning-based techniques for end to end robot navigation
Ali et al. Path planning of mobile robot with improved ant colony algorithm and MDP to produce smooth trajectory in grid-based environment
Melchior et al. Consideration of obstacle danger level in path planning using A∗ and fast-marching optimisation: comparative study
CN110647151B (zh) 坐标转换方法及装置、计算机可读存储介质、电子设备
Macenski et al. From the desks of ROS maintainers: A survey of modern & capable mobile robotics algorithms in the robot operating system 2
Sattel et al. From robotics to automotive: Lane-keeping and collision avoidance based on elastic bands
CN110836671A (zh) 轨迹规划方法、轨迹规划装置、存储介质与电子设备
Li Robot target localization and interactive multi-mode motion trajectory tracking based on adaptive iterative learning
Ahmed et al. Space deformation based path planning for Mobile Robots
Mischinger et al. Towards comfort-optimal trajectory planning and control
WO2019216427A1 (ja) リスク指標評価装置、リスク指標評価方法及びプログラム
Belabbas et al. New method for motion planning for non-holonomic systems using partial differential equations
Signifredi et al. A general purpose approach for global and local path planning combination
Ouyang et al. Virtual velocity vector-based offline collision-free path planning of industrial robotic manipulator
Quang et al. Design a nonlinear MPC controller for autonomous mobile robot navigation system based on ROS
CN111338339B (zh) 轨迹规划方法、装置、电子设备及计算机可读介质
Kanarachos A new min-max methodology for computing optimised obstacle avoidance steering manoeuvres of ground vehicles
Zou et al. An adaptive control strategy for indoor leader-following of wheeled mobile robot
Boutalbi et al. A high-performance control algorithm based on a curvature-dependent decoupled planning approach and flatness concepts for non-holonomic mobile robots
Afzali et al. A Modified Convergence DDPG Algorithm for Robotic Manipulation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210210

Address after: 200245 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee before: Shenzhen Qianhaida Yunyun Intelligent Technology Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 200245 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.

CP03 Change of name, title or address