画布 1
智能机器人技术
  传统方法
    好难
    刚体位姿描述与空间变换
      旋转变换矩阵
        旋转变换矩阵的noa表示
        转动的有限合成
        旋转变化矩阵与方向余弦矩阵
          转置关系
          R：末端映射到惯性空间
          C：惯性空间映射到本体
      欧拉角
        经过三次基本旋转实现相同的三轴指向
        基本旋转与姿态变换矩阵
          绕xyz三轴旋转的姿态变化矩阵
          分为abc旋转和aba旋转
        动轴欧拉角——旋转变化矩阵
          从左往右乘
          即每次的旋转都参照与最新的坐标轴
          一般可以得到两组不同的欧拉角
          似乎用的更多
        定轴欧拉角——旋转变化矩阵
          从右往左乘
          即每次的旋转始终参照原来的坐标轴
          RPY角在此定义
            ψ，θ，φ表示α，β，γ
      姿态奇异
        第一类欧拉角
          β等于±90
          z''和x同轴，有抵消
        第二类欧拉角
          β等于0或180
        出现奇异时候，无法确定α和γ，但可以确定α+γ
      轴-角表示法
        绕一个固定轴转一次就够了
        得到的也是旋转变化矩阵
      单位四元数表示法
        由标量和三个矢量合成
          姿态表述很不直观
      齐次变换矩阵
        包含两坐标系之间完整的位置、姿态信息
        齐次变化矩阵的逆
          看书上
        直角坐标变为齐次坐标
          在三维向量后面加一个1
    刚体速度描述与微分运动学
      旋转变化矩阵的导数
        R的导数=ωx乘R
        ωx=R的导数×R的转置
        ωx是ω的反对称矩阵
        根据欧拉角速度，总能计算出对应的刚体角速度
      欧拉角表示下的姿态运动
        ψ的导数=雅可比的导数乘上角速度
      小角度下的简化姿态运动学
        近似条件
          cos(φ)=1，sin(φ)=φ，sin(φ)sin(φ)=0
      齐次矩阵下的微分运动
        相对于固定坐标系
          先旋转、后平移
        相对于运动坐标系
          先平移，后旋转
      误差矢量
        姿态误差矢量
          ep=pd-pc
        姿态误差矢量
          δR=Rd·RcT
          eo=(δR)E
          eo=J_{Euler}Δψ
      三轴特点
        平移
          三轴解耦，可以单独考虑
        旋转
          三轴耦合，需要同时考虑
    位置级正运动学
      主要坐标系
        世界坐标系
        基坐标系
        末端效应器坐标系
        目的坐标系
      n自由度串联机器人运动链的组成
        n+1个杆件
        n个关节
        之间的连接关系
      状态描述
        关节
          速度
          加速度
          驱动力/力矩
        末端
          位姿X_e
          速度\dot{x}_e
      机器人状态空间
        关节空间（位形空间、臂型空间）
        驱动空间
        操作空间
        工作空间（任务空间）
          可达工作空间
          灵巧工作空间
            以任何姿态均可到达
      平面2R机械臂举例
        采用几何方法求解正逆运动学
      机器人自由度
        全自由度
          进行定位、定姿
            平面：3R
            空间：6R
          仅进行定位
            平面：2R
            空间：3R
      D-H法
        记住记住
        连杆参数化表示
          连杆自身属性
            连杆长度ai
              相连两轴（异面直线）公垂线的长度（等效直杆长度）
            轴扭转角αi
              相连两轴（异面直线）的夹角
          连杆之间参数
            连杆间距di
              关节轴上两个垂点（等效直杆垂点）之间的距离
            连杆夹角θi
              相连等效直杆的夹角
        连杆坐标系三轴的确定
          经典D-H法
            相邻轴异面
              zi
                关节轴i+1轴线
              xi
                轴间中垂线li（从关节周i指向i+1）（Ci指向Di）
              yi
                右手定则确定
              oi
                关节轴和轴间中垂线（等效直杆）交点（Di）
            相邻轴平行
              zi
                关节轴i+1轴线
              oi
                公垂点Ci+1（由下一个连杆关节确定）
              xi
                过oi的公垂线与li共线
              yi
                右手定则确定
            相邻轴相交
              zi
                关节轴i+1轴线
              xi
                两轴（关节轴i和i+1，坐标系zi-1和zi）所在平面的法向量，即xi=±(zi-1×zi)
              yi
                右手定则确定
              oi
                两轴（关节轴i和i+1，坐标系zi-1和zi）的交点
            基座坐标系
              z0
                关节轴1轴线
              x0
                可任意
              o0
                可任意
              y0
                右手定则确定
            末端坐标系
              xn
                与zn-1垂直（多种可能）
              zn
                可任意（一般与zn-1指向相同）
              on
                可任意
              yn
                右手定则确定
            D-H连杆参数表示
        连杆之间的位姿关系
          先绕z旋转θi，再在z方向上平移di，再在xi方向上平移ai，再绕xi旋转αi
      工作空间分析
        几何法
        数值法
          全空间遍历
          蒙特卡罗方法
    位置级逆运动学
      运用三角函数方程求解
        一般有多组的解
      冗余机械臂求解逆运动学
    微分运动学与雅可比矩阵
      微分运动学一般形式
        \dot{x}_e=J(q)\dot{q}
      运动学方程求导问题
        当作复合函数求导，如f(θ)求导为f'(θ)\dot{θ}
      平面机械臂计算步骤
        1. 写出其位置级正运动学方程
        2. 求导得到其速度级正运动学方程
        （3. 将具体角度数值代入）
        机械臂完全伸直或折叠时
          无论关节角速度多大、沿伸直或折叠方向的末端线速度分量始终为0
      速度雅可比矩阵的特点
        3D空间速度雅可比矩阵一般是6×n的
        建立了关系速度与末端速度的映射关系
        速度级正运动学总有解
      构造法计算雅可比矩阵
        有点重要
        旋转关节贡献
        平移关节贡献
        雅可比矩阵构造流程
          1. 根据DH参数得出相邻连杆间的位姿矩阵
          2. 计算{0}到{i}的位姿矩阵(i=1,2,...n)，提取z矢量（第3列）和p矢量（第4列）
          3. 构造雅可比矩阵的第i列
          一列一列构造
          注意：p3→3=p0→3-p0→2
      直接求导法计算雅可比矩阵
        位置矢量：直接对第4列求偏导数
        姿态矩阵：对各个元素求偏导数后，视为反对称矩阵，需将其转换为角速度向量
      微分运动分析
        6D末端位姿预测
          Xe(t+dt)=Xe(t)+δXe
        6D末端位姿矩阵预测
          Tn(t+dt)=Tn(t)+dTn
      速度级逆运动学
        奇异问题
          若J为方阵且满秩（可逆），则有解，解为
          J不满秩时，机器人至少损失一个自由度
      通用逆运动学求解方法
        迭代方法
          误差运动学方程
          迭代方程
    奇异分析和性能评价
      判据
        雅可比矩阵行列式是否为0
        奇异条件与参考系的选择无关
      空间3R肘机械臂
        奇异条件
          s3=0 or a2c2+a3c23=0
        肘部奇异（边界奇异）
          s3=0
          机械臂处于工作空间边界，包括外边界（圆）和内边界（中间一个点）
        肩部奇异（内部奇异）
          a2c2+a3c23=0
      空间3R球腕机械臂
        奇异条件
          s2=0
        奇异臂型
          完全伸展或完全蜷缩（很形象）
      腕部可分离6R机械臂
        腕部中心雅可比矩阵特点
          其分块矩阵是一个下三角矩阵
        位置奇异
          J11不满秩
            c3=0 or a2c2+d4s23=0
            肘部奇异或肩部奇异
        姿态奇异
          J22不满秩
            s5=0
            腕部奇异
      一般6R机械臂
        雅可比矩阵的SVD分解
          其中U和V是正交矩阵，Σ是对角阵
          只有Σ对角线上的每一个值都不为0，矩阵才是非奇异的
        雅可比矩阵的改造
          将雅可比矩阵中的pn分解出来，不含末端位置向量
    轨迹规划
      轨迹与路径
        路径
          只有几何属性，与时间无关
          使用曲线方程定义：s(x,y,z)=0
        轨迹
          指每个时刻、每个状态变量的位移、速度和加速度，与时间相关
          使用时间函数描述相应的坐标分量
      轨迹规划分类
        点到点路径规划
          关节空间
            常用插值方法
              线性插值
                纯线性插值
                  直接拉直线
                梯形速度插值
                  速度曲线是梯形
                  但是加速度曲线不连续
              多项式插值
                三次多项式插值
                  插值函数
                  共四个未知数，可以使用位置始末约束和速度始末约束解决求解它们
                  缺点：加速度在开始和结束时不为0，会对电机产生冲击
                五次多项式插值
                  插值函数
                  共六个未知数，可以使用位置、速度和加速度的始末状态约束求解它们
                  缺点：计算量较大
              其他
                三次样条插值
                  曲线二阶光滑（斜率连续变化、曲率连续变化），收敛性有保证
                  实际中应用广泛
                  误差估计较难
                B样条插值
                  曲线光滑随B样条的次数增加而增加，收敛性有保证
                  实际中应用广泛
                  理论知识比较复杂，编程实现比较繁琐
          笛卡尔空间
            基于关节轨迹规划的笛卡尔轨迹生成
              途径1：先求逆运动学，再在关节空间进行规划
                先对运动结点求逆，再在关节空间中进行插值
                计算量小，但末端轨迹精度低
                若要获得高精度，需要设置足够多的运动节点
              途径2：先在笛卡尔空间规划，再求逆运动学
                先在笛卡尔空间中进行插值，再求逆
                末端轨迹精度高，但计算量大
              位置级逆运动学
                根据末端位姿，直接求解关节角
                需要考虑多解问题
              速度级逆运动学
                末端位姿→末端速度→关节速度→积分得到关节角
                无多解问题、有奇异问题
            笛卡尔轨迹规划
              路径参数化
                将笛卡尔路径表示为参数化方程的形式，末端位姿变量由路径参数λ决定
                pt=p0+λ(pf-p0)
              参数时序化
                将路径参数λ表示为时间t的函数，并确定(t0,tf)的边界条件
                λ=λ(τ)
                使用三次或五次多项式
              时间归一化（可选）
                将(t0,tf)的时间尺度映射到(0,1)之间，以拓展所规划轨迹的覆盖范围，满足不同时间跨度要求，提高灵活性
            两大问题
              运动学奇异问题
                伪逆法
                阻尼最小方差法（DLS法）
              轨迹跟踪误差
          给定状态变量的起点值x0、终点值xf、运动时间tf和约束条件，确定平滑函数，实现轨迹的插补
          统一表示形式
            时间结点：t0~tN
            状态结点：x0~xN
            运动结点：(ti,xi)
        连续路径规划
          关节空间
          笛卡尔空间
  工业方法
    工业机器人建模方法
      平面内的刚体运动
        在{s}系中表示位置
          可以清楚反映向量p所在的坐标系
        在{s}系中表示{b}系坐标轴
          使用了参考坐标系的方法，特别是在空间中表述更加简单
        旋转矩阵
          每列都为单位向量
          两个列向量相互正交
          仅存在一个自由参数
      空间内的刚体运动
        {b}系相对于{s}系的位姿，组合形成(R,p)
        旋转矩阵
          仅存在三个自由参数
          Roll-Pitch-Yaw角
          有RT·R=I
        欧拉有限转动定理
          任何刚体运动可以通过绕坐标轴（物体系或空间系均可）依次旋转（最多）三次来实现
        查理-莫兹定理
          任何刚体都可以通过绕某一螺旋轴旋转一定的角度来实现
      旋转与角速度
        重要重要
        特殊正交群（SO(3)），即旋转矩阵
          二维旋转矩阵是SO(3)的子群，即SO(2)
          特性
            封闭性
              AB也是该群的一个元素
            结合律
              (AB)C=A(BC)
            幺元律
              存在单位元素I，满足AI=IA=A
            可逆性
              存在可逆元素A-1，满足A·A-1=A-1·A=I
          命题
            旋转矩阵SO(3)的逆也是旋转矩阵，且等于它的转置
            两个旋转矩阵SO(3)的乘积也是旋转矩阵
            旋转矩阵的乘积满足结合律，但一般不满足交换律。不过对于SO(2)满足交换律
            旋转矩阵作用于某一向量，不会改变其长度
          使用Rsb表示{b}系相对于{s}系的姿态
          可以被写成
            也就是绕空间内以ω旋转角度θ
            将旋转轴和旋转角度取反也可以达到同样的效果
        旋转轴的表述
          必须明确ω在哪个系中，它们可能拥有一样的表述，即ω1，ω2和ω3，但是不同坐标系中对应的不是同一条转轴
          重要理解
            R代表一个旋转操作
            Rsb代表{b}系相对{s}系的旋转矩阵
            Rsb'=R·Rsb代表绕固定坐标系的轴转R，结果表述在固定坐标系{s}下
            Rsb''=Rsb·R代表绕物体坐标系的轴转R，结果表述在固定坐标系{s}下
            两者都有Rsb，表示它们都经历了从{s}到{b}的旋转变化，但是相乘顺序的不同决定了它们是在哪一个坐标系中执行了R的这个旋转
        旋转速度向量v
          v'=R·v
          ωc=Rcd·ωd
        角速度
          令R(t)=Rsb(t)表示物体系{b}相对于固定系{s}在t时刻的姿态
          表示R的变化率
        反对称矩阵群（so(3)）
          为了解决叉乘的问题，写作[ωs]R
          定义
          命题
              即角速度相对于不同坐标系的表示方法，这只是一个瞬时（几近静止）！
        转动的指数坐标表示
          指数坐标向量
          ……有一个复杂的求解
          罗德里格斯公式
            矩阵指数
            矩阵对数
      刚体运动与运动旋量
        不是一般的理解方法
        特殊欧式群（SE(3)），即齐次变换矩阵
          命题
            齐次变换矩阵的逆也是齐次变换矩阵
              但是，逆不等于转置
            两个齐次变换矩阵的乘积也是齐次变换矩阵
            齐次变换矩阵的乘法满足结合律，但一般不满足交换律
            齐次变换具有等距特性和等角特性
              以一个三角形为例，除了位置和方向不同，齐次变换前后的两个三角形全等
          同样可以对位置向量使用下角标相减
          可以分为
            4×4旋转算子（用0和1补）
            （无旋转）移动算子
        物体运动旋量（{b}系下描述）
        vb的计算
          vb=ω×(-pb)
        运动旋量的反对称矩阵（se(3)）
          命题
        vs和vb的理解
          假设运动刚体的尺寸足够大，vs可以看作是刚体上与{s}系原点重合的点的瞬时速度，在{s}系中度量
          vb表示在{b}系中与{b}原点重合的点的线速度
          有vs=-ωs×qs，qs为从{s}系原点到关节轴的方向矢量
        运动旋量在不同坐标系中的变换
          伴随变换矩阵
        有一道小车的例题，没看懂
        螺旋轴
          绕螺轴的转动与沿着螺轴的进动
          一个正则化的运动旋量
            若ω≠0，螺旋轴S=V/||ω||=(ω/||ω||, v/||ω||)
            若ω=0，螺旋轴S=V/||v||=(0, v/||v||)
          对于T属于SE(3)，总能找到θ和S使得
      力旋量
        但是力旋量无法通过齐次变换矩阵变换到另一坐标系下
        使用伴随映射矩阵进行力旋量的变换
    位置级运动学
      正向运动学
        D-H参数和指数级公式的优缺点
          D-H参数
            只需要最少数量的参数来描述机器人的运动学：n杆机器人只需要用3n个参数描述结构，n个参数表示关节变量
            需要建立大量的坐标系
          指数级公式
            无需建立连杆坐标系，只需要{0}和初始位姿M
            需要较多的参数来描述机器人运动学：n杆机器人需要6n个参数描述关节轴的运动旋量，n个表示关节变量
        指数积公式
          相对{s}
          相对{b}
          将每个关节的螺旋运动施加给后面的关节
          转动副
            则ωn为沿关节轴正项的单位向量，vn=-ωn×qn；qn为关节轴上任一点，在基坐标系{s}中测量
          移动副
            则ωn=0，vn为沿关节轴方向的单位向量；θn表示距离
        空间6R开链机械臂
          可以使用最少的关节实现末端的全部自由度，尽管工作空间有所限制
          通用机械手
        列表解题要点
          1. ω的方向为关节轴指向在{s}或{b}系中描述的方向
          2. v的计算可以想象整个机械臂是一个大的刚体，绕关节轴旋转时{s}系或{b}系的原点将会在他们的参考系下如何移动
          默认在全部角度为0时计算
        物理意义
          给定关节转角，求解末端坐标系的位置及姿态（位形）
        数学本质
          利用旋量坐标，求解转动引起的刚体运动，并用SE(3)矩阵表示
    速度级运动学
      操作度椭球
        通过雅可比矩阵J(θ)，可以将关节转速\dot θ的边界范围，映射为不同位形末端速度v_{tip}的范围
        但一般，我们将关节转速\dot θ的边界用单位圆表示，即所有关节的共同作用相等
        奇异位形时，操作度椭球将退化成一条线段，即末端沿某方向的运动将无法实现
      力椭球
        对于一个作用在机器人末端的外力，为了抵抗外力，各关节需要多大的力矩？
        可以利用J(θ)转置的导数将关节力矩τ的边界范围映射为不同位形末端外力的边界范围
        当操作度椭球退化成一条线段，力椭球编程在该线段垂直方向上的一条无限长直线
      空间雅可比
        关节速度与空间旋量的联系
        伴随矩阵在计算中不是显式的
        计算
          通过类似推到指数积公式关节旋量的方式进行计算，但是要关心具体的θ！
          在不同的θ情况下，计算得到的空间雅可比是不同的，或者说，空间雅可比中存在θ作为其参数
      物体雅可比
        计算
          近乎一样的计算方法，但是相对的坐标系是物体坐标系{b}
      空间雅可比和物体雅可比的关系
        例4
      开链机器人静力学
        就这一条公式
    轨迹生成
      轨迹
        路径和时间标度的组合θ(s(t))，简写为θ(t)
        为保证动力学的良好定义，必须二阶可微
      直线路径
        关节空间中的直线路径通常不会使末端执行器在任务空间中产生直线运动
          s从0到1，代表轨迹从起点到终点
      时间标度
        三次多项式和五次多项式的时间标度
        梯形运动曲线
          1. 恒定正加速度
          2. 恒定正速度
          3. 恒定负加速度
        S型运动曲线
          1. 恒定正加加速度
          2. 恒定正加速度
          3. 恒定负加加速度
          4. 恒定速度
          5. 恒定负加加速度
          6. 恒定负加速度
          7. 恒定正加加速度
          电机控制中常用
    运动规划
      概述
        路径规划
          路径规划是运动规划的一个子问题
          是一个纯几何问题，不涉及动力学、持续时间、及运动或控制约束条件
        问题类型
          若控制输入总数m小于机器人自由度数n，则无法跟踪多条路径，即使无障碍物碰撞
          希望让运动规划的成本函数最小，如希望运动时间最优、机器人做功最少等等
          当最终状态足够接近目标状态时，可以认为满足要求
        算法性质类型
          完整性
            如果解存在，若规划算法能在有限的时间内找到解，并在没有解时报错，称之为完整的
            如果规划空间为无穷，如果解存在，找到解的概率趋向于1，则称之为概率上完整
            有些规划算法只能在离散化的层级中找到解，称为分辨率层级上完整
          单查询和多查询
            单查询
              每次路径规划都重新解决一遍问题
            多查询
              多个规划查询反复利用同一个表达地图通路的数据结构
          “随时”规划
            找到第一个解后，继续优化规划算法
            可以“随时”停止优化
        方法类型
          完整方法
            进行对空间对的几何或拓扑进行精确表示，确保完整性
            大部分时候都不能这样用
          碰撞检测
            距离测量算法
            碰撞检测程序
          网格方法
            A*
            Dynamic A*
          采样方法
            RRT
            RRT-connect
            Dynamic-RRT
            Extended-RRT
            PRM
          虚拟势场法
            人工势场法
    控制
      对于恒速轨迹的跟踪
        P控制存在稳态误差
        PI控制器没有稳态误差，但存在较大的超调
        前馈+反馈控制
    典型执行器及传感器
      机器人关节组成
        电机
          定子
          转子
        编码器
        齿轮减速箱
        轴承
      驱动器
        无刷直流电机BLDC
          配套电机控制器可以实现速度控制和力矩控制
          贵
          一般电机的输出力矩较低，而速度较高，故需要齿轮机构来提高输出力矩，降低转速
        舵机
          只有三条线（VCC，GND，SIG）
          便宜
          能够转到指定期望转角，但精度低
        步进电机
          精确位置控制（直接控制转角）
          贵
          不需要传感器反馈（开环控制）
          无法直接接电源，需要电流控制器实现控制
      传感器
        特征指标
          动态范围
          分别率
          采样频率
          灵敏度
          交叉灵敏度
            越低越好
          准确度
          精密度
          系统误差
          随机误差
        电机传感器
          旋转编码器（光电编码器）
            通过光栅产生测量信号
            分辨率典型值为64-2048
        导向传感器
          霍尔效应罗盘（霍尔元件）
            价格便宜、分辨率低、带宽低、交叉灵敏度高
            便宜
          陀螺仪
            分为机械陀螺仪和光学陀螺仪
            贵
            灵敏度、准确度都高
            MEMS陀螺仪
            激光陀螺仪
        加速度传感器
          机械加速度计
          MEMS加速度计-电容式
          MEMS加速度计-压电式
        惯性测量单元
          通过3个正交的加速度计和3个正交的陀螺仪组成惯性导航系统，能够估算机器人6个自由度的姿态
        测距传感器
          超声传感器
            有效距离12cm到5m
            容易受材料声学性质影响
            不能获得深度的数据点，而是恒定深度的某个区域
            采样频率低
            便宜
          激光测距仪
            1D激光测距仪
            2D激光测距仪
            3D激光测距仪（激光雷达）
            贵贵贵
          飞行时间摄像头
            ToF摄像头
              结构简单、价格便宜
              但是有效距离比激光雷达短，不能检测光学透明物体
          基于三角测量的有源测距
            1D光学三角测量传感器
              近距离分辨率较高
              有效距离非常短
              非常便宜
            3D光学三角测量传感器（结构光传感器）
              采用2D接收机（如CCD或CMOS摄像机）对点阵进行距离测量
  基本概念
    定义
      机器或机械装置
      自主能力
      有益于人类的工作
      多个轴
    分类
      结构分类
        串联机器人
          笛卡尔机器人
          圆柱坐标机器人
          球面坐标机器人
          SCARA机器人
          关节型机器人
        并联机器人
        混联机器人
    组成
      机器人作业系统组成
        机器人本体
        控制柜
        示教盒
        系统软件
        夹具/抓手
        外传感器
        外围设备
      机器人组成
        机器人本体
          伺服电机
          减速器
          连接件
          传感器
        控制柜
          主计算机（运动控制器）
          轴计算机（伺服控制器）
          驱动单元（功率板）
        示教盒
          拖拽示教
        系统软件
          ros
    闭环控制
      三大类硬件
        控制器
        执行机构
        传感器
      三大类算法
        规划/制导算法
        感知/导航算法
        控制算法