多语言展示
当前在线:1166今日阅读:176今日分享:34

如何求解一组约束的广义逆运动学?

手把手教学。创建一个广义逆运动学求解器,它将机械臂固定在特定的位置并指向机器人基座。创建约束对象,将必要的约束参数传递到求解器。
工具/原料
1

matlab

2

电脑

方法/步骤
1

加载预定义的KUKA LBR机器人模型,指定为RigidBodyTree对象。命令行键入:load exampleRobots.mat lbr

2

创建求解广义逆运动学的系统对象。命令行键入:gik = robotics.GeneralizedInverseKinematics;

3

将系统对象配置为使用KUKA LBR机器人。命令行键入:gik.RigidBodyTree = lbr;

4

告诉求解器期望一个PositionTarget对象和一个AimingConstraint对象作为约束输入。命令行键入:gik.ConstraintInputs = {'position','aiming'};

5

创建两个约束对象。1、被命名为tool0的身体的起源相对于机器人的基础框架位于[0.0 0.5 0.5]。2、名为tool0的身体的z轴指向机器人基架的原点。posTgt = robotics.PositionTarget('tool0');posTgt.TargetPosition = [0.0 0.5 0.5];aimCon = robotics.AimingConstraint('tool0');aimCon.TargetPoint = [0.0 0.0 0.0];

6

找到一个满足约束条件的配置。您必须按照约束对象在theConstraintInputs属性中指定的顺序将约束对象传递到系统对象。指定对机器人配置的初始猜测。命令行键入:q0 = homeConfiguration(lbr); % Initial guess for solver[q,solutionInfo] = gik(q0,posTgt,aimCon);

7

可视化求解器返回的配置。命令行键入:show(lbr,q);title(['Solver status: ' solutionInfo.Status])axis([-0.75 0.75 -0.75 0.75 -0.5 1])

8

绘制一条从目标位置到基地原点的线段。tool0帧的原点与线段的一端重合,其z轴与线段对齐。命令行键入:hold onplot3([0.0 0.0],[0.5 0.0],[0.5 0.0],'--o')hold off

推荐信息