机器人学笔记

导论

导论

  • 描述刚体状态
    • 平面
      • 自由度 DOF:x,y;旋转
      • 3 DOF
    • 空间
      • DOF:x,y,z;绕x,y,z轴转动
      • 6 DOF
  • 整合表示
    • 在刚体上建立frame:body frame
    • 移动:由body frame 的原点位置判定
    • 转动:由body frame 的姿态判断(相对于world frame)
  • 运动状态
    • 利用各个DOF的微分,将位移和姿态(displayment/orientation)转换到速度和加速度(角)等运动状态

移动

  • 以vector P 来描述body frame 原点B相对于world frame A 的状态
  • px py pz 三个分量
  • image-20250413151019317

转动

  • image-20250413152011106

旋转矩阵

描述B相对于A的姿态

  • ${}^{A}{B}R={}^{B}{A}R^{T}$
  • ${}^{A}{B}R^{T}{}^{A}{B}R=I{3}(单位矩阵)={}^{A}{B}R^{-1}{}^{A}_{B}R$
  • ->${}^{A}{B}R^{T}={}^{A}{B}R^{-1}(orthogonal\,matrix\,正交矩阵)={}^{B}_{A}R$
    1. always invertible; 2. columns: orthonoraml basis:length=1,mutually perpendicular
  • 旋转矩阵9个数字,但上述条件置入了6个限制,所以R只有3个DOF,同前述空间中转动有3个DOF

转换向量坐标

${}^{A}P={}^{A}_{B}R{}^{B}P$

描述旋转状态

image-20250413172449607

将vector 在同一个frame中进行转动

${}^{A}P’=R(\theta){}^{A}P$

旋转矩阵

与转角

旋转矩阵-3次旋转角度-3 DOF

两种拆解方式

  • 方向固定不动的转轴旋转:fixed angles
  • 对「转动的frame当下所在」的转轴方向旋转:Euler angles

Fixed Angles

  • X-Y-Z angles->rotation matrix
    • image-20250413203823961
  • rotation matrix->angles

Euler Angles

  • Z-Y-X angles->rotation matrix

    • image-20250413214935852

    • 欧拉角旋转在每一步都改变了参考系,因此每个旋转矩阵作用在已经旋转过的坐标系上。固定角旋转则是在同一个固定参考系中进行的,因此每个旋转矩阵作用在原始的固定坐标系上。

  • Z-Y-Z angles->rotation matrix

  • rotation matrix->angles

总结

  • 12种Euler/fixed 3x2x2
  • 共12中转动拆解方式(E正转=f反转)
  • image-20250414102431086

Mapping

  • 整合移动和转动
    • Homogeneous transformation matrix
    • image-20250414102950846
    • ${}^{A}{B}R{X,Y,Z}$

Operator

  • $R_{K}(\theta)$

总结

transformation matrix三种用法:

  • 描述一个frame相对于另一个frame的空间状态
  • 将point由某一个frame的表达转换到另一个frame来表达
  • 将point(vector)在同一个frame中进行移动和转动

Transformation Matrix 运算

  • 连乘
    • image-20250416162331712
  • 反矩阵

    • image-20250416162625628
  • 求位置相对关系

    • ${}^{U}{D}T={}^{U}{A}T{}^{A}{D}T={}^{U}{B}T{}^{B}{C}T{}^{C}{D}T$
    • IF ${}^{C}_{D}T$ unknown
      • $=({}^{U}{B}T{}^{B}{C}T)^{-1}{}^{U}{A}T{}^{A}{D}T$
      • $={}^{B}{C}T^{-1}{}^{U}{B}T^{-1}{}^{U}{A}T{}^{A}{D}T$
    • IF ${}^{B}_{C}T$ unknown
      • $={}^{U}{B}T^{-1}{}^{U}{A}T{}^{A}{D}T{}^{C}{D}T^{-1}$
  • 总结
    • B对A的转轴旋转,premultiply,类似fixed angles
    • B对B的转轴旋转,postmultiply,类似euler angles

顺向运动学

导论

image-20250418191833152

手臂几何描述

  • joint
    • 对某特定axis进行rotation或translation
  • link
    • 连接joint的杆件,刚体
    • link0 地杆 不动的
    • link1,2,从下到上
  • 描述
    • image-20250418193542302
    • 旋转joint和移动joint

D-H表示法 Denavit-Hartenberg

  • 建立frame
    • image-20250418194538847

image-20250418202155053

Actuator, Joint, and Cartesian Spaces

  • Joint space , Cartesianspace
    • ${}^{W}P<-\theta{1}…\theta{n}$ Forward Kinematics
    • ${}^{W}P->\theta{1}…\theta{n}$ Inverse Kinematics
  • Actuator space, Joint space
    • $\theta{joint}=\theta{motor}*N(齿轮比)$

逆向运动学

导论

reachable workspace:手臂可以用一种以上的姿态到达的位置

dexterous workspace:手臂可以用任何姿态到达的位置

subspace: 手臂在定义头尾的𝑇所能达到的变动范围

多重解

  • 解析法
    • 代数,几何
  • 数值法

Pieper’s Solution

步骤一:确定手腕中心点的位置

  • 利用末端的目标位置和姿态,反推出“手腕中心点”的位置。
  • 只需要前三个关节来达到这个点。

步骤二:求解前三个关节角度(θ1、θ2、θ3)

  • 这是一个三连杆(RRR)逆向运动学问题,通常可以用几何法或代数法解析求解。

步骤三:求解后三个关节角度(θ4、θ5、θ6)

  • 有了前三轴的解后,末端执行器的方向就只由后三轴决定。
  • 通过旋转矩阵,将末端目标姿态分解到后三轴,通常用欧拉角(如Z-Y-Z)或四元数等描述。

物件取放任务

image-20250420140315910

image-20250420140340056

->Pieper’s Solution

机械手臂轨迹规划

导论

smooth path: continuous with first derivative

Joint Space 下的轨迹规划

  • 步骤
    • 定义T相对于G的initial,via,final points
    • inverse kinematics:将手臂末端点状态转换到joint状态
    • 对所有joints规划smooth trajectories
    • forward kinematics:将joint状态转换到手臂末端点状态,将手臂末端点再Cartesian space下轨迹的可行性

Cartesian Space 下的轨迹规划

  • 步骤

    • 定义T相对于G的initial,via,final points

    • 对所有手臂末端点状态规划smooth trajectories

    • 将规划好手臂末端点状态的轨迹点转换到joint状态,检查joint状态在Joint Space 下轨迹的可行性

Cubic Polynomials

三次多项式

image-20250420161741292

多段Cubic Polynomials

每段的边界条件

  • 每一段的起止点位置要和实际的关键点吻合。
  • 相邻两段的连接点(即中间点)处,要求:
    • 位置连续(轨迹不跳跃)
    • 速度连续(运动不突变)
    • (有时还要求加速度连续,但三次多项式只能保证前两项)

General Cubic Polynomials

  • 每段有4个系数(a0, a1, a2, a3),N段就有4N个未知数。
  • 通过以下条件来列方程:
    • 位置连续:每个点都必须被轨迹准确经过(2N个条件)。
    • 速度/加速度连续:中间点的速度、加速度要连续(一般2(N-1)个条件)。
    • 两端条件:还需要2个额外条件,通常是设置起点和终点的速度或加速度。

Linear Function with Parabolic Blends

Only linear function;Linear function with parabolic blends;Only parabolic functions

多段Linear Function with Parabolic Blends

参数设置

  • 可以选择“给定加速度算时间”或“给定时间算加速度”

这种方法有时轨迹不会严格经过所有给定的via points(中间点),如果必须经过,可以通过设置“伪via点”来调整。

Linear Function with Parabolic Blends注解

这种方法轨迹未必严格经过所有中间点;

若要求严格经过,需调整via点或用伪via点;

轨迹计算要分清每段类型;

受实际机械臂能力和空间限制影响,轨迹规划需结合实际情况灵活处理。

Cartesian Space下轨迹几何下限

中间某些区域无法到达,轨迹需要高加减速,针对特定的起始和终点姿态,无法产生连续轨迹