类人机器人脚可行走的逆运动学方法建议

时间:2019-11-16 03:31:37

标签: python robotics inverse-kinematics

所以我想在模拟中为类人机器人脚做逆运动学,以便它可以以很小的误差(可能是0到3毫米)步进并且也可以在程序中快速运行。还有一个问题,当我们想要将脚踩在例如地板上时,我们需要至少3个在脚上坐标y为0的点

我尝试使用正向运动学进行蛮力测试,尝试将每个伺服器的角度增加10度的角度组合在一起,以便机器人可以踩踏,但是程序要花很多时间才能做到,而且误差很大如果我希望程序快。这是代码:

def IK_napak():
    global napak
    alpha=0
    beta=-70
    gamma=-90
    angle_increase=10
    tolerance=20
    while(napak==False and alpha<=90):
        beta=-70
        while(napak==False and beta<=30):
            gamma=-90
            while(napak==False and gamma<=90):
                servo_rotation[20]=alpha
                servo_rotation[22]=beta
                servo_rotation[24]=gamma
                update_sudut_servo()
                f.transformasi(c.part)
                print(alpha, beta, gamma)
                if(c.part[0][28].transformed_coordinate[1][0]>=-tolerance and c.part[0][28].transformed_coordinate.elemen[1][0]<=tolerance and c.part[0][29].transformed_coordinate.elemen[1][0]>=-tolerance and c.part[0][29].transformed_coordinate.elemen[1][0]<=tolerance and c.part[0][30].transformed_coordinate.elemen[1][0]>=-tolerance and c.part[0][30].transformed_coordinate.elemen[1][0]<=tolerance):
                    step=True
                gamma=gamma+angle_increase
            beta=beta+angle_increase
        alpha=alpha+angle_increase

我还尝试学习FABRIK方法以达到逆运动学,但我想它只能在脚上得到1分

我是否还需要使用其他方法来获得3点逆运动学并且还需要快速运行程序?

0 个答案:

没有答案