写在最前面的话

为什么做该博客?该博客的特点是什么?
随着DeepSeek、ChatGPT等AI技术的崛起,促使机器人技术发展到了新的高度,诞生了宇树科技、特斯拉为代表的人形机器人,四足机器人等等,越来越多的科技巨头涌入机器人赛道,行业对于相关人才的需求也随之达到了顶峰。本博客的内容是替你阅读所有关于机器人的经典书籍,采用书籍瘦身计划,帮你提炼出核心内容,采用最通俗易懂的语言来解释原理,将书读薄。大大缩短学习时间,助你快速成为机器人时代的佼佼者。



一、书籍介绍

《机器人学导论(原书第4版)》是约翰·J·克雷格的经典教材,系统讲解机器人运动学、动力学与控制理论,结合MATLAB实践,适合本科高年级与研究生学习。新增深度学习应用等内容,兼顾基础与前沿。
在这里插入图片描述


二、第4章 操作臂逆运动学(提炼总结)

4.1节 引言(提炼总结)

  • 本章研究已知工具坐标系相对固定坐标系的期望位置和姿态,求解满足期望要求的关节角

4.2节 解的存在性(提炼总结)

  • 操作臂逆运动学解的存在性主要取决于以下几个关键因素:
    1、工作空间限制‌
  • 可达工作空间‌:指操作臂末端执行器至少能以一种姿态到达的空间区域。
  • 灵巧工作空间‌:末端执行器能以任意方向到达的区域,通常为可达工作空间的子集。
    2、自由度要求‌
  • 若操作臂自由度 n<6,其工作空间会被限制在 n 维子空间内,无法达到三维空间中任意位姿。
  • 对于冗余机械臂(如自由度 n>6),可通过优化目标函数(如关节角度靠近预设运动中点)求解逆运动学。
    3、关节运动范围‌
  • 实际关节的旋转范围若不足360°,会进一步缩小工作空间或减少可达姿态数量。
    4、解的存在性判断方法‌
  • 代数解法‌:通过余弦定理等约束条件检查目标点是否在可达范围内。若约束不满足,则无解。
  • 几何解法‌:将空间几何问题分解为平面几何,直接求解关节角度。
    5、多解与子空间逼近‌
    当目标点不可达时,可寻找操作臂子空间内最接近的可行解。
  • 操作臂的全部求解方法分为两大类:
    1、封闭解
  • 定义‌:通过有限次基本运算(加减乘除、指数、对数等)直接表达的精确解,形式通常为显式函数或公式。
  • 特点‌:
    精确性:严格满足方程,无近似误差;
    通用性:对任意自变量可直接计算因变量;
    效率高:计算速度通常在微秒级。
    2、数值解
  • 定义‌:通过迭代或离散化方法逼近的解,依赖数值计算而非解析表达式。
  • 特点‌:
    近似性:存在截断或舍入误差;
    适用性:可处理高维、非线性等复杂问题;
    计算成本:需多次迭代,耗时较长(毫秒级)。

4.3节 当n<6时操作臂子空间的描述(提炼总结)

  • 见4.2节 2、自由度要求

4.4节 代数解法和几何解法(提炼总结)

  • 代数解法:
    1、基本原理‌
    通过建立正运动学方程并代数变换求解关节变量。

  • 关键步骤包括:平方相加消元、利用余弦定理检查解的存在性(若cosθ₂∈[-1,1]则有解)。

  • 需通过二象限反正切公式确定所有可能解,并筛选符合关节限制的可行解。
    ‌2、适用场景‌
    适用于结构对称或自由度较少的机械臂,理论推导严谨但计算复杂度较高。

  • 几何解法
    1、基本原理‌
    将空间几何问题分解为平面几何关系,直接利用几何工具(如余弦定理、三角形性质)求解关节角。

  • 例如:通过操作臂连杆构成的三角形,计算θ₂;再结合角度叠加关系求θ₁和θ₃。

  • 可直观判断工作空间限制(如两连杆操作臂的圆环可达区域)。
    2‌、适用场景‌
    更适用于结构简单或平面型机械臂,计算效率高且易于理解,但对复杂空间结构适应性较差。

4.5节 简化成多项式的代数解法(提炼总结)

  • 把超越方程变换为多项式方程进行求解
  • 超越方程:是指包含超越函数(如指数函数、对数函数、三角函数等)的方程,这类方程无法通过有限次代数运算(加、减、乘、除、开方)求解,与代数方程相对‌。

4.6节 三轴相交的Pieper解法(提炼总结)

  • Pieper解法是六自由度机械臂逆运动学求解的经典方法,适用于满足特定几何条件的机械臂构型。其核心内容和特点如下:
    一、适用条件‌
    1、关节类型要求‌
    需满足6个旋转关节且后3个关节轴相交于一点(如PUMA560构型),或存在三个相邻平行关节轴(如UR系列构型)。
    2、Pieper准则‌
    机械臂存在封闭解的充分条件为以下之一:
  • 三个相邻关节轴相交于一点
  • 三个相邻关节轴相互平行
    二、求解步骤‌
    ‌1、分解问题‌
  • 前三个关节‌:通过腕部坐标系原点位置求解(θ₁、θ₂、θ₃),通常利用几何关系或代数方程(如余弦定理)。
  • 后三个关节‌:通过末端姿态求解(θ₄、θ₅、θ₆),采用Z-Y-Z欧拉角分解或其他旋转矩阵方法。
    ‌三、特点与优势‌
    ‌1、高效性‌
    解析解计算速度可达微秒级,适用于实时控制。
    ‌2、多解性‌
    后三个关节通常存在两组解,总解数为前三个关节解数的2倍。
    ‌3、局限性‌
    仅适用于满足Pieper准则的构型,通用性较差。

4.7节 实例:操作臂逆运动学实例(提炼总结)

  • 求解机械臂逆运动学主要通过以下方法实现,结合封闭解与数值解技术:
    一、封闭解
    适用于特定结构的机械臂,通过有限次代数运算直接获得精确解。
    1‌、几何法‌
  • 通过空间几何关系直接推导关节角,如两连杆平面机械臂利用三角函数关系求解。
  • 典型案例:Pieper解法(后三轴相交的6自由度机械臂)通过几何分解降低求解维度。
    ‌2、代数法‌
  • 基于DH参数建立方程,通过代数变换(如矩阵分解、三角恒等式)求解,如UR机械臂的解析逆解。
  • 需满足条件:方程可解析求解(如低次多项式或特殊超越方程)。
    二、数值法
    适用于复杂或冗余系统,通过迭代优化逼近解。
    ‌1、雅可比矩阵法‌
  • 利用雅可比伪逆或转置矩阵迭代修正关节角,适用于冗余机械臂。
  • 缺点:依赖初值选择,可能陷入局部最优。
    2‌、优化算法‌
  • 构建目标函数(如关节靠近运动中点),结合约束条件(关节限位、末端位姿)进行数值优化。

4.8节 标准坐标系(提炼总结)

  • 见上一章标准坐标系相关内容

4.9节 操作臂求解(提炼总结)

  • SOLVE函数:用于计算操作臂逆运动学的核心函数,其功能是将末端执行器的位姿转换为对应的关节角度

4.10节 重复精度和精度(提炼总结)

  • 精度:单次运动时实际位置与目标位置的偏差,反映系统到达指定位置的绝对准确性
  • 重复精度:多次返回同一位置时实际位置的最大离散度,反映系统的一致性

4.11节 计算问题(提炼总结)

  • 操作臂的逆运动学需要以相当高的速率计算

三、实战

问题:matlab编程实现puma560从一个确定的初始位置(0,0,0),到达一个指定的最终位置(0.5,0.3,0.2)的逆运动学求解,并显示运动轨迹
解答
1、编写程序

% 加载机器人模型
robot = loadrobot('puma560','DataFormat','row');
q0 = [0 0 0 0 0 0];
T_goal = transl(0.5,0.3,0.2)*trotx(pi/4);

% 逆运动学求解
ik = inverseKinematics('RigidBodyTree',robot);
[q_sols,~] = ik('link6',T_goal,[1 1 1 1 1 1],q0);

% 可视化设置
figure;
show(robot,q0);
hold on; axis equal;
plot3(T_goal(1,4),T_goal(2,4),T_goal(3,4),'ro');

% 动画实现
for i = 1:size(q_sols,1)
    q = jtraj(q0, q_sols(i,:), linspace(0,1,50));
    for j = 1:size(q,1)
        show(robot,q(j,:),'PreservePlot',false);
        drawnow;
    end
end

2、显示结果

Puma560逆运动学求解

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐