CN114800535B - 机器人的控制方法、机械臂控制方法、机器人及控制终端 - Google Patents
机器人的控制方法、机械臂控制方法、机器人及控制终端 Download PDFInfo
- Publication number
- CN114800535B CN114800535B CN202210748951.1A CN202210748951A CN114800535B CN 114800535 B CN114800535 B CN 114800535B CN 202210748951 A CN202210748951 A CN 202210748951A CN 114800535 B CN114800535 B CN 114800535B
- Authority
- CN
- China
- Prior art keywords
- robot
- operated
- target object
- mechanical arm
- track
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 239000012636 effector Substances 0.000 claims abstract description 152
- 230000033001 locomotion Effects 0.000 claims abstract description 63
- 230000000007 visual effect Effects 0.000 claims description 15
- 230000009471 action Effects 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 230000008447 perception Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000012417 linear regression Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000005484 gravity Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000005021 gait Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
本申请公开了机器人的控制方法、机械臂控制方法、机器人及控制终端,涉及机器人技术领域。其中,机械臂控制方法包括:响应于待操作目标物的识别指令,若识别到待操作目标物,则判断机器人的第一机械臂的固定部是否在第一位置区域内;若第一机械臂的固定部不在第一位置区域内,则根据移动控制指令控制机器人移动,直至第一机械臂的固定部位于第一位置区域内;若第一机械臂的固定部在第一位置区域内,则响应于对待操作目标物进行操作的控制指令,调取第一机械臂的末端执行器相对于待操作目标物的轨迹参数,并获取末端执行器相对于待操作目标物的目标位姿;根据轨迹参数和目标位姿控制末端执行器直接或通过工具触碰并对待操作目标物进行操作。
Description
技术领域
本申请涉及机器人技术领域,具体涉及机器人的控制方法、机械臂控制方法、机器人及控制终端。
背景技术
拖动示教是指操作人员能够拖动机器人的末端执行器从起始位姿到达指定位姿,以执行任务。在机器人的拖动示教中,机器人根据一定的时间步长记录末端执行器执行任务的轨迹,以便下次执行相同任务时,能够再现该记录的轨迹。
然而,在机器人自主执行任务时,由于机器人本体移动的误差,或者由于障碍物,使得机器人本体不能移动到上次相同位置,从而导致机器人的末端执行器的起始位姿与拖动示教时的起始位姿有一定的距离,导致机器人的末端执行器的移动轨迹和记录的轨迹有误差,末端执行器的最终位姿与指定位姿之间也会存在差异,从而出现无法通过直接复现原示教轨迹以执行相同的任务的情况。
此外,在机器人自主执行任务时,目标物的位置发生变化,机器人的末端执行器相对目标物的实际起始位姿与记录的起始位姿有误差,导致机器人的末端执行器的移动轨迹和记录的轨迹有误差,末端执行器的最终位姿与指定位姿之间也会存在差异,从而出现无法通过直接复现记录的示教轨迹以执行任务的情况。例如,待操作目标物为杯子,放在餐桌上,杯子每次在餐桌的放置位置都不同,机器人执行抓取杯子的任务,每次都要将机器人本体移动到合适的位置,要调整末端执行器的起始位姿,才能开始执行任务,然而,末端执行器的起始位姿也容易产生误差,从而导致抓取杯子任务失败。
发明内容
鉴于此,本申请提供机器人的控制方法、机械臂控制方法、机器人及控制终端,旨在解决在机器人自主执行任务时无法复现示教轨迹导致执行任务失败的问题。
本申请第一方面提供机器人的机械臂控制方法,应用于机器人,机械臂控制方法包括:响应于待操作目标物的识别指令,若识别到待操作目标物,则判断机器人的第一机械臂的固定部是否在第一位置区域内,或者判断机器人的第一机械臂的固定部和待操作目标物的距离是否小于或等于第一距离;其中,第一位置区域为第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的位置范围,第一距离为第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的最大距离;若第一机械臂的固定部不在第一位置区域内,或者第一机械臂的固定部和待操作目标物的距离大于第一距离,则根据移动控制指令控制机器人移动,直至机器人的第一机械臂的固定部位于第一位置区域内,或者直至机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离;若第一机械臂的固定部在第一位置区域内,或者机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,则响应于对待操作目标物进行操作的控制指令,调取末端执行器相对于待操作目标物的轨迹参数,并获取末端执行器相对于待操作目标物的目标位姿;根据轨迹参数和目标位姿控制末端执行器直接或通过工具触碰并对待操作目标物进行操作。
采用本实施例的机械臂控制方法,机器人首先判断第一机械臂的固定部是否在第一位置区域内,或者判断机器人的第一机械臂的固定部和待操作目标物的距离是否小于或等于第一距离。当确定第一机械臂的固定部在第一位置区域内时,或者当确定机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离时,机器人调取第一机械臂的末端执行器相对于待操作目标物的轨迹参数,并获取第一机械臂的末端执行器相对于待操作目标物的目标位姿,然后根据轨迹参数和目标位姿控制第一机械臂的末端执行器直接或通过工具触碰并对待操作目标物进行操作,可以复现示教轨迹,从而成功执行对待操作目标物进行操作的任务。
本申请第二方面提供机器人的控制方法,应用于控制终端,控制方法包括:若接收到已识别到的待操作目标物的信息,则在第一地图界面上显示待操作目标物的位置信息、待操作目标物所对应的第一位置区域或者第一机械臂的固定部和待操作目标物的距离信息,以及第一机械臂的固定部的位置信息;若第一机械臂的固定部不在第一位置区域内,或者第一机械臂的固定部和待操作目标物的距离大于第一距离,则向机器人发送移动控制指令,以控制机器人的第一机械臂的固定部移动至第一位置区域内,或者直至机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离;若第一机械臂的固定部在第一位置区域内,或者机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,则向机器人发送对待操作目标物进行操作的控制指令和调取末端执行器相对于待操作目标物的轨迹参数的指令,以控制机器人对待操作目标物进行操作。
采用本实施例的机器人的控制方法,用户通过控制终端向机器人发出控制指令,机器人响应于控制指令,执行相应的任务,从而可以实现本申请第一方面的第一机械臂控制方法的技术效果。而且,用户可以通过控制终端灵活地控制机器人,并可以通过控制终端向用户直观地展示机器人的各个功能、机器人的位置和状态,从而可以提升用户体验。
本申请第三方面提供机器人,机器人包括机器人本体、处理器、存储器、摄像头及第一机械臂,第一机械臂包括末端执行器和固定部,第一机械臂的固定部和机器人本体连接;处理器响应于待操作目标物的识别指令,摄像头获取周围环境的视觉信息;若摄像头识别到待操作目标物,则处理器判断机器人的第一机械臂的固定部是否在第一位置区域内,或者判断机器人的第一机械臂的固定部和待操作目标物的距离是否小于或等于第一距离,其中,第一位置区域为第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的位置范围,第一距离为第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的最大距离;若第一机械臂的固定部不在第一位置区域内,则处理器根据移动控制指令控制机器人移动,直至机器人的第一机械臂的固定部位于第一位置区域内,或者机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离;若第一机械臂的固定部在第一位置区域内,或者机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,则处理器响应于对待操作目标物进行操作的控制指令,调取末端执行器相对于待操作目标物的轨迹参数,并获取末端执行器相对于待操作目标物的目标位姿;处理器根据轨迹参数和目标位姿控制末端执行器直接或通过工具触碰并对待操作目标物进行操作。
本申请第四方面提供机器人的控制终端,控制终端包括处理器、存储器及控制面板,若处理器接收到已识别到的待操作目标物的信息,则控制面板在第一地图界面上显示待操作目标物的位置信息、待操作目标物所对应的第一位置区域或者第一机械臂的固定部和待操作目标物的距离信息,以及第一机械臂的固定部的位置信息;其中,第一位置区域为第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的位置范围;若第一机械臂的固定部不在第一位置区域内,或者第一机械臂的固定部和待操作目标物的距离大于第一距离,则处理器向机器人发送移动控制指令,以控制机器人的第一机械臂的固定部移动至第一位置区域内,或者直至机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离;其中,第一距离为第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的最大距离。若第一机械臂的固定部在第一位置区域内,或者机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,则处理器向机器人发送对待操作目标物进行操作的控制指令和调取末端执行器相对于待操作目标物的轨迹参数的指令,以控制机器人对待操作目标物进行操作。
可以理解,本申请第三方面提供的机器人可以实现本申请第一方面提供的机械臂控制方法的全部实施例,两者具有相同的具体实施方式和有益效果。本申请第四方面提供的机器人的控制终端可以实现本申请第二方面提供的机器人的控制方法的全部实施例,两者也具有相同的具体实施方式和有益效果。对于相同的具体实施方式和有益效果,在此不再赘述。
附图说明
图1是本申请提供的机械臂控制方法的流程图。
图2是图1中步骤S106的子流程示意图。
图3是拖动示教的场景下机器人获取轨迹参数的流程图。
图4是图1中步骤S107的子流程示意图。
图5是在执行图1中步骤S105之前的机械臂控制方法的流程图。
图6是基于重力补偿获取机器人移动的速度控制量的流程示意图。
图7是本申请提供的机器人的控制方法的流程图。
图8是在执行图7中步骤S701之前的机器人的控制方法的流程图。
图9是本申请一实施方式的机器人的结构示意图。
图10是本申请一实施方式的控制终端的结构示意图。
图11是本申请一实施方式的多足机器人的硬件结构示意图。
图12是控制终端控制多足机器人的场景示意图。
具体实施方式
需要说明的是,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
另外需要说明的是,本申请实施例中公开的方法或流程图所示出的方法,包括用于实现方法的一个或多个步骤,在不脱离权利要求的范围的情况下,多个步骤的执行顺序可以彼此互换,其中某些步骤也可以被删除。
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请第一方面提供机械臂控制方法。可参阅图1,图1是本申请提供的机械臂控制方法的流程图。
本申请实施例描述的机器人可以只有一个机械臂,也可以有多个机械臂,比如第一机械臂、第二机械臂等,每个机械臂都有一个固定部,为了方便描述,下文主要以第一机械臂以及第一机械臂的固定部(以下简称“固定部”)为例来说明。
可以理解,本申请实施例提供的机械臂控制方法应用于机器人。其中,机器人至少包括机器人本体和第一机械臂。第一机械臂包括末端执行器和固定部。末端执行器用于触碰待操作目标物并对待操作目标物进行操作。固定部固定安装于机器人本体上,用于连接第一机械臂和机器人本体。固定部为机器人的第一机械臂和机器人本体连接处的部件,也可以是机器人的第一机械臂通过某个连接单元和机器人本体连接处的部件。固定部相对于机器人本体静止,或固定部的一部分相对于机器人本体静止。以固定部具有几何中心为例,固定部的几何中心相对于机器人本体静止。例如,当机器人本体静止,第一机械臂移动时,固定部随第一机械臂移动而发生转动,但固定部的几何中心相对于机器人本体保持静止。又例如,当机器人本体移动时,固定部随机器人本体移动而发生移动,但固定部的几何中心相对于机器人本体保持静止。
如图1所示,机械臂控制方法可以包括如下步骤:
S101,响应于待操作目标物的识别指令,识别待操作目标物。
可以理解,识别指令用于指示机器人识别待操作目标物。
在一些实施例中,当机器人接收到识别指令时,使用摄像头感测周围环境,从而识别待操作目标物。
S102,确认是否识别到待操作目标物。
在本实施例中,机器人在周围环境中识别待操作目标物,若识别到待操作目标物,则执行步骤S103至S107;若否,则执行步骤S108。
S103,获取待操作目标物的信息。
在本实施例中,待操作目标物的信息包括视觉信息和位置信息。视觉信息可以包括待操作目标物的深度图像(Depth Images)。位置信息可以包括待操作目标物和机器人在第二地图界面中的位置信息。其中,第二地图界面显示于机器人的显示面板上,第二地图界面显示机器人构建的一定位置范围的地图,机器人在移动过程中可根据其位置信息更新地图,第二地图界面可以同步显示更新后的地图。
在一些实施例中,第二地图界面显示的地图可以是占据栅格地图(OccupancyGrid Map)。占据栅格是将环境地图表示为均匀间隔的二进制随机变量字段,每个二进制随机变量表示环境中该位置处是否存在障碍物。占据栅格地图可以描述环境中的障碍物和自由空间,是机器人实现自主导航与路径规划的地图表示形式。
在一些实施例中,响应于控制指令,机器人可以通过激光雷达或摄像头(例如3D摄像头)感测周围环境,并利用同步定位与地图构建(Simultaneous Localization andMapping,SLAM)技术对周围环境进行建图识别,再根据建图识别的结果确定机器人和待操作目标物在地图中的位置,即获得其自身位置和待操作目标物的位置信息。接着,机器人可以根据自身位置和待操作目标物的位置信息自主导航至待操作目标物的附近,再调用摄像头拍摄待操作目标物,以获取待操作目标物的视觉信息。
利用SLAM技术,机器人可以在未知环境中从一个未知位置开始移动,在移动过程中根据位置和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。
举例而言,当机器人处于住宅内,且接收到语音/文字输入的控制指令,例如控制指令为“帮我打开卧室的门”时,机器人可以通过关键词或语义分析从控制指令中确定需要执行的任务(即“打开卧室的门”)和待操作目标物(即“卧室的门把手”)。接着,响应于控制指令,机器人对住宅内的环境进行建图识别,以识别出住宅内的各个立体空间(例如客厅、卧室、书房等)。然后,机器人根据建图识别的结果确定其自身位置和待操作目标物在地图中的位置,并据此导航至待操作目标物的附近(比如移动到卧室的门前)。接着,机器人通过调用摄像头拍摄待操作目标物,以获取待操作目标物的视觉信息。
在下文的描述中,“摄像头”和“相机”是同一概念。
可以理解,在其他实施例中,用户可以通过控制终端或机器人的显示面板设置机器人自身位置到待操作目标物的规划路径,以指示机器人沿规划路径移动至待操作目标物的附近。
S104,判断机器人的第一机械臂的固定部是否在第一位置区域内,或者判断机器人的第一机械臂的固定部和待操作目标物的距离是否小于或等于第一距离。
其中,第一距离为第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的最大距离。第一位置区域为第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的位置范围。具体地,第一位置区域为当第一机械臂的末端执行器可直接或通过工具触碰到待操作目标物时,第一机械臂的固定部至待操作目标物最近和最远的位置所构成的位置范围。第一距离为第一机械臂的固定部至待操作目标物最远的位置所形成的距离。需要说明的是,第一位置区域是待操作目标物周围立体的区域范围,比如待操作目标物在高处,机器人可能要移动到待操作目标物的下方,才能通过第一机械臂触碰到待操作目标物。此外,如果第一机械臂上配备有工具,工具不是第一机械臂的一部分,机器人可通过工具来对待操作目标物进行操作,这时机器人在判断第一位置区域的时候,会计算工具的长度,此时的第一位置区域相对于直接通过第一机械臂的末端执行器触碰到待操作目标物,具有更大的范围区间。
可以理解,机器人可以通过以下一种或多种装置来获取第一机械臂的固定部和待操作目标物之间的距离:激光雷达、摄像头、距离传感器或其他检测器等。
为了方便描述,下文主要以第一机械臂通过末端执行器来直接触碰并对待操作目标物进行操作为例来说明。
例如,当待操作目标物为门把手,且第一机械臂的末端执行器可触碰到门把手时,确定第一机械臂的固定部距离门把手最近和最远的位置为第一位置区域。其中,在第一机械臂触碰到门把手的情形下将第一机械臂延伸至最大距离,该最大距离为第一距离,此时第一机械臂的固定部距离门把手也最远。在第一机械臂触碰到门把手的情形下将第一机械臂收缩至最小距离,此时第一机械臂的固定部距离门把手也最近。如此,第一机械臂的固定部距离门把手最近和最远的位置构成的位置范围即为第一位置区域。可以理解,当第一机械臂的固定部在第一位置区域时,首先确认第一机械臂的末端执行器可碰到待操作目标物。在一些实施例中,机器人本体的位置可以不阻碍待操作目标物的移动。例如,当机器人移动到门前时,调整机器人本体的位置并移动第一机械臂,第一机械臂的末端执行器可触碰到门把手,且机器人本体的位置在门可移动的位置范围之外,如此机器人本体可以不阻碍门的打开或关闭。在另一些实施例中,当机器人本体的位置阻碍待操作目标物的移动时,可以在第一机械臂的末端执行器向待操作目标物移动的过程中,或者末端执行器接触并对待操作目标物进行操作的同时,移动机器人本体,直至机器人本体的位置不阻碍待操作目标物的移动。
又例如,当待操作目标物为餐桌上的杯子,且第一机械臂的末端执行器可触碰到餐桌上的杯子时,确定第一机械臂的固定部距离杯子最近和最远的位置。第一机械臂的固定部距离杯子最近和最远的位置构成的位置范围即为第一位置区域。可以理解,当机器人移动到餐桌边缘时,机器人本体可沿餐桌边缘移动,也可从餐桌底下穿过,调整机器人本体的位置并移动第一机械臂,使得第一机械臂的末端执行器可触碰到餐桌上的杯子。第一位置区域随待操作目标物的位置变化而变化。
可以理解,在步骤S104中,若第一机械臂的固定部在第一位置区域内,或者第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,则顺序执行步骤S106至S107;若否,则顺序执行步骤S105至S107。
S105,根据移动控制指令控制机器人移动,直至机器人的第一机械臂的固定部位于第一位置区域内,或者直至第一机械臂的固定部和待操作目标物的距离小于或等于第一距离。
其中,移动控制指令用于指示机器人本体进行移动。
移动控制指令可以是机器人本体的控制模块向电机驱动板发送的,也可以是通过云端服务器计算出并发送给机器人本体的,还可以是外部的控制终端发送的。例如,如果机器人具有自主导航功能,机器人可以根据目的地和机器人本体的当前位置,计算出路径,并控制机器人本体移动到目的地。又例如,如果机器人是需要通过控制终端来控制机器人本体移动,移动控制指令由控制终端发送给机器人本体,以控制机器人本体移动到目的地。
在本实施例中,当第一机械臂的固定部不在第一位置区域内时,或者当第一机械臂的固定部和待操作目标物的距离大于第一距离时,机器人可以从位置信息中获取待操作目标物在地图中的位置信息,并结合机器人当前的位置信息,控制机器人本体向待操作目标物的位置移动,直至第一机械臂的固定部位于第一位置区域内,或者直至第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,如此第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作。
需要说明的是,机器人可以先移动并且在第一机械臂的固定部位于第一位置区域内后,机器人本体停止移动,然后再启动第一机械臂的末端执行器移动以直接或通过工具触碰并对待操作目标物进行操作。也可以是,机器人本体在持续移动的过程中,只要第一机械臂的固定部位于第一位置区域内的合适位置,就可启动第一机械臂的末端执行器移动以直接或通过工具触碰并对待操作目标物进行操作。
也可以是,机器人本体在持续移动的过程中,第一机械臂的末端执行器相对机器人本体也在移动,只要第一机械臂的固定部位于第一位置区域内的合适位置,第一机械臂的末端执行器可根据其当前位置选择合适的移动轨迹并对待操作目标物进行操作。
具体地,当第一机械臂的固定部不在第一位置区域内时,或者当第一机械臂的固定部和待操作目标物的距离大于第一距离时,机器人可以从位置信息中获取待操作目标物在地图中的位置信息和机器人当前的位置信息,然后根据待操作目标物的位置信息和机器人当前的位置信息计算出在地图中机器人从当前位置移动至待操作目标物的路径,接着机器人沿该路径移动,直至第一机械臂的固定部位于第一位置区域内,或者直至第一机械臂的固定部和待操作目标物的距离小于或等于第一距离。可以理解,当计算出机器人从当前位置移动至待操作目标物的多条路径时,机器人可以随机选取其中一条路径,或者选取移动距离最短的路径。
S106,响应于对待操作目标物进行操作的控制指令,调取第一机械臂的末端执行器相对于待操作目标物的轨迹参数,并获取第一机械臂的末端执行器相对于待操作目标物的目标位姿。
可以理解,控制指令用于通知机器人执行任务。例如,对待操作目标物进行操作的控制指令用于通知机器人要执行的任务为对待操作目标物进行操作。
在一些实施例中,用户可以直接向机器人发出控制指令,也可以通过控制终端向机器人发出控制指令。
具体地,当用户直接向机器人发出控制指令时,可以通过以下方式触发控制指令:语音/文字输入、触控操作或手势动作等。例如,用户可以直接在机器人的控制面板上输入文字内容,机器人可以通过关键词或语义分析从文字内容中获取控制指令。又例如,用户可以在机器人的语音感知范围内发出语音内容,机器人可以通过语音模块接收语音内容,然后将语音内容转换成文字内容,并通过关键词或语义分析从文字内容中获取控制指令。又例如,用户可以通过触控操作触发控制面板上的控件,每个控件对应设置有控制指令,在用户触发某个控件后,机器人即可获取对应的控制指令。又例如,用户可以在机器人的摄像范围内做手势动作,机器人可以通过摄像头识别用户的手势动作,并通过模糊识别算法从用户的手势动作中获取控制指令。
当用户通过控制终端向机器人发出控制指令时,可以通过触发控制终端上某个应用程序的控件来触发控制指令。控制终端可以通过该应用程序来管理机器人,该应用程序上设置有机器人各个功能(比如环境/物体识别、自主导航/移动、轨迹/路径规划、智能取物等)对应的控件。
其中,末端执行器相对于待操作目标物的轨迹参数是指末端执行器直接或通过工具触碰待操作目标物,并对待操作目标物进行操作的轨迹参数。例如,待操作目标物为门把手,末端执行器相对于待操作目标物的轨迹参数是末端执行器直接或通过工具触碰门把手,并进行开门的轨迹参数。
可以理解,机器人已存储有末端执行器相对于待操作目标物的轨迹参数,轨迹参数可以存储在机器人的存储器上,也可以存储在云端服务器上,或者存储在机器人的控制终端上。当第一机械臂的固定部在第一位置区域内时,或者当第一机械臂的固定部和待操作目标物的距离小于或等于第一距离时,需要对待操作目标物进行操作,机器人在接收到对待操作目标物进行操作的控制指令后,调取对应的轨迹参数,并获取对应的目标位姿。
S107,根据轨迹参数和目标位姿控制末端执行器直接或通过工具触碰并对待操作目标物进行操作。
可以理解,在一些实施例中,在控制末端执行器直接或通过工具触碰到待操作目标物之前,机器人调用摄像头拍摄待操作目标物,获取待操作目标物的视觉信息,从视觉信息中获取待操作目标物的深度图像,再根据深度图像进行相机坐标系到机器人坐标系的位置变换,从而确定第一机械臂的末端执行器相对于待操作目标物的目标位姿。
在本实施例中,机器人控制末端执行器依照轨迹参数对应的轨迹移动,直至末端执行器到达其相对于待操作目标物的目标位姿,如此末端执行器可直接或通过工具触碰到待操作目标物,并对待操作目标物进行操作。例如,待操作目标物为门把手,机器人控制末端执行器依照轨迹参数对应的轨迹移动,直至末端执行器到达其相对于门把手的目标位姿,如此末端执行器可直接或通过工具触碰门把手,并操作门把手完成开门动作。
S108,发出提示信息,以提示识别待操作目标物失败。
在本实施例中,当机器人在周围环境中没有识别到待操作目标物时,可以通过语音模块或显示面板发出提示信息,提示信息用于提示识别待操作目标物失败。
可以理解,在本实施例中,机器人根据待操作目标物的位置信息判断第一机械臂的固定部是否在第一位置区域内,或者判断机器人的第一机械臂的固定部和待操作目标物的距离是否小于或等于第一距离,从而确定机器人是否移动到待操作目标物的附近。若第一机械臂的固定部不在第一位置区域内,或者第一机械臂的固定部和待操作目标物的距离大于第一距离,则控制机器人移动,直至第一机械臂的固定部靠近或位于第一位置区域内,或者直至第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,从而可以准确地控制机器人移动到待操作目标物的附近。若第一机械臂的固定部在第一位置区域内,或者第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,则获取第一机械臂的末端执行器相对于待操作目标物的目标位姿,并调取第一机械臂的末端执行器相对于待操作目标物的轨迹参数。根据轨迹参数和目标位姿控制末端执行器直接或通过工具触碰并对待操作目标物进行操作,可以复现示教轨迹,从而成功执行对待操作目标物进行操作的任务。
请一并参阅图2,图2是图1中步骤S106的子流程示意图。如图2所示,获取第一机械臂的末端执行器相对于待操作目标物的目标位姿,具体可以包括如下步骤:
S201,根据视觉信息获取待操作目标物相对于机器人本体的第一位姿。
在本实施例中,当第一机械臂的固定部在第一位置区域内时,或者当第一机械臂的固定部和待操作目标物的距离小于或等于第一距离时,机器人调用摄像头拍摄待操作目标物,并获取待操作目标物的视觉信息,从视觉信息中获取待操作目标物的深度图像,并根据深度图像获取待操作目标物相对于机器人本体的第一位姿。
具体地,机器人首先根据深度图像获取待操作目标物在相机坐标系下的位姿,即是待操作目标物相对于相机的位姿。然后,机器人通过手眼标定方式计算得到相机相对于机器人本体的位姿。接着,机器人根据待操作目标物相对于相机的位姿和相机相对于机器人本体的位姿计算得到待操作目标物相对于机器人本体的第一位姿。
手眼标定方式是确定相机坐标系和机器人坐标系之间的位置变换关系,从而使相机所确定的物体位姿可以转换到机器人坐标系下,再由机器人的机械臂完成对物体的作业。
S202,获取第一机械臂的末端执行器相对于机器人本体的第二位姿。
正向运动学是已知机械臂的机械结构与各个关节的位置或转角,进而求解机械臂的末端执行器的位置姿态的过程。
S203,根据第一位姿和第二位姿获取第一机械臂的末端执行器相对于待操作目标物的目标位姿。
请一并参阅图3,图3是拖动示教的场景下机器人获取轨迹参数的流程图。在执行图1所示的步骤S101之前,机械臂控制方法还包括以下步骤:
S301,当第一机械臂受到外力拖动时,存储在外力的拖动下第一机械臂的末端执行器的多个第一轨迹。
其中,第一轨迹是指第一机械臂在外力的作用下,第一机械臂的末端执行器从开始移动到直接或通过工具触碰并对待操作目标物进行操作的轨迹。
可以理解,在本实施例中,在机器人的示教学习阶段,用户拖动第一机械臂执行任务,机器人按照预设的时间步长记录第一机械臂的末端执行器执行动作的轨迹点,这些轨迹点的集合构成第一轨迹。用户可以多次拖动第一机械臂执行任务,从而机器人可以存储多个第一轨迹。
举例而言,若待操作目标物为门把手,在机器人的示教学习阶段,用户拖动第一机械臂执行开门动作,机器人按照预设的时间步长记录第一机械臂的末端执行器从开始移动到触碰到门把手,并操作门把手完成开门动作的轨迹点,从而获取第一轨迹。
S302,根据多个第一轨迹获取轨迹参数。
在本实施例中,机器人可采用高斯混合模型(GMM)的概率学习方法对多个第一轨迹进行拟合,得到如公式(1)所示的泛化轨迹的概率分布:
其中,是泛化轨迹的状态空间变量(例如机器人在不同时间点的速度和加速度)的概率分布,k是第一轨迹的数目,是高斯混合模型的函数,用于描述第一轨迹的状态空间变量的概率分布,是状态空间变量的线性集合,和是泛化轨迹的轨迹参数。
根据公式(1)所示的泛化轨迹的概率分布,通过期望最大算法(ExpectationMaximization,EM)进行轨迹参数的估计,从而可以得到轨迹泛化模型。其中,轨迹泛化模型的轨迹参数即为拖动示教的轨迹参数。EM算法用于计算得到概率最大的轨迹。
在其他实施例中,在对多个第一轨迹进行拟合之前,可以先对第一轨迹进行平滑处理,以滤除异常的轨迹点,提升拟合效果。
可以理解,在机器人的自主执行阶段,可以通过轨迹泛化模型计算得到预测轨迹,并根据预测轨迹执行任务。相较于直接调取第一轨迹的方案,本实施例通过轨迹泛化的方式对第一轨迹进行参数化处理,计算得到预测轨迹,可以允许一定范围的轨迹差异,从而可以提升任务执行的成功率。
请一并参阅图3和图4,图4为图1所示的步骤S107的子流程示意图。在执行图3中步骤S302之后,根据轨迹参数和目标位姿控制末端执行器直接或通过工具触碰并对待操作目标物进行操作,可以包括如下步骤:
S401,根据轨迹参数和目标位姿计算出预测轨迹点的序列并形成第二轨迹,以及存储第二轨迹。
其中,本实施例的轨迹参数为轨迹泛化模型的轨迹参数。
在本实施例中,在机器人的自主执行阶段,机器人可以通过轨迹泛化模型计算得到预测轨迹,再基于预测轨迹控制机器人的第一机械臂的末端执行器移动,从而可以计算出预测轨迹点的序列并形成第二轨迹。
S402,根据第二轨迹控制末端执行器移动,直至末端执行器直接或通过工具触碰并对待操作目标物进行操作。
其中,第二轨迹是机器人的第一机械臂的末端执行器从开始移动到末端执行器处于其相对于待操作目标物的目标位姿的轨迹。
在本实施例中,在机器人的自主执行阶段,机器人可以根据第二轨迹控制末端执行器移动,直至末端执行器直接或通过工具触碰到待操作目标物,并对待操作目标物进行操作。其中,第二轨迹经过轨迹泛化,可以允许一定范围的轨迹差异,从而可以提升对待操作目标物进行操作的成功率。
需要说明的是,机器人的轨迹参数可不断迭代,基于拖动示教的轨迹参数获取的多个第二轨迹,结合多个第一轨迹,可不断优化轨迹参数。
在一些实施例中,机器人控制末端执行器移动,末端执行器可以沿第二轨迹或第二轨迹的一部分移动。例如,在机器人的自主执行阶段,机器人根据第二轨迹控制末端执行器移动,如果末端执行器开始移动时所在的位置不是第二轨迹上的任一轨迹点,首先机器人控制末端执行器移动到第二轨迹上的某一轨迹点,再控制末端执行器沿第二轨迹继续移动。其中,某一轨迹点可以是第二轨迹上的任一轨迹点,也可以是第二轨迹上和末端执行器所在的位置距离最短的轨迹点。
请一并参阅图5,在执行图1中步骤S105之前,机械臂控制方法还包括:
获取第一机械臂的固定部移动到第一位置区域时机器人的移动轨迹。
其中,获取第一机械臂的固定部移动到第一位置区域时机器人的移动轨迹可以包括以下步骤:
S501,获取机器人本体或者第一机械臂受到的外力的力感知信号。
可以理解,机器人受到的外力可以包括第一机械臂受到的外力或机器人本体受到的外力。
在一些实施例中,当用户拖动第一机械臂时,第一机械臂受到外力,第一机械臂上的传感器(比如六维力传感器或关节扭矩传感器)或机器人的运动机构(比如轮子或腿)感测力信号,获取力感知信号。
在另一些实施例中,当用户拖动机器人本体时,机器人本体受到外力,机器人的运动机构(比如轮子或腿)感测力信号,获取力感知信号。
S502,根据机器人在各个维度上的力感知信号的偏差获取机器人移动的速度控制量。
在本实施例中,机器人获取到外力的力感知信号之后,需要将力感知信号转换至笛卡尔空间,以计算机器人移动的速度控制量。机器人首先可以基于正向运动学计算得到笛卡尔空间的力感知信号,再计算各个维度上的力感知信号的偏差,然后根据力感知信号的偏差和机器人移动的速度控制量的对应关系,计算得到力感知信号的偏差对应的速度控制量。
力感知信号的偏差和机器人移动的速度控制量的对应关系如公式(2)所示:
其中,Vx、Vy、Wz是机器人移动的速度控制量,Kx、Ky、Kz是对应的系数,为机器人在笛卡尔空间X方向上力感知信号的偏差,为机器人在笛卡尔空间Y方向上力感知信号的偏差,为机器人在笛卡尔空间Z方向(即偏航角Yaw方向)上力感知信号的偏差。
S503,根据速度控制量控制第一机械臂的固定部移动,直至机器人的第一机械臂的固定部位于第一位置区域内,或者直至机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,以及存储机器人移动的多个第三轨迹。
在本实施例中,机器人首先对受到的外力的力感知信号进行空间转换,然后基于笛卡尔空间的力感知信号的偏差与机器人移动的速度控制量的对应关系,计算得到力感知信号的偏差对应的速度控制量,再基于速度控制量控制机器人移动,直到第一机械臂的固定部位于第一位置区域内,或者直至机器人的第一机械臂的固定部和待操作目标物的距离小于或等于第一距离。在机器人移动过程中,存储机器人移动的多个第三轨迹,从而为后续机器人移动提供参考轨迹。
可以理解,在图5所示的步骤S502中,机器人基于正向运动学计算得到笛卡尔空间的力感知信号,这里的力感知信号由于重力扰动存在误差,导致最后计算得到的速度控制量也存在误差。为减小重力扰动带来的误差,需要进行相应的重力补偿。
如图6所示,基于重力补偿获取机器人移动的速度控制量,可以包括如下步骤:
S601,根据预设的动力学模型对力感知信号进行线性回归处理,以获取回归矩阵与参数集。
在本实施例中,机器人可以采用动力学模型对其受到的外力的力感知信号进行线性回归处理,从而计算得到力感知信号的回归矩阵和动力学模型的参数集。
可以理解,动力学模型可以采用现有技术的模型,本实施例对此不做限定。
S602,利用最小二乘法对参数集进行优化,以获取最小参数集。
在本实施例中,机器人可以利用最小二乘法对动力学模型进行优化,通过优化参数集,比如消除参数集中的相关列,从而获取最小参数集。
S603,根据最小参数集和回归矩阵计算力矩信号。
在本实施例中,机器人可以将力感知信号的回归矩阵与动力学模型的最小参数集进行相乘运算,计算得到力矩信号。
S604,根据各个维度上的力感知信号与力矩信号的差值获取机器人移动的速度控制量。
可以理解,将各个维度上的力感知信号与力矩信号进行相减运算,可以抵消力感知信号与力矩信号的重力扰动,实现重力补偿。
在本实施例中,使用各个维度上的力感知信号与力矩信号的差值替换图5所示的步骤S502中的各个维度上的力感知信号,并据此获取机器人移动的速度控制量,可以实现重力补偿,提升机器人移动的速度控制量的精确性。
本申请第二方面提供机器人的控制方法,机器人的控制方法应用于控制终端。可参阅图7,图7是本申请提供的机器人的控制方法的流程图。
需要说明的是,图7所示的机器人的控制方法应用于控制终端控制机器人的场景。如图7所示,机器人的控制方法可以包括如下步骤:
S701,向机器人发送识别指令。
可以理解,控制终端上安装有特定的应用程序,该应用程序用于向机器人发送控制指令,以控制机器人实现各种功能(比如环境/物体识别、自主导航/移动、轨迹/路径规划、智能取物等)。
在本实施例中,用户在控制终端的特定应用程序上触发识别指令,控制终端向机器人发送识别指令,以控制机器人识别待操作目标物。
S702,确认是否接收到已识别到的待操作目标物的信息。
在本实施例中,机器人在识别到待操作目标物之后,向控制终端发送已识别到待操作目标物的信息。若控制终端接收到已识别到待操作目标物的信息,则执行步骤S703至S706;若否,则执行步骤S707。
S703,在第一地图界面上显示待操作目标物的位置信息、待操作目标物所对应的第一位置区域或者机器人的第一机械臂的固定部和待操作目标物的距离信息,以及第一机械臂的固定部的位置信息。
其中,第一位置区域为机器人的第一机械臂的末端执行器可直接或通过工具触碰并对到待操作目标物进行操作的位置范围。
可以理解,控制终端的特定应用程序具有第一地图界面,当控制终端接收到已识别到的待操作目标物的信息时,在特定应用程序的第一地图界面上显示待操作目标物的位置信息、待操作目标物所对应的第一位置区域或者机器人的第一机械臂的固定部和待操作目标物的距离信息,以及第一机械臂的固定部的位置信息。
S704,确认第一机械臂的固定部是否在第一位置区域内,或第一机械臂的固定部和待操作目标物的距离是否小于或等于第一距离。
其中,第一距离为机器人的第一机械臂的末端执行器可直接或通过工具触碰并对待操作目标物进行操作的最大距离。
在本实施例中,控制终端根据第一机械臂的固定部的位置信息确认第一机械臂的固定部是否在第一位置区域内,或第一机械臂的固定部和待操作目标物的距离是否小于或等于第一距离。若第一机械臂的固定部在第一位置区域内,或第一机械臂的固定部和待操作目标物的距离小于或等于第一距离,则执行步骤S706;若否,则顺序执行步骤S705至S706。
S705,向机器人发送移动控制指令,以控制机器人的第一机械臂的固定部移动至第一位置区域内,或者直至第一机械臂的固定部和待操作目标物的距离小于或等于第一距离。
在本实施例中,当第一机械臂的固定部不在第一位置区域内时,或当第一机械臂的固定部和待操作目标物的距离大于第一距离时,控制终端向机器人发送移动控制指令,从而控制机器人的第一机械臂的固定部移动至第一位置区域内,或控制第一机械臂的固定部和待操作目标物的距离小于或等于第一距离。
S706,向机器人发送对待操作目标物进行操作的控制指令和调取末端执行器相对于待操作目标物的轨迹参数的指令,以控制机器人对待操作目标物进行操作。
可以理解,机器人的第一机械臂的末端执行器相对于待操作目标物的轨迹参数可以存储在机器人的存储器上,也可以存储在控制终端的存储器上。
在本实施例中,当第一机械臂的固定部在第一位置区域内时,或当第一机械臂的固定部和待操作目标物的距离小于或等于第一距离时,控制终端向机器人发送对待操作目标物进行操作的控制指令和调取末端执行器相对于待操作目标物的轨迹参数的指令,以指示机器人对待操作目标物进行操作。
S707,接收提示信息。
在本实施例中,当机器人在周围环境中没有识别到待操作目标物时,可以向控制终端发送提示信息,以提示识别待操作目标物失败。控制终端接收到提示信息后,可以在控制面板上显示提示信息。
可参阅图8,在执行图7所示的步骤S701之前,机器人的控制方法还可以包括如下步骤:
S801,向机器人发送设定第二位置区域的控制指令。
其中,第二位置区域为识别用户在控制终端上的触摸操作在第二地图界面中标注的位置范围。设定第二位置区域的控制指令用于控制机器人移动至第二位置区域。
在本实施例中,用户可以通过触摸或点击控制终端上特定的应用程序,该应用程序的首页展示第二地图界面,第二地图界面上显示已存储的地图信息。接着,用户可以在第二地图界面中标注一个或多个位置范围,例如用手指在第二地图界面上滑动,形成一个或多个封闭图形(比如圆形、椭圆形或多边形等),封闭图形所覆盖的位置范围即为用户标注的第二位置区域。
当封闭图形与目标区域部分重合时,若重合比例超过预设的阈值,则将封闭图形确定为第二位置区域。其中,目标区域是指待操作目标物所在的位置区域。重合比例是指封闭图形与目标区域的重合部分面积占封闭图形的全部面积的比例。举例而言,目标区域是一个房间,待操作目标物在该房间内,用户可以在第二地图界面中标注一个封闭图形,该封闭图形与该房间部分重合。控制终端可以先根据第二地图界面的比例尺换算出该封闭图形在周围环境中的实际面积,再计算该封闭图形与该房间的重合部分面积占该封闭图形的全部面积的比例,从而得到重合比例。当重合比例超过预设的阈值(例如0.8)时,控制终端将该封闭图形确定为第二位置区域。
可以理解,预设的阈值可依实际场景而设,本申请对此不做限定。
当第二位置区域被标注完成时,触发设定第二位置区域的控制指令,接着控制终端向机器人发送设定第二位置区域的控制指令。
S802,根据获取的机器人的位置确定从机器人的位置到第二位置区域的路径。
在本实施例中,机器人响应于设定第二位置区域的控制指令,向控制终端发送其所在的位置信息。控制终端接收机器人所在的位置信息,从而获取机器人在第二地图界面中的位置。接着,控制终端在第二地图界面上显示从机器人的位置到第二位置区域的一条或多条路径。
在一些实施例中,一条或多条路径优选第三轨迹。第三轨迹可以是一条路径的轨迹,也可以是一条路径的局部一段轨迹。例如,若第三轨迹为一条路径中的局部一段轨迹,则在机器人沿第三轨迹移动完成之后,控制终端控制机器人沿该路径继续移动。
S803,控制机器人根据路径移动,直至机器人本体靠近或者位于第二位置区域内。
可以理解,控制终端在确定从机器人的位置到第二位置区域的一条路径之后,向机器人发送路径信息。机器人在接收到路径信息之后,根据该路径移动,直至机器人本体靠近或者位于第二位置区域。
在本实施例中,控制终端在确定从机器人的位置到第二位置区域的多条路径之后,可以从多条路径中随机选取一条路径,或者从多条路径中选取距离最短的路径,从而可以控制机器人沿控制终端自主选择的路径移动。
在其他实施例中,当第二地图界面上展示出从机器人的位置到第二位置区域的多条路径时,用户可以点击其中任一条路径,从而控制机器人沿用户选择的路径移动。
S804,向机器人发送在第二位置区域内查找待操作目标物的控制指令。
其中,查找待操作目标物的控制指令用于控制机器人在第二位置区域内查找待操作目标物。
在本实施例中,当机器人本体位于第二位置区域内时,用户可以在控制终端上触发查找待操作目标物的控制指令,接着控制终端向机器人发送查找待操作目标物的控制指令。
可以理解,用户可以通过以下方式触发查找待操作目标物的控制指令:语音/文字输入、触控操作等。例如,用户可以在控制终端的特定栏位输入待操作目标物的名称或特征(例如待操作目标物的形状、尺寸、颜色等),从而可以触发查找待操作目标物的控制指令。又例如,用户可以在控制终端的语音感知范围内发出语音内容,控制终端可以通过语音模块接收语音内容,然后将语音内容转换成文字内容,并通过关键词或语义分析从文字内容中获取查找待操作目标物的控制指令。又例如,用户可以通过触控操作触发控制终端上的特定控件,该控件对应设置有查找待操作目标物的控制指令,从而可以触发查找待操作目标物的控制指令。
S805,确认待操作目标物是否在第二位置区域内。
在本实施例中,控制终端在向机器人发送查找待操作目标物的控制指令之后,机器人响应于该控制指令,首先获取待操作目标物的特征,再通过摄像头拍摄周围环境的图像,接着从图像中确定与待操作目标物的特征相匹配的物体。当图像中不存在与待操作目标物的特征相匹配的物体时,机器人调整摄像头的拍摄视角或移动至另一位置继续拍摄,直至第二位置区域的环境图像拍摄完毕。当第二位置区域的某一图像中存在与待操作目标物的特征相匹配的物体时,机器人将该物体判定为待操作目标物,并向控制终端发送已查找到待操作目标物的消息,控制终端可据此确认待操作目标物在第二位置区域内。当第二位置区域的全部图像中都不存在与待操作目标物的特征相匹配的物体时,机器人判定第二位置区域不存在待操作目标物,并向控制终端发送未查找到待操作目标物的消息,控制终端可据此确认待操作目标物不在第二位置区域内。
在步骤S805中,若待操作目标物在第二位置区域内,则执行步骤S806;若否,则执行步骤S807。
S806,接收已识别到的待操作目标物的信息。
在本实施例中,当控制终端确认待操作目标物在第二位置区域内时,用户可以在控制终端上触发接收识别指令,接着控制终端向机器人发送接收识别指令。机器人在识别到待操作目标物之后,向控制终端发送已识别到的待操作目标物的信息。
S807,发出提示信息,以提示重新设定第二位置区域。
在本实施例中,当控制终端确定待操作目标物不在第二位置区域内时,发出提示信息。其中,提示信息用于提示重新设定第二位置区域。
可以理解,在本实施例中,用户通过控制终端向机器人发出控制指令,机器人响应于控制指令,执行相应的任务。用户可以通过控制终端灵活地控制机器人(比如远程控制机器人),并可以通过控制终端向用户直观地展示机器人的各个功能、机器人的位置和状态(比如机器人的剩余电量、是否休眠等),从而可以提升用户体验。
本申请第三方面提供机器人。可参阅图9,图9是本申请提供的机器人100的结构示意图。
如图9所示,机器人100可以包括处理器110、存储器120、机器人本体130、摄像头140及第一机械臂150。其中,第一机械臂150包括末端执行器151和固定部152,固定部152连接机器人本体130。
处理器110响应于待操作目标物的识别指令,摄像头140获取周围环境的视觉信息。若摄像头140识别到待操作目标物,则处理器110判断第一机械臂150的固定部152是否在第一位置区域内,或者判断第一机械臂150的固定部152和待操作目标物的距离是否小于或等于第一距离。其中,第一位置区域为第一机械臂150的末端执行器151可直接或通过工具触碰并对待操作目标物进行操作的位置范围,第一距离为第一机械臂150的末端执行器151可直接或通过工具触碰并对待操作目标物进行操作的最大距离。若第一机械臂150的固定部152不在第一位置区域内,则处理器110根据移动控制指令控制机器人本体130移动,直至第一机械臂150的固定部152位于第一位置区域内,或者直至第一机械臂150的固定部152和待操作目标物的距离小于或等于第一距离。若第一机械臂150的固定部152在第一位置区域内,或者第一机械臂150的固定部152和待操作目标物的距离小于或等于第一距离,则处理器110响应于对待操作目标物进行操作的控制指令和调取末端执行器151相对于待操作目标物的轨迹参数的指令,从存储器120中调取末端执行器151相对于待操作目标物的轨迹参数,并获取末端执行器151相对于待操作目标物的目标位姿,以及根据轨迹参数和目标位姿控制末端执行器151直接或通过工具触碰并对待操作目标物进行操作。
可以理解,机器人100能够实现本申请第一方面提供的机械臂控制方法的实施例的所有方法步骤,在此不再对相同的方法步骤及有益效果进行赘述。
本申请第四方面提供机器人的控制终端。可参阅图10,图10是本申请提供的控制终端200的结构示意图。以控制终端200控制图9所示的机器人100的场景为例进行说明。
如图10所示,控制终端200可以包括处理器210和控制面板220。若处理器210接收到已识别到的待操作目标物的信息,则控制面板220在第一地图界面上显示待操作目标物的位置信息、待操作目标物所对应的第一位置区域或者机器人100的第一机械臂150的固定部152和待操作目标物的距离信息,以及机器人100的第一机械臂150的固定部152的位置信息。其中,第一位置区域为机器人100的第一机械臂150的末端执行器151可直接或通过工具触碰并对待操作目标物进行操作的位置范围。若机器人100的第一机械臂150的固定部152不在第一位置区域内,或者机器人100的第一机械臂150的固定部152和待操作目标物的距离大于第一距离,则处理器210向机器人100发送移动控制指令,以控制机器人100的第一机械臂150的固定部152移动至第一位置区域内,或者直至机器人100的第一机械臂150的固定部152和待操作目标物的距离小于或等于第一距离。其中,第一距离为机器人100的第一机械臂150的末端执行器151可直接或通过工具触碰并对待操作目标物进行操作的最大距离。若机器人100的第一机械臂150的固定部152在第一位置区域内,或者机器人100的第一机械臂150的固定部152和待操作目标物的距离小于或等于第一距离,则处理器210向机器人100发送对待操作目标物进行操作的控制指令和调取机器人100的第一机械臂150的末端执行器151相对于待操作目标物的轨迹参数的指令,以控制机器人100对待操作目标物进行操作。
可以理解,控制终端200能够实现本申请第二方面提供的机器人的控制方法的实施例的所有方法步骤,在此不再对相同的方法步骤及有益效果进行赘述。
需要说明的是,本申请实施例示意的结构并不构成对机器人和控制终端的具体限定。在本申请另一些实施例中,机器人和控制终端可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
举例而言,可一并参阅图11和图12,图11是本申请提供的多足机器人的硬件结构示意图,图12是控制终端200控制多足机器人300的场景示意图。
如图11所示,多足机器人300包括机械单元301、通讯单元302、传感单元303、接口单元304、存储单元305、显示单元306、输入单元307、控制模块308及电源309。多足机器人300的各种部件可以以任何方式连接,包括有线或无线连接等。
可以理解,图11中示出的多足机器人的具体结构并不构成对多足机器人的限定,多足机器人可以包括比图示更多或更少的部件,某些部件也并不属于多足机器人的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略,或者组合某些部件。
下面结合图11对多足机器人300的各个部件进行具体介绍:
机械单元301为多足机器人300的硬件。如图10所示,机械单元301可包括驱动板3011、电动机3012、机械结构3013。
如图12所示,机械结构3013可包括机身主体3014、可伸展的腿部3015、足部3016,在其他实施方式中,机械结构3013还可包括可伸展的机械臂(图未示)、可转动的头部结构3017、可摇动的尾巴结构3018、载物结构3019、鞍座结构3020、摄像头结构3021等。
需要说明的是,机械单元301的各个部件模块可以为一个也可以为多个,可根据具体情况设置,比如腿部3015可为4个,每个腿部3015可配置3个电动机3012,对应的电动机3012为12个。
通讯单元302可用于信号的接收和发送,还可以通过与网络和其他设备通信,比如,接收遥控器或其他多足机器人300发送的按照特定步态以特定速度值向特定方向移动的指令信息后,传输给控制模块308处理。通讯单元302包括如WiFi模块、4G模块、5G模块、蓝牙模块、红外模块等。
传感单元303用于获取多足机器人300周围环境的信息数据以及监控多足机器人300内部各部件的参数数据,并发送给控制模块308。传感单元303包括多种传感器,如获取周围环境信息的传感器:激光雷达(用于远程物体检测、距离确定和/或速度值确定)、毫米波雷达(用于短程物体检测、距离确定和/或速度值确定)、摄像头、红外摄像头、全球导航卫星系统(GNSS,Global Navigation Satellite System)等。如监控多足机器人300内部各部件的传感器:惯性测量单元(IMU,Inertial Measurement Unit)(用于测量速度值、加速度值和角速度值的值),足底传感器(用于监测足底着力点位置、足底姿态、触地力大小和方向)、温度传感器(用于检测部件温度)。至于多足机器人300还可配置的载荷传感器、触摸传感器、电动机角度传感器、扭矩传感器等其他传感器,在此不再赘述。
接口单元304可以用于接收来自外部装置的输入(例如,数据信息、电力等)并且将接收到的输入传输到多足机器人300内的一个或多个部件,或者可以用于向外部装置输出(例如,数据信息、电力等)。接口单元304可包括电源端口、数据端口(如USB端口)、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口等。
存储单元305用于存储软件程序以及各种数据。存储单元305可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统程序、运动控制程序、应用程序(比如文本编辑器)等;数据存储区可存储多足机器人300在使用中所生成的数据(比如传感单元303获取的各种传感数据,日志文件数据)等。此外,存储单元305可以包括高速随机存取存储器,还可以包括非易失性存储器,例如磁盘存储器、闪存器、或其他易失性固态存储器。
显示单元306用于显示由用户输入的信息或提供给用户的信息。显示单元306可包括显示面板3061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板3061。
输入单元307可用于接收输入的数字或字符信息。具体地,输入单元307可包括触控面板3071以及其他输入设备3072。触控面板3071,也称为触摸屏,可收集用户的触摸操作(比如用户使用手掌、手指或适合的附件在触控面板3071上或在触控面板3071附近的操作),并根据预先设定的程序驱动相应的连接装置。触控面板3071可包括触摸检测装置3073和触摸控制器3074两个部分。其中,触摸检测装置3073检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器3074;触摸控制器3074从触摸检测装置3073上接收触摸信息,并将它转换成触点坐标,再送给控制模块308,并能接收控制模块308发来的命令并加以执行。除了触控面板3071,输入单元307还可以包括其他输入设备3072。具体地,其他输入设备3072可以包括但不限于遥控操作手柄等中的一种或多种,具体此处不做限定。
进一步的,触控面板3071可覆盖显示面板3061,当触控面板3071检测到在其上或附近的触摸操作后,传送给控制模块308以确定触摸事件的类型,随后控制模块308根据触摸事件的类型在显示面板3061上提供相应的视觉输出。虽然在图10中,触控面板3071与显示面板3061是作为两个独立的部件来分别实现输入和输出功能,但是在某些实施例中,可以将触控面板3071与显示面板3061集成而实现输入和输出功能,具体此处不做限定。
控制模块308是多足机器人300的控制中心,利用各种接口和线路连接整个多足机器人300的各个部件,通过运行或执行存储在存储单元305内的软件程序,以及调用存储在存储单元305内的数据,从而对多足机器人300进行整体控制。
电源309用于给各个部件供电,电源309可包括电池和电源控制板,电源控制板用于控制电池充电、放电、以及功耗管理等功能。在图10所示的实施方式中,电源309电连接控制模块308,在其它的实施方式中,电源309还可以分别与传感单元303(比如摄像头、雷达、音箱等)、电动机3012电性连接。需要说明的是,各个部件可以各自连接到不同的电源309,或者由相同的电源309供电。
在图11所示的控制终端200控制多足机器人300的场景中,具体地,控制终端200与多足机器人300进行通信连接,在控制终端200与多足机器人300进行通信时,控制终端200可以向多足机器人300发送控制指令,多足机器人300可通过通讯单元302来接收控制指令,并可在接收到控制指令的情况下,将控制指令传输至控制模块308,使得控制模块308可根据控制指令来实现相应的功能。控制终端200包括,但不限于:具备图像拍摄功能的手机、平板电脑、服务器、个人计算机、可穿戴智能设备、其它电器设备。
控制指令可以根据预设条件来确定。在一个实施方式中,多足机器人300可以包括传感单元303,传感单元303可根据多足机器人300所在的当前环境可生成控制指令。控制模块308可根据控制指令来判断多足机器人300的当前速度值是否满足对应的预设条件。若满足预设条件,则会保持多足机器人300的当前速度值和当前步态移动。若不满足预设条件,则会根据对应的预设条件来确定目标速度值和相应的目标步态,从而可控制多足机器人300以目标速度值和相应的目标步态移动。环境传感器可以包括温度传感器、气压传感器、视觉传感器、声音传感器。指令信息可以包括温度信息、气压信息、图像信息、声音信息。环境传感器与控制模块308之间的通信方式可以为有线通信,也可以为无线通信。无线通信的方式包括,但不限于:无线网络、移动通信网络(3G、4G、5G等)、蓝牙、红外。
可以理解,多足机器人300能够实现本申请第一方面提供的机械臂控制方法的实施例的所有方法步骤,在此不再对相同的方法步骤及有益效果进行赘述。
上面结合附图对本申请实施例作了详细说明,但是本申请不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下做出各种变化。
Claims (10)
1.一种机器人的机械臂控制方法,应用于机器人,其特征在于,所述方法包括:
当所述机器人的第一机械臂受到外力拖动时,存储在所述外力的拖动下所述第一机械臂的末端执行器的多个第一轨迹,并根据所述多个第一轨迹获取轨迹参数;其中,所述第一轨迹是指所述第一机械臂在所述外力的作用下,所述末端执行器从开始移动到直接或通过工具触碰并对待操作目标物进行操作的轨迹;
根据所述轨迹参数和所述末端执行器相对于所述待操作目标物的目标位姿控制所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作,具体包括:
根据所述轨迹参数和所述目标位姿计算出预测轨迹点的序列并形成第二轨迹,以及存储所述第二轨迹;
根据所述第二轨迹控制所述末端执行器移动,直至所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作;
根据多个所述第二轨迹和多个所述第一轨迹优化所述轨迹参数;
响应于所述待操作目标物的识别指令,若识别到所述待操作目标物,则判断所述机器人的第一机械臂的固定部是否在第一位置区域内,或者判断所述机器人的第一机械臂的固定部和所述待操作目标物的距离是否小于或等于第一距离,所述第一位置区域为所述第一机械臂的末端执行器可直接或通过工具触碰并对所述待操作目标物进行操作的位置范围,所述第一距离为所述第一机械臂的末端执行器可直接或通过工具触碰并对所述待操作目标物进行操作的最大距离;
若所述第一机械臂的固定部不在所述第一位置区域内,或者所述第一机械臂的固定部和所述待操作目标物的距离大于所述第一距离,则根据移动控制指令控制所述机器人移动,直至所述机器人的第一机械臂的固定部位于所述第一位置区域内,或者直至所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离;
若所述第一机械臂的固定部在所述第一位置区域内,或者所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离,则响应于对所述待操作目标物进行操作的控制指令,调取所述第一机械臂的末端执行器相对于所述待操作目标物的轨迹参数,并获取所述末端执行器相对于所述待操作目标物的目标位姿,所述轨迹参数为通过轨迹泛化模型计算得到的预测轨迹的轨迹参数;根据所述轨迹参数和所述目标位姿控制所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作。
2.如权利要求1所述的机器人的机械臂控制方法,其特征在于,在所述根据移动控制指令控制所述机器人移动,直至所述机器人的第一机械臂的固定部位于所述第一位置区域内,或者直至所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离之前,所述方法还包括:
获取所述机器人本体或者所述第一机械臂受到的外力的力感知信号;
根据所述机器人在各个维度上的所述力感知信号的偏差,获取所述机器人移动的速度控制量;
根据所述速度控制量控制所述机器人移动,直至所述机器人的第一机械臂的固定部位于所述第一位置区域内,或者直至所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离,以及存储所述机器人移动的多个第三轨迹。
3.如权利要求2所述的机器人的机械臂控制方法,其特征在于,所述根据所述机器人在各个维度上的所述力感知信号的偏差,获取所述机器人移动的速度控制量,包括:
根据预设的动力学模型对所述力感知信号进行线性回归处理,以获取回归矩阵与参数集;
利用最小二乘法对所述参数集进行优化,以获取最小参数集;
根据所述最小参数集和所述回归矩阵计算力矩信号;
根据各个维度上的所述力感知信号与所述力矩信号的差值获取所述机器人移动的速度控制量。
4.一种机器人的控制方法,应用于控制终端,其特征在于,所述方法包括:
当机器人的第一机械臂受到外力拖动时,存储在所述外力的拖动下所述第一机械臂的末端执行器的多个第一轨迹,并根据所述多个第一轨迹获取轨迹参数;其中,所述第一轨迹是指所述第一机械臂在所述外力的作用下,所述末端执行器从开始移动到直接或通过工具触碰并对待操作目标物进行操作的轨迹;
根据所述轨迹参数和所述末端执行器相对于所述待操作目标物的目标位姿控制所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作,具体包括:
根据所述轨迹参数和所述目标位姿计算出预测轨迹点的序列并形成第二轨迹,以及存储所述第二轨迹;
根据所述第二轨迹控制所述末端执行器移动,直至所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作;
根据多个所述第二轨迹和多个所述第一轨迹优化所述轨迹参数;
若接收到已识别到的所述待操作目标物的信息,则在第一地图界面上显示所述待操作目标物的位置信息、所述待操作目标物所对应的第一位置区域或者机器人的第一机械臂的固定部和所述待操作目标物的距离信息,以及所述第一机械臂的固定部的位置信息;其中,所述第一位置区域为所述第一机械臂的末端执行器可直接或通过工具触碰并对到所述待操作目标物进行操作的位置范围;
若所述第一机械臂的固定部不在所述第一位置区域内,或者所述第一机械臂的固定部和所述待操作目标物的距离大于第一距离,则向所述机器人发送移动控制指令,以控制所述机器人的第一机械臂的固定部移动至所述第一位置区域内,或者直至所述第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离;其中,所述第一距离为所述第一机械臂的末端执行器可直接或通过工具触碰并对所述待操作目标物进行操作的最大距离;
若所述第一机械臂的固定部在所述第一位置区域内,或者所述第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离,则向所述机器人发送对所述待操作目标物进行操作的控制指令和调取所述末端执行器相对于所述待操作目标物的轨迹参数的指令,以控制所述机器人对所述待操作目标物进行操作,所述轨迹参数为通过轨迹泛化模型计算得到的预测轨迹的轨迹参数。
5.如权利要求4所述的机器人的控制方法,其特征在于,在所述接收到已识别到的待操作目标物的信息之前,所述方法还包括:
向所述机器人发送设定第二位置区域的控制指令,根据获取的所述机器人的位置确定从所述机器人的位置到所述第二位置区域的路径,所述第二位置区域为识别触摸操作在第二地图界面中标注的位置范围;
控制所述机器人根据所述路径移动,直至机器人本体靠近或者位于所述第二位置区域内;
向所述机器人发送在所述第二位置区域内查找所述待操作目标物的控制指令,以确认所述待操作目标物是否在所述第二位置区域内;
若所述待操作目标物在所述第二位置区域内,则接收已识别到的所述待操作目标物的信息;
若所述待操作目标物不在所述第二位置区域内,则发出提示信息,所述提示信息用于提示重新设定所述第二位置区域。
6.一种机器人,其特征在于,所述机器人包括机器人本体、处理器、存储器、摄像头及第一机械臂,所述第一机械臂包括末端执行器和固定部,所述第一机械臂的固定部和所述机器人本体连接;
当所述第一机械臂受到外力拖动时,所述存储器存储在所述外力的拖动下所述第一机械臂的末端执行器的多个第一轨迹,所述处理器根据所述多个第一轨迹获取轨迹参数;其中,所述第一轨迹是指所述第一机械臂在所述外力的作用下,所述末端执行器从开始移动到直接或通过工具触碰并对待操作目标物进行操作的轨迹;
所述处理器根据所述轨迹参数和所述末端执行器相对于所述待操作目标物的目标位姿控制所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作,具体包括:
所述处理器根据所述轨迹参数和所述目标位姿计算出预测轨迹点的序列并形成第二轨迹,所述存储器存储所述第二轨迹;
所述处理器根据所述第二轨迹控制所述末端执行器移动,直至所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作;
所述处理器根据多个所述第二轨迹和多个所述第一轨迹优化所述轨迹参数;
所述处理器响应于所述待操作目标物的识别指令,所述摄像头获取周围环境的视觉信息;
若所述摄像头识别到所述待操作目标物,则所述处理器判断所述机器人的第一机械臂的固定部是否在第一位置区域内,或者判断所述机器人的第一机械臂的固定部和所述待操作目标物的距离是否小于或等于第一距离,所述第一位置区域为所述第一机械臂的末端执行器可直接或通过工具触碰并对所述待操作目标物进行操作的位置范围,所述第一距离为所述第一机械臂的末端执行器可直接或通过工具触碰并对所述待操作目标物进行操作的最大距离;
若所述第一机械臂的固定部不在所述第一位置区域内,或者所述第一机械臂的固定部和所述待操作目标物的距离大于所述第一距离,则所述处理器根据移动控制指令控制所述机器人本体移动,直至所述机器人的第一机械臂的固定部位于所述第一位置区域内,或者直至所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离;
若所述第一机械臂的固定部在所述第一位置区域内,或者所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离,则所述处理器响应于对所述待操作目标物进行操作的控制指令和调取所述末端执行器相对于所述待操作目标物的轨迹参数的指令,从所述存储器中调取所述末端执行器相对于所述待操作目标物的轨迹参数,并获取所述末端执行器相对于所述待操作目标物的目标位姿,以及根据所述轨迹参数和所述目标位姿控制所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作,所述轨迹参数为通过轨迹泛化模型计算得到的预测轨迹的轨迹参数。
7.如权利要求6所述的机器人,其特征在于,在所述处理器根据移动控制指令控制所述机器人移动,直至所述机器人的第一机械臂的固定部位于所述第一位置区域内,或者直至所述机器人的第一机械臂的固定部位和所述待操作目标物的距离小于或等于所述第一距离之前,所述处理器获取所述机器人本体或者所述第一机械臂受到的外力的力感知信号,并根据所述机器人在各个维度上的所述力感知信号的偏差,获取所述机器人移动的速度控制量,及根据所述速度控制量控制所述机器人移动,直至所述机器人的第一机械臂的固定部位于所述第一位置区域内,或者直至所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离;
所述存储器存储所述机器人移动的多个第三轨迹。
8.如权利要求7所述的机器人,其特征在于,所述处理器根据所述机器人在各个维度上的所述力感知信号的偏差,获取所述机器人移动的速度控制量,包括:
所述处理器根据预设的动力学模型对所述力感知信号进行线性回归处理,以获取回归矩阵与参数集,并利用最小二乘法对所述参数集进行优化,以获取最小参数集,根据所述最小参数集和所述回归矩阵计算力矩信号,及根据各个维度上的所述力感知信号与所述力矩信号的差值获取所述机器人移动的速度控制量。
9.一种机器人的控制终端,其特征在于,所述控制终端包括处理器和控制面板;
当机器人的第一机械臂受到外力拖动时,所述处理器存储在所述外力的拖动下所述第一机械臂的末端执行器的多个第一轨迹,并根据所述多个第一轨迹获取轨迹参数;其中,所述第一轨迹是指所述第一机械臂在所述外力的作用下,所述末端执行器从开始移动到直接或通过工具触碰并对待操作目标物进行操作的轨迹;
所述处理器根据所述轨迹参数和所述末端执行器相对于所述待操作目标物的目标位姿控制所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作,具体包括:
所述处理器根据所述轨迹参数和所述目标位姿计算出预测轨迹点的序列并形成第二轨迹,以及存储所述第二轨迹;
所述处理器根据所述第二轨迹控制所述末端执行器移动,直至所述末端执行器直接或通过工具触碰并对所述待操作目标物进行操作;
所述处理器根据多个所述第二轨迹和多个所述第一轨迹优化所述轨迹参数;
若所述处理器接收到已识别到的所述待操作目标物的信息,则所述控制面板在第一地图界面上显示所述待操作目标物的位置信息、所述待操作目标物所对应的第一位置区域或者机器人的第一机械臂的固定部和所述待操作目标物的距离信息,以及所述机器人的第一机械臂的固定部的位置信息;其中,所述第一位置区域为所述机器人的第一机械臂的末端执行器可直接或通过工具触碰并对所述待操作目标物进行操作的位置范围;
若所述机器人的第一机械臂的固定部不在所述第一位置区域内,或者所述机器人的第一机械臂的固定部和所述待操作目标物的距离大于第一距离,则所述处理器向所述机器人发送移动控制指令,以控制所述机器人的第一机械臂的固定部移动至所述第一位置区域内,或者直至所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离;其中,所述第一距离为所述机器人的第一机械臂的末端执行器可直接或通过工具触碰并对所述待操作目标物进行操作的最大距离;
若所述机器人的第一机械臂的固定部在所述第一位置区域内,或者所述机器人的第一机械臂的固定部和所述待操作目标物的距离小于或等于所述第一距离,则所述处理器向所述机器人发送对所述待操作目标物进行操作的控制指令和调取所述机器人的第一机械臂的末端执行器相对于所述待操作目标物的轨迹参数的指令,以控制所述机器人对所述待操作目标物进行操作,所述轨迹参数为通过轨迹泛化模型计算得到的预测轨迹的轨迹参数。
10.如权利要求9所述的机器人的控制终端,其特征在于,在所述处理器接收到已识别到的待操作目标物的信息之前,所述处理器向所述机器人发送设定第二位置区域的控制指令,并根据获取的所述机器人的位置,确定从所述机器人的位置到所述第二位置区域的路径,所述第二位置区域为识别触摸操作在第二地图界面中标注的位置范围;
所述处理器控制所述机器人根据所述路径移动,直至机器人本体靠近或者位于所述第二位置区域,并向所述机器人发送在所述第二位置区域内查找所述待操作目标物的控制指令,以确认所述待操作目标物是否在所述第二位置区域内;
若所述待操作目标物在所述第二位置区域内,则所述处理器接收已识别到的所述待操作目标物的信息;
若所述待操作目标物不在所述第二位置区域内,则所述处理器发出提示信息,所述提示信息用于提示重新设定所述第二位置区域。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210748951.1A CN114800535B (zh) | 2022-06-29 | 2022-06-29 | 机器人的控制方法、机械臂控制方法、机器人及控制终端 |
US18/344,847 US20240001553A1 (en) | 2022-06-29 | 2023-06-29 | Robotic arm control method, robot and it’s controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210748951.1A CN114800535B (zh) | 2022-06-29 | 2022-06-29 | 机器人的控制方法、机械臂控制方法、机器人及控制终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114800535A CN114800535A (zh) | 2022-07-29 |
CN114800535B true CN114800535B (zh) | 2022-10-25 |
Family
ID=82522635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210748951.1A Active CN114800535B (zh) | 2022-06-29 | 2022-06-29 | 机器人的控制方法、机械臂控制方法、机器人及控制终端 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240001553A1 (zh) |
CN (1) | CN114800535B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115990883B (zh) * | 2023-01-12 | 2024-04-26 | 之江实验室 | 一种机器人的控制方法及装置 |
CN116100561B (zh) * | 2023-04-10 | 2023-09-05 | 国网浙江省电力有限公司宁波供电公司 | 一种自动接线轨迹控制方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2864266B1 (fr) * | 2003-12-19 | 2006-02-17 | Staubli Sa Ets | Procede et dispositif de commande des deplacements d'une partie mobile d'un robot multi-axes |
CN110561421B (zh) * | 2019-08-09 | 2021-03-19 | 哈尔滨工业大学(深圳) | 机械臂间接拖动示教方法及装置 |
CN111251277B (zh) * | 2020-01-31 | 2021-09-03 | 武汉大学 | 一种基于示教学习的人机协作工具递交系统及方法 |
CN114102585B (zh) * | 2021-11-16 | 2023-05-09 | 北京洛必德科技有限公司 | 一种物品抓取规划方法及系统 |
-
2022
- 2022-06-29 CN CN202210748951.1A patent/CN114800535B/zh active Active
-
2023
- 2023-06-29 US US18/344,847 patent/US20240001553A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN114800535A (zh) | 2022-07-29 |
US20240001553A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114800535B (zh) | 机器人的控制方法、机械臂控制方法、机器人及控制终端 | |
EP3738009B1 (en) | System and methods for robotic autonomous motion planning and navigation | |
KR102567525B1 (ko) | 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법 | |
US20220357174A1 (en) | Stand-alone self-driving material-transport vehicle | |
US9283674B2 (en) | Remotely operating a mobile robot | |
US8271132B2 (en) | System and method for seamless task-directed autonomy for robots | |
CN114728417A (zh) | 由远程操作员触发的机器人自主对象学习 | |
US11340620B2 (en) | Navigating a mobile robot | |
JP2022511359A (ja) | ウェイポイントマッチングを用いた自律マップトラバーサル | |
US20170075348A1 (en) | System and method for mobile robot teleoperation | |
US11559902B2 (en) | Robot system and control method of the same | |
US10514687B2 (en) | Hybrid training with collaborative and conventional robots | |
CN112230649B (zh) | 机器学习方法及移动机器人 | |
Tuvshinjargal et al. | Hybrid motion planning method for autonomous robots using kinect based sensor fusion and virtual plane approach in dynamic environments | |
JP2018190363A (ja) | 携帯型移動ロボット及びその操作方法 | |
Silva et al. | Navigation and obstacle avoidance: A case study using Pepper robot | |
US12059814B2 (en) | Object-based robot control | |
US20230418302A1 (en) | Online authoring of robot autonomy applications | |
WO2022259600A1 (ja) | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム | |
CN116358522A (zh) | 局部地图生成方法和装置、机器人、计算机可读存储介质 | |
WO2023286138A1 (ja) | ロボット制御システム、ロボットシステム、ロボット制御方法、およびロボット制御プログラム | |
US11731278B1 (en) | Robot teleoperation using mobile device motion sensors and web standards | |
Priyandoko et al. | Mapping and Navigation for Indoor Robot Using Multiple Sensor Under ROS Framework | |
US20230384788A1 (en) | Information processing device, information processing system, information processing method, and recording medium storing program | |
US20230004170A1 (en) | Modular control system and method for controlling automated guided vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |