CN115488898A - 轨迹规划方法、装置、机器人及计算机可读取存储介质 - Google Patents
轨迹规划方法、装置、机器人及计算机可读取存储介质 Download PDFInfo
- Publication number
- CN115488898A CN115488898A CN202211351140.4A CN202211351140A CN115488898A CN 115488898 A CN115488898 A CN 115488898A CN 202211351140 A CN202211351140 A CN 202211351140A CN 115488898 A CN115488898 A CN 115488898A
- Authority
- CN
- China
- Prior art keywords
- motion
- transition
- motion segment
- joint
- segment
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本申请提供一种轨迹规划方法、装置、机器人及计算机可读取存储介质,涉及机器人技术领域。该方法包括:确定第一运动段与第二运动段之间的过渡路径;其中,第一运动段和第二运动段包括:直线运动段、圆弧运动段以及关节运动段中的任意一种;根据约束信息对第一运动段、第二运动段以及过渡路径进行轨迹规划,得到目标轨迹;其中,约束信息包括:机器人关节的关节速度约束信息、关节加速度约束信息以及关节力矩约束信息中的至少一种。本申请中能够对各种类型的运动段之间的过渡路径进行计算,并在机器人关节运动时的约束信息的基础上对多个运动段以及过渡路径的运动轨迹进行规划,从而实现多种类型的运动段之间的平滑过渡,提高了平滑过渡时的效果。
Description
技术领域
本申请涉及技术领域,具体而言,涉及一种轨迹规划方法、装置、机器人及计算机可读取存储介质。
背景技术
机器人一般有点到点的运动和连续轨迹的运动,其中点到点的运动,指的就是在单个运动段初始速度和末速度都为零,因此,在多运动段的作业程序中则需要机器人进行频繁地启停,不仅会对机器人的寿命造成不利影响,还会降低机器人执行作业的效率。因此,在机器人实际作业中,为提高作业效率,在一些无需精确到位的作业示教点上,无需停机可以直接向下一个轨迹段做变速运动,以提高机器人的整体作业节拍,即多运动段的连续轨迹过渡。在多个运动段之间,若只是简单地在两运动段之间进行末速度不为零的轨迹规划,则两运动段的衔接点处将会产生速度跳变,导致机器人产生抖动等情况,影响机器人的正常运动。
目前通常使用平滑过渡算法,以提高机器人的运行速度,减少减速停车的次数,使机器人能够尽量平稳过渡,不产生抖动和冲击。但是,目前的平滑过渡算法的平滑过渡效果较差,机器人在多运动段的连续轨迹运动中依旧存在速度不稳定、转接不连续等不利情况,导致机器人无法在多运动段中进行有效地平滑过渡运动。
发明内容
有鉴于此,本申请实施例的目的在于提供一种轨迹规划方法、装置、机器人及计算机可读取存储介质,以改善现有技术中存在的机器人进行多运动段的连续轨迹运动时过渡的效果较差的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种轨迹规划方法,所述方法包括:
确定第一运动段与第二运动段之间的过渡路径;其中,所述第一运动段和所述第二运动段包括:直线运动段、圆弧运动段以及关节运动段中的任意一种;
根据约束信息对所述第一运动段、所述第二运动段以及所述过渡路径进行轨迹规划,得到目标轨迹;其中,所述约束信息包括:机器人关节的关节速度约束信息、关节加速度约束信息以及关节力矩约束信息中的至少一种。
在上述实现过程中,在不同轨迹规划空间中多种不同类型的运动段进行过渡时,可以根据过渡前的第一运动段以及过渡后的第二运动段计算两者之间转接的过渡路径,从而减小使机器人过渡时指令速度和指令加速度造成的转接不连续、速度不稳定等不利影响。将运动段中对机器人关节进行的约束转换为对路径进行约束的约束信息,以对过渡前的第一运动段、过渡时的过渡路径以及过渡后的第二运动段进行轨迹规划,得到能够平滑过渡的目标轨迹。能够对不同轨迹规划空间中多种不同类型的运动段进行顺滑、平稳地过渡,扩大了过渡时的范围,适用于多种不同的过渡情况。还能够有效地减小机器人过渡时姿态和位置发生的跳变情况,从而提高机器人在多运动段的连续轨迹运动中过渡时的平滑效果,以提高机器人多运动段的连续轨迹运动的稳定性。
可选地,所述确定第一运动段与第二运动段之间的过渡路径,包括:
对所述第一运动段和所述第二运动段进行离散化处理,得到多个离散点;其中,所述离散点表征所述机器人关节在关节坐标空间中的位置和位姿;
根据过渡参数确定多个所述离散点中的过渡离散点;
基于所述过渡离散点的权重信息进行拟合,得到所述过渡路径。
在上述实现过程中,在获取第一运动段和第二运动段之间进行转接时的过渡路径时,为了减小指令速度与指令加速度对路径造成的不利影响,可以对运动段进行离散化处理,以确定其中各个能够表征机器人关节在关节坐标空间中的位置和位姿的离散点。并根据过渡参数所确定的范围在多个离散点中确定过渡时的过渡离散点,以结合过渡离散点的权重信息拟合得到平滑的过渡路径,以使过渡路径较平滑,且不会随速度变化而产生不利变化,从而减小过渡时速度不稳定、不连续等多种不利情况,提高了过渡路径的准确性和稳定性。
可选地,所述对所述第一运动段和所述第二运动段进行离散化处理,得到多个离散点,包括:
获取所述第一运动段或所述第二运动段的运动信息;其中,所述运动信息包括:起点、终点、运动段距离、方向矢量中的至少一种;
确定所述第一运动段或所述第二运动段的离散参数;其中,所述离散参数包括离散点间隔和/或离散进度;
基于所述离散参数和所述运动信息,确定所述关节坐标空间中的多个所述离散点。
在上述实现过程中,离散处理时可以根据运动段中具体的运动信息进行处理,并结合运动段对应的离散参数,将不同规划空间,例如笛卡尔坐标空间以及关节坐标空间中的多种类型的运动段都转换为关节坐标空间中的离散点,以实现多种不同轨迹规划空间中各种运动段之间的平滑过渡。将多种类型的运动段的离散处理统一转换为关节坐标空间中的离散点,能够对机器人关节所在的位置以及该位置处的位姿进行获取,以将机器人运动时的路径与机器人的关节运动进行结合,提高了离散点的统一性和准确性。
可选地,所述第一运动段或所述第二运动段为所述直线运动段或所述圆弧运动段,所述基于所述离散参数和所述运动信息,确定所述关节坐标空间中的多个所述离散点,包括:
根据所述离散进度、所述运动段距离以及所述方向矢量,确定所述第一运动段或所述第二运动段在笛卡尔坐标空间的位姿数据;
对所述位姿数据进行逆运动学处理,确定所述机器人关节在所述关节坐标空间中的多个所述离散点。
在上述实现过程中,在第一运动段或第二运动段中包括笛卡尔坐标空间中的直线运动段或圆弧运动段时,为了进行统一的离散化处理,可以先进行笛卡尔坐标空间中的离散处理,根据离散参数和运动信息确定出笛卡尔坐标空间中机器人关节的各个位姿数据。再通过逆运动学处理,将笛卡尔坐标空间的位姿转换为关节坐标空间中的位置和位姿,从而得到多个对应的离散点。能够快速、准确地将笛卡尔坐标空间对应的运动段中的多个位姿数据转换为关节坐标空间中的离散点,从而能够对直线运动段与关节运动段,或圆弧运动段与关节运动段,即笛卡尔坐标空间与关节坐标空间中的各种运动段之间的过渡进行平滑处理,实现不同规划空间中不同的运动段之间的轨迹规划,有效地扩大了过渡时轨迹规划的范围,适用于更多过渡场景。
可选地,所述根据过渡参数确定多个所述离散点中的过渡离散点,包括:
根据预设的所述过渡参数,确定所述第一运动段中的第一过渡段,以及所述第二运动段中的第二过渡段;其中,所述第一过渡段与所述第二过渡段相交;
对多个所述离散点进行筛选,以所述第一过渡段以及所述第二过渡段中的所述离散点作为所述过渡离散点。
在上述实现过程中,通过预设的过渡参数对两个运动段进行分别截取,以确定两个运动段中相交的过渡段,从而在过渡段的基础上对两个运动段中的多个离散点进行筛选,以过渡段中包含的离散点作为过渡时的过渡离散点。通过对过渡离散点的范围进行限定,有效地提高了过渡离散点的有效性和准确性。
可选地,所述基于所述过渡离散点的权重信息进行拟合,得到所述过渡路径,包括:
根据多个所述离散点确定路径参数;
根据过渡需求,确定每个所述过渡离散点的所述权重信息;
基于所述路径参数和所述权重信息对多个所述过渡离散点进行拟合,得到所述过渡路径。
在上述实现过程中,拟合时能够根据离散点确定相应的路径参数,以通过路径参数对各个离散点的具体情况进行表征。为了使机器人在过渡时能够进行平滑地过渡,而不是直接按照运动段的离散点进行直接转折,可以根据过渡时是否需要经过每个离散点的过渡需求,确定各个过渡离散点的权重信息,通过权重信息将平滑过渡时的路径与真实转折时的点位进行区分,以结合路径参数和权重信息对多个过渡离散点进行拟合,得到平滑的过渡路径。通过设置权重信息的方式,对两个运动段原本的过渡段的路径进行修改,能够得到平滑的过渡路径,从而实现多运动段之间的平滑过渡。
可选地,所述根据约束信息对所述第一运动段、所述第二运动段以及所述过渡路径进行轨迹规划,得到目标轨迹,包括:
根据所述第一运动段和所述第二运动段的约束条件,确定所述路径参数的所述约束信息;
基于所述约束信息确定初始轨迹中各个所述离散点对应的参数值;其中,所述初始轨迹为所述第一运动段、所述过渡路径以及所述第二运动段组成的轨迹;
基于多个所述参数值确定多个目标关节信息,得到包括多个所述目标关节信息的所述目标轨迹;其中,所述目标关节信息包括目标关节位置和目标关节位姿。
在上述实现过程中,在进行轨迹规划时,可以将对运动段设置的约束条件,转换为对路径参数进行约束的约束信息,即将对运动段设置的约束转换为对各个离散点的约束。在多种约束信息的约束情况下确定第一运动段、第二运动段以及过渡路径组成的初始轨迹中各个离散点所对应的路径参数的参数值,从而根据路径参数与关节位置以及位姿的关系,确定包含位置和位姿的目标关节信息,以获得有多个目标关节信息组成的目标轨迹。能够在约束的情况下确定速度较高且稳定的目标轨迹,减少机器人在以目标轨迹进行运动时的速度不连续、不稳定,以及过渡时姿态和位置发生的跳变等不利情况,使机器人能够平滑、稳定地实现多运动段的连续轨迹运动,提高了机器人多运动段的连续轨迹运动的稳定性。
第二方面,本申请实施例提供了一种轨迹规划装置,所述装置包括:
过渡模块,用于确定第一运动段与第二运动段之间的过渡路径;其中,所述第一运动段和所述第二运动段包括:直线运动段、圆弧运动段以及关节运动段中的任意一种;
规划模块,用于根据约束信息对所述第一运动段、所述第二运动段以及所述过渡路径进行轨迹规划,得到目标轨迹;其中,所述约束信息包括:机器人关节的关节速度约束信息、关节加速度约束信息以及关节力矩约束信息中的至少一种。
第三方面,本申请实施例还提供了一种机器人,所述机器人包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述轨迹规划方法中任一实现方式中的步骤。
第四方面,本申请实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述轨迹规划方法中任一实现方式中的步骤。
综上所述,本申请提供了一种轨迹规划方法、装置、机器人及计算机可读取存储介质,通过对各种类型的运动段之间的过渡路径进行计算,并在机器人关节运动时的约束信息的基础上对多个运动段以及过渡路径的运动轨迹进行规划,从而实现多种类型的运动段之间的平滑过渡,提高了平滑过渡时的效果。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种轨迹规划方法的流程示意图;
图2为本申请实施例提供的一种步骤S100的详细流程示意图;
图3为本申请实施例提供的一种步骤S110的详细流程示意图;
图4为本申请实施例提供的一种步骤S113的详细流程示意图;
图5为本申请实施例提供的一种步骤S120的详细流程示意图;
图6为本申请实施例提供的一种第一运动段与第二运动段相交的示意图;
图7为本申请实施例提供的一种步骤S130的详细流程示意图;
图8为本申请实施例提供的一种步骤S200的详细流程示意图;
图9为本申请实施例提供的一种目标轨迹与初始轨迹的对比图;
图10为本申请实施例提供的一种轨迹规划装置的结构示意图。
图标:123-第一运动段;124-第二运动段;125-衔接点;126-第一转接点;127-第二转接点;128-第一过渡段;129-第二过渡段;241-初始轨迹;242-目标轨迹;243-关节运动段;244-直线运动段;245-过渡路径;300-轨迹规划装置;310-过渡模块;320-规划模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
目前使用的平滑过渡算法中,有的算法无法适用于不同规划空间的运动段之间的转接,有的算法在转接点处仍然无法保证速度的连续,有的算法过渡路径并不固定,而是随运动段的速度和加速度而变化。且机器人在进行多路段的转接过渡时,还会收到指令速度和指令加速度的影响,存在速度不稳定、转接不连续等不利情况,过渡时的姿态和位置也会因为速度等问题产生跳变情况,导致机器人无法在多运动段中进行有效地平滑过渡运动。
因此,为了解决上述问题,本申请实施例提供了一种轨迹规划方法,应用于机器人,机器人可以为各种型号的机器人,包括但不限于六轴机器人、七轴机器人等。
可选地,机器人中可以包括存储器、存储控制器、处理器等。机器人的组件和结构可以根据实际情况进行设置。
上述的存储器、存储控制器、处理器各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器用于执行存储器中存储的可执行模块。
其中,存储器可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序,本申请实施例任一实施例揭示的过程定义的机器人所执行的方法可以应用于处理器中,或者由处理器实现。
上述的处理器可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signal processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器,也可以是任何常规的处理器等。
可选地,本方法还可以应用于与机器人连接,用于控制机器人的电子设备中,电子设备可以为服务器、个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)等具有逻辑计算功能的电子设备,能够通过网络、蓝牙等方式与机器人进行连接,从而控制机器人进行运动。
本实施例中的机器人可以用于执行本申请实施例提供的各个轨迹规划方法中的各个步骤。下面通过几个实施例详细描述轨迹规划方法的实现过程。
请参阅图1,图1为本申请实施例提供的一种轨迹规划方法的流程示意图,该方法可以包括步骤S100-S200。
步骤S100,确定第一运动段与第二运动段之间的过渡路径。
其中,在进行过渡时,第一运动段可以为过渡前的运动段,第二运动段可以为过渡后的运动段,可以根据过渡前的第一运动段以及过渡后的第二运动段计算两者之间转接的过渡路径,从而减小使机器人过渡时指令速度和指令加速度造成的转接不连续、速度不稳定等不利影响。
可选地,由于直线运动、圆弧运动和关节运动为当前机器人执行作业程序常用到的三种运动类型,其中直线运动是指机器人工具末端的运行轨迹是笛卡尔坐标空间下的直线,圆弧运动是指机器人工具末端的运动轨迹是笛卡尔坐标空间下的圆弧,直线运动和圆弧运动的轨迹规划通常在笛卡尔坐标空间下完成;关节运动指的是机器人在关节坐标空间下进行的轨迹规划运动,关节运动时机器人工具末端的轨迹不可预见。笛卡尔坐标空间可以包括直角坐标系和斜坐标系,关节坐标空间可以包括机器人中的所有关节矢量,示例地,n个自由度的机械臂的末端位姿由n个关节变量决定,这n个关节变量统称为n维关节矢量,可以用q表示。
因此,相对应地,本申请中进行过渡前的第一运动段和过渡后的第二运动段可以包括多种类型的运动所对应的运动段,例如直线运动段、圆弧运动段以及关节运动段等。
在这三种运动类型下,运动段之间的过渡类型可以包括以下多种:关节运动段到关节运动段;关节运动段到直线运动段;关节运动段到圆弧运动段;直线运动段到直线运动段;直线运动段到关节运动段;直线运动段到圆弧运动段;圆弧运动段到圆弧运动段;圆弧运动段到关节运动段;圆弧运动段到直线运动段。能够对笛卡尔坐标空间与关节坐标空间中多种类型的运动段之间的平滑过渡,实现笛卡尔坐标空间与笛卡尔坐标空间、关节坐标空间与关节坐标空间,以及笛卡尔坐标空间与关节坐标空间之间多种运动段的过渡,扩大了过渡时的范围,适用于多种不同的过渡情况。
步骤S200,根据约束信息对第一运动段、第二运动段以及过渡路径进行轨迹规划,得到目标轨迹。
其中,约束信息可以包括:机器人关节的关节速度约束信息、关节加速度约束信息以及关节力矩约束信息中的至少一种。将运动段中对机器人关节进行的约束转换为对路径进行约束的约束信息,以对过渡前的第一运动段、过渡时的过渡路径以及过渡后的第二运动段进行轨迹规划,得到能够平滑过渡的目标轨迹。
在图1所示的实施例中,有效地减小机器人过渡时姿态和位置发生的跳变情况,从而提高机器人在多运动段的连续轨迹运动中过渡时的平滑效果,以提高机器人多运动段的连续轨迹运动的稳定性。
可选地,请参阅图2,图2为本申请实施例提供的一种步骤S100的详细流程示意图,步骤S100中可以包括步骤S110-S130。
步骤S110,对第一运动段和第二运动段进行离散化处理,得到多个离散点。
其中,在获取第一运动段和第二运动段之间进行转接时的过渡路径时,为了减小指令速度与指令加速度对路径造成的不利影响,可以对两个运动段进行离散化处理,以确定多个离散点,离散点表征机器人关节在关节坐标空间中的位置和位姿。
步骤S120,根据过渡参数确定多个离散点中的过渡离散点。
其中,当需要在运动段之间实现平滑过渡时,可以根据过渡时的具体需求以及运动段的具体情况设置不为零的平滑过渡参数,从而根据过渡参数在多个离散点中进行筛选,得到进行过渡时的过渡离散点。
步骤S130,基于过渡离散点的权重信息进行拟合,得到过渡路径。
其中,过渡离散点的权重信息为表征离散点的拟合值与真实值之间的误差的信息,通过结合过渡离散点的权重信息,能够确定拟合时是否会经过该过渡离散点,并减小速度变化造成的影响,从而拟合得到相应的过渡路径。
在图2所示的实施例中,根据过渡时离散点的权重信息进行拟合,以使过渡路径较平滑,且不会随速度变化而产生不利变化,从而减小过渡时速度不稳定、不连续等多种不利情况,提高了过渡路径的准确性和稳定性。
可选地,请参阅图3,图3为本申请实施例提供的一种步骤S110的详细流程示意图,步骤S110中可以包括步骤S111-S113。
步骤S111,获取第一运动段或第二运动段的运动信息。
其中,运动信息可以包括:起点、终点、运动段距离、方向矢量等多种运动段相关的数据。示例地,以直线运动段为例,直线运动段的运动信息可以包括直线运动段的起点、终点、运动段的笛卡尔距离、单位方向矢量等数据。可以根据运动段的运动轨迹,在对应的规划空间的坐标系中进行计算,以获取多种类型的运动信息。
步骤S112,确定第一运动段或第二运动段的离散参数。
其中,离散参数包括离散点间隔和/或离散进度,可以根据离散处理时的需求以及运动段的实际情况,设置对应的离散点间隔以及离散进度,例如,在运动段较长时,则离散点间隔可以设置为较大的间隔,在运动段较短时,则离散点间隔可以设置为较短的间隔等,在开始离散处理时,可以将离散进度设置为0以便于处理。
步骤S113,基于离散参数和运动信息,确定关节坐标空间中的多个离散点。
其中,可以把根据运动段中具体的运动信息结合运动段对应的离散参数进行处理,将不同规划空间,例如笛卡尔坐标空间以及关节坐标空间中的多种类型的运动段都转换为关节坐标空间中的离散点,以实现多种不同轨迹规划空间中各种运动段之间的平滑过渡。
在图3所示的实施例中,可以将多种类型的运动段的离散处理统一转换为关节坐标空间中的离散点,能够对机器人关节所在的位置以及该位置处的位姿进行获取,以将机器人运动时的路径与机器人的关节运动进行结合,提高了离散点的统一性和准确性。
可选地,请参阅图4,图4为本申请实施例提供的一种步骤S113的详细流程示意图,步骤S113中可以包括步骤S1131-S1132。
步骤S1131,根据离散进度、运动段距离以及方向矢量,确定第一运动段或第二运动段在笛卡尔坐标空间的位姿数据。
其中,在第一运动段或第二运动段为直线运动段或圆弧运动段,即涉及笛卡尔坐标空间的运动段的离散处理时,可以先在笛卡尔坐标空间中进行离散处理,以得到笛卡尔坐标空间的多个点位的位姿数据。
可选地,离散处理时可以通过对离散进度和运动段距离进行比较,以判断是否能进行离散处理。在离散进度大于运动段距离时,则对离散进度进行重新设置,将其设置为与运动段距离相等;在离散进度小于或等于运动段距离时,则根据离散进度、运动段距离以及方向矢量进行计算,得到笛卡尔坐标空间中多个关节的离散点的位姿数据。
步骤S1132,对位姿数据进行逆运动学处理,确定机器人关节在关节坐标空间中的多个离散点。
其中,通过对多个笛卡尔坐标空间中的离散点的位姿数据进行逆运动学计算,能够将笛卡尔坐标空间中的数据转换为关节坐标空间中的数据,得到机器人关节在关节坐标空间中的多个包含位置与位姿的离散点。示例地,在六轴机器人中,获取的离散点可以表示为:qdiscrete=[q1,q2,q3,q4,q5,q6]。
可选地,在涉及关节坐标空间的离散处理时,可以直接在关节坐标空间中进行离散处理,得到对应的离散点。
在图4所示的实施例中,能够对笛卡尔坐标空间与关节坐标空间中的各种运动段之间的过渡进行平滑处理,实现不同规划空间中不同的运动段之间的轨迹规划,有效地扩大了过渡时轨迹规划的范围,适用于更多过渡场景。
可选地,请参阅图5,图5为本申请实施例提供的一种步骤S120的详细流程示意图,步骤S120中可以包括步骤S121-S122。
步骤S121,根据预设的过渡参数,确定第一运动段中的第一过渡段,以及第二运动段中的第二过渡段。
其中,第一运动段与第二运动段在需要进行过渡时,两个运动段会在某一点位进行相交,可以将相交的点位作为运动段的衔接点。预设的过渡参数可以为比例数据,例如0.25,则表示运动段中,距离衔接点长度为0.25个运动段整体长度的位置处为该运动段进行过渡时的转接点,从而以转接点与衔接点之间的路段作为第一运动段和第二运动段中的第一过渡段和第二过渡段,第一过渡段与第二过渡段在衔接点处相交。
可选地,请参阅图6,图6为本申请实施例提供的一种第一运动段与第二运动段相交的示意图,以直线运动的运动段为例,图中的第一运动段123和第二运动段124在衔接点125处相交,并根据过渡参数确定的第一转接点126和第二转接点127,以确定第一运动段123中,第一转接点126到衔接点125之间的第一过渡段128,以及第二运动段124中,第二转接点127到衔接点125之间的第二过渡段129。
步骤S122,对多个离散点进行筛选,以第一过渡段以及第二过渡段中的离散点作为过渡离散点。
其中,在过渡段的基础上对两个运动段中的多个离散点进行筛选,以过渡段中包含的离散点作为过渡时的过渡离散点。
在图5所示的实施例中,通过对过渡离散点的范围进行限定,有效地提高了过渡离散点的有效性和准确性。
可选地,请参阅图7,图7为本申请实施例提供的一种步骤S130的详细流程示意图,步骤S130中可以包括步骤S131-S133。
步骤S131,根据多个离散点确定路径参数。
其中,在进行离散处理时,可以确定对应的路径参数,以对机各个机器人关节的离散点进行描述。
可选地,路径参数s可以设置为分段三次多项式,以从速度、加速度、力矩等多方面对离散点的情况进行描述。
步骤S132,根据过渡需求,确定每个过渡离散点的权重信息。
其中,由于路径参数在描述路径时,会严格经过每一个离散点,为了在过渡时进行平滑过渡,可以根据过渡需求设置相应的权重信息,过渡需求可以为确定是否需要经过该过渡离散点的数据,例如经过第一个离散点概率为0.5,经过第二个离散点的概率为0.8决定过渡时是否需要经过各个离散点的概率值。从而根据过渡需求,设置表征过渡离散点的拟合值与真实值之间误差的权重信息。
示例地,权重信息越大时,则表征过渡离散点的拟合值与真实值之间误差越小,则经过该过渡离散点的可能性越高。
步骤S133,基于路径参数和权重信息对多个过渡离散点进行拟合,得到过渡路径。
其中,为了进行平滑过渡,可以将设置一个较小的权重范围,以使多个过渡离散点对应的权重信息都处于该权重范围之内,从而通过较小的权重信息代入路径参数中进行拟合,对两个运动段中原本的过渡段进行修改,得到较为平滑的过渡路径。
示例地,在使用序列x对离散点y进行拟合时,路径参数的最小化函数的表达式如下所示:
其中,n表示过渡离散点的个数,w(j)表示第j个过渡离散点的权重,y(j)表示第j个过渡离散点的值,x(j)表示第j个过渡离散点所对应的x值,f(x(j))表示对应于y(j)的拟合值,D2f(t)表示f的二阶导,p表示决定拟合效果的光顺程度,即光顺系数,可以根据过渡需求与实际情况对光顺系数进行选择和调整。
在图7所示的实施例中,通过设置权重信息的方式,对两个运动段原本的过渡段的路径进行修改,能够得到平滑的过渡路径,从而实现多运动段之间的平滑过渡。
可选地,请参阅图8,图8为本申请实施例提供的一种步骤S200的详细流程示意图,步骤S200中可以包括步骤S210-S230。
步骤S210,根据第一运动段和第二运动段的约束条件,确定路径参数的约束信息。
其中,可以获取原本对运动段设置的约束条件,例如,关节速度约束条件、关节加速度约束条件、关节力矩约束条件等。从而将各种约束条件转换为对路径参数s的约束信息。
步骤S220,基于约束信息确定初始轨迹中各个离散点对应的参数值。
其中,初始轨迹为第一运动段、过渡路径以及第二运动段组成的轨迹。
需要说明的是,初始轨迹中并不完全包含第一运动段以及第二运动段中所有的离散点,而是包括第一运动段以及第二运动段的起点至过渡时的转接点中的离散点,以及过渡路径中的过渡离散点。
可以将多种约束信息代入到路径参数S中,则各个离散点的关节位置、速度以及加速度都可以用过路径参数s进行表示:
其中,q’(s)表示对路径参数的一阶导数,表示路径速度,q″(s)表示对路径参数的二阶导数,表示路径加速度,q表示关节位置,表示关节速度,表示关节加速度。得到关节变量和路径参数之间的关系后,可以将关节空间的约束,如关节速度约束条件、关节加速度约束条件以及关节力矩约束条件转化为对路径参数及其导数的约束,即约束信息,示例地,约束信息中,关节速度约束信息可以表示为关节加速度约束信息可以表示为关节力矩约束信息可以表示为[τmin,τmax]。
示例地,在关节速度约束信息的约束下,路径参数的导数容许范围如下:
在关节加速度约束信息的约束下,路径导数容许的范围如下:
在关节力矩约束信息的约束下,路径参数约束时的表达式为:
其中,A为机器人动力学方程中的惯性矩阵,B为科氏力与向心力矩阵,f为机器人动力学方程中的重力矩。可以根据多种对路径参数的约束进行计算,使用优化的解法求解满足所有约束条件下,对应的各个离散点的路径速度的最大值,以在平滑过渡的同时进一步地提高机器人运动的速度,并根据路径速度的最大值确定路径参数s对应的参数值。
步骤S230,基于多个参数值确定多个目标关节信息,得到包括多个目标关节信息的目标轨迹。
其中,目标关节信息包括目标关节位置和目标关节位姿。可以根据路径参数与关节位置之间的关系,结合分段三次多项式计算得到各个离散点的目标关节信息,从而实现轨迹规划,得到包括多个目标关键信息的目标轨迹。
可选地,在对目标关节信息进行计算时,可以根据离散点的实际位置确定计算的顺序,从而对多个离散点进行规划。
可选地,由于机器人的运动与轨迹规划同步进行,在进行轨迹规划时,若对过渡前的第一运动段的规划已经超过第一运动段中的转接点,则可以放弃规划,直接以第一运动段原本的轨迹进行运动,若对未超过第一运动段中的转接点,则以规划后的目标轨迹进行运动。
可选地,在关节运动至关节运动的运动段的过渡中,可以有效地避免关节运动到关节运动在运动段衔接点的停止,在关节运动至直线运动的运动段的过渡中,能够避免在关节运动到直线运动运动段衔接点的停止,在关节运动至圆弧运动的运动段的过渡中,能够避免在关节运动到圆弧运动运动段衔接点的停止,在执行运动到直线运动的运动段的过渡中,能够避免在直线运动到直线运动运动段衔接点的停止,在直线运动至圆弧运动的运动段的过渡中,能够避免在直线运动到圆弧运动运动段衔接点的停止,在圆弧运动至圆弧运动的运动段的过渡中,能够得到连续运动的圆弧末端轨迹。从而提高机器人作业执行效率,且连续运动线速度曲线顺滑无跳变。在对关节运动速度和关节运动加速度进行修改时,规划得到的目标轨迹仍旧相同,从而不受指令速度与指令加速度的影响。
可选地,请参阅图9,图9为本申请实施例提供的一种目标轨迹与初始轨迹的对比图,图9中示出了一种关节运动与直线运动之间的关节运动段进行过渡时的初始轨迹241与目标轨迹242。初始轨迹241和目标轨迹242中分别包括对应的关节运动的关节运动段243和直线运动的直线运动段244,初始轨迹241为实线,目标轨迹242为虚线,从图中可以看出,进行平滑规划处理前的初始轨迹为点到点的关节运动轨迹,在过渡时需要运动至对应的点位才能进行运动段的转接,而在进行轨迹规划后,目标轨迹242中能够以平滑的过渡路径245进行过渡,从而实现关节运动与直线运动的运动段之间的平滑过渡,提高了平滑过渡时的效果。
在图8所示的实施例中,能够在约束的情况下确定速度较高且稳定的目标轨迹,减少机器人在以目标轨迹进行运动时的速度不连续、不稳定,以及过渡时姿态和位置发生的跳变等不利情况,使机器人能够平滑、稳定地实现多运动段的连续轨迹运动,提高了机器人多运动段的连续轨迹运动的稳定性。
请参阅图10,图10为本申请实施例提供的一种轨迹规划装置的结构示意图,轨迹规划装置300设置在机器人或与机器人连接的电子设备中,可以包括:
过渡模块310,用于确定第一运动段与第二运动段之间的过渡路径;其中,第一运动段和第二运动段包括:直线运动段、圆弧运动段以及关节运动段中的任意一种;
规划模块320,用于根据约束信息对第一运动段、第二运动段以及过渡路径进行轨迹规划,得到目标轨迹;其中,约束信息包括:机器人关节的关节速度约束信息、关节加速度约束信息以及关节力矩约束信息中的至少一种。
在一可选的实施方式中,过渡模块310中还可以包括离散子模块、筛选子模块和拟合子模块;
离散子模块,用于对第一运动段和第二运动段进行离散化处理,得到多个离散点;其中,离散点表征机器人关节在关节坐标空间中的位置和位姿;
筛选子模块,用于根据过渡参数确定多个离散点中的过渡离散点;
拟合子模块,用于基于过渡离散点的权重信息进行拟合,得到过渡路径。
在一可选的实施方式中,离散子模块中还可以包括获取单元、确定单元和处理单元;
获取单元,用于获取第一运动段或第二运动段的运动信息;其中,运动信息包括:起点、终点、运动段距离、方向矢量中的至少一种;
确定单元,用于确定第一运动段或第二运动段的离散参数;其中,离散参数包括离散点间隔和/或离散进度;
处理单元,用于基于离散参数和运动信息,确定关节坐标空间中的多个离散点。
在一可选的实施方式中,处理单元中还可以包括位姿子单元和转换子单元;
位姿子单元,用于根据离散进度、运动段距离以及方向矢量,确定第一运动段或第二运动段在笛卡尔坐标空间的位姿数据;
转换子单元,用于对位姿数据进行逆运动学处理,确定机器人关节在关节坐标空间中的多个离散点。
在一可选的实施方式中,筛选子模块,还用于根据预设的过渡参数,确定第一运动段中的第一过渡段,以及第二运动段中的第二过渡段;其中,第一过渡段与第二过渡段相交;对多个离散点进行筛选,以第一过渡段以及第二过渡段中的离散点作为过渡离散点。
在一可选的实施方式中,拟合子模块中还可以包括参数单元、权重单元和拟合单元;
参数单元,用于根据多个离散点确定路径参数;
权重单元,用于根据过渡需求,确定每个过渡离散点的权重信息;
拟合单元,用于基于路径参数和权重信息对多个过渡离散点进行拟合,得到过渡路径。
在一可选的实施方式中,规划模块320中还可以包括约束子模块和确定子模块;
约束子模块,用于根据第一运动段和第二运动段的约束条件,确定路径参数的约束信息;基于约束信息确定初始轨迹中各个离散点对应的参数值;其中,初始轨迹为第一运动段、过渡路径以及第二运动段组成的轨迹;
确定子模块,用于基于多个参数值确定多个目标关节信息,得到包括多个目标关节信息的目标轨迹;其中,目标关节信息包括目标关节位置和目标关节位姿。
由于本申请实施例中的轨迹规划装置300解决问题的原理与前述的轨迹规划方法的实施例相似,因此本实施例中的轨迹规划装置300的实施可以参见上述轨迹规划方法的实施例中的描述,重复之处不再赘述。
本申请实施例还提供了一种计算机可读取存储介质,可读取存储介质中存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本实施例提供的轨迹规划方法中任一项方法中的步骤。
综上所述,本申请实施例提供了一种轨迹规划方法、装置、机器人及计算机可读取存储介质,通过对各种类型的运动段之间的过渡路径进行计算,并在机器人关节运动时的约束信息的基础上对多个运动段以及过渡路径的运动轨迹进行规划,从而实现多种类型的运动段之间的平滑过渡,提高了平滑过渡时的效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种轨迹规划方法,其特征在于,所述方法包括:
确定第一运动段与第二运动段之间的过渡路径;其中,所述第一运动段和所述第二运动段包括:直线运动段、圆弧运动段以及关节运动段中的任意一种;
根据约束信息对所述第一运动段、所述第二运动段以及所述过渡路径进行轨迹规划,得到目标轨迹;其中,所述约束信息包括:机器人关节的关节速度约束信息、关节加速度约束信息以及关节力矩约束信息中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述确定第一运动段与第二运动段之间的过渡路径,包括:
对所述第一运动段和所述第二运动段进行离散化处理,得到多个离散点;其中,所述离散点表征所述机器人关节在关节坐标空间中的位置和位姿;
根据过渡参数确定多个所述离散点中的过渡离散点;
基于所述过渡离散点的权重信息进行拟合,得到所述过渡路径。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一运动段和所述第二运动段进行离散化处理,得到多个离散点,包括:
获取所述第一运动段或所述第二运动段的运动信息;其中,所述运动信息包括:起点、终点、运动段距离、方向矢量中的至少一种;
确定所述第一运动段或所述第二运动段的离散参数;其中,所述离散参数包括离散点间隔和/或离散进度;
基于所述离散参数和所述运动信息,确定所述关节坐标空间中的多个所述离散点。
4.根据权利要求3所述的方法,其特征在于,所述第一运动段或所述第二运动段为所述直线运动段或所述圆弧运动段,所述基于所述离散参数和所述运动信息,确定所述关节坐标空间中的多个所述离散点,包括:
根据所述离散进度、所述运动段距离以及所述方向矢量,确定所述第一运动段或所述第二运动段在笛卡尔坐标空间的位姿数据;
对所述位姿数据进行逆运动学处理,确定所述机器人关节在所述关节坐标空间中的多个所述离散点。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述根据过渡参数确定多个所述离散点中的过渡离散点,包括:
根据预设的所述过渡参数,确定所述第一运动段中的第一过渡段,以及所述第二运动段中的第二过渡段;其中,所述第一过渡段与所述第二过渡段相交;
对多个所述离散点进行筛选,以所述第一过渡段以及所述第二过渡段中的所述离散点作为所述过渡离散点。
6.根据权利要求2-4中任一项所述的方法,其特征在于,所述基于所述过渡离散点的权重信息进行拟合,得到所述过渡路径,包括:
根据多个所述离散点确定路径参数;
根据过渡需求,确定每个所述过渡离散点的所述权重信息;
基于所述路径参数和所述权重信息对多个所述过渡离散点进行拟合,得到所述过渡路径。
7.根据权利要求6所述的方法,其特征在于,所述根据约束信息对所述第一运动段、所述第二运动段以及所述过渡路径进行轨迹规划,得到目标轨迹,包括:
根据所述第一运动段和所述第二运动段的约束条件,确定所述路径参数的所述约束信息;
基于所述约束信息确定初始轨迹中各个所述离散点对应的参数值;其中,所述初始轨迹为所述第一运动段、所述过渡路径以及所述第二运动段组成的轨迹;
基于多个所述参数值确定多个目标关节信息,得到包括多个所述目标关节信息的所述目标轨迹;其中,所述目标关节信息包括目标关节位置和目标关节位姿。
8.一种轨迹规划装置,其特征在于,所述装置包括:
过渡模块,用于确定第一运动段与第二运动段之间的过渡路径;其中,所述第一运动段和所述第二运动段包括:直线运动段、圆弧运动段以及关节运动段中的任意一种;
规划模块,用于根据约束信息对所述第一运动段、所述第二运动段以及所述过渡路径进行轨迹规划,得到目标轨迹;其中,所述约束信息包括:机器人关节的关节速度约束信息、关节加速度约束信息以及关节力矩约束信息中的至少一种。
9.一种机器人,其特征在于,所述机器人包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-7中任一项所述方法中的步骤。
10.一种计算机可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-7任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211351140.4A CN115488898A (zh) | 2022-10-31 | 2022-10-31 | 轨迹规划方法、装置、机器人及计算机可读取存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211351140.4A CN115488898A (zh) | 2022-10-31 | 2022-10-31 | 轨迹规划方法、装置、机器人及计算机可读取存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115488898A true CN115488898A (zh) | 2022-12-20 |
Family
ID=85114930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211351140.4A Pending CN115488898A (zh) | 2022-10-31 | 2022-10-31 | 轨迹规划方法、装置、机器人及计算机可读取存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115488898A (zh) |
-
2022
- 2022-10-31 CN CN202211351140.4A patent/CN115488898A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107980109B (zh) | 机器人运动轨迹规划方法及相关装置 | |
US10894322B2 (en) | Robot motion planning | |
CN111684380B (zh) | 机器人的运动控制方法、控制系统和存储装置 | |
US6341246B1 (en) | Object oriented motion system | |
JP6321905B2 (ja) | 関節システムの制御方法、記憶媒体、制御システム | |
US20100114807A1 (en) | Reinforcement learning system | |
EP4045390B1 (en) | Dynamic planning controller | |
US11548150B2 (en) | Apparatus and method for planning contact-interaction trajectories | |
US11904473B2 (en) | Transformation mode switching for a real-time robotic control system | |
Völz et al. | A predictive path-following controller for continuous replanning with dynamic roadmaps | |
CN114274147A (zh) | 目标跟踪控制方法及装置、机械臂控制设备和存储介质 | |
CN112597612B (zh) | 机器人优化方法、装置、终端设备及计算机可读存储介质 | |
JP2017213631A (ja) | ロボットアーム制御装置、ロボットアーム制御方法、およびプログラム | |
CN115488898A (zh) | 轨迹规划方法、装置、机器人及计算机可读取存储介质 | |
CN114211495B (zh) | 面向半导体晶圆传送机械臂的自适应轨迹优化方法及系统 | |
CN111670093B (zh) | 机器人的运动控制方法、控制系统和存储装置 | |
CN114454981B (zh) | 双足机器人的弹跳运动控制方法、装置及双足机器人 | |
US20230080768A1 (en) | Object manipulation | |
JP2014054722A (ja) | 速度制御ロボット機構におけるワークスペース制限の応用 | |
JP2011245614A5 (zh) | ||
US20230084968A1 (en) | Object manipulation | |
KR102520793B1 (ko) | 로봇의 모션 경로 블렌딩 방법 및 그 장치 | |
CN116985136B (zh) | 基于四元数的机械臂节点姿态速度前瞻控制方法及装置 | |
Xiao et al. | Time-optimal path tracking for industrial robots: A dynamic model-free reinforcement learning approach | |
Chung et al. | Collision-free trajectory generation of robotic manipulators using receding horizon strategy |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Building 6, 646 Jianchuan Road, Minhang District, Shanghai 201100 Applicant after: Jieka Robot Co.,Ltd. Address before: Building 6, 646 Jianchuan Road, Minhang District, Shanghai 201100 Applicant before: SHANGHAI JAKA ROBOTICS Ltd. |