CN115008450A - 一种机器人控制方法、装置、电子设备及存储介质 - Google Patents
一种机器人控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115008450A CN115008450A CN202110247033.6A CN202110247033A CN115008450A CN 115008450 A CN115008450 A CN 115008450A CN 202110247033 A CN202110247033 A CN 202110247033A CN 115008450 A CN115008450 A CN 115008450A
- Authority
- CN
- China
- Prior art keywords
- state quantity
- initial state
- angular velocity
- moment
- course angle
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本申请实施例提供了一种机器人控制方法、装置、电子设备及存储介质,属于机器人技术领域。通过本申请,在规划出路径点之后,利用下一时刻的路径点的信息确定下一时刻对应的第二位姿,然后,即可结合当前角速度、当前时刻对应的第一位姿及下一时刻对应的第二位姿,确定预设时间段的初始时刻对应的初始状态量,最后,针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,进而,基于所述目标角速度和该时刻对应的速度生成控制指令,控制机器人运动。也就是,本申请中,对路径点的规划不会影响对控制指令的计算,所以计算得到的控制指令可以更好的保证机器人运动的平滑性和稳定性。
Description
技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人控制方法、装置、电子设备及存储介质。
背景技术
轨迹跟踪的目的是让移动机器人能够自主地生成一系列连续的控制指令(控制指令包括:速度v,角速度ω),使机器人可以在允许的跟踪误差范围内沿着预先给定的路径平滑地运动,安全到达目标点位置。
目前常用的跟踪算法是DWA(dynamic window approach,动态窗口)算法,该算法的计算过程为:在速度空间(v,ω)中采样多组速度,并模拟这些速度在一定时间内的运动轨迹,运动轨迹包括对应的路径点和控制指令,通过代价评价的方法,选择最低代价的轨迹为目标运动轨迹。也就是,将路径点和控制指令结合在一起进行计算,选择代价最低的轨迹作为目标运动轨迹。
然而,由于利用DWA算法是将路径点和控制指令结合在一起进行计算,对路径点的规划会影响对控制指令的计算,因此无法保证机器人运动的平滑性和稳定性。
发明内容
本申请实施例的目的在于提供一种机器人控制方法、装置、电子设备及存储介质,以解决利用DWA算法是将路径点和控制指令结合在一起进行计算,对路径点的规划会影响对控制指令的计算,因此无法保证机器人运动的平滑性和稳定性的问题。具体技术方案如下:
第一方面,提供了一种机器人控制方法,所述方法包括:
获取移动轨迹的多个路径点中每个路径点对应的速度,其中,每个路径点对应一个时刻;
获取机器人当前时刻对应的当前角速度、当前时刻对应的第一位姿信息和下一时刻对应的第二位姿信息;
基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量;
针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,基于所述目标角速度和该时刻对应的速度生成控制指令,所述控制指令用于控制所述机器人运动。
可选的,所述第一位姿包括:第一横纵坐标和第一航向角;所述第二位姿包括:第二横纵坐标和第二航向角;所述基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量,包括:
基于所述第一航向角、第二航向角、第一横纵坐标和第二横纵坐标计算横向位移误差,基于所述第一航向角和所述第二航向角计算航向角误差;
基于所述当前角速度、所述横向位移误差及所述航向角误差,确定初始状态量。
可选的,所述基于所述初始状态量计算目标角速度,包括:
将所述初始状态量及预设多个输出角速度代入预设的运动学模型中,得到所述初始时刻对应的多个初始状态量变化率;
利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量;
将所述多个输出角速度及所述多个候选状态量代入二次优化公式,在所述多个输出角速度中确定目标角速度。
可选的,所述运动学模型如下:
可选的,所述运动学模型如下:
J=XTQX+(U-Uref)TR(U-Uref)
其中,X为状态量;U为输出角速度;Uref为预期值;J为优化指标;Q为状态量权重系数;R为输出角速度权重系数。
可选的,所述利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量,包括:
针对每个初始状态量变化率,将所述初始状态量变化率与控制周期相乘,得到初始状态量的变化量;
针对每个初始状态量的变化量,将所述初始状态量与所述初始状态量的变化量相加,得到所述候选状态量。
第二方面,提供了一种机器人控制装置,所述装置包括:
第一获取模块,用于获取移动轨迹的多个路径点中每个路径点对应的速度,其中,每个路径点对应一个时刻;
第二获取模块,用于获取机器人当前时刻对应的当前角速度、当前时刻对应的第一位姿信息和下一时刻对应的第二位姿信息;
确定模块,用于基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量;
计算模块,用于针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,基于所述目标角速度和该时刻对应的速度生成控制指令,所述控制指令用于控制所述机器人运动。
可选的,所述第一位姿包括:第一横纵坐标和第一航向角;所述第二位姿包括:第二横纵坐标和第二航向角;所述确定模块,包括:
计算单元,用于基于所述第一航向角、第二航向角、第一横纵坐标和第二横纵坐标计算横向位移误差,基于所述第一航向角和所述第二航向角计算航向角误差;
第一确定单元,用于基于所述当前角速度、所述横向位移误差及所述航向角误差,确定初始状态量。
可选的,所述计算模块,包括:
第一得到单元,用于将所述初始状态量及预设多个输出角速度代入预设的运动学模型中,得到所述初始时刻对应的多个初始状态量变化率;
第二得到单元,用于利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量;
第二确定单元,用于将所述多个输出角速度及所述多个候选状态量代入二次优化公式,在所述多个输出角速度中确定目标角速度。
可选的,所述运动学模型如下:
可选的,所述运动学模型如下:
可选的,所述二次优化公式如下:
J=XTQX+(U-Uref)TR(U-Uref)
其中,X为状态量;U为输出角速度;Uref为预期值;J为优化指标;Q为状态量权重系数;R为输出角速度权重系数。
可选的,所述第二得到单元,包括:
第一得到子单元,用于针对每个初始状态量变化率,将所述初始状态量变化率与控制周期相乘,得到初始状态量的变化量;
第二得到子单元,用于针对每个初始状态量的变化量,将所述初始状态量与所述初始状态量的变化量相加,得到所述候选状态量。
第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的机器人控制方法。
本申请实施例有益效果:
本申请实施例提供了一种机器人控制方法、装置、电子设备及存储介质,通过本申请,在规划出路径点之后,利用下一时刻的路径点的信息确定下一时刻对应的第二位姿,然后,即可结合当前角速度、前时刻对应的第一位姿及下一时刻对应的第二位姿,确定预设时间段的初始时刻对应的初始状态量,最后,针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,进而,基于所述目标角速度和该时刻对应的速度生成控制指令,控制机器人运动。也就是,本申请中,是在规划出路径点之后,单独计算控制指令,因此,对路径点的规划不会影响对控制指令的计算,所以,计算得到的控制指令可以更好的保证机器人运动的平滑性和稳定性。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种机器人控制方法的流程图;
图2为本申请另一实施例提供的一种机器人控制方法的流程图;
图3为本申请实施例提供的一种机器人控制装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于,利用DWA算法是将路径点和控制指令结合在一起进行计算,对路径点的规划会影响对控制指令的计算,因此无法保证机器人运动的平滑性和稳定性。为此,本申请实施例提供了一种机器人控制方法,可以应用于机器人。
下面将结合具体实施方式,对本申请实施例提供的一种机器人控制方法进行详细的说明,如图1所示,具体步骤如下:
S101,获取移动轨迹的多个路径点中每个路径点对应的速度,其中,每个路径点对应一个时刻。
在本申请实施例中,可以预先利用路径规划算法规划出多个路径点,并且预先计算出每个路径点对应的速度,其中每个路径点对应一个时刻。
在本申请实施例的一个实施方式中,可以利用PID算法计算每个路径点的速度,具体计算过程为:根据下一路径点的信息确定下一路径点对应的位置,计算当前位置和下一路径点对应的位置中的纵向位置误差,将纵向位置误差代入PID公式中,得到第一路径点对应的速度,以此类推,计算得到每个路径点对应的速度。
S102,获取机器人当前时刻对应的当前角速度、当前时刻对应的第一位姿信息和下一时刻对应的第二位姿信息。
在本申请实施例中,位姿信息包括:位置坐标和航向角,机器人当前时刻对应的当前角速度和当前时刻对应的第一位姿信息可以直接得到,下一时刻对应的第二位姿信息可以根据下一路径点的信息确定。
S103,基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量。
在本申请实施例中,预设时间段的初始时刻为当前时刻的下一时刻,可以根据当前角速度、第一位姿及第二位姿,确定预设时间段的初始时刻对应的初始状态量。
S104,针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,基于所述目标角速度和该时刻对应的速度生成控制指令,所述控制指令用于控制所述机器人运动。
在本申请实施例中,每一时刻对应一个控制指令,控制指令中包括该时刻对应的速度和目标角速度,用于控制机器人以控制指令中包括的速度和目标角速度进行运动。得到初始状态量之后,针对预设时间段内的每个时刻,可以基于初始状态量计算得到目标角速度,然后,基于目标角速度和该时刻对应的速度生成该时刻对应的控制指令。
本申请实施例中,在规划出路径点之后,利用下一时刻的路径点的信息确定下一时刻对应的第二位姿,然后,即可结合当前角速度、前时刻对应的第一位姿及下一时刻对应的第二位姿,确定预设时间段的初始时刻对应的初始状态量,最后,针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,进而,基于所述目标角速度和该时刻对应的速度生成控制指令,控制机器人运动。也就是,本申请中,是在规划出路径点之后,单独计算控制指令,因此,对路径点的规划不会影响对控制指令的计算,所以,计算得到的控制指令可以更好的保证机器人运动的平滑性和稳定性。
在本申请的又一实施例中,所述第一位姿包括:第一横纵坐标和第一航向角;所述第二位姿包括:第二横纵坐标和第二航向角;所述S103,可以包括以下步骤:
步骤一,基于所述第一航向角、第二航向角、第一横纵坐标和第二横纵坐标计算横向位移误差,基于所述第一航向角和所述第二航向角计算航向角误差。
在本申请实施例中,第一位姿包括:第一横纵坐标和第一航向角;第二位姿包括:第二横纵坐标和第二航向角。可以基于第一航向角、第二航向角、第一横纵坐标和第二横纵坐标计算横向位移误差,并且,可以基于第一航向角和第二航向角计算航向角误差。
示例性的,第一横纵坐标(x1,y1)为(0,0),第一航向角th为0,第二横纵坐标(x2,y2)为(1,1),第二航向角th:0.3,则求得横向位移误差为1,航向角误差为0.3。
步骤二,基于所述当前角速度、所述横向位移误差及所述航向角误差,确定初始状态量。
在本申请实施例中,状态量包括角速度、横向位移误差及航向角误差,可以基于当前角速度、横向位移误差及航向角误差,确定预设时间段的初始时刻对应的初始状态量。示例性的,横向位移误差为1,航向角误差为0.3,当前角速度为0,则初始时刻对应的初始状态量为[e,th,ω]=[1,0.3,0]。
本申请实施例中,首先,基于所述第一航向角、第二航向角、第一横纵坐标和第二横纵坐标计算横向位移误差,基于所述第一航向角和所述第二航向角计算航向角误差,然后基于所述当前角速度、所述横向位移误差及所述航向角误差,即可确定初始状态量,计算过程简单且高效。
在本申请的又一实施例中,所述S104,可以包括以下步骤:
S201,将所述初始状态量及预设多个输出角速度代入预设的运动学模型中,得到所述初始时刻对应的多个初始状态量变化率。
在本申请实施例中,输出角速度ωd有约束,可在约束内取任何值,每取一个值,将其与对应的初始状态量代入预设的运动学模型中,可以求得一个对应的状态量变化率,因此可以得到初始时刻对应的多个初始状态量变化率。
在本申请实施例的一种实施方式中,运动学模型如公式(1):
在本申请实施例的又一种实施方式中,运动学模型如公式(2):
S202,利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量。
在本申请实施例中,可以利用初始状态量和多个初始状态量变化率进行计算,得到初始时刻的下一时刻对应的多个候选状态量,再将下一时刻对应的多个候选状态量代入公式(2)计算下一时刻对应的多个状态量变化率,然后,利用下一时刻对应的多个候选状态量和下一时刻对应的多个状态量变化率,得到该下一时刻的下一时刻对应的候选状态量,依次类推,计算出预设时间段内每个时刻对应的多个候选状态量。
S203,将所述多个输出角速度及所述多个候选状态量代入二次优化公式,在所述多个输出角速度中确定目标角速度。
在本申请实施例中,最优解指标的定义有很多,根据不同产品不同定义:如果精度优先,就需要将每一时刻的状态量的横向位移误差e求和,保证e的和最小;如果保证不偏航,就要对每一时刻状态量中的航向角误差th求和,保证和最小;如果需要保证输出平滑,就要保证每一时刻与上一时刻输出角速度ωd的差最小,等等。
针对每个输出角速度,依次将该输出角速度和与其对应的多个候选状态量代入二次优化公式中,可以得到多个优化指标;优化指标的值最小时为最优解指标,将与最优解指标对应的输出角速度,确定为目标角速度。
其中,二次优化公式如公式(3):
J=XTQX+(U-Uref)TR(U-Uref) (3)
其中,X为状态量;U为输出角速度;Uref为预期值;J为优化指标;Q为状态量权重系数;R为输出角速度权重系数。其中,Q是一个三维对角矩阵,对角线上的三个值分别对应状态量中每个值得权重,R是一维矩阵,代表输出量与前馈(期望)的差的权重。
本申请实施例中,可以将所述初始状态量及预设多个输出角速度代入预设的运动学模型中,得到所述初始时刻对应的多个初始状态量变化率;利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量;将所述多个输出角速度及所述多个候选状态量代入二次优化公式,在所述多个输出角速度中确定目标角速度;。本方案中,是单独计算角速度,计算过程不涉及路径点规划和速度,也即,通过本方案可以单独优化角速度的计算过程,因此得到的目标角速度可以使机器人运行时更加平滑稳定。
在本申请的又一实施例中,所述S202,可以包括以下步骤:
步骤一,针对每个初始状态量变化率,将所述初始状态量变化率与控制周期相乘,得到初始状态量的变化量。
在本申请实施例中,控制周期为发送控制指令的周期,针对每个初始状态量变化率,将初始状态量变化率与控制周期相乘,可以得到初始状态量的变化量。
步骤二,针对每个初始状态量的变化量,将所述初始状态量与所述初始状态量的变化量相加,得到所述候选状态量。
在本申请实施例中,针对每个初始状态量的变化量,将初始状态量与该初始状态量的变化量相加,可以得到候选状态量。通过本方案,计算候选状态量,计算过程简单高效。
本申请实施例中,在规划出路径点之后,利用下一时刻的路径点的信息确定下一时刻对应的第二位姿,然后,即可结合当前角速度、前时刻对应的第一位姿及下一时刻对应的第二位姿,确定预设时间段的初始时刻对应的初始状态量,最后,针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,进而,基于所述目标角速度和该时刻对应的速度生成控制指令,控制机器人运动。也就是,本申请中,是在规划出路径点之后,单独计算控制指令,因此,对路径点的规划不会影响对控制指令的计算,所以,计算得到的控制指令可以更好的保证机器人运动的平滑性和稳定性。
基于相同的技术构思,本申请实施例还提供了一种机器人控制装置,如图3所示,该装置包括:
第一获取模块301,用于获取移动轨迹的多个路径点中每个路径点对应的速度,其中,每个路径点对应一个时刻;
第二获取模块302,用于获取机器人当前时刻对应的当前角速度、当前时刻对应的第一位姿信息和下一时刻对应的第二位姿信息;
确定模块303,用于基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量;
计算模块304,用于针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,基于所述目标角速度和该时刻对应的速度生成控制指令,所述控制指令用于控制所述机器人运动。
计算模块,用于针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,基于所述目标角速度和该时刻对应的速度生成控制指令,所述控制指令用于控制所述机器人运动。
可选的,所述第一位姿包括:第一横纵坐标和第一航向角;所述第二位姿包括:第二横纵坐标和第二航向角;所述确定模块,包括:
计算单元,用于基于所述第一航向角、第二航向角、第一横纵坐标和第二横纵坐标计算横向位移误差,基于所述第一航向角和所述第二航向角计算航向角误差;
第一确定单元,用于基于所述当前角速度、所述横向位移误差及所述航向角误差,确定初始状态量。
可选的,所述计算模块,包括:
第一得到单元,用于将所述初始状态量及预设多个输出角速度代入预设的运动学模型中,得到所述初始时刻对应的多个初始状态量变化率;
第二得到单元,用于利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量;
第二确定单元,用于将所述多个输出角速度及所述多个候选状态量代入二次优化公式,在所述多个输出角速度中确定目标角速度。
可选的,所述运动学模型如下:
可选的,所述运动学模型如下:
可选的,所述二次优化公式如下:
J=XTQX+(U-Uref)TR(U-Uref)
其中,X为状态量;U为输出角速度;Uref为预期值;J为优化指标;Q为状态量权重系数;R为输出角速度权重系数。
可选的,所述第二得到单元,包括:
第一得到子单元,用于针对每个初始状态量变化率,将所述初始状态量变化率与控制周期相乘,得到初始状态量的变化量;
第二得到子单元,用于针对每个初始状态量的变化量,将所述初始状态量与所述初始状态量的变化量相加,得到所述候选状态量。
本申请实施例中,在规划出路径点之后,利用下一时刻的路径点的信息确定下一时刻对应的第二位姿,然后,即可结合当前角速度、前时刻对应的第一位姿及下一时刻对应的第二位姿,确定预设时间段的初始时刻对应的初始状态量,最后,针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,进而,基于所述目标角速度和该时刻对应的速度生成控制指令,控制机器人运动。也就是,本申请中,是在规划出路径点之后,单独计算控制指令,因此,对路径点的规划不会影响对控制指令的计算,所以,计算得到的控制指令可以更好的保证机器人运动的平滑性和稳定性。
基于相同的技术构思,本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:
获取移动轨迹的多个路径点中每个路径点对应的速度,其中,每个路径点对应一个时刻;
获取机器人当前时刻对应的当前角速度、当前时刻对应的第一位姿信息和下一时刻对应的第二位姿信息;
基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量;
针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,基于所述目标角速度和该时刻对应的速度生成控制指令,所述控制指令用于控制所述机器人运动。
可选的,所述第一位姿包括:第一横纵坐标和第一航向角;所述第二位姿包括:第二横纵坐标和第二航向角;所述基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量,包括:
基于所述第一航向角、第二航向角、第一横纵坐标和第二横纵坐标计算横向位移误差,基于所述第一航向角和所述第二航向角计算航向角误差;
基于所述当前角速度、所述横向位移误差及所述航向角误差,确定初始状态量。
可选的,所述基于所述初始状态量计算目标角速度,包括:
将所述初始状态量及预设多个输出角速度代入预设的运动学模型中,得到所述初始时刻对应的多个初始状态量变化率;
利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量;
将所述多个输出角速度及所述多个候选状态量代入二次优化公式,在所述多个输出角速度中确定目标角速度。
可选的,所述运动学模型如下:
可选的,所述运动学模型如下:
J=XTQX+(U-Uref)TR(U-Uref)
其中,X为状态量;U为输出角速度;Uref为预期值;J为优化指标;Q为状态量权重系数;R为输出角速度权重系数。
可选的,所述利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量,包括:
针对每个初始状态量变化率,将所述初始状态量变化率与控制周期相乘,得到初始状态量的变化量;
针对每个初始状态量的变化量,将所述初始状态量与所述初始状态量的变化量相加,得到所述候选状态量。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一机器人控制方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一机器人控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种机器人控制方法,其特征在于,所述方法包括:
获取移动轨迹的多个路径点中每个路径点对应的速度,其中,每个路径点对应一个时刻;
获取机器人当前时刻对应的当前角速度、当前时刻对应的第一位姿信息和下一时刻对应的第二位姿信息;
基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量;
针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,基于所述目标角速度和该时刻对应的速度生成控制指令,所述控制指令用于控制所述机器人运动。
2.根据权利要求1所述的方法,其特征在于,所述第一位姿包括:第一横纵坐标和第一航向角;所述第二位姿包括:第二横纵坐标和第二航向角;所述基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量,包括:
基于所述第一航向角、第二航向角、第一横纵坐标和第二横纵坐标计算横向位移误差,基于所述第一航向角和所述第二航向角计算航向角误差;
基于所述当前角速度、所述横向位移误差及所述航向角误差,确定初始状态量。
3.根据权利要求1所述的方法,其特征在于,所述基于所述初始状态量计算目标角速度,包括:
将所述初始状态量及预设多个输出角速度代入预设的运动学模型中,得到所述初始时刻对应的多个初始状态量变化率;
利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量;
将所述多个输出角速度及所述多个候选状态量代入二次优化公式,在所述多个输出角速度中确定目标角速度。
6.根据权利要求3所述的方法,其特征在于,所述二次优化公式如下:
J=XTQX+(U-Uref)TR(U-Uref)
其中,X为状态量;U为输出角速度;Uref为预期值;J为优化指标;Q为状态量权重系数;R为输出角速度权重系数。
7.根据权利要求3所述的方法,其特征在于,所述利用所述初始状态量和所述多个初始状态量变化率,计算得到多个候选状态量,包括:
针对每个初始状态量变化率,将所述初始状态量变化率与控制周期相乘,得到初始状态量的变化量;
针对每个初始状态量的变化量,将所述初始状态量与所述初始状态量的变化量相加,得到所述候选状态量。
8.一种机器人控制装置,其特征在于,所述装置包括:
第一获取模块,用于获取移动轨迹的多个路径点中每个路径点对应的速度,其中,每个路径点对应一个时刻;
第二获取模块,用于获取机器人当前时刻对应的当前角速度、当前时刻对应的第一位姿信息和下一时刻对应的第二位姿信息;
确定模块,用于基于所述当前角速度、所述第一位姿及所述第二位姿,确定预设时间段的初始时刻对应的初始状态量;
计算模块,用于针对预设时间段内的每个时刻,基于所述初始状态量计算目标角速度,基于所述目标角速度和该时刻对应的速度生成控制指令,所述控制指令用于控制所述机器人运动。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110247033.6A CN115008450A (zh) | 2021-03-05 | 2021-03-05 | 一种机器人控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110247033.6A CN115008450A (zh) | 2021-03-05 | 2021-03-05 | 一种机器人控制方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115008450A true CN115008450A (zh) | 2022-09-06 |
Family
ID=83064929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110247033.6A Pending CN115008450A (zh) | 2021-03-05 | 2021-03-05 | 一种机器人控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115008450A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701821A (zh) * | 2023-08-03 | 2023-09-05 | 季华实验室 | 机器人速度计算方法、装置、电子设备及存储介质 |
-
2021
- 2021-03-05 CN CN202110247033.6A patent/CN115008450A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701821A (zh) * | 2023-08-03 | 2023-09-05 | 季华实验室 | 机器人速度计算方法、装置、电子设备及存储介质 |
CN116701821B (zh) * | 2023-08-03 | 2024-03-19 | 季华实验室 | 机器人速度计算方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8825207B2 (en) | Trajectory planning method, trajectory planning system and trajectory planning and control system | |
WO2018173569A1 (en) | Model predictive control system and method for controlling operation of machine | |
CN112207834B (zh) | 一种基于干扰观测器的机器人关节系统控制方法及系统 | |
CN109434831A (zh) | 机器人运行方法、装置、机器人、电子设备及可读介质 | |
CN114641375A (zh) | 动态规划控制器 | |
Bertolazzi et al. | Semianalytical minimum‐time solution for the optimal control of a vehicle subject to limited acceleration | |
CN105159294A (zh) | 针对叉车模糊逻辑运动控制器的设计方法 | |
CN116449820A (zh) | 一种基于约束跟随的无人履带车轨迹跟踪控制方法 | |
CN110609539A (zh) | 路径跟踪控制方法、装置和系统及存储介质 | |
CN110737195A (zh) | 基于速度控制的双足机器人行走落脚点规划方法及装置 | |
CN115008450A (zh) | 一种机器人控制方法、装置、电子设备及存储介质 | |
CN109857134A (zh) | 基于A*/minimum_snap算法的无人机轨迹控制系统和方法 | |
CN112148017B (zh) | 一种误差标定方法、装置、电子设备及存储介质 | |
CN112597612B (zh) | 机器人优化方法、装置、终端设备及计算机可读存储介质 | |
CN111624872B (zh) | 一种基于自适应动态规划的pid控制器参数整定方法及系统 | |
CN116520847A (zh) | 路径规划方法、装置、移动机器人、电子设备及存储介质 | |
Guizhi et al. | Determination of stability correction parameters for dynamic equations of constrained multibody systems | |
CN115227407B (zh) | 一种手术机器人控制方法、装置、系统、设备及存储介质 | |
CN114434449B (zh) | 一种新型粒子群自适应阻抗控制方法及装置 | |
CN114967472A (zh) | 一种无人机轨迹跟踪状态补偿深度确定性策略梯度控制方法 | |
CN115933643A (zh) | 机器人的控制方法、装置、电子设备及存储介质 | |
CN111390905B (zh) | 机器人多任务控制方法、控制装置及终端设备 | |
CN113927585A (zh) | 一种机器人平衡控制方法、装置、可读存储介质及机器人 | |
Chen et al. | Time-optimal trajectory planning based on event-trigger and conditional proportional control | |
CN114147710A (zh) | 机器人的控制方法、装置、机器人及存储介质 |
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 |