机器人负载位置检测方法、装置、机器人和存储介质与流程
未命名
07-13
阅读:94
评论:0
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.图1为一个实施例中机器人负载位置检测方法的应用环境图;
30.图2为一个实施例中机器人负载位置检测方法的流程示意图;
31.图3为一个实施例中机器人的结构逻辑示意图;
32.图4为一个实施例中机器人的负载平面示意图;
33.图5为一个实施例中当机器人置于地面上时机器人一个形态的结构主视图;
34.图6为一个实施例中机器人的外观示意图;
35.图7为一个实施例中机器人支撑腿连杆连接示意图;
36.图8为一个实施例中机器人的受力示意图;
37.图9为一个实施例中负载平面的坐标系示意图;
38.图10为一个实施例中机器人在机体倾斜时的俯仰角的示意图;
39.图11为一个实施例中外力相应的负载位置检测流程示意图;
40.图12为一个实施例中机器人负载位置检测装置的结构框图;
41.图13为一个实施例中机器人的内部结构图。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
43.本技术实施例提供的机器人负载位置检测方法,可以应用于如图1所示的应用环境中。其中,机器人设置有负载平面104和处理器106,负载平面104可受到外界施力对象102施加的外力。处理器106可检测机器人的腿部结构的驱动电机的电流,当检测到机器人的腿部结构的驱动电机的电流发生预置变化,处理器106可确定机器人的负载平面104存在由外力产生的相应的负载位置,获取发生预置变化时驱动电机的电流值,基于获取的电流值,确定由外力作用于机器人的负载平面104所产生的相应的负载位置。其中,外界施力对象102可以是无生命的物体,如指挥棒、球等,也可以是生物,如动物、人类。处理器106是控制机器人的部件,可以是中央处理器(central processing unit,cpu)或微控制单元(microcontroller unit,mcu)。
44.在一个实施例中,如图2所示,提供了一种机器人负载位置检测方法,本实施例以该方法应用于图1中的处理器106为例进行说明,该方法包括以下步骤:
45.步骤202,检测机器人的腿部结构的驱动电机的电流。
46.其中,机器人是可执行任务的机器。机器人可以通过运行预先编排的程序的方式进行工作,也可以通过接受人类指挥的方式进行工作。腿部结构是机器人中用于实现机器人的活动的部件。腿部结构可以支持机器人整体的行动或静止,例如腿部结构可使机器人实现侧身、在地面行走、静止于地面或其它;腿部结构也可以支持机器人的机体的行动或静止,例如,腿部结构可使机体沿机体的可转动方向进行旋转,也可以使机体悬空。驱动电机是腿部结构中可将电能转换成机械能以实现机器人的活动的部件。
47.在一个实施例中,机器人的处理器可每隔预设时间间隔,获取驱动电机的电流值,以检测机器人的腿部结构的驱动电机的电流。其中,预设时间间隔是预先设置的时间间隔长度,例如0.1毫秒、0.5毫秒、1毫秒、2毫秒等。
48.步骤204,当检测到机器人的腿部结构的驱动电机的电流发生预置变化,确定机器人的负载平面存在由外力产生的相应的负载位置;腿部结构通过驱动电机连接机器人的机体,机体设置有负载平面。
49.其中,负载平面是机器人中可负载的区域。负载平面可接受外界施加的外力。负载
平面可以是不规则形状的平面,还可以是规则形状的平面,规则形状如四边形、圆形,四边形可以是矩形、平行四边形等。机体是机器人的身体部分,设置有负载平面。机体可与腿部结构连接以形成机器人的整体。机器人的结构逻辑示意图可如图3所示,机器人300包括机体310、腿部结构320,机体310设置有负载平面,腿部结构320通过驱动电机连接机体310。
50.外力是外界作用在机器人的负载平面的力。外力可以是物体作用在机器人的负载平面的力,也可以是人类直接接触机器人的负载平面时施加的压力,物体例如指挥棒、铁棒、球或其它。负载位置是外力作用于负载平面所产生的位置,可以是外力在负载平面的作用点。
51.预置变化是预先设置的驱动电机的电流所发生的变化,表征负载平面受到外力。预置变化可以是驱动电机的电流的电流值相对于基准电流值增大或减小预设电流值。基准电流值是作为基准的电流值。基准电流值可以是预设的电流值;基准电流值也可以根据历史的预设时长内获取的驱动电机的电流值确定,例如,基准电流值可以是对在历史的预设时长内获取的电流值计算的平均值。历史的预设时长是历史的预先设置的时间长度,可以是当前时刻之前的预设时长,也可以是驱动电机的电流在一定时长内首次发生预置变化时对应的时刻之前的预设时长。
52.在一个实施例中,当机器人的处理器检测驱动电机的电流时获取的电流值与基准电流值之间的差值大于预设电流值,机器人的处理器可确定机器人的腿部结构的驱动电机的电流发生预置变化。
53.步骤206,获取发生预置变化时驱动电机的电流值。
54.其中,电流值是驱动电机的电流的有效值。
55.在一个实施例中,机器人的处理器可在判定获取的电流值与基准电流值之间的差值大于预设电流值,将获取的电流值作为发生预置变化时驱动电机的电流值。
56.步骤208,基于获取的电流值,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
57.在一个实施例中,机器人的处理器可基于获取的电流值,确定作用于机器人的负载平面的外力,根据确定的外力,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
58.上述机器人负载位置检测方法中,通过检测机器人的腿部结构的驱动电机的电流是否发生预置变化,可便捷地确定负载平面是否需存在由外力产生的相应的负载位置,进而根据发生预设预置时驱动电机的电流值,可确定负载位置,无需在机器人上设置专门用于检测负载位置的部件即可实现负载位置的检测,可节约硬件资源,而且通过机器人检测自身电流实现自动检测负载位置,便于确定负载位置是否发生变化,适用于多种机器人应用场景。
59.在一个实施例中,驱动电机包括髋驱动电机和膝驱动电机;髋驱动电机用于驱动机体活动;膝驱动电机用于驱动腿部结构的支撑腿相对于髋驱动电机活动,以使腿部结构将机体支撑于地面;步骤208包括:分别根据髋驱动电机以及膝驱动电机各自的电流值,确定各自的电机扭矩;基于膝驱动电机的电机扭矩确定支撑腿支撑机体的支撑力;根据支撑力,确定外力;基于负载平面的尺寸、髋驱动电机的电机扭矩、支撑力和外力,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
60.其中,电机扭矩是驱动电机的输出扭矩。支撑力是支撑腿支撑机体的支撑力。支撑力还可以是与支撑腿相连的膝驱动电机对机体的提力。负载平面的尺寸可表征负载平面的规格,例如,当负载平面是矩形时,负载平面的尺寸可以是矩形的两个边长或矩形的对角线长度;当负载平面是圆形时,负载平面的尺寸可以是圆形的半径或直径。
61.本实施例中,通过获取的各驱动电机的电流值可计算确定外力,无需额外在机器人上设置部件来检测外力,进而基于确定的外力可计算出负载位置,可节约硬件资源。
62.在一个实施例中,机器人的处理器可分别根据膝驱动电机以及髋驱动电机各自的电流值与各自的扭矩系数的乘积,确定各自的电机扭矩值;以髋驱动电机以及膝驱动电机各自的转向作为各自的电机扭矩方向,基于髋驱动电机以及膝驱动电机各自的电机扭矩值以及各自的电机扭矩方向,确定髋驱动电机以及膝驱动电机各自的电机扭矩。其中,扭矩系数是各驱动电机中电机参数,可直接测得或预先设置。
63.在一个实施例中,负载平面是包括第一边长与第二边长的矩形;第一边长是机体连接腿部结构的一侧对应的负载平面的第一边的边长,第二边长是负载平面相异于第一边的第二边的边长;负载位置通过第一边和第二边构成的坐标系表示,负载位置包括与第一边相对应的第一维度坐标以及与第二边相对应的第二维度坐标;基于负载平面的尺寸、髋驱动电机的电机扭矩、支撑力和外力,确定由外力作用于机器人的负载平面所产生的相应的负载位置的步骤包括:根据髋驱动电机的电机扭矩以及外力,确定第一维度坐标;根据支撑力以及第二边长,确定第二维度坐标;基于第一维度坐标与第二维度坐标,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
64.其中,如图4机器人的负载平面示意图所示,第一边长可以是图4所示的l
x
,第二边长可以是图4所示的ly。第一边和第二边构成的坐标系可以是以负载平面中任一点为原点、以过原点且分别平行于第一边和第二边的两条射线构建的坐标系,该坐标系可以是直角坐标系。第一维度坐标是通过第一边和第二边构成的坐标系中与第一边相对应的维度的坐标值。第二维度坐标是通过第一边和第二边构成的坐标系中与第二边相对应的维度的坐标值。
65.本实施例中,在矩形的负载平面上构建两维度的坐标系可便利地确定负载位置,而且基于髋驱动电机的电机扭矩和外力确定第一维度坐标,基于支撑腿对机体的支撑力以及负载平面的第二边长确定第二维度坐标,通过计算的方式确定负载位置,无需额外在机器人上设置部件来检测负载位置,可节约硬件资源。
66.在一个实施例中,腿部结构包括设置在机体相对侧的第一行走部和第二行走部;第一行走部的驱动电机分别连接机体和第一行走部的第一支撑腿的远地端,第二行走部的驱动电机分别连接机体和第二行走部的第二支撑腿的远地端;第一行走部的驱动电机包括第一髋驱动电机和第一膝驱动电机,第一髋驱动电机分别连接机体和第一膝驱动电机,第一膝驱动电机分别连接第一髋驱动电机和第一支撑腿的远地端;第二行走部的驱动电机包括第二髋驱动电机和第二膝驱动电机,第二髋驱动电机分别连接机体和第二膝驱动电机,第二膝驱动电机分别连接第二髋驱动电机和第二支撑腿的远地端。
67.其中,基于如图3所示的机器人,本实施例的机器人可如图5当机器人置于地面上时机器人一个形态的结构主视图所示,腿部结构320包括设置在机体相对侧的第一行走部和第二行走部;第一行走部的驱动电机包括第一髋驱动电机3211和第一膝驱动电机3212,
第一髋驱动电机3211分别连接机体310和第一膝驱动电机3212,第一膝驱动电机3212分别连接第一髋驱动电机3211和第一支撑腿3213的远地端;第二行走部的驱动电机包括第二髋驱动电机3221和第二膝驱动电机3222,第二髋驱动电机3221分别连接机体310和第二膝驱动电机3222,第二膝驱动电机3222分别连接第二髋驱动电机3221和第二支撑腿3223的远地端。
68.第一行走部和第二行走部分别用于在机体相对侧支持机器人的活动。第一髋驱动电机和第二髋驱动电机是支持机器人的机体活动的部件,例如第一髋驱动电机和第二髋驱动电机可协调工作以驱动机体沿可转动方向旋转或使机体停止旋转。可转动方向是机体可以旋转的方向。
69.第一膝驱动电机是控制第一支撑腿的活动的部件,与第二膝驱动电机共同支持机器人的活动。第二膝驱动电机是控制第二支撑腿的活动的部件。第一支撑腿的行动或第二支撑腿的行动可以是行走、折叠以使机器人侧身、静止或其它。第一支撑腿可以仅通过单部件实现,单部件如单杆、连杆、轮子;第二支撑腿也可以通过组合部件实现,组合部件可以是单杆和轮子的组合、连杆和轮子的组合。单杆是单个杆形成的杆件。连杆是通过铰接的方式连接多个杆的杆件。连杆可以是二连杆、三连杆、四连杆或其它。远地端是远离地面的一端。
70.机体可以是不规则的立方体,也可以是规则的立方体,规则的立方体如长方体、正方体、圆柱体等。负载平面可设置在机体上未连接有第一行走部或第二行走部的一侧。负载平面可以是机体中固定的一面;也可以是不固定的一面,例如当机体是正方体时,负载平面可以是相对于其他面位于顶部的一面。
71.本实施例中,机器人通过设置在机体相对侧的第一行走部和第二行走部可较为稳定地行动,而且第一行走部和第二行走部各自包括两个驱动电机,便于支持机器人的机体和两侧支撑腿的行动,提高机器人的稳定性。
72.在一个实施例中,机器人还可以包括设置在机体相对侧的第三行走部、第四行走部,且第三行走部与第四行走部的位置与第一行走部以及与第二行走部相异。第三行走部的驱动电机分别连接机体和第三行走部的第三支撑腿,第四行走部的驱动电机分别连接机体和第四行走部的第四支撑腿;第三行走部的驱动电机包括第三髋驱动电机和第三膝驱动电机,第三髋驱动电机分别连接机体和第三膝驱动电机,第三膝驱动电机分别连接第三髋驱动电机和第三支撑腿;第四行走部的驱动电机包括第四髋驱动电机和第四膝驱动电机,第四髋驱动电机分别连接机体和第四膝驱动电机,第四膝驱动电机分别连接第四髋驱动电机和第四支撑腿。
73.在一个实施例中,机器人中第三行走部和第四行走部可设置在机体相对侧,并且第三行走部和第一行走部位于机体同侧、第四行走部和第二行走部位于机体同侧。
74.在一个实施例中,基于如图5所示的机器人,机器人的外观示意图可如图6所示,其中,可对如图6所示的机器人安装平面外壳后形成负载平面;机器人支撑腿连杆连接示意图可如图7所示。第一髋驱动电机分别连接机体和第一膝驱动电机,第一膝驱动电机分别连接第一髋驱动电机和第一支撑腿的远地端,包括:第一髋驱动电机的转子连接机体310,第一膝驱动电机3212的转子连接第一髋驱动电机的定子以及第一支撑腿的第一连杆32131的远地端,第一膝驱动电机3212的定子连接第一支撑腿的第三连杆32133的远地端;第一支撑腿的第一连杆32131与第一支撑腿的第二连杆32132,在第一支撑腿的第二连杆32132的近地
端与第一支撑腿的第二连杆32132的远地端之间转动连接;第一支撑腿的第二连杆32132的远地端与第一支撑腿的第三连杆32133的近地端转动连接,第一支撑腿的第二连杆32132的近地端连接第一支撑腿的车轮的转动轴。
75.第二髋驱动电机分别连接机体和第二膝驱动电机,第二膝驱动电机分别连接第二髋驱动电机和第二支撑腿的远地端,包括:第二行走部的驱动电机包括第二髋驱动电机和第二膝驱动电机,第二髋驱动电机的转子连接机体,第二膝驱动电机的转子连接第二髋驱动电机的定子以及第二支撑腿的第一连杆的远地端,第一膝驱动电机的定子连接第二支撑腿的第三连杆的远地端;第二支撑腿的第一连杆与第二支撑腿的第二连杆,在第二支撑腿的第二连杆的近地端与第二支撑腿的第二连杆的远地端之间转动连接;第二支撑腿的第二连杆的远地端与第二支撑腿的第三连杆的近地端转动连接,第二支撑腿的第二连杆的近地端连接第二支撑腿的车轮的转动轴。
76.本实施例中,通过各髋驱动电机的转子连接机体,可实现对机体的旋转控制;通过多连杆的组合,并且通过各膝驱动电机的定子和转子分别连接不同连杆,可保证支撑腿的稳定性,而且适合机器人作出各种动作。
77.在一个实施例中,负载平面是包括第一边长与第二边长的矩形;第一边长是机体连接腿部结构的一侧对应的负载平面的第一边的边长,第二边长是负载平面相异于第一边的第二边的边长;负载位置通过第一边和第二边构成的坐标系表示,负载位置包括与第一边相对应的第一维度坐标以及与第二边相对应的第二维度坐标;步骤208还包括:分别根据第一髋驱动电机、第二髋驱动电机、第一膝驱动电机以及第二膝驱动电机各自的电流值,确定各自的电机扭矩;基于第一膝驱动电机的电机扭矩确定第一支撑腿支撑机体的第一支撑力,并基于第二膝驱动电机的电机扭矩确定第二支撑腿支撑机体的第二支撑力;根据第一支撑力与第二支撑力确定外力;根据第一髋驱动电机的电机扭矩、第二髋驱动电机的电机扭矩以及外力,确定第一维度坐标;根据第一支撑力、第二支撑力以及第二边长,确定第二维度坐标;基于第一维度坐标与第二维度坐标,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
78.其中,第一支撑力是第一支撑腿支撑机体的支撑力。第一支撑力还可以是与第一支撑腿相连的第一膝驱动电机对机体的提力。第二支撑力是第二支撑腿支撑机体的支撑力。第二支撑力还可以是与第二支撑腿相连的第二膝驱动电机对机体的提力。
79.本实施例中,在如图5所示的机器人的基础上,明确了支撑力、外力、第一维度坐标、第二维度坐标的确定方式,通过计算的方式确定负载位置,无需额外在机器人上设置部件来检测负载位置,可节约硬件资源。
80.在一个实施例中,机器人的处理器可分别根据第一髋驱动电机、第二髋驱动电机、第一膝驱动电机以及第二膝驱动电机各自的电流值与各自的扭矩系数的乘积,确定各自的电机扭矩值;以第一髋驱动电机、第二髋驱动电机、第一膝驱动电机以及第二膝驱动电机各自的转向作为各自的电机扭矩方向,基于第一髋驱动电机、第二髋驱动电机、第一膝驱动电机以及第二膝驱动电机各自的电机扭矩值以及各自的电机扭矩方向,确定第一髋驱动电机、第二髋驱动电机、第一膝驱动电机以及第二膝驱动电机各自的电机扭矩。
81.在一个实施例中,机器人的处理器可分别确定第一膝驱动电机与第一支撑腿间的第一雅各比矩阵、第二膝驱动电机与第二支撑腿间的第二雅各比矩阵,根据第一雅各比矩
unit,惯性测量单元)传感器测得,cosγ可表征γ的余弦值。m可表征机体的质量,m*g可表征机体受到的重力,m*g可以是机体的质量m与重力加速度g的乘积。f
lknee
+f
rknee
可表征第一支撑力与第二支撑力的合力,可表征第一支撑力与第二支撑力的合力在垂直于地面向上的射线方向上的支撑力分力,可以是第一支撑力与第二支撑力的和与第一方向滚转角的余弦值之间的比例值。fe可表征垂直于地面向下的外力,例如,当物体放置在负载平面产生外力,可以以物体的重力为外力,则外力的方向即重力方向;垂直于地面向下的外力可以是支撑力分力与机体重力之间的差,垂直于地面向下的外力的值可以是支撑力分力的值与机体重力的值之间的差值。
93.在一个实施例中,机器人的处理器可根据下述公式(4)确定外力。
94.f'e=f
lknee
+f
rknee-m*g*cosγ'
ꢀꢀꢀꢀꢀꢀꢀ
公式(4)
95.其中,负载平面可设置在机体顶部,γ'可表征第二方向滚转角,cosγ'可表征γ'的余弦值。m*g*cosγ'可表征机体受到的重力在垂直于负载平面向下的射线方向上的重力分力,m*g*cosγ'可以是机体的重力和与第二方向滚转角的余弦值之间的乘积。f'e可表征垂直于负载平面向下的外力,例如,fe'可以是人的手指对负载平面的压力。垂直于负载平面向下的外力可以是支撑力合力与重力分力之间的差,垂直于负载平面向下的外力的值可以是支撑力合力的值与重力分力的值之间的差值。
96.在一个实施例中,外力可以是垂直地面向下的力,如公式(3)中的fe;第一边和第二边构成的坐标系可以是以负载平面的中心为原点、以经过中心且与第一边平行的射线为x轴(横轴)、以经过中心且与第二边平行的射线为y轴(纵轴)的直角坐标系,如图9所示。本实施例中,机器人的处理器可通过下述公式(5)确定第一维度坐标。
[0097][0098]
其中,公式(5)可以是根据机体的扭矩平衡公式x0*fe*cosθ=t
lhip
+t
rhip
变换得到的。t
lhip
可表征第一髋驱动电机的电机扭矩,还可以称为左髋驱动电机的电机扭矩。t
rhip
可表征第二髋驱动电机的电机扭矩,还可以称为右髋驱动电机的电机扭矩。
[0099]
fe可表征垂直地面向下外力。θ可表征机体的俯仰角,θ可通过机器人的角度传感器、陀螺仪或imu传感器测得。负载平面可设置在机体顶部,如图10机器人在机体倾斜时的俯仰角的示意图所示,俯仰角可以是垂直于负载平面向下的射线与垂直于地面向下的射线之间的夹角;θ的值可与θ'的值相同,θ'可表征机体的水平俯仰角,水平俯仰角可以是负载平面与地面之间的夹角。cosθ可表征俯仰角的余弦值。fe*cosθ可以是垂直于地面向下的外力与俯仰角的余弦值的乘积,可表征垂直于地面向下的外力在垂直于负载平面向下的射线方向上的分力。
[0100]
x0可表征外力是fe时负载位置p的第一维度坐标;第一维度坐标,可以是第一髋驱动电机的电机扭矩以及第二髋驱动电机的电机扭矩的和与垂直于地面向下的外力在垂直于负载平面向下的射线方向上的分力之间的比值。
[0101]
在一个实施例中,外力可以是垂直于负载平面向下的力,如公式(4)中的fe'。本实施例中,机器人的处理器可通过下述公式(6)确定第一维度坐标。
[0102][0103]
其中,x'0可表征外力是fe'时负载位置的第一维度坐标;第一维度坐标,可以是第一髋驱动电机的电机扭矩以及第二髋驱动电机的电机扭矩的和与垂直于负载平面向下的外力之间比值。
[0104]
在一个实施例中,基于如图9所示坐标系,机器人的处理器可通过下述公式(7)确定负载位置p的第二维度坐标。
[0105][0106]
其中,ly可表征第二边长;表征第一支撑力和第二支撑力的差与第一支撑力和第二支撑力的和的比值;可表征第二边长的一半;y0可表征第二维度坐标,第二维度坐标可以是与的乘积。
[0107]
在一个实施例中,在一个具体的应用场景中,机器人结构可如图5所示,负载平面是包括第一边长和第二边长的矩形,负载平面可如图4所示,负载平面中的坐标系可如图9所示,上述机器人负载位置检测方法具体包括下述步骤。
[0108]
如图11外力相应的负载位置检测流程示意图所示,当检测到机器人的腿部结构的第一髋驱动电机、第二髋驱动电机、第一膝驱动电机和第二膝驱动电机中任一者的电流发生预置变化,机器人的处理器可确定负载平面存在由外力产生的相应的负载位置,分别获取第一膝驱动电机、第二膝驱动电机、第一髋驱动电机以及第二髋驱动电机各自的电流值。
[0109]
机器人的处理器可分别根据第一膝驱动电机、第二膝驱动电机、第一髋驱动电机以及第二髋驱动电机各自的电流值,确定各自的电机扭矩。确定第一膝驱动电机与第一支撑腿之间的第一雅各比矩阵,并确定第二膝驱动电机与第二支撑腿之间的第二雅各比矩阵。基于第一膝驱动电机的电机扭矩以及第一雅各比矩阵,采用公式(1)确定第一支撑力;基于第二膝驱动电机的电机扭矩以及第二雅各比矩阵,采用公式(2)确定第二支撑力。根据第一支撑力、第二支撑力以及公式(3),确定外力。
[0110]
机器人的处理器可根据第一髋驱动电机的电机扭矩、第二髋关节的电机扭矩以及外力,采用公式(5)获得负载位置中第一维度坐标x0;根据第一支撑力、第二支撑力以及第二边长,采用公式(7)确定第二维度坐标y0;基于第一维度坐标与第二维度坐标,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
[0111]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的
步骤或者阶段的至少一部分轮流或者交替地执行。
[0112]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的机器人负载位置检测方法的机器人负载位置检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机器人负载位置检测装置实施例中的具体限定可以参见上文中对于机器人负载位置检测方法的限定,在此不再赘述。
[0113]
在一个实施例中,如图12所示,提供了一种机器人负载位置检测装置1200,包括:电流检测模块1210和负载位置确定模块1220,其中:
[0114]
电流检测模块1210,用于当检测到机器人的腿部结构的驱动电机的电流发生预置变化,确定负载平面存在由外力产生的相应的负载位置;腿部结构通过驱动电机连接机器人的机体,机体设置有负载平面;获取发生预置变化时驱动电机的电流值。
[0115]
负载位置确定模块1220,用于基于获取的电流值,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
[0116]
在一个实施例中,驱动电机包括髋驱动电机和膝驱动电机;髋驱动电机用于驱动机体活动;膝驱动电机用于驱动腿部结构的支撑腿相对于髋驱动电机活动,以使腿部结构将机体支撑于地面;负载位置确定模块1220还用于分别根据髋驱动电机以及膝驱动电机各自的电流值,确定各自的电机扭矩;基于膝驱动电机的电机扭矩确定支撑腿支撑机体的支撑力;根据支撑力,确定外力;基于负载平面的尺寸、髋驱动电机的电机扭矩、支撑力和外力,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
[0117]
在一个实施例中,负载平面是包括第一边长与第二边长的矩形;第一边长是机体连接腿部结构的一侧对应的负载平面的第一边的边长,第二边长是负载平面相异于第一边的第二边的边长;负载位置通过第一边和第二边构成的坐标系表示,负载位置包括与第一边相对应的第一维度坐标以及与第二边相对应的第二维度坐标;负载位置确定模块1220还用于根据髋驱动电机的电机扭矩以及外力,确定第一维度坐标;根据支撑力以及第二边长,确定第二维度坐标;基于第一维度坐标与第二维度坐标,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
[0118]
在一个实施例中,腿部结构包括设置在机体相对侧的第一行走部和第二行走部;第一行走部的驱动电机分别连接机体和第一行走部的第一支撑腿的远地端,第二行走部的驱动电机分别连接机体和第二行走部的第二支撑腿的远地端;第一行走部的驱动电机包括第一髋驱动电机和第一膝驱动电机,第一髋驱动电机分别连接机体和第一膝驱动电机,第一膝驱动电机分别连接第一髋驱动电机和第一支撑腿的远地端;第二行走部的驱动电机包括第二髋驱动电机和第二膝驱动电机,第二髋驱动电机分别连接机体和第二膝驱动电机,第二膝驱动电机分别连接第二髋驱动电机和第二支撑腿的远地端。
[0119]
在一个实施例中,第一髋驱动电机的转子连接机体,第一膝驱动电机的转子连接第一髋驱动电机的定子以及第一支撑腿的第一连杆的远地端,第一膝驱动电机的定子连接第一支撑腿的第三连杆的远地端;第一支撑腿的第一连杆与第一支撑腿的第二连杆,在第一支撑腿的第二连杆的近地端与第一支撑腿的第二连杆的远地端之间转动连接;第一支撑腿的第二连杆的远地端与第一支撑腿的第三连杆的近地端转动连接,第一支撑腿的第二连杆的近地端连接第一支撑腿的车轮的转动轴。
[0120]
在一个实施例中,第二行走部的驱动电机包括第二髋驱动电机和第二膝驱动电
机,第二髋驱动电机的转子连接机体,第二膝驱动电机的转子连接第二髋驱动电机的定子以及第二支撑腿的第一连杆的远地端,第一膝驱动电机的定子连接第二支撑腿的第三连杆的远地端;第二支撑腿的第一连杆与第二支撑腿的第二连杆,在第二支撑腿的第二连杆的近地端与第二支撑腿的第二连杆的远地端之间转动连接;第二支撑腿的第二连杆的远地端与第二支撑腿的第三连杆的近地端转动连接,第二支撑腿的第二连杆的近地端连接第二支撑腿的车轮的转动轴。
[0121]
在一个实施例中,负载平面是包括第一边长与第二边长的矩形;第一边长是机体连接腿部结构的一侧对应的负载平面的第一边的边长,第二边长是负载平面相异于第一边的第二边的边长;负载位置通过第一边和第二边构成的坐标系表示,负载位置包括与第一边相对应的第一维度坐标以及与第二边相对应的第二维度坐标;负载位置确定模块1220还用于分别根据第一髋驱动电机、第二髋驱动电机、第一膝驱动电机以及第二膝驱动电机各自的电流值,确定各自的电机扭矩;基于第一膝驱动电机的电机扭矩确定第一支撑腿支撑机体的第一支撑力,并基于第二膝驱动电机的电机扭矩确定第二支撑腿支撑机体的第二支撑力;根据第一支撑力与第二支撑力确定外力;根据第一髋驱动电机的电机扭矩、第二髋驱动电机的电机扭矩以及外力,确定第一维度坐标;根据第一支撑力、第二支撑力以及第二边长,确定第二维度坐标;基于第一维度坐标与第二维度坐标,确定由外力作用于机器人的负载平面所产生的相应的负载位置。
[0122]
上述机器人负载检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于机器人中的处理器中,也可以以软件形式存储于机器人中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0123]
在一个实施例中,提供了一种机器人,该机器人可以是服务器,其内部结构图可以如图13所示。该机器人包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该机器人的处理器用于提供计算和控制能力。该机器人的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该机器人的数据库用于存储执行上述机器人负载位置检测方法时需存储的数据。该机器人的输入/输出接口用于处理器与外部设备之间交换信息。该机器人的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机器人负载位置检测方法。
[0124]
本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的机器人的限定,具体的机器人可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0125]
在一个实施例中,提供了一种机器人,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0126]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0127]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0128]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0129]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0130]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种机器人负载位置检测方法,其特征在于,所述方法包括:检测机器人的腿部结构的驱动电机的电流;当检测到机器人的腿部结构的驱动电机的电流发生预置变化,确定所述机器人的负载平面存在由外力产生的相应的负载位置;所述腿部结构通过所述驱动电机连接所述机器人的机体,所述机体设置有所述负载平面;获取发生所述预置变化时所述驱动电机的电流值;基于获取的所述电流值,确定由所述外力作用于所述机器人的所述负载平面所产生的相应的负载位置。2.根据权利要求1所述的方法,其特征在于,所述驱动电机包括髋驱动电机和膝驱动电机;所述髋驱动电机用于驱动所述机体活动;所述膝驱动电机用于驱动所述腿部结构的支撑腿相对于所述髋驱动电机活动,以使所述腿部结构将所述机体支撑于地面;所述基于获取的所述电流值,确定由所述外力作用于所述机器人的所述负载平面所产生的相应的负载位置,包括:分别根据所述髋驱动电机以及所述膝驱动电机各自的电流值,确定各自的电机扭矩;基于所述膝驱动电机的电机扭矩确定所述支撑腿支撑所述机体的支撑力;根据所述支撑力,确定所述外力;基于所述负载平面的尺寸、所述髋驱动电机的电机扭矩、所述支撑力和所述外力,确定由所述外力作用于所述机器人的所述负载平面所产生的相应的负载位置。3.根据权利要求2所述的方法,其特征在于,所述负载平面是包括第一边长与第二边长的矩形;所述第一边长是所述机体连接所述腿部结构的一侧对应的所述负载平面的第一边的边长,所述第二边长是所述负载平面相异于所述第一边的第二边的边长;所述负载位置通过所述第一边和所述第二边构成的坐标系表示,所述负载位置包括与所述第一边相对应的第一维度坐标以及与所述第二边相对应的第二维度坐标;所述基于所述负载平面的尺寸、所述髋驱动电机的电机扭矩、所述支撑力和所述外力,确定由所述外力作用于所述机器人的所述负载平面所产生的相应的负载位置,包括:根据所述髋驱动电机的电机扭矩以及所述外力,确定所述第一维度坐标;根据所述支撑力以及所述第二边长,确定所述第二维度坐标;基于所述第一维度坐标与所述第二维度坐标,确定由所述外力作用于所述机器人的所述负载平面所产生的相应的负载位置。4.根据权利要求1所述的方法,其特征在于,所述腿部结构包括设置在所述机体相对侧的第一行走部和第二行走部;所述第一行走部的驱动电机分别连接所述机体和所述第一行走部的第一支撑腿的远地端,所述第二行走部的驱动电机分别连接所述机体和所述第二行走部的第二支撑腿的远地端;所述第一行走部的驱动电机包括第一髋驱动电机和第一膝驱动电机,所述第一髋驱动电机分别连接所述机体和所述第一膝驱动电机,所述第一膝驱动电机分别连接所述第一髋驱动电机和所述第一支撑腿的远地端;所述第二行走部的驱动电机包括第二髋驱动电机和第二膝驱动电机,所述第二髋驱动电机分别连接所述机体和所述第二膝驱动电机,所述第二膝驱动电机分别连接所述第二髋
驱动电机和所述第二支撑腿的远地端。5.根据权利要求4所述的方法,其特征在于,所述第一髋驱动电机分别连接所述机体和所述第一膝驱动电机,所述第一膝驱动电机分别连接所述第一髋驱动电机和所述第一支撑腿的远地端,包括:所述第一髋驱动电机的转子连接所述机体,所述第一膝驱动电机的转子连接所述第一髋驱动电机的定子以及所述第一支撑腿的第一连杆的远地端,所述第一膝驱动电机的定子连接所述第一支撑腿的第三连杆的远地端;所述第一支撑腿的第一连杆与所述第一支撑腿的第二连杆,在所述第一支撑腿的第二连杆的近地端与所述第一支撑腿的第二连杆的远地端之间转动连接;所述第一支撑腿的第二连杆的远地端与所述第一支撑腿的第三连杆的近地端转动连接,所述第一支撑腿的第二连杆的近地端连接所述第一支撑腿的车轮的转动轴;所述第二髋驱动电机分别连接所述机体和所述第二膝驱动电机,所述第二膝驱动电机分别连接所述第二髋驱动电机和所述第二支撑腿的远地端,包括:所述第二行走部的驱动电机包括第二髋驱动电机和第二膝驱动电机,所述第二髋驱动电机的转子连接所述机体,所述第二膝驱动电机的转子连接所述第二髋驱动电机的定子以及所述第二支撑腿的第一连杆的远地端,所述第一膝驱动电机的定子连接所述第二支撑腿的第三连杆的远地端;所述第二支撑腿的第一连杆与所述第二支撑腿的第二连杆,在所述第二支撑腿的第二连杆的近地端与所述第二支撑腿的第二连杆的远地端之间转动连接;所述第二支撑腿的第二连杆的远地端与所述第二支撑腿的第三连杆的近地端转动连接,所述第二支撑腿的第二连杆的近地端连接所述第二支撑腿的车轮的转动轴。6.根据权利要求4所述的方法,其特征在于,所述负载平面是包括第一边长与第二边长的矩形;所述第一边长是所述机体连接所述腿部结构的一侧对应的所述负载平面的第一边的边长,所述第二边长是所述负载平面相异于所述第一边的第二边的边长;所述负载位置通过所述第一边和所述第二边构成的坐标系表示,所述负载位置包括与所述第一边相对应的第一维度坐标以及与所述第二边相对应的第二维度坐标;所述基于获取的所述电流值,确定由所述外力作用于所述机器人的所述负载平面所产生的相应的负载位置包括:分别根据所述第一髋驱动电机、所述第二髋驱动电机、所述第一膝驱动电机以及所述第二膝驱动电机各自的电流值,确定各自的电机扭矩;基于所述第一膝驱动电机的电机扭矩确定所述第一支撑腿支撑所述机体的第一支撑力,并基于所述第二膝驱动电机的电机扭矩确定所述第二支撑腿支撑所述机体的第二支撑力;根据所述第一支撑力与所述第二支撑力确定所述外力;根据所述第一髋驱动电机的电机扭矩、所述第二髋驱动电机的电机扭矩以及所述外力,确定所述第一维度坐标;根据所述第一支撑力、所述第二支撑力以及所述第二边长,确定所述第二维度坐标;基于所述第一维度坐标与所述第二维度坐标,确定由所述外力作用于所述机器人的所述负载平面所产生的相应的负载位置。7.一种机器人负载位置检测装置,其特征在于,所述装置包括:电流检测模块,用于当检测到机器人的腿部结构的驱动电机的电流发生预置变化,确
定所述负载平面存在由外力产生的相应的负载位置;所述腿部结构通过所述驱动电机连接所述机器人的机体,所述机体设置有所述负载平面;获取发生所述预置变化时所述驱动电机的电流值;负载位置确定模块,用于基于获取的所述电流值,确定由所述外力作用于所述机器人的所述负载平面所产生的相应的负载位置。8.一种机器人,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结
本申请涉及一种机器人负载位置检测方法、装置、机器人、存储介质和计算机程序产品。所述方法包括:检测机器人的腿部结构的驱动电机的电流;当检测到机器人的腿部结构的驱动电机的电流发生预置变化,确定机器人的负载平面存在由外力产生的相应的负载位置;腿部结构通过驱动电机连接机器人的机体,机体设置有负载平面;获取发生预置变化时驱动电机的电流值;基于获取的电流值,确定由外力作用于机器人的负载平面所产生的相应的负载位置。采用本方法能够自动检测负载位置,适用于多种机器人应用场景。景。景。
技术研发人员:张笛 郁亚南 廖铉泓
受保护的技术使用者:东莞市本末科技有限公司
技术研发日:2023.03.31
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
