1.本技术实施例涉及计算机技术领域,特别涉及一种机械臂控制方法、装置、 控制设备及存储介质。
背景技术:2.机械臂在各个领域逐渐接管了各种重复性的工作,得到了广泛的应用。通常 机械臂的末端设置有末端执行器,该末端执行器可以执行抓取等动作,通过驱动 机械臂中各个关节进行移动,可以带动机械臂的末端执行器进行移动,以使机械 臂执行相应的动作。
3.相关技术中,通过转换矩阵对机械臂的多个关节的关节速度进行转换,能够 得到机械臂的末端执行器的末端速度,因此根据该转换矩阵,即可确定使末端执 行器达到期望的末端速度所需的关节速度,从而实现对机械臂的控制,但是上述 机械臂控制方法的控制效果仍然不够好。
技术实现要素:4.本技术实施例提供了一种机械臂控制方法、装置、控制设备及存储介质,能 够提高机械臂的控制效果。所述技术方案如下:
5.一方面,提供了一种机械臂控制方法,所述方法包括:
6.确定机械臂在第一时刻的第一控制参数和第一性能参数,所述第一控制参 数是按照性能转换数据进行转换后所得到的性能参数最优的控制参数,所述性 能参数最优是指所述性能参数表示的性能最强,所述性能转换数据用于对所述 机械臂的控制参数进行转换得到所述机械臂的性能参数,所述第一性能参数为 采用所述第一控制参数控制所述机械臂所得到的实际性能参数;
7.基于所述第一控制参数和所述第一性能参数,对所述性能转换数据进行更 新,得到更新后的性能转换数据,以使所述更新后的性能转换数据的误差减小, 所述更新后的性能转换数据的误差是指按照所述更新后的性能转换数据对任一 控制参数进行转换所得到的性能参数与实际性能参数之间的误差;
8.基于所述更新后的性能转换数据,确定所述机械臂在第二时刻的第二控制 参数,以使按照所述更新后的性能转换数据对所述第二控制参数进行转换所得 到的性能参数最优,所述第二时刻为所述第一时刻的下一个时刻;
9.基于所述第二控制参数对所述机械臂进行控制。
10.另一方面,提供了一种机械臂控制装置,所述装置包括:
11.第一参数确定模块,用于确定机械臂在第一时刻的第一控制参数和第一性 能参数,所述第一控制参数是按照性能转换数据进行转换后所得到的性能参数 最优的控制参数,所述性能参数最优是指所述性能参数表示的性能最强,所述性 能转换数据用于对所述机械臂的控制参数进行转换得到所述机械臂的性能参数, 所述第一性能参数为采用所述第一控制参数控制所述机械臂所得到的实际性能 参数;
12.第一更新模块,用于基于所述第一控制参数和所述第一性能参数,对所述性 能转换数据进行更新,得到更新后的性能转换数据,以使所述更新后的性能转换 数据的误差减小,所述更新后的性能转换数据的误差是指按照所述更新后的性 能转换数据对任一控制参数进行转换所得到的性能参数与实际性能参数之间的 误差;
13.第二参数确定模块,用于基于所述更新后的性能转换数据,确定所述机械臂 在第二时刻的第二控制参数,以使按照所述更新后的性能转换数据对所述第二 控制参数进行转换所得到的性能参数最优,所述第二时刻为所述第一时刻的下 一个时刻;
14.控制模块,用于基于所述第二控制参数对所述机械臂进行控制。
15.可选地,所述第一更新模块,包括:
16.第一获取单元,用于获取第一误差函数,所述第一误差函数包括性能参数误 差、性能参数、性能转换数据和控制参数,所述第一误差函数表示所述性能参数 误差等于按照所述性能转换数据对所述控制参数进行转换所得到的预测性能参 数与所述性能参数之间的梯度误差;
17.第一确定单元,用于确定在所述性能参数误差最小的情况下的第一更新函 数,所述第一更新函数用于基于所述控制参数和所述性能参数,对所述性能转换 数据进行更新;
18.第一输入单元,用于将所述第一控制参数、所述第一性能参数以及所述性能 转换数据输入所述第一更新函数,得到所述更新后的性能转换数据。
19.可选地,所述第一确定单元,用于:
20.采用梯度下降算法,确定在所述性能参数误差最小的情况下的所述第一更 新函数,所述第一更新函数包括第一收敛系数,所述第一收敛系数的取值未确定;
21.基于所述第一误差函数,确定所述第一收敛系数所需满足的第一取值范围, 以使在所述第一收敛系数属于所述第一取值范围的情况下,所述第一误差函数 收敛;
22.将属于所述第一取值范围的任一取值确定为所述第一收敛系数的取值,得 到所述第一收敛系数的取值已确定的所述第一更新函数。
23.可选地,所述第一控制参数包括所述机械臂的多个关节的第一关节速度,所 述第二控制参数包括所述多个关节的第二关节速度,所述装置还包括:
24.所述第一参数确定模块,还用于确定所述机械臂在所述第一时刻的末端执 行器的第一末端速度,所述第一关节速度是按照速度转换数据进行转换后得到 第一目标末端速度的关节速度,所述速度转换数据用于对所述机械臂的关节速 度进行转换得到所述机械臂的末端速度,所述第一末端速度为采用所述第一关 节速度控制所述机械臂所得到的实际末端速度;
25.第二更新模块,用于基于所述第一关节速度和所述第一末端速度,对所述速 度转换数据进行更新,得到更新后的速度转换数据,以使所述更新后的速度转换 数据的误差减小,所述更新后的速度转换数据的误差是指按照所述更新后的速 度转换数据对任一关节速度进行转换所得到的末端速度与实际末端速度之间的 误差;
26.所述第二参数确定模块,用于基于所述更新后的性能转换数据、所述更新后 的速度转换数据以及第二目标末端速度,确定所述第二关节速度,以使按照所述 更新后的性能转换数据对所述第二关节速度进行转换所得到的性能参数最优, 且按照所述更新后的速度转换数据对所述第二关节速度进行转换所得到的末端 速度等于所述第二目标末端速
度。
27.可选地,所述第二更新模块,包括:
28.第二获取单元,用于获取第二误差函数,所述第二误差函数包括末端速度误 差、末端速度、速度转换数据和关节速度,所述第二误差函数表示所述末端速度 误差等于按照所述速度转换数据对所述关节速度进行转换所得到的预测末端速 度与所述末端速度之间的梯度误差;
29.第二确定单元,用于确定在所述末端速度误差最小的情况下的第二更新函 数,所述第二更新函数用于基于所述关节速度和所述末端速度,对所述速度转换 数据进行更新;
30.第二输入单元,用于将所述第一关节速度、所述第一末端速度以及所述速度 转换数据输入所述第二更新函数,得到所述更新后的速度转换数据。
31.可选地,所述第二确定单元,用于:
32.采用梯度下降算法,确定在所述末端速度误差最小的情况下的所述第二更 新函数,所述第二更新函数包括第二收敛系数,所述第二收敛系数的取值未确定;
33.基于所述第二误差函数,确定所述第二收敛系数所需满足的第二取值范围, 以使在所述第二收敛系数属于所述第二取值范围的情况下,所述第二误差函数 收敛;
34.将属于所述第二取值范围的任一取值确定为所述第二收敛系数的取值,得 到所述第二收敛系数的取值已确定的所述第二更新函数。
35.可选地,所述第二确定单元,还用于在所述第二更新函数中添加去噪算子, 得到调整后的第二更新函数,所述去噪算子用于对关节速度进行去噪;
36.所述第二输入单元,用于:
37.为所述第一关节速度添加随机噪声,得到加噪后的第一关节速度;
38.将所述加噪后的第一关节速度、所述第一末端速度以及所述速度转换数据 输入所述调整后的第二更新函数,得到所述更新后的速度转换数据。
39.可选地,所述控制模块,包括:
40.信号确定单元,用于基于所述第二关节速度确定控制信号,所述控制信号用 于驱动所述机械臂的多个关节按照对应的关节速度进行移动;
41.控制单元,用于基于所述控制信号驱动所述机械臂的多个关节,以使所述机 械臂的末端执行器按照所述第二目标末端速度进行移动。
42.可选地,所述第二参数确定模块,用于基于所述更新后的性能转换数据、最 小控制参数以及最大控制参数,确定所述第二控制参数,以使按照所述更新后的 性能转换数据对所述第二控制参数进行转换所得到的性能参数最优,且所述第 二控制参数不小于所述最小控制参数且不大于所述最大控制参数。
43.另一方面,提供了一种控制设备,所述控制设备包括处理器和存储器,所述 存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器 加载并执行,以实现如上述方面所述的机械臂控制方法所执行的操作。
44.另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存 储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实 现如上述方面所述的机械臂控制方法所执行的操作。
45.另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序 由处
理器加载并执行,以实现如上述方面所述的机械臂控制方法所执行的操作。
46.本技术实施例提供的方法、装置、控制设备及存储介质,按照性能转换数据 对机械臂的控制参数进行转换来确定机械臂的性能参数,因此按照第一时刻的 控制参数以及实际性能参数,能够对性能转换数据进行更新,以使更新后的性能 转换数据的误差减小,从而学习到更加准确的性能转换数据,然后在下一时刻中, 利用该更加准确的性能转换数据,确定能够使机械臂的性能参数最优的控制参 数,且该控制参数也更加准确,那么基于该控制参数对机械臂进行控制,能够提 高机械臂的性能,从而提高了对机械臂的控制效果。
附图说明
47.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实 施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提 下,还可以根据这些附图获得其他的附图。
48.图1是本技术实施例提供的一种实施环境的示意图;
49.图2是本技术实施例提供的一种机械臂控制方法的流程图;
50.图3是本技术实施例提供的另一种机械臂控制方法的流程图;
51.图4是本技术实施例提供的另一种机械臂控制方法的流程图;
52.图5是本技术实施例提供的一种速度转换数据确定方法的流程图;
53.图6是本技术实施例提供的另一种机械臂控制方法的流程图;
54.图7是本技术实施例提供的一种末端执行器的运动轨迹示意图;
55.图8是本技术实施例提供的一种关节速度的示意图;
56.图9是本技术实施例提供的一种可操作度的示意图;
57.图10是本技术实施例提供的一种末端执行器的位置误差的示意图;
58.图11是本技术实施例提供的一种速度转换数据的学习误差的示意图;
59.图12是本技术实施例提供的一种机械臂控制装置的结构示意图;
60.图13是本技术实施例提供的另一种机械臂控制装置的结构示意图;
61.图14是本技术实施例提供的一种终端的结构示意图。
具体实施方式
62.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本 申请实施方式作进一步地详细描述。
63.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各 种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个 概念与另一个概念区分。举例来说,在不脱离本技术的范围的情况下,可以将第 一控制参数称为第二控制参数,且类似地,可将第二控制参数称为第一控制参数。
64.其中,至少一个是指一个或者一个以上,例如,至少一个关节可以是一个关 节、两个关节、三个关节等任一大于等于一的整数个关节。多个是指两个或者两 个以上,例如,多个关节可以是两个关节、三个关节等任一大于等于二的整数个 关节。每个是指至少一个中
的每一个,例如,每个关节是指多个关节中的每一个 关节,若多个关节为3个关节,则每个关节是指3个关节中的每一个关节。
65.可以理解的是,在本技术的实施方式中,涉及到用户信息等相关的数据,当 本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且 相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
66.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控 制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳 结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个 综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式 做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方 法,使机器具有感知、推理与决策的功能。
67.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软 件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计 算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工 智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及 机器学习/深度学习、自动驾驶、智慧交通等几大方向。
68.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、 统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模 拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使 之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根 本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神 经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
69.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用, 例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾 驶、自动驾驶、无人机、机器人、机械臂、智能医疗、智能客服等,相信随着技 术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
70.以下将基于人工智能技术,对本技术实施例提供的机械臂控制方法进行说 明。
71.图1是本技术实施例提供的一种实施环境的示意图,参见图1,该实施环境 包括机械臂101和控制设备102,该机械臂101与控制设备102可以通过有线或 无线通信方式进行直接或间接地通信连接。
72.通过控制该机械臂101中的多个关节进行移动,能够带动机械臂101的末 端执行器进行移动,以实现抓取或者推拉等动作。该控制设备102用于控制机 械臂101,能够为机械臂101确定控制参数,并基于控制参数对机械臂进行控制, 以使机械臂101按照控制参数进行移动。
73.在一种可能实现方式中,该控制设备为终端,终端可以是智能手机、平板电 脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限 于此。
74.本技术实施例提供的机械臂控制方法,可应用于对机械臂进行控制的任意 场景下。
75.例如,本技术实施例应用于控制机械臂进行绘图的场景中。首先,确定控制 机械
臂的末端执行器绘制目标图案时所需达到的目标末端速度,然后采用本申 请实施例提供的方法,根据性能转换数据、速度转换数据以及该目标末端速度, 确定机械臂的多个关节的关节速度,并控制该机械臂的多个关节按照对应的关 节速度进行移动,以带动机械臂的末端执行器按照目标末端速度进行移动,从而 完成对目标图案的绘制。
76.再例如,本技术实施例应用于控制机械臂抓取物品的场景中。首先,确定控 制机械臂的末端执行器抓取物品所需达到的目标末端速度,然后采用本技术实 施例提供的方法,根据性能转换数据、速度转换数据以及该目标末端速度,确定 机械臂的多个关节的关节速度,并控制该机械臂的多个关节按照对应的关节速 度进行移动,以带动机械臂的末端执行器按照目标末端速度进行移动,从而完成 对物品的抓取。
77.图2是本技术实施例提供的一种机械臂控制方法的流程图,本技术实施例 由控制设备执行,参见图2,该方法包括:
78.201、控制设备确定机械臂在第一时刻的第一控制参数和第一性能参数。
79.机械臂指一种可编程的、具有与人类手臂相似功能的机械,属于高精度、多 输入多输出、高度非线性、强耦合的系统,机械臂通过多个关节的连接形成一个 运动链,运动链的末端被称为末端执行器,末端执行器类似于人类的手,机械臂 通过驱动末端执行器,能够使末端执行器执行旋转运动或平移运动等。本技术实 施例中的机械臂可以为任意类型的机械臂,例如该机械臂为包括7个关节的冗 余度机械臂等。
80.本技术实施例中,控制设备用于收集或计算机械臂的相关参数及数据,以对 机械臂进行控制。控制设备获取该机械臂在第一时刻的第一控制参数和第一性 能参数,该第一时刻为历史时刻,例如第一时刻为第二时刻的上一个时刻,第二 时刻为当前时刻。
81.机械臂的控制参数用于对机械臂进行控制,例如该控制参数包括机械臂中 的多个关节的关节速度等。机械臂的性能参数用于表征机械臂的性能,例如机械 臂的性能参数越大,则该机械臂的性能越强,机械臂的性能参数越小,则该机械 臂的性能越弱。或者机械臂的性能参数越大,则该机械臂的性能越弱,机械臂的 性能参数越小,则该机械臂的性能越强。例如,机械臂的性能参数是基于机械臂 的位置误差、关节漂移量或可操作度中的至少一项所确定的,该机械臂的性能参 数与机械臂的位置误差和关节漂移量正相关,该机械臂的性能参数与机械臂的 可操作度负相关。该机械臂的位置误差是指控制机械臂所得到的末端执行器的 实际末端状态与目标末端状态之间的误差,位置误差越小,则机械臂的性能越强, 位置误差越大,则机械臂的性能越弱。该机械臂的关节漂移量是指任务结束时机 械臂的关节状态与任务开始之前机械臂的关节状态之间的误差,关节漂移量越 小,则机械臂的性能越强,关节漂移量越大,则机械臂的性能越弱。该机械臂的 可操作度用于表示末端执行器的灵活性,可操作度越小,则机械臂的性能越弱, 可操作度越大,则机械臂的性能越强。机械臂还对应有性能转换数据,该性能转 换数据用于对该机械臂的控制参数进行转换得到该机械臂的性能参数。
82.本技术实施例中,机械臂的第一控制参数是在第一时刻中,按照性能转换数 据进行转换后所得到的性能参数最优的控制参数,性能参数最优是指性能参数 表示的性能最强。也即是,通过该性能转换数据对该第一控制参数进行转换所得 到的性能参数最优。该第一性能参数为采用该第一控制参数控制该机械臂所得 到的实际性能参数。
83.202、控制设备基于该第一控制参数和该第一性能参数,对该性能转换数据 进行
更新,得到更新后的性能转换数据,以使该更新后的性能转换数据的误差 减小。
84.由于按照该性能转换数据对第一控制参数进行转换所得到的性能参数是期 望的性能参数,而第一性能参数是实际的性能参数,因此基于该期望的性能参数 和实际的性能参数之间的差异,能够对该性能转换数据进行更新,以使更新后的 性能转换数据的误差减小,从而提高更新后的性能转换数据的准确性。
85.该更新后的性能转换数据的误差是指按照该更新后的性能转换数据对任一 控制参数进行转换所得到的性能参数与实际性能参数之间的误差,也即是按照 更新后的性能转换数据对任一控制参数进行转换所得到的性能参数更加准确。
86.203、控制设备基于该更新后的性能转换数据,确定该机械臂在该第二时刻 的第二控制参数,以使按照该更新后的性能转换数据对该第二控制参数进行转 换所得到的性能参数最优。
87.该第二时刻为该第一时刻的下一个时刻,控制设备基于更新后的性能转换 数据,确定该机械臂在第二时刻的第二控制参数,以使按照该更新后的性能转换 数据对该第二控制参数进行转换所得到的性能参数最优,也即是使机械臂的性 能最强。该第二控制参数用于在第二时刻对机械臂进行控制,由于该更新后的性 能转换数据是更加准确的性能转换数据,因此控制设备所得到的第二控制参数 也是更加准确的控制参数,那么后续控制设备基于该第二控制参数对机械臂进 行控制时,该机械臂的性能参数最优的可能性较大,也即是机械臂的性能最强的 可能性较大,从而提高了机械臂的性能。
88.204、控制设备基于该第二控制参数对该机械臂进行控制。
89.本技术实施例提供的方法,按照性能转换数据对机械臂的控制参数进行转 换来确定机械臂的性能参数,因此按照第一时刻的控制参数以及实际性能参数, 能够对性能转换数据进行更新,以使更新后的性能转换数据的误差减小,从而学 习到更加准确的性能转换数据,然后在下一时刻中,利用该更加准确的性能转换 数据,确定能够使机械臂的性能参数最优的控制参数,且该控制参数也更加准确, 那么基于该控制参数对机械臂进行控制,能够提高机械臂的性能,从而提高了对 机械臂的控制效果。
90.在上述图2所示的实施例的基础上,控制设备通过第一误差函数确定第一 更新函数,利用第一更新函数确定更新后的性能转换数据,具体过程详见下述图 3所示的实施例。
91.图3是本技术实施例提供的另一种机械臂控制方法的流程图,本技术实施 例由控制设备执行,参见图3,该方法包括:
92.301、控制设备确定机械臂在第一时刻的第一控制参数和第一性能参数。
93.性能转换数据用于对机械臂的控制参数进行转换得到机械臂的性能参数, 第一性能参数为采用第一控制参数控制机械臂所得到的实际性能参数。第一控 制参数是按照性能转换数据进行转换后所得到的性能参数最优的控制参数,性 能参数最优是指性能参数表示的性能最强。
94.该步骤301的过程与上述步骤201的过程同理,在此不再赘述。
95.302、控制设备获取第一误差函数,第一误差函数包括性能参数误差、性能 参数、性能转换数据和控制参数。
96.首先需要说明的一点是,该第一误差函数用于表示该性能参数误差、性能参 数、性能转换数据以及控制参数之间的关系,因此该第一误差函数所包含的性能 参数误差、性
能参数、性能转换数据和控制参数均是指这些参数或数据的标识, 而不是指实际的数值。
97.本技术实施例中,该第一误差函数表示性能参数误差等于按照性能转换数 据对控制参数进行转换所得到的预测性能参数与性能参数之间的梯度误差。
98.在一种可能实现方式中,该第一误差函数由以下公式(1)表示:
[0099][0100]
其中,x表示性能参数误差,表示性能参数的导数,表示性能转换数据 的转置,该性能转换数据为矩阵,表示控制参数的导数,表示二范数。
[0101]
303、控制设备确定在性能参数误差最小的情况下的第一更新函数。
[0102]
控制设备在获取到第一误差函数后,在性能参数误差最小的情况下,推导性 能转换数据的表达式,从而得到第一更新函数,该第一更新函数也即是该性能转 换数据的表达式,该第一更新函数用于基于控制参数和性能参数,对性能转换数 据进行更新。
[0103]
在一种可能实现方式中,控制设备采用梯度下降算法,确定在性能参数误差 最小的情况下的第一更新函数,该第一更新函数包括第一收敛系数,且第一收敛 系数的取值未确定。控制设备基于第一误差函数,确定第一收敛系数所需满足的 第一取值范围,以使在第一收敛系数属于第一取值范围的情况下,该第一误差函 数收敛。控制设备将属于第一取值范围的任一取值确定为第一收敛系数的取值, 得到第一收敛系数的取值已确定的第一更新函数。
[0104]
第一更新函数包括第一收敛系数,如果该第一收敛系数的取值不足以让第 一误差函数收敛,则无法根据该第一更新函数确定正确的性能转换数据,因此需 要对该第一收敛系数的取值进行约束,以使第一误差函数收敛。因此,控制设备 以第一误差函数收敛为目标,求解该第一收敛系数对应的第一取值范围,使得在 第一收敛系数的取值属于该第一取值范围的情况下,该第一误差函数收敛。控制 设备在确定该第一取值范围后,可以在该第一取值范围中随机确定一个取值,将 该区域作为第一收敛系数的取值,从而得到第一收敛系数的取值已确定的该第 一更新函数。
[0105]
在一种可能实现方式中,控制设备确定在性能参数误差最小的情况下的第 一候选更新函数,该第一候选更新函数为连续形式的函数,通过对该第一候选更 新函数进行离散化,从而得到离散形式的该第一更新函数。连续形式的函数的取 值是连续的,离散形式的函数的取值是离散的。
[0106]
在一种可能实现方式中,该第一误差函数如上述公式(1)所示,控制设备 采用梯度下降法,确定在性能参数误差最小的情况下的第一候选更新函数,该第 一候选更新函数由以下公式(2)表示:
[0107][0108]
其中,表示性能转换数据的导数,λ表示第一收敛系数,表示性能参数的 导数,表示性能转换数据的转置,表示控制参数的导数。
[0109]
控制设备对上述公式(2)所示的第一候选更新函数进行离散化,得到离散 形式的第一更新函数,该第一更新函数由以下公式(3)表示:
[0110]
[0111]
其中,k为正整数,表示第k+1个时刻的性能转换数据,表示第k个 时刻的性能转换数据,λ表示第一收敛系数,ωk表示第k个时刻的性能参数, ω
k-1
表示第k-1个时刻的性能参数,表示第k个时刻的控制参数的导数,表示第k个时刻的性能转换数据的转置,τ表示采样间隔,也即是相邻的两个时 刻之间的间隔,上标t表示转置。
[0112]
在上述公式(3)中,第一收敛系数λ的取值范围是表 示第k-1个时刻的控制参数的转置的导数,表示第k-1个时刻的控制参数的 导数,τ表示采样间隔。另外,qk表示第k个时刻的控制参数,该控制参数为m 维的向量,m等于机械臂中的多个关节的数量。
[0113]
304、控制设备将第一控制参数、第一性能参数以及性能转换数据输入第一 更新函数,得到更新后的性能转换数据。
[0114]
该第一更新函数用于基于控制参数和性能参数,对性能转换数据进行更新, 因此控制设备在确定该第一更新函数后,将该第一控制参数、第一性能参数以及 性能转换数据输入该第一更新函数,从而采用该第一更新函数对性能转换数据 进行更新,得到更新后的性能转换数据。
[0115]
以上述公式(3)为例,则公式(3)中的即为输入的性能转换数据,即为输出的更新后的性能转换数据。
[0116]
305、控制设备基于更新后的性能转换数据、最小控制参数以及最大控制参 数,确定在第二时刻的第二控制参数,以使按照更新后的性能转换数据对第二 控制参数进行转换所得到的性能参数最优,且第二控制参数不小于最小控制参 数且不大于最大控制参数。
[0117]
本技术实施例中的性能转换数据以及控制参数均属于多维数据,因此基于 更新后的性能转换数据,能够确定满足条件的多个控制参数,使得按照更新后的 性能转换数据对控制参数进行转换所得到的性能参数最优,也即是使得机械臂 的性能最强。
[0118]
因此,为了便于对机械臂进行控制,还可以将控制参数约束于特定的取值范 围中。因此控制设备还基于最小控制参数以及最大控制参数,来确定第二控制参 数,以使该第二控制参数不小于该最小控制参数,且不大于该最大控制参数,从 而将第二控制参数约束于最小控制参数与最大控制参数之间。其中,该第二控制 参数不小于该最小控制参数,且不大于该最大控制参数是指:该第二控制参数中 每个维度的取值均不小于该最小控制参数,且不大于该最大控制参数。
[0119]
可选地,该最小控制参数和最大控制参数是由控制设备预先设置的,例如最 小控制参数的取值为-1,最大控制参数的取值为1。
[0120]
需要说明的是,本技术实施例以将第二控制参数约束于最小控制参数与最 大控制参数之间为例进行说明。在另一实施例中,还可以不对该第二控制参数的 取值范围进行限定,则控制设备基于更新后的性能转换数据,确定机械臂在第二 时刻的第二控制参数,以使按照更新后的性能转换数据对第二控制参数进行转 换所得到的性能参数最大。
[0121]
306、控制设备基于第二控制参数对机械臂进行控制。
[0122]
控制设备在确定该第二控制参数后,在第二时刻基于该第二控制参数对该 机械臂进行控制。例如,该第二控制参数包括机械臂的多个关节的关节速度,则 控制设备控制
该机械臂的多个关节按照对应的关节速度进行移动。
[0123]
本技术实施例提供的方法,按照性能转换数据对机械臂的控制参数进行转 换来确定机械臂的性能参数,因此按照第一时刻的控制参数以及实际性能参数, 能够对性能转换数据进行更新,以使更新后的性能转换数据的误差减小,从而学 习到更加准确的性能转换数据,然后在下一时刻中,利用该更加准确的性能转换 数据,确定能够使机械臂的性能参数最优的控制参数,且该控制参数也更加准确, 那么基于该控制参数对机械臂进行控制,能够提高机械臂的性能,从而提高了对 机械臂的控制效果。
[0124]
在上述实施例的基础上,控制参数包括机械臂的多个关节的关节速度,机械 臂对应有性能转换数据和速度转换数据,该性能转换数据用于将机械臂的关节 速度转换为机械臂的性能参数,该速度转换数据用于将机械臂的关节速度转换 为机械臂的末端执行器的末端速度。控制设备需要结合机械臂的性能转换数据 以及速度转换数据,确定机械臂的关节速度,具体过程详见下述图4所示的实 施例。
[0125]
图4是本技术实施例提供的另一种机械臂控制方法的流程图,本技术实施 例由控制设备执行,参见图4,该方法包括:
[0126]
401、控制设备确定机械臂在第一时刻的第一关节速度和第一性能参数。
[0127]
性能转换数据用于对机械臂的关节速度进行转换得到机械臂的性能参数, 第一性能参数为采用第一关节速度控制机械臂所得到的实际性能参数。第一关 节速度是指机械臂中的多个关节的关节速度,第一关节速度是按照性能转换数 据进行转换后所得到的性能参数最优的关节速度,该性能参数最优是指性能参 数表示的性能最强。
[0128]
该步骤401的过程与上述步骤201的过程同理,在此不再赘述。
[0129]
402、控制设备基于第一关节速度和第一性能参数,对性能转换数据进行更 新,得到更新后的性能转换数据,以使更新后的性能转换数据的误差减小。
[0130]
该更新后的性能转换数据的误差是指按照该更新后的性能转换数据对任一 关节速度进行转换所得到的性能参数与实际性能参数之间的误差,也即是按照 更新后的性能转换数据对任一关节速度进行转换所得到的性能参数更加准确。
[0131]
该步骤402的过程与上述步骤202或步骤302-步骤304的过程同理,在此 不再赘述。
[0132]
403、控制设备确定机械臂在第一时刻的末端执行器的第一末端速度。
[0133]
速度转换数据用于对机械臂的关节速度进行转换得到机械臂的末端速度, 例如该速度转换数据是一种雅克比矩阵。该第一末端速度为在第一时刻采用第 一关节速度控制机械臂所得到的实际末端速度。
[0134]
在第一时刻,控制设备控制机械臂的多个关节按照对应的第一关节速度进 行移动,带动机械臂的末端执行器进行移动,并确定该末端执行器的第一末端速 度。其中,该第一关节速度不仅是按照性能转换数据进行转换后得到的性能参数 最优的关节速度,而且是按照速度转换数据进行转换后得到第一目标末端速度 的关节速度。
[0135]
404、控制设备基于第一关节速度和第一末端速度,对速度转换数据进行更 新,得到更新后的速度转换数据,以使更新后的速度转换数据的误差减小。
[0136]
由于按照该速度转换数据对第一关节速度进行转换所得到的末端速度是期 望的第一目标末端速度,而第一末端速度是实际的末端速度,因此基于该期望的 第一目标末端
速度和实际的末端速度之间的差异,能够确定该速度转换数据的 更新方向,从而对该速度转换数据进行更新,以使更新后的速度转换数据的误差 减小,从而提高更新后的速度转换数据的准确性。
[0137]
该更新后的速度转换数据的误差是指按照该更新后的速度转换数据对任一 关节速度进行转换所得到的末端速度与实际末端速度之间的误差,也即是按照 更新后的速度转换数据对任一关节速度进行转换所得到的末端速度更加准确。
[0138]
在一种可能实现方式中,如图5所示,控制设备采用下述步骤4041-步骤 4043确定更新后的速度转换数据。
[0139]
4041、控制设备获取第二误差函数,第二误差函数包括末端速度误差、末端 速度、速度转换数据和关节速度,第二误差函数表示末端速度误差等于按照速度 转换数据对关节速度进行转换所得到的预测末端速度与末端速度之间的梯度误 差。
[0140]
首先需要说明的一点是,该第二误差函数用于表示该末端速度误差、末端速 度、速度转换数据以及关节速度之间的关系,因此该第二误差函数所包含的末端 速度误差、末端速度、速度转换数据和关节速度均是指这些参数或数据的标识, 而不是指实际的数值。
[0141]
在一种可能实现方式中,该第二误差函数由以下公式(4)表示:
[0142][0143]
其中,y表示末端速度误差,表示速度转换数据,表示关节速度的导数,表示末端速度的导数,表示二范数。
[0144]
4042、控制设备确定在末端速度误差最小的情况下的第二更新函数。
[0145]
控制设备在获取到第二误差函数后,在末端速度误差最小的情况下,推导速 度转换数据的表达式,从而得到第二更新函数,该第二更新函数也即是该速度转 换数据的表达式,该第二更新函数用于基于关节速度和末端速度,对速度转换数 据进行更新。
[0146]
可选地,控制设备采用梯度下降算法,确定在末端速度误差最小的情况下的 第二更新函数,该第二更新函数包括第二收敛系数,且第二收敛系数的取值未确 定。控制设备基于第二误差函数,确定第二收敛系数所需满足的第二取值范围, 以使在第二收敛系数属于第二取值范围的情况下,该第二误差函数收敛。控制设 备将属于第二取值范围的任一取值确定为第二收敛系数的取值,得到第二收敛 系数的取值已确定的第二更新函数。
[0147]
第二更新函数包括第二收敛系数,如果该第二收敛系数的取值不足以让第 二误差函数收敛,则无法根据该第二更新函数确定正确的速度转换数据,因此需 要对该第二收敛系数的取值进行约束,以使第二误差函数收敛。因此,控制设备 以第二误差函数收敛为目标,求解该第二收敛系数对应的第二取值范围,使得在 第二收敛系数的取值属于该第二取值范围的情况下,该第二误差函数收敛。控制 设备在确定该第二取值范围后,可以在该第二取值范围中随机确定一个取值,将 该区域作为第二收敛系数的取值,从而得到第二收敛系数的取值已确定的该第 二更新函数。
[0148]
可选地,控制设备确定在末端速度误差最小的情况下的第二候选更新函数, 该第二候选更新函数为连续形式的函数,通过对该第二候选更新函数进行离散 化,从而得到离散形式的该第二更新函数。
[0149]
4043、控制设备将第一关节速度、第一末端速度以及速度转换数据输入第二 更新
函数,得到更新后的速度转换数据。
[0150]
该第二更新函数用于基于关节速度和末端速度,对速度转换数据进行更新, 因此控制设备在确定该第二更新函数后,将该第一关节速度、第一末端速度以及 速度转换数据输入该第二更新函数,从而采用该第二更新函数对速度转换数据 进行更新,得到更新后的速度转换数据。
[0151]
可选地,控制设备在第二更新函数中添加去噪算子,得到调整后的第二更新 函数,该去噪算子用于对关节速度进行去噪。控制设备为第一关节速度添加随机 噪声,得到加噪后的第一关节速度,将加噪后的第一关节速度、第一末端速度以 及速度转换数据输入调整后的第二更新函数,得到更新后的速度转换数据。
[0152]
本技术实施例中,为了增大对该速度转换数据的学习难度,在采用该第二更 新函数基于关节速度以及末端速度对速度转换函数进行更新时,在关节速度中 添加随机噪声,以使第二更新函数学习到如何进行去噪,以消除所添加的随机噪 声的不利影响,从而提高了第二更新函数的优化效果以及有效性。例如,在该第 二更新函数中所添加的去噪算子为卡尔曼滤波算子。
[0153]
在一种可能实现方式中,该第二误差函数如上述公式(4)所示,控制设备 采用梯度下降法,确定在末端速度误差最小的情况下的第二候选更新函数,该第 二候选更新函数由以下公式(5)表示:
[0154][0155]
其中,表示速度转换数据的导数,σ表示第二收敛系数,表示速度转换数 据,表示关节速度的导数,表示末端速度的导数,表示关节速度的导数的转 置。
[0156]
控制设备在该公式(5)的基础上,为关节速度添加随机噪声,得到下述公 式(6)。
[0157][0158]
其中,μ表示零均值独立同分布的随机噪声。
[0159]
进一步地,控制设备对该上述公式(6)所示的第二候选更新函数进行离散 化,并添加去噪算子,得到离散形式的第二更新函数,该第二更新函数由以下公 式(7)表示:
[0160][0161]
其中,k为正整数,表示第k+1个时刻的速度转换数据,表示第k个 时刻的速度转换数据,τ表示采样间隔,也即相邻的两个时刻之间的间隔,k1[
·
] 表示卡尔曼滤波算子,σ表示第二收敛系数,表示第k个时刻的关节速度的导 数,μk表示第k个时刻的随机噪声,表示第k个时刻的末端速度的导数,上标 t表示转置。
[0162]
在上述公式(7)中,第二收敛系数σ的取值范围是:
[0163][0164]
其中,表示第k-1个时刻的关节速度的导数,μ
k-1
表示第k-1个时刻的 随机噪声,τ表示采样间隔,上标t表示转置。
[0165]
可选地,上述公式(7)中的卡尔曼滤波算子用于处理一维数据,该卡尔曼 滤波算子可用以下公式(8)至公式(11)表示。
[0166][0167][0168][0169][0170]
其中,表示为根据第k-1个时刻的滤波结果的实际方差所预测的第k 个时刻的滤波结果的方差,表示第k-1个时刻的滤波结果的实际方差, 表示第k个时刻的滤波结果的实际方差,r和q分别表示卡尔曼滤波中的 过程噪声和测量噪声。表示卡尔曼增益,表示第k个时刻的滤波结果, 表示第k-1个时刻的滤波结果,表示第k个时刻的卡尔曼滤波算子的 输入。本技术实施例中,对于一个向量或者矩阵而言,采用循环滤波的方式进行 卡尔曼滤波,也即是在每次卡尔曼滤波过程中,对一维数据进行滤波,卡尔曼滤 波的循环次数与矩阵或者向量中的元素个数相等。
[0171]
405、控制设备基于更新后的性能转换数据、更新后的速度转换数据以及第 二目标末端速度,确定第二关节速度,以使按照更新后的性能转换数据对第二 关节速度进行转换所得到的性能参数最优,且按照更新后的速度转换数据对第 二关节速度进行转换所得到的末端速度等于第二目标末端速度。
[0172]
控制设备基于更新后的性能转换数据、更新后的速度转换数据以及第二目 标末端速度,确定第二关节速度,使得第二关节速度满足两个条件,第一个条件 是按照更新后的性能转换数据对第二关节速度进行转换所得到的性能参数最优, 也即是使机械臂的性能最强,第二个条件是按照更新后的速度转换数据对第二 关节速度进行转换所得到的末端速度等于第二目标末端速度。
[0173]
该第二控制参数用于在第二时刻对机械臂进行控制,由于该更新后的速度 转换数据是更加准确的速度转换数据,因此控制设备基于该第二关节速度对机 械臂进行控制时,该机械臂的末端执行器的实际末端速度与期望的第二目标末 端速度相同的可能性比较大。并且由于该更新后的性能转换数据是更加准确的 性能转换数据,因此控制设备基于该第二关节速度对机械臂进行控制时,该机械 臂的性能参数最优的可能性较大,也即是机械臂的性能最强的可能性较大。因此 在实现了控制机械臂的末端执行器按照期望的末端速度进行移动的同时,还提 高了机械臂的性能,从而提高了机械臂的控制效果。
[0174]
在一种可能实现方式中,控制设备获取第一目标函数,该第一目标函数包括 性能参数、性能转换数据以及关节速度,该第一目标函数表示按照性能转换数据 对关节速度进行转换所得到的预测性能参数等于该性能参数。控制设备对该第 一目标函数进行转换,得到第二目标函数,该第二目标函数包括目标参数、性能 转换数据以及关节速度,该目标参数与性能参数正相关。控制设备获取约束函数, 该约束函数包括末端速度、速度转换数据以及关节速度,该约束函数表示按照速 度转换数据对关节速度进行转换所得到的预测末端速度等于该末端速度。控制 设备将更新后的性能转换数据、更新后的速度转换数据以及第二目标末端速度 输入该第二目标函数和该约束函数,对关节速度进行求解,得到第二关
节速度, 以使将第二关节速度输入至第二目标函数后所得到的目标参数最小,且将第二 关节速度输入至约束函数后该约束函数成立。
[0175]
其中,该第二目标函数和该约束函数构成一个二次型函数组,控制设备对该 二次型函数组进行标准化,得到一个标准二次规划函数组,然后采用二次规划求 解器对该标准二次规划函数组进行求解,从而得到第二关节速度。可选地,该二 次规划求解器可以为任意一种二次规划求解器,本技术实施例对二次规划求解 器的类型不做限定。
[0176]
可选地,该第一目标函数由以下公式(12)表示。
[0177][0178]
其中,表示关节速度的导数,表示性能参数关于关节速度的偏导数, δ(q)表示关于关节速度的性能转换数据,α表示优化系数,上标t表示转置。
[0179]
控制设备对该第一目标函数进行转换,得到第二目标函数,该第二目标函数 由以下公式(13)表示。
[0180][0181]
其中,z表示目标参数,表示关节速度的导数的转置,α表示优化系数, 表示性能转换数据的转置,表示关节速度的导数。表示性能转换数据,该 公式(13)中的为上述公式(3)中计算得到的
[0182]
可选地,该约束函数由以下公式(14)表示。
[0183][0184]
其中,表示速度转换数据,表示关节速度的导数,表示期望的末端执行 器的末端速度的导数,β表示末端执行器的位置误差的反馈系数,r表示末端执 行器的实际位置,rd表示末端执行器的期望位置,表示最小关节速度,表 示最大关节速度。
[0185]
进一步地,控制设备对上述第二目标函数和约束函数构成的二次型函数组 转换为标准二次规划函数组。其中,控制设备引入向量x替换导数变量将上述 第二目标函数对应的公式(13)转换为:z=x
t
x+p
t
x;将上述约束函数转换 为ax=s,其中,
[0186]
406、控制设备基于第二关节速度对机械臂进行控制。
[0187]
控制设备在确定该第二关节速度后,在第二时刻基于该第二关节速度对该 机械臂进行控制,以使机械臂的多个关节按照对应的第二关节速度进行移动。
[0188]
在一种可能实现方式中,控制设备基于第二关节速度确定控制信号,该控制 信号用于驱动机械臂的多个关节按照对应的关节速度进行移动。控制设备基于 控制信号驱动机械臂的多个关节,以使机械臂的末端执行器按照第二目标末端 速度进行移动。例如,该控制信号为用于机械臂的多个关节按照对应的关节速度 进行移动的电脉冲信号等。
[0189]
本技术实施例提供的方法,按照性能转换数据对机械臂的关节速度进行转 换来确定机械臂的性能参数,因此按照第一时刻的关节速度以及实际性能参数, 能够对性能转换数据进行更新,以使更新后的性能转换数据的误差减小,从而学 习到更加准确的性能转
换数据。按照速度转换数据对机械臂的关节速度进行转 换来确定机械臂的末端速度,因此按照第一时刻的关节速度以及末端速度,能够 对速度转换数据进行更新,以使更新后的速度转换数据的误差减小,从而学习到 更加准确的速度转换数据。然后在下一时刻中,利用该更加准确的性能转换数据 和更加准确的速度转换数据,确定能够使机械臂的性能参数最优且末端速度等 于目标末端速度的关节速度,且该关节速度也更加准确,那么基于该关节速度对 机械臂进行控制,既能够控制机械臂的末端执行器按照目标末端速度进行移动, 也能够提高机械臂的性能,从而提高了对机械臂的控制效果。
[0190]
图6是本技术实施例提供的另一种机械臂控制方法的流程图,如图6所示, 该方法包括以下步骤:
[0191]
601、建立离散形式的第一更新函数,该第一更新函数用于更新性能转换数 据。根据性能转换数据以及机械臂的关节速度等信息,建立第一更新函数,然后 利用第一更新函数得到更新后的性能转换数据。
[0192]
602、建立离散形式的第二更新函数,该第二更新函数用于更新速度转换数 据。根据速度转换数据、机械臂的关节速度、末端执行器的末端速度以及卡尔曼 滤波器,建立第二更新函数,然后利用该第二更新函数得到更新后的速度转换数 据,该速度转换数据为雅克比矩阵。
[0193]
603、基于第一更新函数和第二更新函数,对机械臂进行速度层逆运动学解 析,建立二次型函数组。
[0194]
604、将二次型函数组转换为标准二次规划函数组。
[0195]
605、用二次规划求解器对标准二次规划函数组进行求解。将更新后的性能 转换数据、更新后的速度转换数据以及期望的末端速度等信息输入至该标准二 次规划函数组,然后二次规划求解器对标准二次规划函数组进行求解,得到关节 速度。
[0196]
606、根据求解得到的关节速度对机械臂进行控制。
[0197]
本技术实施例中,提供了一种基于数据驱动和卡尔曼滤波器的机械臂控制 方法,在控制机械臂的过程中,不断对学习到的性能转换数据和速度转换数据进 行迭代优化,并结合卡尔曼滤波器,减弱了附加噪声对机械臂的不利影响,提高 机械臂控制方法的安全性和有效性。
[0198]
为了对本技术实施例提供的方法进行验证,可以采用本技术实施例提供的 方法对机械臂进行实验,使机械臂的末端执行器的运动轨迹形成一个特定图案, 以实现对特定图案的描绘。实验结果如下述图7-图11所示。
[0199]
图7是本技术实施例提供的一种末端执行器的运动轨迹示意图,如图7所 示,在三维坐标系中生成机械臂对应的运动轨迹,从图7中可以看出,机械臂的 末端执行器的运动轨迹形成了一个类似于“绳结”的图案701,机械臂成功完成 了对特定图案的描绘任务。
[0200]
图8是本技术实施例提供的一种关节速度的示意图,如图8所示,横坐标 为时间(单位:秒),纵坐标为关节速度(单位:弧度/秒),机械臂包括7个关 节,分别用表示,从图8中可以看出,机械臂的7个关节的关节速度的取 值均约束到了-1到1之间,实现了对关节速度的约束。
[0201]
图9是本技术实施例提供的一种可操作度的示意图,横坐标为时间(单位: 秒),纵坐标为可操作度。图9中的实线代表采用本技术实施例的方法控制机械 臂所得到的可操作
度,曲线代表采用相关技术的方法控制机械臂所得到的可操 作度,本技术实施例的方法考虑了关节速度对性能的影响,相关技术的方法未考 虑关节速度对性能的影响。从图9可以看出,采用本技术实施例提供的方法,机 械臂的可操作度在执行任务的过程中是显著提升的,且可操作度明显较高,采用 相关技术的方法,机械臂的可操作度呈现浮动的趋势,且可操作度明显较低,体 现了本技术实施例的方法能够明显提高机械臂的控制效果。
[0202]
图10是本技术实施例提供的一种末端执行器的位置误差的示意图,如图10 所示,横坐标为时间(单位:秒),纵坐标为位置误差(单位:米),∈
x
表示末端 执行器在x轴方向上的位置误差,∈y表示末端执行器在y轴方向上的位置误差, ∈z表示末端执行器在z轴方向上的位置误差,从图10可以看出,在任务执行过 程中机械臂末端执行器的位置误差小于1.5*10-3
米,体现了本技术实施例提供 的机械臂控制方法的准确性。
[0203]
图11是本技术实施例提供的一种速度转换数据的学习误差的示意图,如图 11所示,横坐标为时间(单位:秒),纵坐标为速度转换数据的学习误差(单位: 米/弧度),该速度转换数据为雅克比矩阵,图11中不同的线条表示速度转换数 据中不同维度的学习误差(图中仅以3个线条为例),从图11可以看出,在任务 执行过程中机械臂的速度转换数据的学习误差小于0.015米/弧度,体现了本申 请实施例学习机械臂的速度转换数据的准确性。
[0204]
图12是本技术实施例提供的一种机械臂控制装置的结构示意图。参见图12, 该装置包括:
[0205]
第一参数确定模块1201,用于确定机械臂在第一时刻的第一控制参数和第 一性能参数,第一控制参数是按照性能转换数据进行转换后所得到的性能参数 最优的控制参数,所述性能参数最优是指性能参数表示的性能最强,性能转换数 据用于对机械臂的控制参数进行转换得到机械臂的性能参数,第一性能参数为 采用第一控制参数控制机械臂所得到的实际性能参数;
[0206]
第一更新模块1202,用于基于第一控制参数和第一性能参数,对性能转换 数据进行更新,得到更新后的性能转换数据,以使更新后的性能转换数据的误差 减小,更新后的性能转换数据的误差是指按照更新后的性能转换数据对任一控 制参数进行转换所得到的性能参数与实际性能参数之间的误差;
[0207]
第二参数确定模块1203,用于基于更新后的性能转换数据,确定机械臂在 第二时刻的第二控制参数,以使按照更新后的性能转换数据对第二控制参数进 行转换所得到的性能参数最优,第二时刻为第一时刻的下一个时刻;
[0208]
控制模块1204,用于基于第二控制参数对机械臂进行控制。
[0209]
本技术实施例提供的机械臂控制装置,按照性能转换数据对机械臂的控制 参数进行转换来确定机械臂的性能参数,因此按照第一时刻的控制参数以及实 际性能参数,能够对性能转换数据进行更新,以使更新后的性能转换数据的误差 减小,从而学习到更加准确的性能转换数据,然后在下一时刻中,利用该更加准 确的性能转换数据,确定能够使机械臂的性能参数最优的控制参数,且该控制参 数也更加准确,那么基于该控制参数对机械臂进行控制,能够提高机械臂的性能, 从而提高了对机械臂的控制效果。
[0210]
可选地,参见图13,第一更新模块1202,包括:
[0211]
第一获取单元1212,用于获取第一误差函数,第一误差函数包括性能参数 误差、性能参数、性能转换数据和控制参数,第一误差函数表示性能参数误差等 于按照性能转换
数据对控制参数进行转换所得到的预测性能参数与性能参数之 间的梯度误差;
[0212]
第一确定单元1222,用于确定在性能参数误差最小的情况下的第一更新函 数,第一更新函数用于基于控制参数和性能参数,对性能转换数据进行更新;
[0213]
第一输入单元1232,用于将第一控制参数、第一性能参数以及性能转换数 据输入第一更新函数,得到更新后的性能转换数据。
[0214]
可选地,参见图13,第一确定单元1222,用于:
[0215]
采用梯度下降算法,确定在性能参数误差最小的情况下的第一更新函数,第 一更新函数包括第一收敛系数,第一收敛系数的取值未确定;
[0216]
基于第一误差函数,确定第一收敛系数所需满足的第一取值范围,以使在第 一收敛系数属于第一取值范围的情况下,第一误差函数收敛;
[0217]
将属于第一取值范围的任一取值确定为第一收敛系数的取值,得到第一收 敛系数的取值已确定的第一更新函数。
[0218]
可选地,参见图13,第一控制参数包括机械臂的多个关节的第一关节速度, 第二控制参数包括多个关节的第二关节速度,装置还包括:
[0219]
第一参数确定模块1201,还用于确定机械臂在第一时刻的末端执行器的第 一末端速度,第一关节速度是按照速度转换数据进行转换后得到第一目标末端 速度的关节速度,速度转换数据用于对机械臂的关节速度进行转换得到机械臂 的末端速度,第一末端速度为采用第一关节速度控制机械臂所得到的实际末端 速度;
[0220]
第二更新模块1205,用于基于第一关节速度和第一末端速度,对速度转换 数据进行更新,得到更新后的速度转换数据,以使更新后的速度转换数据的误差 减小,更新后的速度转换数据的误差是指按照更新后的速度转换数据对任一关 节速度进行转换所得到的末端速度与实际末端速度之间的误差;
[0221]
第二参数确定模块1203,用于基于更新后的性能转换数据、更新后的速度 转换数据以及第二目标末端速度,确定第二关节速度,以使按照更新后的性能转 换数据对第二关节速度进行转换所得到的性能参数最优,且按照更新后的速度 转换数据对第二关节速度进行转换所得到的末端速度等于第二目标末端速度。
[0222]
可选地,参见图13,第二更新模块1205,包括:
[0223]
第二获取单元1215,用于获取第二误差函数,第二误差函数包括末端速度 误差、末端速度、速度转换数据和关节速度,第二误差函数表示末端速度误差等 于按照速度转换数据对关节速度进行转换所得到的预测末端速度与末端速度之 间的梯度误差;
[0224]
第二确定单元1225,用于确定在末端速度误差最小的情况下的第二更新函 数,第二更新函数用于基于关节速度和末端速度,对速度转换数据进行更新;
[0225]
第二输入单元1235,用于将第一关节速度、第一末端速度以及速度转换数 据输入第二更新函数,得到更新后的速度转换数据。
[0226]
可选地,参见图13,第二确定单元1225,用于:
[0227]
采用梯度下降算法,确定在末端速度误差最小的情况下的第二更新函数,第 二更新函数包括第二收敛系数,第二收敛系数的取值未确定;
[0228]
基于第二误差函数,确定第二收敛系数所需满足的第二取值范围,以使在第 二收敛系数属于第二取值范围的情况下,第二误差函数收敛;
[0229]
将属于第二取值范围的任一取值确定为第二收敛系数的取值,得到第二收 敛系数的取值已确定的第二更新函数。
[0230]
可选地,参见图13,第二确定单元1225,还用于在第二更新函数中添加去 噪算子,得到调整后的第二更新函数,去噪算子用于对关节速度进行去噪;
[0231]
第二输入单元1235,用于:
[0232]
为第一关节速度添加随机噪声,得到加噪后的第一关节速度;
[0233]
将加噪后的第一关节速度、第一末端速度以及速度转换数据输入调整后的 第二更新函数,得到更新后的速度转换数据。
[0234]
可选地,参见图13,控制模块1204,包括:
[0235]
信号确定单元1214,用于基于第二关节速度确定控制信号,控制信号用于 驱动机械臂的多个关节按照对应的关节速度进行移动;
[0236]
控制单元1224,用于基于控制信号驱动机械臂的多个关节,以使机械臂的 末端执行器按照第二目标末端速度进行移动。
[0237]
可选地,参见图13,第二参数确定模块1203,用于基于更新后的性能转换 数据、最小控制参数以及最大控制参数,确定第二控制参数,以使按照更新后的 性能转换数据对第二控制参数进行转换所得到的性能参数最优,且第二控制参 数不小于最小控制参数且不大于最大控制参数。
[0238]
需要说明的是:上述实施例提供的机械臂控制装置,仅以上述各功能模块的 划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能 模块完成,即将控制设备的内部结构划分成不同的功能模块,以完成以上描述的 全部或者部分功能。另外,上述实施例提供的机械臂控制装置与机械臂控制方法 实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0239]
本技术实施例还提供了一种控制设备,该控制设备包括处理器和存储器,存 储器中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执 行,以实现上述实施例的机械臂控制方法中所执行的操作。
[0240]
可选地,该控制设备提供为终端。图14示出了本技术一个示例性实施例提 供的终端1400的结构示意图。终端1400包括有:处理器1401和存储器1402。
[0241]
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处 理器等。处理器1401可以采用dsp(digital signal processing,数字信号处理)、 fpga(field programmable gate array,现场可编程门阵列)、pla(programmablelogic array,可编程逻辑阵列)中的至少一种硬件形式来实现。一些实施例中, 处理器1401还可以包括ai(artificial intelligence,人工智能)处理器,该ai处 理器用于处理有关机器学习的计算操作。
[0242]
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储 介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失 性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存 储器1402中的非暂态的计算机可读存储介质用于存储至少一条计算机程序,该 至少一条计算机程序用于被处理器1401所具有以实现本技术中方法实施例提供 的机械臂控制方法。
[0243]
在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一 个外围设
备。处理器1401、存储器1402和外围设备接口1403之间可以通过总 线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口 1403相连。可选地,外围设备包括射频电路1404或显示屏1405中的至少一种。
[0244]
外围设备接口1403可被用于将i/o(input/output,输入/输出)相关的至少 一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、 存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他 实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两 个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0245]
射频电路1404用于接收和发射rf(radio frequency,射频)信号,也称电 磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。 射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号 转换为电信号。可选地,射频电路1404包括:天线系统、rf收发器、一个或多 个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组等。
[0246]
显示屏1405用于显示ui(user interface,用户界面)。该ui可以包括图形、 文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示 屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触 摸信号可以作为控制信号输入至处理器1401进行处理。
[0247]
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限 定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组 件布置。
[0248]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质 中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以 实现上述实施例的机械臂控制方法所执行的操作。
[0249]
本技术实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机 程序由处理器加载并执行,以实现如上述实施例的机械臂控制方法所执行的操 作。在一些实施例中,本技术实施例所涉及的计算机程序可被部署在一个控制设 备上执行,或者在位于一个地点的多个控制设备上执行,又或者,在分布在多个 地点且通过通信网络互连的多个控制设备上执行,分布在多个地点且通过通信 网络互连的多个控制设备可以组成区块链系统。
[0250]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过 硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一 种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘 等。
[0251]
以上所述仅为本技术实施例的可选实施例,并不用以限制本技术实施例,凡 在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应 包含在本技术的保护范围之内。
技术特征:1.一种机械臂控制方法,其特征在于,所述方法包括:确定机械臂在第一时刻的第一控制参数和第一性能参数,所述第一控制参数是按照性能转换数据进行转换后所得到的性能参数最优的控制参数,所述性能参数最优是指所述性能参数表示的性能最强,所述性能转换数据用于对所述机械臂的控制参数进行转换得到所述机械臂的性能参数,所述第一性能参数为采用所述第一控制参数控制所述机械臂所得到的实际性能参数;基于所述第一控制参数和所述第一性能参数,对所述性能转换数据进行更新,得到更新后的性能转换数据,以使所述更新后的性能转换数据的误差减小,所述更新后的性能转换数据的误差是指按照所述更新后的性能转换数据对任一控制参数进行转换所得到的性能参数与实际性能参数之间的误差;基于所述更新后的性能转换数据,确定所述机械臂在第二时刻的第二控制参数,以使按照所述更新后的性能转换数据对所述第二控制参数进行转换所得到的性能参数最优,所述第二时刻为所述第一时刻的下一个时刻;基于所述第二控制参数对所述机械臂进行控制。2.根据权利要求1所述的方法,其特征在于,所述基于所述第一控制参数和所述第一性能参数,对所述性能转换数据进行更新,得到更新后的性能转换数据,包括:获取第一误差函数,所述第一误差函数包括性能参数误差、性能参数、性能转换数据和控制参数,所述第一误差函数表示所述性能参数误差等于按照所述性能转换数据对所述控制参数进行转换所得到的预测性能参数与所述性能参数之间的梯度误差;确定在所述性能参数误差最小的情况下的第一更新函数,所述第一更新函数用于基于所述控制参数和所述性能参数,对所述性能转换数据进行更新;将所述第一控制参数、所述第一性能参数以及所述性能转换数据输入所述第一更新函数,得到所述更新后的性能转换数据。3.根据权利要求2所述的方法,其特征在于,所述确定在所述性能参数误差最小的情况下的第一更新函数,包括:采用梯度下降算法,确定在所述性能参数误差最小的情况下的所述第一更新函数,所述第一更新函数包括第一收敛系数,所述第一收敛系数的取值未确定;基于所述第一误差函数,确定所述第一收敛系数所需满足的第一取值范围,以使在所述第一收敛系数属于所述第一取值范围的情况下,所述第一误差函数收敛;将属于所述第一取值范围的任一取值确定为所述第一收敛系数的取值,得到所述第一收敛系数的取值已确定的所述第一更新函数。4.根据权利要求1所述的方法,其特征在于,所述第一控制参数包括所述机械臂的多个关节的第一关节速度,所述第二控制参数包括所述多个关节的第二关节速度,所述方法还包括:确定所述机械臂在所述第一时刻的末端执行器的第一末端速度,所述第一关节速度是按照速度转换数据进行转换后得到第一目标末端速度的关节速度,所述速度转换数据用于对所述机械臂的关节速度进行转换得到所述机械臂的末端速度,所述第一末端速度为采用所述第一关节速度控制所述机械臂所得到的实际末端速度;基于所述第一关节速度和所述第一末端速度,对所述速度转换数据进行更新,得到更
新后的速度转换数据,以使所述更新后的速度转换数据的误差减小,所述更新后的速度转换数据的误差是指按照所述更新后的速度转换数据对任一关节速度进行转换所得到的末端速度与实际末端速度之间的误差;所述基于所述更新后的性能转换数据,确定所述机械臂在第二时刻的第二控制参数,以使按照所述更新后的性能转换数据对所述第二控制参数进行转换所得到的性能参数最优,包括:基于所述更新后的性能转换数据、所述更新后的速度转换数据以及第二目标末端速度,确定所述第二关节速度,以使按照所述更新后的性能转换数据对所述第二关节速度进行转换所得到的性能参数最优,且按照所述更新后的速度转换数据对所述第二关节速度进行转换所得到的末端速度等于所述第二目标末端速度。5.根据权利要求4所述的方法,其特征在于,所述基于所述第一关节速度和所述第一末端速度,对所述速度转换数据进行更新,得到更新后的速度转换数据,包括:获取第二误差函数,所述第二误差函数包括末端速度误差、末端速度、速度转换数据和关节速度,所述第二误差函数表示所述末端速度误差等于按照所述速度转换数据对所述关节速度进行转换所得到的预测末端速度与所述末端速度之间的梯度误差;确定在所述末端速度误差最小的情况下的第二更新函数,所述第二更新函数用于基于所述关节速度和所述末端速度,对所述速度转换数据进行更新;将所述第一关节速度、所述第一末端速度以及所述速度转换数据输入所述第二更新函数,得到所述更新后的速度转换数据。6.根据权利要求5所述的方法,其特征在于,所述确定在所述末端速度误差最小的情况下的第二更新函数,包括:采用梯度下降算法,确定在所述末端速度误差最小的情况下的所述第二更新函数,所述第二更新函数包括第二收敛系数,所述第二收敛系数的取值未确定;基于所述第二误差函数,确定所述第二收敛系数所需满足的第二取值范围,以使在所述第二收敛系数属于所述第二取值范围的情况下,所述第二误差函数收敛;将属于所述第二取值范围的任一取值确定为所述第二收敛系数的取值,得到所述第二收敛系数的取值已确定的所述第二更新函数。7.根据权利要求5所述的方法,其特征在于,所述确定在所述末端速度误差最小的情况下的第二更新函数之后,所述方法还包括:在所述第二更新函数中添加去噪算子,得到调整后的第二更新函数,所述去噪算子用于对关节速度进行去噪;所述将所述第一关节速度、所述第一末端速度以及所述速度转换数据输入所述第二更新函数,得到所述更新后的速度转换数据,包括:为所述第一关节速度添加随机噪声,得到加噪后的第一关节速度;将所述加噪后的第一关节速度、所述第一末端速度以及所述速度转换数据输入所述调整后的第二更新函数,得到所述更新后的速度转换数据。8.根据权利要求4所述的方法,其特征在于,所述基于所述第二控制参数对所述机械臂进行控制,包括:基于所述第二关节速度确定控制信号,所述控制信号用于驱动所述机械臂的多个关节
按照对应的关节速度进行移动;基于所述控制信号驱动所述机械臂的多个关节,以使所述机械臂的末端执行器按照所述第二目标末端速度进行移动。9.根据权利要求1-8任一项所述的方法,其特征在于,所述基于所述更新后的性能转换数据,确定所述机械臂在第二时刻的第二控制参数,以使按照所述更新后的性能转换数据对所述第二控制参数进行转换所得到的性能参数最优,包括:基于所述更新后的性能转换数据、最小控制参数以及最大控制参数,确定所述第二控制参数,以使按照所述更新后的性能转换数据对所述第二控制参数进行转换所得到的性能参数最优,且所述第二控制参数不小于所述最小控制参数且不大于所述最大控制参数。10.一种机械臂控制装置,其特征在于,所述装置包括:第一参数确定模块,用于确定机械臂在第一时刻的第一控制参数和第一性能参数,所述第一控制参数是按照性能转换数据进行转换后所得到的性能参数最优的控制参数,所述性能参数最优是指所述性能参数表示的性能最强,所述性能转换数据用于对所述机械臂的控制参数进行转换得到所述机械臂的性能参数,所述第一性能参数为采用所述第一控制参数控制所述机械臂所得到的实际性能参数;第一更新模块,用于基于所述第一控制参数和所述第一性能参数,对所述性能转换数据进行更新,得到更新后的性能转换数据,以使所述更新后的性能转换数据的误差减小,所述更新后的性能转换数据的误差是指按照所述更新后的性能转换数据对任一控制参数进行转换所得到的性能参数与实际性能参数之间的误差;第二参数确定模块,用于基于所述更新后的性能转换数据,确定所述机械臂在第二时刻的第二控制参数,以使按照所述更新后的性能转换数据对所述第二控制参数进行转换所得到的性能参数最优,所述第二时刻为所述第一时刻的下一个时刻;控制模块,用于基于所述第二控制参数对所述机械臂进行控制。11.根据权利要求10所述的装置,其特征在于,所述第一更新模块,包括:第一获取单元,用于获取第一误差函数,所述第一误差函数包括性能参数误差、性能参数、性能转换数据和控制参数,所述第一误差函数表示所述性能参数误差等于按照所述性能转换数据对所述控制参数进行转换所得到的预测性能参数与所述性能参数之间的梯度误差;第一确定单元,用于确定在所述性能参数误差最小的情况下的第一更新函数,所述第一更新函数用于基于所述控制参数和所述性能参数,对所述性能转换数据进行更新;第一输入单元,用于将所述第一控制参数、所述第一性能参数以及所述性能转换数据输入所述第一更新函数,得到所述更新后的性能转换数据。12.根据权利要求11所述的装置,其特征在于,所述第一确定单元,用于:采用梯度下降算法,确定在所述性能参数误差最小的情况下的所述第一更新函数,所述第一更新函数包括第一收敛系数,所述第一收敛系数的取值未确定;基于所述第一误差函数,确定所述第一收敛系数所需满足的第一取值范围,以使在所述第一收敛系数属于所述第一取值范围的情况下,所述第一误差函数收敛;将属于所述第一取值范围的任一取值确定为所述第一收敛系数的取值,得到所述第一收敛系数的取值已确定的所述第一更新函数。
13.一种控制设备,其特征在于,所述控制设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现如权利要求1至9任一项所述的机械臂控制方法所执行的操作。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现如权利要求1至9任一项所述的机械臂控制方法所执行的操作。15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序由处理器加载并执行,以实现如权利要求1至9任一项所述的机械臂控制方法所执行的操作。
技术总结本申请公开了一种机械臂控制方法、装置、控制设备及存储介质,属于计算机技术领域。该方法包括:确定机械臂在第一时刻的第一控制参数和第一性能参数,基于第一控制参数和第一性能参数,对性能转换数据进行更新,得到更新后的性能转换数据;基于更新后的性能转换数据,确定机械臂在第二时刻的第二控制参数,以使按照更新后的性能转换数据对第二控制参数进行转换所得到的性能参数最优;基于第二控制参数对机械臂进行控制。本申请利用更新后的性能转换数据确定机械臂的控制参数,以使按照更新后的性能转换数据对控制参数进行转换所得到的性能参数最优,则基于该控制参数对机械臂进行控制,能够提高机械臂的性能,从而提高对机械臂的控制效果。臂的控制效果。臂的控制效果。
技术研发人员:金龙 谢正泰 郑宇 刘梅
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.06.30
技术公布日:2022/11/1