CN118181306A - 机器人控制方法、装置、控制设备及可读取存储介质 - Google Patents
机器人控制方法、装置、控制设备及可读取存储介质 Download PDFInfo
- Publication number
- CN118181306A CN118181306A CN202410613069.5A CN202410613069A CN118181306A CN 118181306 A CN118181306 A CN 118181306A CN 202410613069 A CN202410613069 A CN 202410613069A CN 118181306 A CN118181306 A CN 118181306A
- Authority
- CN
- China
- Prior art keywords
- robot
- coordinate system
- virtual
- pose
- joint
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 230000033001 locomotion Effects 0.000 claims description 52
- 238000006243 chemical reaction Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 33
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 230000000452 restraining effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000005507 spraying Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000003801 milling Methods 0.000 description 2
- 239000007921 spray Substances 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- 238000004026 adhesive bonding Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000002192 cholecystectomy Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 238000009802 hysterectomy Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002357 laparoscopic surgery Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本申请提供一种机器人控制方法、装置、控制设备及可读取存储介质,涉及自动控制技术领域。该方法包括:基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿;根据末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿;基于末端第二位姿确定目标关节角度指令集;其中,坐标系偏差数据基于虚拟机器人模型确定;目标关节角度指令集用于控制实体机器人进行运动。本申请根据构建的虚拟机器人模型进行分层控制,将受约束的机器人运动学转换为无约束的机器人运动学,以根据最终得到所需坐标系下的位姿确定控制实体机器人的实体关节的指令集,有效地提高了针对不动点约束情况的机器人控制效率。
Description
技术领域
本申请涉及自动控制技术领域,具体而言,涉及一种机器人控制方法、装置、控制设备及可读取存储介质。
背景技术
近年来,工业机器人或手术机器人能够辅助或替代人工进行相应的处理,在各方面得到广泛应用,机器人运动控制技术也在各个应用领域得到广泛应用。例如,工业机器人能够辅助或者替代人工帮助人们进行搬运、码垛、分拣、焊接、涂胶、喷涂、打磨、镗铣、探伤、检测等操作,手术机器人能够取代或辅助人工进行各种手术操作,例如心脏手术、胆囊摘除、子宫切除、腹腔镜等各种手术过程中的操作。
现有的机器人运动控制方式中,大部分应用场景的任务空间无阻隔或者是在不考虑空间存在阻隔的情况下进行的运动控制,对于任务空间存在阻隔的情况,往往需要通过穿孔、穿缝等方式进行操作,如机器人需要在外部对薄壁腔体内部进行焊接、检视、喷涂、安装、拆卸、打磨、镗铣加工等任务,或机器人需要在外部对人体内部进行切割、缝合、检查等手术任务。以薄壁开孔腔体为例,假设一腔体外布置有一种机器人,机器人末端安装有可通过薄壁开孔位置伸入腔体内部进行操作任务的执行工具,该执行工具往往具有细长杆特征,其杆的轴线与机器人末端自转关节共线。这类机器人末端运动的约束为不动点约束,因此机器人需要在该不动点约束情况下进行末端杆件的运动。
目前针对不动点约束情况的机器人控制方法,通常通过冗余机械臂,利用雅克比零空间添加约束模型雅克比形成扩展雅克比矩阵,进而利用扩展雅克比求逆的方法实现带约束的运动控制。但是,这种方法要求机器人必须是冗余机器人,机器人雅克比零空间具有足够的维度,满足约束雅克比模型的添加。并且,当机器人模型发生变化时,需要重新考虑扩展雅克比,因此对机器人模型的依赖比较大,控制的可扩展性较差,且控制时的计算难度较大,导致目前针对不动点约束情况的机器人控制效率较低,难以满足实时控制的需求。
发明内容
有鉴于此,本申请实施例的目的在于提供一种机器人控制方法、装置、控制设备及可读取存储介质,以改善现有技术中存在的针对不动点约束情况的机器人控制效率较低的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种机器人控制方法,所述方法包括:
基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿;
根据所述末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿;
基于所述末端第二位姿确定目标关节角度指令集;
其中,所述坐标系偏差数据基于所述虚拟机器人模型确定;所述目标关节角度指令集用于控制所述实体机器人进行运动。
在上述实现过程中,通过构建的虚拟机器人模型得到虚拟机器人对应的第一基坐标系下的末端第一位姿,结合末端第一位姿和虚拟建模产生的坐标系偏差数据,得到实体机器人对应的第二基坐标系下的末端第二位姿,从而根据末端第二位姿进行处理,得到控制实体机器人运动的目标关节角度指令集。能够构建并使用相应的虚拟机器人模型,将受约束的机器人运动学转换为无约束的机器人运动学,并将虚拟机器人和实体机器人分为两个部分进行单独处理,在虚拟机器人发生变化时仅需对虚拟机器人模型进行改动处理,能够对机器人进行分层控制,有效地降低了控制时的计算难度,提高了针对不动点约束情况的机器人控制效率,满足工业、医疗、检测等多种应用场景下的实时控制需求。
可选地,其中,所述虚拟机器人模型通过以下方式获取:
基于所述实体机器人整体所受的约束状态,抽象出对应自由度的虚拟关节;其中,所述约束状态为表示空间杆件被限制运动方向的特征;
基于位置示教确定所述实体机器人的受约束杆上的约束位置;其中,所述约束位置包括所述空间杆件受到约束作用的位置;所述受约束杆包括受到约束作用的机器人连杆;
基于所述约束位置构建所述虚拟机器人的所述第一基坐标系;
基于所述第一基坐标系,结合所述约束状态对应的所述虚拟关节和约束至所述实体机器人末端部分的实体关节进行建模,得到所述虚拟机器人模型。
在上述实现过程中,虚拟机器人模型可以根据实体机器人上的受约束杆以及约束在实体机器人末端的实体关节的实际情况进行建模。进行建模时,可以先基于受约束杆所受的约束状态,得到相应自由度的虚拟关节,以将复杂的末端连杆的不动点约束建模问题构建为虚拟机器人关节进行处理,并对受约束杆上的约束位置进行位置示教,以结合约束位置的实际情况构建相应的第一基坐标系。在第一基坐标系上,结合创建的虚拟关节和实体关节进行建模,得到相应的虚拟机器人模型。能够根据机器人的实际情况构建相应的虚拟模型,通过虚拟机器人关节的运动实现不动点约束运动,即通过无约束的机器人分层运动控制实现对不动点约束的末端连杆的运动控制,有效地降低了运动控制时算法的复杂度,从而提高了控制的实时性和有效性。
可选地,其中,所述虚拟机器人模型通过以下方式获取:
根据约束至所述实体机器人末端部分的实体关节的身份信息,在数据库中获取所述实体关节的历史数据;
根据所述实体机器人的受约束杆的参数数据,在所述数据库中获取所述受约束杆上的约束位置、所述约束位置对应的所述第一基坐标系以及对应自由度的虚拟关节的虚拟数据;其中,所述虚拟数据包括关节类型、虚拟关节个数、虚拟关节配置顺序中的至少一种;所述关节类型包括:转动关节和/或移动关节;所述虚拟关节配置顺序包括多个所述虚拟关节的建模顺序;
基于所述第一基坐标系,结合所述历史数据和所述虚拟数据得到所述虚拟机器人模型。
在上述实现过程中,还可以预先针对不同应用场景中所使用的工具进行建模处理,并将建模得到的数据存储在相应的数据库中。在需要进行控制时,可以根据实体机器人末端部分约束的实体关节的身份信息,在数据库中进行查询,从而得到与其匹配的历史数据,并根据受约束杆的参数数据,在数据库中匹配得到相应的约束位置、第一基坐标系和虚拟关节对应的虚拟数据,从而能够直接根据数据库中查询得到的多种数据进行组合处理,得到相应的虚拟机器人模型。并且,在数据库中未查询到相应数据的情况下,还可以根据机器人当前的实际情况进行建模处理。通过预先建模和数据查询的方式得到相应的虚拟机器人模型,有效地提高了虚拟模型的获取效率和有效性,从而提高了控制的效率。
可选地,所述方法还包括:
基于第一坐标系和第二坐标系确定所述坐标系偏差数据;其中,所述第一坐标系为所述第一基坐标系下所述受约束杆末端的坐标系,所述第二坐标系为所述第二基坐标系下所述受约束杆末端的坐标系。
在上述实现过程中,在虚拟机器人模型的构建过程中,使用分层的控制策略,将受约束杆与机器人分为两个单独的模块进行处理,在此情况下,受约束杆末端在不同的基坐标系下,能够处理得到两个不同的坐标系,为了便于后续进行位姿转换,可以根据两个不同的坐标系计算得到相应的坐标系偏差数据。能够对建模过程中基于不同基坐标系构建的坐标系之间的偏差情况进行获取,有效地降低了后续计算时的难度,从而提高了控制的效率。
可选地,其中,所述实体机器人处于操作状态;
所述基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿,包括:
确定所述第二基坐标系下,所述实体机器人的末端目标位姿;
基于所述第一基坐标系和所述末端目标位姿,确定所述第一基坐标系下受约束杆的末端第三位姿;
通过运动学算法,基于所述末端第三位姿确定所述第一基坐标系下所述虚拟机器人的第一关节角度指令集;
通过所述运动学算法,基于所述第一关节角度指令集确定所述第一基坐标系下,所述虚拟机器人中的虚拟关节部分的所述末端第一位姿。
在上述实现过程中,在实体机器人处于工业工作、手术工作等相应的操作状态的情况下,需要对实体机器人的整体进行运动控制。可以获取期望情况下第二基坐标系下实体机器人的末端目标位姿,以计算第一基坐标系下末端目标位姿对应的受约束杆的末端第三位姿,从而基于运动学算法进行逆解,得到第一基坐标系下末端第三位姿对应的虚拟机器人的第一关节角度指令集。再基于运动学算法进行正解,得到第一基坐标系下,第一关节角度指令集对应的虚拟机器人中虚拟关节部分的末端第一位姿。能够通过基坐标系转换、位姿转换、指令转换、运动学求解的方式进行处理,有效地提高了操作状态下获取的末端第一位姿的有效性和实时性。
可选地,其中,所述实体机器人处于调节状态;
所述基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿,包括:
确定所述第一基坐标系下,所述虚拟机器人中的虚拟关节的第二关节角度指令集;
通过运动学算法,基于所述第二关节角度指令集确定所述第一基坐标系下,所述虚拟机器人中的虚拟关节部分的所述末端第一位姿。
在上述实现过程中,在实体机器人处于工作状态变化过程中的调节状态的情况下,仅需对受约束杆进行控制即能实现控制效果。可以直接受约束杆的控制需求,获取第一基坐标系下虚拟机器人中虚拟关节的第二关节角度指令集,以基于运动学算法进行正解,得到第一基坐标系下,第二关节角度指令集对应的虚拟机器人中虚拟关节部分的末端第一位姿。能够通过位姿转换、指令转换、运动学求解的方式进行处理,有效地提高了调节状态下获取的末端第一位姿的有效性和实时性。
可选地,所述根据所述末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿,包括:
基于所述末端第一位姿,确定所述实体机器人的第二基坐标系下受约束杆的末端转换位姿;
根据所述末端转换位姿和所述坐标系偏差数据,确定所述第二基坐标系下,所述实体机器人的末端第二位姿。
在上述实现过程中,可以根据第一基坐标系下的末端第一位姿进行坐标系转换和位姿转换,得到第二基坐标系下受约束杆的末端转换位姿,并且,考虑到建模过程中受约束杆末端的坐标偏差情况,可以结合末端转换位姿和坐标系偏差数据,得到第二基坐标系下实体机器人相应的末端第二位姿。能够根据不同基坐标系之间的位姿转换,结合不同坐标系之间偏差情况进行计算,有效地提高了末端第二位姿的有效性和准确性。
可选地,所述基于所述末端第二位姿确定目标关节角度指令集,包括:
通过运动学算法,基于所述末端第二位姿确定所述第二基坐标系下所述实体机器人的第三关节角度指令集;
若所述实体机器人处于操作状态,则结合所述第三关节角度指令集和所述第一基坐标系下的所述第一关节角度指令集,确定所述目标关节角度指令集;
若所述实体机器人处于调节状态,则结合所述第三关节角度指令集和所述第一基坐标系下的所述第二关节角度指令集,确定所述目标关节角度指令集。
在上述实现过程中,由于第一关节角度指令集/第二关节角度指令集都为虚拟机器人的第一基坐标系下的控制指令,为了提高控制的有效性,可以根据第二基坐标系下的末端第二位姿,确定相应的实体机器人的第三关节角度指令集,从而在实体机器人的不同状态下,结合两个基坐标系下相应的两个关节角度指令集进行计算,得到最终的目标关节角度指令集。能够结合两种不同基坐标系下的指令集进行处理,以根据目标关节角度指令集有效地控制机器人完成不动点约束的期望运动。
可选地,所述方法还包括:
基于所述第二关节角度指令集,结合所述实体机器人的受约束杆当前的虚拟约束位置和所述约束位置,对所述实体机器人进行约束位置示教;
其中,所述虚拟约束位置包括示教过程中在所述实体机器人的指定连杆上预设的位置;所述约束位置示教包括:将所述虚拟约束位置与实际的所述约束位置重合。
在上述实现过程中,在实体机器人的受约束杆未到达预设的约束位置的情况下,还可以基于调节状态下对虚拟机器人进行控制的第二关节角度指令集,结合受约束杆当前所处的虚拟约束位置和实际约束位置的实际情况对实体机器人进行约束位置示教,无需对实体机器人末端约束的实际关节进行控制,仅需对受约束杆进行控制即能够将虚拟约束位置与实际的约束位置进行重合,从而便于虚拟机器人的建模处理。通过对受约束杆进行单独控制的方式进行约束位置示教,有效地降低了约束位置示教的控制难度,并提高了约束位置示教的控制效率。
第二方面,本申请实施例还提供了一种机器人控制装置,所述装置包括:第一位姿模块、第二位姿模块和指令模块;
所述第一位姿模块用于基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿;
所述第二位姿模块用于根据所述末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿;
所述指令模块用于基于所述末端第二位姿确定目标关节角度指令集;
其中,所述坐标系偏差数据基于所述虚拟机器人模型确定;所述目标关节角度指令集用于控制所述实体机器人进行运动。
在上述实现过程中,通过第一位姿模块基于构建的虚拟机器人模型得到虚拟机器人对应的第一基坐标系下的末端第一位姿,通过第二位姿模块结合末端第一位姿和虚拟建模产生的坐标系偏差数据,得到实体机器人对应的第二基坐标系下的末端第二位姿,通过质量模块根据末端第二位姿进行处理,得到控制实体机器人运动的目标关节角度指令集。能够构建并使用相应的虚拟机器人模型,将受约束的机器人运动学转换为无约束的机器人运动学,并将虚拟机器人和实体机器人分为两个部分进行单独处理,在虚拟机器人发生变化时仅需对虚拟机器人模型进行处理,能够对机器人进行分层控制,有效地降低了控制时的计算难度,提高了针对不动点约束情况的机器人控制效率,满足工业、医疗、检测等多种应用场景下的实时控制需求。
可选地,所述装置还包括:建模模块;
所述建模模块用于:基于所述实体机器人整体所受的约束状态,抽象出对应自由度的虚拟关节;其中,所述约束状态为表示空间杆件被限制运动方向的特征;基于位置示教确定所述实体机器人的受约束杆上的约束位置;其中,所述约束位置包括所述空间杆件受到约束作用的位置;所述受约束杆包括受到约束作用的机器人连杆;基于所述约束位置构建所述虚拟机器人的所述第一基坐标系;基于所述第一基坐标系,结合所述约束状态对应的所述虚拟关节和约束至所述实体机器人末端部分的实体关节进行建模,得到所述虚拟机器人模型。
在上述实现过程中,可以根据实体机器人上的受约束杆以及约束在实体机器人末端的实体关节的实际情况进行建模。通过建模模块先基于受约束杆所受的约束状态,得到相应自由度的虚拟关节,以将复杂的末端连杆的不动点约束建模问题构建为虚拟机器人关节进行处理,并对受约束杆上的约束位置进行位置示教,以结合约束位置的实际情况构建相应的第一基坐标系。在第一基坐标系上,结合创建的虚拟关节和实体关节进行建模,得到相应的虚拟机器人模型。能够根据机器人的实际情况构建相应的虚拟模型,通过虚拟机器人关节的运动实现不动点约束运动,即通过无约束的机器人分层运动控制实现对不动点约束的末端连杆的运动控制,有效地降低了运动控制时算法的复杂度,从而提高了控制的实时性和有效性。
可选地,所述建模模块还用于:基于第一坐标系和第二坐标系确定所述坐标系偏差数据;其中,所述第一坐标系为所述第一基坐标系下所述受约束杆末端的坐标系,所述第二坐标系为所述第二基坐标系下所述受约束杆末端的坐标系。
在上述实现过程中,在虚拟机器人模型的构建过程中,使用分层的控制策略,将受约束杆与机器人分为两个单独的模块进行处理,在此情况下,受约束杆末端在不同的基坐标系下,能够处理得到两个不同的坐标系,为了便于后续进行位姿转换,建模模块还可以根据两个不同的坐标系计算得到相应的坐标系偏差数据。能够对建模过程中基于不同基坐标系构建的坐标系之间的偏差情况进行获取,有效地降低了后续计算时的难度,从而提高了控制的效率。
第三方面,本申请实施例还提供了一种控制设备,所述控制设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述机器人控制方法中任一实现方式中的步骤。
第四方面,本申请实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述机器人控制方法中任一实现方式中的步骤。
综上所述,本申请实施例提供了一种机器人控制方法、装置、控制设备及可读取存储介质,根据构建的虚拟机器人模型进行分层控制,将受约束的机器人运动学转换为无约束的机器人运动学,以根据最终得到所需坐标系下的位姿确定控制实体机器人的实体关节的指令集,有效地提高了针对不动点约束情况的机器人控制效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种控制设备的方框示意图;
图2为本申请实施例提供的第一种机器人控制方法的流程示意图;
图3为本申请实施例提供的第二种机器人控制方法的流程示意图;
图4为本申请实施例提供的第三种机器人控制方法的流程示意图;
图5为本申请实施例提供的第一种步骤S200的详细流程示意图;
图6为本申请实施例提供的第二种步骤S200的详细流程示意图;
图7为本申请实施例提供的一种步骤S300的详细流程示意图;
图8为本申请实施例提供的一种步骤S400的详细流程示意图;
图9为本申请实施例提供的一种机器人控制装置的结构示意图。
图标:100-控制设备;111-存储器;112-存储控制器;113-处理器;114-外设接口;115-输入输出单元;116-显示单元;600-机器人控制装置;610-第一位姿模块;620-第二位姿模块;630-指令模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
目前针对不动点约束情况的机器人控制方法,通常通过冗余机械臂,利用雅克比零空间添加约束模型雅克比形成扩展雅克比矩阵,进而利用扩展雅克比求逆的方法实现带约束的运动控制。利用冗余机械臂多解特性,在其原有雅可比矩阵基础上,将运动约束构建为雅可比矩阵,从而形成整个机器人的扩展雅可比矩阵,再利用雅可比求逆方法进行关节角度求解,本质上是一种利用雅可比扩展方法进行带约束的冗余机械臂运动学逆解求解。
但是,申请人在研究过程中发现,利用雅可比扩展进行运动控制的方法中,要求机器人必须是冗余机器人,且机器人雅克比零空间具有足够的维度,满足约束雅克比模型的添加。并且,当机器人模型发生变化时,需要重新考虑扩展雅克比,因此对机器人模型的依赖比较大,控制的可扩展性较差,且控制时的计算难度较大,导致目前针对不动点约束情况的机器人控制效率较低,难以满足实时控制的需求。
为了解决上述问题,本申请实施例提供了一种机器人控制方法,应用于控制设备,控制设备可以为服务器、个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)等具有逻辑计算功能的电子设备。控制设备可以设置在机器人内部作为相应的控制模块,也可以与机器人通信连接以作为相应的操作台等设备,能够与机器人进行数据传输,对机器人的运动进行实时控制。
可选地,请参阅图1,图1为本申请实施例提供的一种控制设备的方框示意图。控制设备100可以包括存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对控制设备100的结构造成限定。例如,控制设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
上述的存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,处理器113在接收到执行指令后,执行程序,本申请实施例任一实施例揭示的过程定义的控制设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器,也可以是任何常规的处理器等。
上述的外设接口114将各种输入/输出装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
上述的输入输出单元115用于提供给用户输入数据。输入输出单元115可以是,但不限于,鼠标和键盘等。
上述的显示单元116在控制设备100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。在本申请实施例中,显示单元116可以显示机器人各关节的运动轨迹、位姿、指令等各种数据。
本实施例中的控制设备可以用于执行本申请实施例提供的各个机器人控制方法中的各个步骤。下面通过几个实施例详细描述机器人控制方法的实现过程。
请参阅图2,图2为本申请实施例提供的第一种机器人控制方法的流程示意图,该方法可以包括步骤S200-S400。
步骤S200,基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿。
其中,第一基坐标系为构建的虚拟机器人模型的基础下,以虚拟机器人的约束位置(即不动点)为基点构建的基坐标系。能够通过构建的虚拟机器人模型进行位姿计算处理,得到虚拟机器人对应的第一基坐标系下,虚拟机器人的虚拟关节对应的末端第一位姿。
需要说明的是,虚拟机器人模型为基于虚拟关节构建的模型,可以为根据实体机器人的型号、参数等在数据库中得到的模型,也可以为根据实体机器人的实际情况构建的模型。
步骤S300,根据末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿。
其中,第二基坐标系以实体机器人的基座、台车等固定底座为基点构建的基坐标系,可以根据第一基坐标系和第二基坐标系之间的转换关系,结合坐标系偏差数据,得到实体机器人对应的第二基坐标系下,实体机器人的末端第二位姿。
需要说明的是,实体机器人中可以包括多个关节的机械臂,机械臂的末端连接有相应的末端工具杆,末端工具杆可以为机器人中受到约束作用的机器人连杆,末端工具杆的末端连接相应的转接关节,转接关节与器械关节连接,器械关节可以为相应的工业用器械或医疗用器械,例如工业场景下的喷头、抓夹、钻头,或医疗场景下的手术剪、持针嵌、腹腔镜等器械,转接关节可以为器械关节提供相应的连接结构和转动功能,以实现相应的操作。
可选地,末端第二位姿可以为实体机器人的末端工具杆与转接关节连接处的位姿。
需要说明的是,坐标系偏差数据基于虚拟机器人模型确定。由于虚拟机器人模型以约束位置为基点进行建模处理,因此,在不同的基坐标系下,机器人的末端能够建立不同的坐标系,坐标系偏差数据即为建模过程中不同坐标系之间的位姿差异数据。
需要说明的是,基于虚拟机器人模型进行处理,能够将末端工具杆与机械臂分为两个模块进行单独处理,从而将带约束的冗余机械臂的运动控制问题,转化为第一层无约束非冗余虚拟机器人(器械关节部分)运动学问题和第二层无约束机械臂(不包含器械部分)运动学问题,即转化为无约束的问题来求解。并且,在虚拟机器人发生变化时(例如末端工具杆发生变化,或末端的器械关节发生变化等)仅需对虚拟机器人模型进行改动处理,改动处理可以包括对虚拟机器人模型进行修改或替换等,无需针对变化的虚拟机器人考虑新的约束补偿算法或构建新的约束雅克比模型进行计算,有效地降低了控制时的计算难度。
步骤S400,基于末端第二位姿确定目标关节角度指令集。
其中,为了实现对实体机器人的控制,可以根据末端第二位姿进行处理,处理方式可以包括运动学算法的逆解计算,以得到用于控制实体机器人运动的目标关节角度指令集。
需要说明的是,关节角度指令为对控制机械臂中关节进行运动的角度指令。
在图2所示的实施例中,能够基于虚拟机器人模型对机器人进行分层控制,有效地降低了控制时的计算难度,提高了针对不动点约束情况的机器人控制效率,满足工业、医疗、检测等多种应用场景下的实时控制需求。
可选地,请参阅图3,图3为本申请实施例提供的第二种机器人控制方法的流程示意图,该方法还可以包括步骤S511-S514。
步骤S511,基于实体机器人整体所受的约束状态,抽象出对应自由度的虚拟关节。
其中,约束状态为表示空间杆件被限制运动方向的特征,例如被限制在某一壳体的开口内部等,对应自由度的虚拟关节可以根据约束状态的实际情况进行选择,可以选择1-5和虚拟关节,例如,1个虚拟关节可以针对约束状态腔壁较厚的壳体上的方形开孔和方形连杆;5个虚拟关节可以针对约束状态为壳体上的单缝开口;或者,在约束状态表征约束范围为圆孔,且该圆孔与受约束杆(可以为机器人中被约束状态约束的机器人连杆,例如末端工具杆等)的外表面贴合,则可以设置转动轴线汇交的四自由度S-P虚拟关节((可以是四轴汇交的三个正交的转动副与移动副,或者球副与移动副)),S代表球面(Spherical)运动,而P代表棱柱面(Prismatic)运动,可以实现相应的俯仰、偏摆、自转和伸缩运动。
步骤S512,基于位置示教确定实体机器人的受约束杆上的约束位置。
其中,约束位置包括空间杆件受到约束作用的位置,即不动点;受约束杆包括受到约束作用的机器人连杆,例如被约束的末端工具杆等,可以将约束位置记为Orcmb。
可选地,可以取末端工具杆上自转轴线上某一点为约束位置,或者以末端工具杆上自转轴线上与工作场景下对应的壳体接触的点位为约束位置,该约束位置可通过机械臂进行约束位置示教完成。示教的过程可以包括:控制机械臂将末端工具杆的末端(或者特定标识点,该标识点距离机械臂末端关节的连杆长度为L1)与约束位置对齐,可根据机械臂各关节转角,利用机械臂运动学得到第二基坐标系{Orb-XrbYrbZrb}下,末端工具杆的末端位置,进而得到约束位置Orcmb相对于第一基坐标系的位姿/>,进而可以获得约束位置在当前位置下,距离机械臂末端关节的偏置距离d=L2-L1,即虚拟移动关节的初始移动距离为d,其中L2为机械臂末端关节连杆长度(含末端工具杆连杆)需要说明的是,当L1与L2相同时,即选择末端工具杆末端与约束位置重合时,d=0。
步骤S513,基于约束位置构建虚拟机器人的第一基坐标系。
其中,可以结合约束位置的实际情况构建相应的第一基坐标系,记为{Orcmb-XrcmbYrcmbZrcmb}。在约束位置处构建第一基坐标系,OrcmbZrcmb方向表示约束位置沿末端工具杆指向工作点位方向(例如病灶方向或工业任务中任务点位的方向)的方向,OrcmbXrcmb与自转关节为零度时机械臂末端的X方向相同;OrcmbYrcmb采用右手螺旋定则确定。
步骤S514,基于第一基坐标系,结合约束状态对应的虚拟关节和约束至实体机器人末端部分的实体关节进行建模,得到虚拟机器人模型。
其中,在第一基坐标系上,结合创建的虚拟关节和实体关节进行建模,得到相应的虚拟机器人模型。
可选地,以第一基坐标系为初始基坐标系,可以将约束位置处运动的一个或多个虚拟关节与约束至实体机器人末端部分的实体关节,例如末端工具杆末端连接的转接关节和器械关节等进行结合,并基于MDH或DH建模方法构建虚拟机器人模型。
可选地,以虚拟关节包括三个转动副(绕不动点位置处的俯仰、偏摆、自转)为例,三个转动副的顺序可以任意设定。可以将末端工具杆绕不动点位置的运动转换为虚拟关节的运动,末端工具杆绕不动点的俯仰运动转化为虚拟俯仰关节,末端工具杆绕不动点的偏摆运动转化为虚拟偏摆关节,末端工具杆的自转转化为虚拟自转关节,末端工具杆沿约束位置到工作点位方向的伸缩运动转化为虚拟移动关节。
在图3所示的实施例中,能够根据机器人的实际情况构建相应的虚拟模型,通过虚拟机器人关节的运动实现不动点约束运动,即通过无约束的机器人分层运动控制实现对不动点约束的末端连杆的运动控制,有效地降低了运动控制时算法的复杂度,从而提高了控制的实时性和有效性。
可选地,请参阅图4,图4为本申请实施例提供的第三种机器人控制方法的流程示意图,该方法还可以包括步骤S521-S523。
步骤S521,根据约束至实体机器人末端部分的实体关节的身份信息,在数据库中获取实体关节的历史数据。
其中,还可以预先针对不同应用场景中所使用的工具进行建模处理,并将建模得到的数据存储在相应的数据库中。在需要进行控制时,可以根据实体机器人末端部分约束的实体关节的身份信息,在数据库中进行查询,从而得到与其匹配的历史数据。
示例地,实体关节可以为末端工具杆末端连接的转接关节和器械关节,实体关节的身份信息可以包括关节的编号、条形码、二维码、识别信号等具有标识功能的信息,可以通过扫描或信号识别的方式获取实体关节的身份信息。
步骤S522,根据实体机器人的受约束杆的参数数据,在数据库中获取受约束杆上的约束位置、约束位置对应的第一基坐标系以及对应自由度的虚拟关节的虚拟数据。
其中,受约束杆可以为被约束的末端工具杆,还可以根据受约束杆的参数数据,在数据库中匹配得到相应的约束位置、第一基坐标系和虚拟关节对应的虚拟数据。
可选地,受约束杆的参数数据可以包括连杆的型号、长度、形状、宽度等多种参数,以根据连杆的实际情况,结合约束状态,确定其相应的多种数据。可选地,虚拟数据可以包括关节类型、虚拟关节个数、虚拟关节配置顺序等多种信息;关节类型可以包括:转动关节和/或移动关节;虚拟关节配置顺序可以包括多个虚拟关节的建模顺序。
步骤S523,基于第一基坐标系,结合历史数据和虚拟数据得到虚拟机器人模型。
其中,可以在第一基坐标系的基础上,结合数据库中查询得到的多种数据进行组合处理,得到相应的虚拟机器人模型。
需要说明的是,数据库中各种数据的构建方式可以参考图3中的构建方式,不再进行赘述,在数据库中未查询到相应数据的情况下,还可以根据机器人当前的实际情况,以图3所示的方式进行建模处理。
在图4所示的实施例中,通过预先建模和数据查询的方式得到相应的虚拟机器人模型,有效地提高了虚拟模型的获取效率和有效性,从而提高了控制的效率。
需要说明的是,建模的方法还可以包括:基于第一坐标系和第二坐标系确定坐标系偏差数据;第一坐标系为第一基坐标系下受约束杆末端的坐标系,第二坐标系为第二基坐标系下受约束杆末端的坐标系。示例地,第一坐标系可以为第一基坐标系下,受约束杆的虚拟关节的末端坐标系,第二坐标系可以为第二基坐标系下,受约束杆的实体关节的末端坐标系。在虚拟机器人模型的构建过程中,使用分层的控制策略,将受约束杆与机器人分为两个单独的模块进行处理,在此情况下,受约束杆末端在不同的基坐标系下,能够处理得到两个不同的坐标系,为了便于后续进行位姿转换,可以根据两个不同的坐标系计算得到相应的坐标系偏差数据。能够对建模过程中基于不同基坐标系构建的坐标系之间的偏差情况进行获取,有效地降低了后续计算时的难度,从而提高了控制的效率。
示例地,以四自由度的虚拟关节为例,相应的第一坐标系可以为第四关节的末端位姿,可以记为,第二坐标系可以为末端工具杆的末端位姿,即/>,二者之间可以基于对应的坐标系偏差数据进行转换,坐标系偏差数据可以为一个固定的变换矩阵,例如/>,/>可以为绕Z轴旋转90度的4阶齐次矩阵,从而得到。
需要说明的是,各个基坐标系的轴向指向可以根据实际情况和需求进行设置。
可选地,在实体机器人处于工业工作、手术工作等相应的操作状态的情况下,需要对实体机器人的整体进行运动控制。例如,工业场景下对某一区域进行喷涂、医疗场景下对某一部分进行切割等。请参阅图5,图5为本申请实施例提供的第一种步骤S200的详细流程示意图,步骤S200可以包括步骤S211-S214。
步骤S211,确定第二基坐标系下,实体机器人的末端目标位姿。
其中,可以根据操作状态下对应的工作点位,获取期望情况下第二基坐标系下实体机器人的末端目标位姿,末端目标位姿可以为位姿向量或位姿矩阵,可以记为。
步骤S212,基于第一基坐标系和末端目标位姿,确定第一基坐标系下受约束杆的末端第三位姿。
其中,为了到达期望情况下对应的工作点位,可以根据受约束杆的实际情况,以及第一基坐标系和第二基坐标系之间的转换关系,即示教过程中确定的,计算第一基坐标系下末端目标位姿对应的受约束杆的末端第三位姿,记为/>。
可选地,计算方式可以包括:。
步骤S213,通过运动学算法,基于末端第三位姿确定第一基坐标系下虚拟机器人的第一关节角度指令集。
其中,可以基于运动学算法进行逆解,得到第一基坐标系下末端第三位姿对应的虚拟机器人的第一关节角度指令集,记为。
可选地,第一关节角度指令集中可以包括虚拟关节进行虚拟俯仰、偏摆、自转或者伸缩的一个或多个关节角度指令。
步骤S214,通过运动学算法,基于第一关节角度指令集确定第一基坐标系下,虚拟机器人中的虚拟关节部分的末端第一位姿。
其中,可以继续基于运动学算法进行正解,得到第一基坐标系下,第一关节角度指令集对应的虚拟机器人中虚拟关节部分的末端第一位姿。
可选地,计算方式可以包括:根据1,通过虚拟机器人-实体机器人的运动学正解,求解第一基坐标系下约束位置至相应的虚拟关节末端,例如第4关节的末端位姿,作为末端第一位姿,可以记为/>。
在图5所示的实施例中,能够通过基坐标系转换、位姿转换、指令转换、运动学求解的方式进行处理,有效地提高了操作状态下获取的末端第一位姿的有效性和实时性。
可选地,在实体机器人处于工作状态变化过程中的调节状态的情况下,仅需对受约束杆进行控制即能实现控制效果。示例地,调节状态可以包括:在工业场景下完成喷涂后将器械关节从喷头换为钻头进行钻孔处理,或,在医疗场景下完成切割后将器械关节从剪刀换成持针嵌等,以及各种场景下对受约束杆进行调整的情况。请参阅图6,图6为本申请实施例提供的第二种步骤S200的详细流程示意图,步骤S200可以包括步骤S221-S222。
步骤S221,确定第一基坐标系下,虚拟机器人中的虚拟关节的第二关节角度指令集。
其中,可以直接受约束杆的控制需求,获取第一基坐标系下虚拟机器人中虚拟关节的第二关节角度指令集,记为。
可选地,第二关节角度指令集中可以包括虚拟关节进行虚拟俯仰、偏摆、自转或者伸缩的一个或多个关节角度指令。
步骤S222,通过运动学算法,基于第二关节角度指令集确定第一基坐标系下,虚拟机器人中的虚拟关节部分的末端第一位姿。
其中,可以基于运动学算法进行正解,得到第一基坐标系下,第二关节角度指令集对应的虚拟机器人中虚拟关节部分的末端第一位姿。
可选地,计算方式可以包括:根据2,通过虚拟机器人-实体机器人的运动学正解,求解第一基坐标系下约束位置至相应的虚拟关节末端,例如第4关节的末端位姿,作为末端第一位姿,即/>。
在图6所示的实施例中,能够通过位姿转换、指令转换、运动学求解的方式进行处理,有效地提高了调节状态下获取的末端第一位姿的有效性和实时性。
需要说明的是,在调节状态系下,控制方法还可以包括:基于第二关节角度指令集,结合实体机器人的受约束杆当前的虚拟约束位置和约束位置,对实体机器人进行约束位置示教;其中,虚拟约束位置包括示教过程中在实体机器人的指定连杆上预设的位置;约束位置示教包括:将虚拟约束位置与实际的约束位置重合。在实体机器人的受约束杆未到达预设的约束位置的情况下,还可以基于调节状态下对虚拟机器人进行控制的第二关节角度指令集,结合受约束杆当前所处的虚拟约束位置和实际约束位置的实际情况对实体机器人进行约束位置示教,无需对实体机器人末端约束的实际关节进行控制,仅需对受约束杆进行控制即能够将虚拟约束位置与实际的约束位置进行重合,从而便于虚拟机器人的建模处理。通过对受约束杆进行单独控制的方式进行约束位置示教,有效地降低了约束位置示教的控制难度,并提高了约束位置示教的控制效率。
可选地,请参阅图7,图7为本申请实施例提供的一种步骤S300的详细流程示意图,步骤S300可以包括步骤S310-S320。
步骤S310,基于末端第一位姿,确定实体机器人的第二基坐标系下受约束杆的末端转换位姿。
其中,可以根据第一基坐标系下的末端第一位姿进行坐标系转换和位姿转换,得到第二基坐标系下受约束杆的末端转换位姿。
可选地,计算方式可以包括:根据末端第一位姿,计算第二基坐标系下受约束杆的末端转换位姿/>。
步骤S320,根据末端转换位姿和坐标系偏差数据,确定第二基坐标系下,实体机器人的末端第二位姿。
其中,考虑到建模过程中受约束杆末端的坐标偏差情况,可以结合末端转换位姿和坐标系偏差数据,得到第二基坐标系下实体机器人相应的末端第二位姿,记为。
可选地,以第一坐标系与第二坐标系的转换关系为为例,可以得到末端第二位姿。
在图7所示的实施例中,能够根据不同基坐标系之间的位姿转换,结合不同坐标系之间偏差情况进行计算,有效地提高了末端第二位姿的有效性和准确性。
可选地,请参阅图8,图8为本申请实施例提供的一种步骤S400的详细流程示意图,步骤S400可以包括步骤S410-S430。
步骤S410,通过运动学算法,基于末端第二位姿确定第二基坐标系下实体机器人的第三关节角度指令集。
其中,由于第一关节角度指令集/第二关节角度指令集都为虚拟机器人的第一基坐标系下的控制指令,为了提高控制的有效性,可以根据第二基坐标系下的末端第二位姿,确定相应的实体机器人的第三关节角度指令集,记为。
可选地,第三关节角度指令集中可以包括对实体关节进行控制的一个或多个关节角度指令。
步骤S420,若实体机器人处于操作状态,则结合第三关节角度指令集和第一基坐标系下的第一关节角度指令集,确定目标关节角度指令集。
步骤S430,若实体机器人处于调节状态,则结合第三关节角度指令集和第一基坐标系下的第二关节角度指令集,确定目标关节角度指令集。
其中,可以根据实体机器人当前的实际工作状态,结合两个基坐标系下相应的两个关节角度指令集进行计算,即根据和/>1//>2进行转换计算,得到最终的目标关节角度指令集,记为/>。
可选地,目标关节角度指令集中可以包括对实体机器人的所有实体关节进行控制的一个或多个关节角度指令的指令值。
在图8所示的实施例中,能够结合两种不同基坐标系下的指令集进行处理,以根据目标关节角度指令集有效地控制机器人完成不动点约束的期望运动。
需要说明的是,本申请的控制方法可以周期性设置,例如,以2ms为一个周期,重复上述的控制步骤,即可根据周期性更新的第二基坐标系下的末端工具杆对应的工作点的末端期望位姿指令,周期性得到机器人的所有关节角度指令,进而可控制末端工具杆完成不动点约束的期望运动。
请参阅图9,图9为本申请实施例提供的一种机器人控制装置的结构示意图,机器人控制装置600可以包括:第一位姿模块610、第二位姿模块620和指令模块630;
第一位姿模块610用于基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿;
第二位姿模块620用于根据末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿;
指令模块630用于基于末端第二位姿确定目标关节角度指令集;
其中,坐标系偏差数据基于虚拟机器人模型确定;目标关节角度指令集用于控制实体机器人进行运动。
在一可选的实施方式中,机器人控制装置600还可以包括建模模块,用于基于实体机器人整体所受的约束状态,抽象出对应自由度的虚拟关节;其中,约束状态为表示空间杆件被限制运动方向的特征;基于位置示教确定实体机器人的受约束杆上的约束位置;其中,约束位置包括空间杆件受到约束作用的位置;受约束杆包括受到约束作用的机器人连杆;基于约束位置构建虚拟机器人的第一基坐标系;基于第一基坐标系,结合约束状态对应的虚拟关节和约束至实体机器人末端部分的实体关节进行建模,得到虚拟机器人模型。
在一可选的实施方式中,建模模块还用于:根据约束至实体机器人末端部分的实体关节的身份信息,在数据库中获取实体关节的历史数据;根据实体机器人的受约束杆的参数数据,在数据库中获取受约束杆上的约束位置、约束位置对应的第一基坐标系以及对应自由度的虚拟关节的虚拟数据;其中,虚拟数据包括关节类型、虚拟关节个数、虚拟关节配置顺序中的至少一种;关节类型包括:转动关节和/或移动关节;虚拟关节配置顺序包括多个虚拟关节的建模顺序;基于第一基坐标系,结合历史数据和虚拟数据得到虚拟机器人模型。
在一可选的实施方式中,建模模块还用于:基于第一坐标系和第二坐标系确定坐标系偏差数据;其中,第一坐标系为第一基坐标系下受约束杆末端的坐标系,第二坐标系为第二基坐标系下受约束杆末端的坐标系。
在一可选的实施方式中,其中,实体机器人处于操作状态;第一位姿模块610具体用于:确定第二基坐标系下,实体机器人的末端目标位姿;基于第一基坐标系和末端目标位姿,确定第一基坐标系下受约束杆的末端第三位姿;通过运动学算法,基于末端第三位姿确定第一基坐标系下虚拟机器人的第一关节角度指令集;通过运动学算法,基于第一关节角度指令集确定第一基坐标系下,虚拟机器人中的虚拟关节部分的末端第一位姿。
在一可选的实施方式中,其中,实体机器人处于调节状态;第一位姿模块610具体用于:确定第一基坐标系下,虚拟机器人中的虚拟关节的第二关节角度指令集;通过运动学算法,基于第二关节角度指令集确定第一基坐标系下,虚拟机器人中的虚拟关节部分的末端第一位姿。
在一可选的实施方式中,第二位姿模块620具体用于:基于末端第一位姿,确定实体机器人的第二基坐标系下受约束杆的末端转换位姿;根据末端转换位姿和坐标系偏差数据,确定第二基坐标系下,实体机器人的末端第二位姿。
在一可选的实施方式中,指令模块630具体用于:通过运动学算法,基于末端第二位姿确定第二基坐标系下实体机器人的第三关节角度指令集;若实体机器人处于操作状态,则结合第三关节角度指令集和第一基坐标系下的第一关节角度指令集,确定目标关节角度指令集;若实体机器人处于调节状态,则结合第三关节角度指令集和第一基坐标系下的第二关节角度指令集,确定目标关节角度指令集。
在一可选的实施方式中,机器人控制装置600还可以包括示教子模块,用于基于第二关节角度指令集,结合实体机器人的受约束杆当前的虚拟约束位置和约束位置,对实体机器人进行约束位置示教;其中,虚拟约束位置包括示教过程中在实体机器人的指定连杆上预设的位置;约束位置示教包括:将虚拟约束位置与实际的约束位置重合。
由于本申请实施例中的机器人控制装置600解决问题的原理与前述的机器人控制方法的实施例相似,因此本实施例中的机器人控制装置600的实施可以参见上述机器人控制方法的实施例中的描述,重复之处不再赘述。
本申请实施例还提供了一种计算机可读取存储介质,可读取存储介质中存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本实施例提供的机器人控制方法中任一项方法中的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (11)
1.一种机器人控制方法,其特征在于,所述方法包括:
基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿;
根据所述末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿;
基于所述末端第二位姿确定目标关节角度指令集;
其中,所述坐标系偏差数据基于所述虚拟机器人模型确定;所述目标关节角度指令集用于控制所述实体机器人进行运动;
其中,所述虚拟机器人模型通过以下方式获取:基于所述实体机器人整体所受的约束状态,抽象出对应自由度的虚拟关节;其中,所述约束状态为表示空间杆件被限制运动方向的特征;基于位置示教确定所述实体机器人的受约束杆上的约束位置;其中,所述约束位置包括所述空间杆件受到约束作用的位置;所述受约束杆包括受到约束作用的机器人连杆;基于所述约束位置构建所述虚拟机器人的所述第一基坐标系;基于所述第一基坐标系,结合所述约束状态对应的所述虚拟关节和约束至所述实体机器人末端部分的实体关节进行建模,得到所述虚拟机器人模型;
或,所述虚拟机器人模型通过以下方式获取:根据约束至所述实体机器人末端部分的实体关节的身份信息,在数据库中获取所述实体关节的历史数据;根据所述实体机器人的受约束杆的参数数据,在所述数据库中获取所述受约束杆上的约束位置、所述约束位置对应的所述第一基坐标系以及对应自由度的虚拟关节的虚拟数据;其中,所述虚拟数据包括关节类型、虚拟关节个数、虚拟关节配置顺序中的至少一种;所述关节类型包括:转动关节和/或移动关节;所述虚拟关节配置顺序包括多个所述虚拟关节的建模顺序;基于所述第一基坐标系,结合所述历史数据和所述虚拟数据得到所述虚拟机器人模型。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于第一坐标系和第二坐标系确定所述坐标系偏差数据;其中,所述第一坐标系为所述第一基坐标系下所述受约束杆末端的坐标系,所述第二坐标系为所述第二基坐标系下所述受约束杆末端的坐标系。
3.根据权利要求1所述的方法,其特征在于,其中,所述实体机器人处于操作状态;
所述基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿,包括:
确定所述第二基坐标系下,所述实体机器人的末端目标位姿;
基于所述第一基坐标系和所述末端目标位姿,确定所述第一基坐标系下受约束杆的末端第三位姿;
通过运动学算法,基于所述末端第三位姿确定所述第一基坐标系下所述虚拟机器人的第一关节角度指令集;
通过所述运动学算法,基于所述第一关节角度指令集确定所述第一基坐标系下,所述虚拟机器人中的虚拟关节部分的所述末端第一位姿。
4.根据权利要求1所述的方法,其特征在于,其中,所述实体机器人处于调节状态;
所述基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿,包括:
确定所述第一基坐标系下,所述虚拟机器人中的虚拟关节的第二关节角度指令集;
通过运动学算法,基于所述第二关节角度指令集确定所述第一基坐标系下,所述虚拟机器人中的虚拟关节部分的所述末端第一位姿。
5.根据权利要求3或4所述的方法,其特征在于,所述根据所述末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿,包括:
基于所述末端第一位姿,确定所述实体机器人的第二基坐标系下受约束杆的末端转换位姿;
根据所述末端转换位姿和所述坐标系偏差数据,确定所述第二基坐标系下,所述实体机器人的末端第二位姿。
6.根据权利要求3或4所述的方法,其特征在于,所述基于所述末端第二位姿确定目标关节角度指令集,包括:
通过运动学算法,基于所述末端第二位姿确定所述第二基坐标系下所述实体机器人的第三关节角度指令集;
若所述实体机器人处于操作状态,则结合所述第三关节角度指令集和所述第一基坐标系下的所述第一关节角度指令集,确定所述目标关节角度指令集;
若所述实体机器人处于调节状态,则结合所述第三关节角度指令集和所述第一基坐标系下的所述第二关节角度指令集,确定所述目标关节角度指令集。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于所述第二关节角度指令集,结合所述实体机器人的受约束杆当前的虚拟约束位置和所述约束位置,对所述实体机器人进行约束位置示教;
其中,所述虚拟约束位置包括示教过程中在所述实体机器人的指定连杆上预设的位置;所述约束位置示教包括:将所述虚拟约束位置与实际的所述约束位置重合。
8.一种机器人控制装置,其特征在于,所述装置包括:第一位姿模块、第二位姿模块和指令模块;
所述第一位姿模块用于基于虚拟机器人模型,确定虚拟机器人的第一基坐标系下的末端第一位姿;
所述第二位姿模块用于根据所述末端第一位姿和坐标系偏差数据,确定实体机器人的第二基坐标系下的末端第二位姿;
所述指令模块用于基于所述末端第二位姿确定目标关节角度指令集;
其中,所述坐标系偏差数据基于所述虚拟机器人模型确定;所述目标关节角度指令集用于控制所述实体机器人进行运动;
所述装置还包括:建模模块;所述建模模块用于:基于所述实体机器人整体所受的约束状态,抽象出对应自由度的虚拟关节;其中,所述约束状态为表示空间杆件被限制运动方向的特征;基于位置示教确定所述实体机器人的受约束杆上的约束位置;其中,所述约束位置包括所述空间杆件受到约束作用的位置;所述受约束杆包括受到约束作用的机器人连杆;基于所述约束位置构建所述虚拟机器人的所述第一基坐标系;基于所述第一基坐标系,结合所述约束状态对应的所述虚拟关节和约束至所述实体机器人末端部分的实体关节进行建模,得到所述虚拟机器人模型;
或,所述建模模块用于:根据约束至所述实体机器人末端部分的实体关节的身份信息,在数据库中获取所述实体关节的历史数据;根据所述实体机器人的受约束杆的参数数据,在所述数据库中获取所述受约束杆上的约束位置、所述约束位置对应的所述第一基坐标系以及对应自由度的虚拟关节的虚拟数据;其中,所述虚拟数据包括关节类型、虚拟关节个数、虚拟关节配置顺序中的至少一种;所述关节类型包括:转动关节和/或移动关节;所述虚拟关节配置顺序包括多个所述虚拟关节的建模顺序;基于所述第一基坐标系,结合所述历史数据和所述虚拟数据得到所述虚拟机器人模型。
9.根据权利要求8所述的装置,其特征在于,所述建模模块还用于:基于第一坐标系和第二坐标系确定所述坐标系偏差数据;其中,所述第一坐标系为所述第一基坐标系下所述受约束杆末端的坐标系,所述第二坐标系为所述第二基坐标系下所述受约束杆末端的坐标系。
10.一种控制设备,其特征在于,所述控制设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-7中任一项所述方法中的步骤。
11.一种计算机可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-7任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410613069.5A CN118181306B (zh) | 2024-05-17 | 机器人控制方法、装置、控制设备及可读取存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410613069.5A CN118181306B (zh) | 2024-05-17 | 机器人控制方法、装置、控制设备及可读取存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118181306A true CN118181306A (zh) | 2024-06-14 |
CN118181306B CN118181306B (zh) | 2024-08-30 |
Family
ID=
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170333137A1 (en) * | 2016-05-23 | 2017-11-23 | Mako Surgical Corp. | Systems And Methods For Identifying And Tracking Physical Objects During A Robotic Surgical Procedure |
CN113180828A (zh) * | 2021-03-25 | 2021-07-30 | 北京航空航天大学 | 基于旋量理论的手术机器人约束运动控制方法 |
CN114631886A (zh) * | 2020-12-16 | 2022-06-17 | 上海微创医疗机器人(集团)股份有限公司 | 机械臂摆位方法、可读存储介质及手术机器人*** |
CN114700950A (zh) * | 2022-04-25 | 2022-07-05 | 浙江工业大学 | 基于数字孪生的医用护理机器人运动预测和故障诊断的方法 |
CN114952806A (zh) * | 2022-06-16 | 2022-08-30 | 法奥意威(苏州)机器人***有限公司 | 约束运动控制方法、装置、***和电子设备 |
CN115334993A (zh) * | 2020-03-26 | 2022-11-11 | 奥瑞斯健康公司 | 用于医疗器械的约束运动控制的***和方法 |
US20220361972A1 (en) * | 2019-11-12 | 2022-11-17 | Ecential Robotics | Surgical robotic system |
WO2022237538A1 (zh) * | 2021-05-10 | 2022-11-17 | 上海微创医疗机器人(集团)股份有限公司 | 手术机器人***、调整***和存储介质 |
CN116035705A (zh) * | 2023-01-30 | 2023-05-02 | 山东威高手术机器人有限公司 | 一种手术机器人整体运动学空间定位方法 |
CN116616873A (zh) * | 2023-05-22 | 2023-08-22 | 上海微创医疗机器人(集团)股份有限公司 | 手术机器人术前摆位方法、摆位***及可读存储介质 |
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170333137A1 (en) * | 2016-05-23 | 2017-11-23 | Mako Surgical Corp. | Systems And Methods For Identifying And Tracking Physical Objects During A Robotic Surgical Procedure |
CN109152615A (zh) * | 2016-05-23 | 2019-01-04 | 马科外科公司 | 在机器人手术过程期间识别和跟踪物理对象的***和方法 |
US20220361972A1 (en) * | 2019-11-12 | 2022-11-17 | Ecential Robotics | Surgical robotic system |
CN115334993A (zh) * | 2020-03-26 | 2022-11-11 | 奥瑞斯健康公司 | 用于医疗器械的约束运动控制的***和方法 |
CN114631886A (zh) * | 2020-12-16 | 2022-06-17 | 上海微创医疗机器人(集团)股份有限公司 | 机械臂摆位方法、可读存储介质及手术机器人*** |
CN113180828A (zh) * | 2021-03-25 | 2021-07-30 | 北京航空航天大学 | 基于旋量理论的手术机器人约束运动控制方法 |
WO2022237538A1 (zh) * | 2021-05-10 | 2022-11-17 | 上海微创医疗机器人(集团)股份有限公司 | 手术机器人***、调整***和存储介质 |
CN114700950A (zh) * | 2022-04-25 | 2022-07-05 | 浙江工业大学 | 基于数字孪生的医用护理机器人运动预测和故障诊断的方法 |
CN114952806A (zh) * | 2022-06-16 | 2022-08-30 | 法奥意威(苏州)机器人***有限公司 | 约束运动控制方法、装置、***和电子设备 |
CN116035705A (zh) * | 2023-01-30 | 2023-05-02 | 山东威高手术机器人有限公司 | 一种手术机器人整体运动学空间定位方法 |
CN116616873A (zh) * | 2023-05-22 | 2023-08-22 | 上海微创医疗机器人(集团)股份有限公司 | 手术机器人术前摆位方法、摆位***及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xiao et al. | An effective and unified method to derive the inverse kinematics formulas of general six-DOF manipulator with simple geometry | |
Li et al. | Design of spherical parallel mechanisms for application to laparoscopic surgery | |
Wu et al. | Finding the kinematic base frame of a robot by hand-eye calibration using 3D position data | |
US8738181B2 (en) | Methods, devices, and systems for automated movements involving medical robots | |
JP2007286976A (ja) | ロボットシミュレーション装置 | |
JP2007316942A (ja) | 経路作成装置及び経路作成方法 | |
JP2009134352A (ja) | ロボットの動作経路作成装置及びロボットの動作経路作成方法 | |
Zhang et al. | An ergonomic shared workspace analysis framework for the optimal placement of a compact master control console | |
Borras et al. | New geometric approaches to the analysis and design of Stewart–Gough platforms | |
Antonov et al. | Position, velocity, and workspace analysis of a novel 6-DOF parallel manipulator with “piercing” rods | |
Serracín et al. | Kinematic analysis of a novel 2-dof orientation device | |
Nelson et al. | Multi-robot system optimization based on redundant serial spherical mechanism for robotic minimally invasive surgery | |
CN113524201A (zh) | 机械臂位姿主动调节方法、装置、机械臂和可读存储介质 | |
CN116035705A (zh) | 一种手术机器人整体运动学空间定位方法 | |
CN118181306B (zh) | 机器人控制方法、装置、控制设备及可读取存储介质 | |
CN118181306A (zh) | 机器人控制方法、装置、控制设备及可读取存储介质 | |
McCarthy | Mechanism synthesis theory and the design of robots | |
Leibrandt et al. | Designing robots for reachability and dexterity: Continuum surgical robots as a pretext application | |
Böttger et al. | Medical robotics simulation framework for application-specific optimal kinematics | |
JPH09212225A (ja) | ロボットの教示装置 | |
Razjigaev et al. | Optimal dexterity for a snake-like surgical manipulator using patient-specific task-space constraints in a computational design algorithm | |
Uddin et al. | Comparative study of the VINCI Robot's arm end effector matrix using Python and MATLAB | |
Laribi et al. | Optimal synthesis of a new spherical parallel mechanism for application to tele-echography chain | |
Ni et al. | Research on Mobile User Interface for Robot Arm Remote Control in Industrial Application | |
Gosselin et al. | Inverse kinematic functions for approach and catching operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |