机器人学导论(一)——学什么?为什么?捋脉络
用书:《机器人学导论》约翰J克雷格著 《机器人控制与驱动》
Reference:
B站:投研部杨摸鱼 刘海涛LHT 清祀子衿 德狗追求独立 每一天都应不同
学科重点:
机械工程师研究机器的动态和静态特性
数学理论为描述空间运动和操作机械臂的属性提供方法
控制理论提供设计和算法
电气技术提供了接口设计和传感器
计算机科学提供了算法和人工智能的嵌入可能
机器人学基本可以分为两大板块——力学与控制
目前机器人在位控方面比较好,但在视觉和力控方面仍有很大的提升空间
脉络梳理
我们将这本书的学习路径用模拟导航的例子展示一下:
第二章 —— 位姿的描述与变化 “我在哪?目标在哪?”
一开目的地在哪里?始自己在哪里?需要用一种方式描述位姿。
第三、四章 —— 运动学 研究对象是物体的运动状态 而不涉及力 “关节怎么动,末端才能到那里?”
当你知道要从哪到哪后,你需要知道在每个路口要以什么样的加速度、速度抵达车站,以什么样的加速度、速度赶往学校,但并不关系你是走小路去到车站还是走大路去车站。
运动学建模分为正逆运动学
正运动学就好比你以肩膀为基坐标系,让大臂上抬45°,小臂与大臂保持平行,手腕不动,现在手在空间的什么位置。
逆运动学就好比你以肩膀为基坐标系,现在保持着刚刚的动作,手如果要抵达门把手的位置,计算到门把手时你的手腕、大臂、小臂这些关节应该是什么姿态。
关键挑战:多解性、奇异位形、解析解 vs 数值解。
✅ 目标:建立关节空间与操作空间之间的映射关系。
第五、六章 —— 动力学 研究对象是力 “要施加多大的力才能这样动?”
你知道该怎么动(运动学),但真正控制机器人的是力/力矩(通常是电机输出)。
这就涉及动力学:研究力如何引起运动的变化。
- 动力学模型告诉你:为了实现某个加速度轨迹,每个关节需要输出多大的力矩。
- 需要考虑质量、惯性、摩擦、重力、科里奥利力等物理因素。
- 实际中,这些参数难以精确建模,导致仿真与现实存在差距——这也是机器人“落地难”的核心原因之一。
📌 常用方法:拉格朗日法、牛顿-欧拉法。
✅ 目标:建立“输入力矩”与“输出运动”之间的动态关系,为控制提供依据。
运动学计算加速度、速度、位移需要达到什么程度,但我们能直接控制的变量是力(实际上是电学参数)
因此需要动力学研究实现运动学需要输出什么样的力,而且要考虑瞬时特性、摩擦、机体质量等等,这些现实中的物理性质在仿真计算中是极其难描述的,这也是机器人能从仿真环境走向现实最重要也是最难办的一点。
第七章 轨迹生成——这一步才决定走大路还是走小路
现在你知道怎么动、需要多大力,但还没决定具体路线:
- 是走大路还是小路?是直线插值还是样条曲线?
- 轨迹生成就是在起点与终点之间设计一条时间参数化的路径,保证位置、速度、加速度连续且平滑。
- 常用方法:线性插值、多项式插值、样条曲线等。
💡 举例:让机械臂从A点移动到B点,不能突兀启停,否则会震动甚至损坏设备。
✅ 目标:生成安全、平滑、可执行的时间-空间轨迹。
我们希望这条路平滑且没有突然的加速减速,这就需要插值函数,使轨迹和速度曲线不那么“突兀”
按理来讲,现在就可以出发了,但难免你还是可能走错路。
因此需要一些传感器了解自己的运动状态以及外部环境的状况,看看是不是在这个红绿灯右转。
第九、十章 —— 感知与位姿控制 —— “我走偏了吗?怎么纠正?”**【本章已单独分离发布】
即使计划再完美,现实中总有偏差:
- 路上有人挡道、风把你吹偏、鞋子打滑……
- 机器人也会因摩擦、延迟、建模误差而偏离预期轨迹。
偏离路径后导航会告诉我们如何返回原路,这一步就需要控制器去矫正,他可以补偿由于系统参数引起的误差并抑制系统偏离原路。
这就需要位控系统和传感器互相配合了。
- 传感器(如编码器、IMU、视觉)实时监测当前状态;
- 控制器(如PID、前馈+反馈)比较实际与期望轨迹,产生纠偏指令。
由此我们就可以完成机器人的运动规划了。
补偿也分为反馈补偿和预反馈补偿
- 反馈控制(Feedback Control):根据误差实时调整;
- 前馈控制(Feedforward Control):预判系统动态,提前补偿。
第十一章 —— 力控制 “到了之后,怎么开门、按按钮?”**
到达指定位置后,还需要与对象进行一些力交互,比如抓取、转动、按压等,这就需要力控制。
力控制和位置控制是互补的,在运动过程,一般不与物体接触,因此主要关注位控,但在接触表面后,位控此时可能不够精准或无法观测,则需要力控制。更多时候是混合控制(Compliance)。
- 力控制(Force Control):主动调节接触力;
- 阻抗控制 / 顺应控制(Impedance/Compliance Control):让机器人“柔软”地响应环境;
- 混合力/位控制(Hybrid Force/Position Control):在不同方向上分别控制力或位置。
第十二章 —— 编程 “能不能边走路边改计划?”
后面其实不是特别重要
如何描述机器人的空间运动,采用质点等效法,选取机械臂上的一个特殊点作为操作点,或者称为质点,它用于代表机械臂的空间位置,也叫工具中心点(TCP)。用户可以通过这个质点相对于基坐标系的期望位置描述运动。
用户指定一系列路近点,要求质点依次经过,轨迹生成算法就会自动规划出各点间的速度曲线、运动时间等参数。
离线编程,有时候希望对机器人编程,但并不希望停下来,于是有了离线编程,保证在工作的时候,也能对其进行编程。
机器人系统
上面我们介绍了这本书的脉络,也是设计驱动一台固定基机器人的途径。机器人要完成任务就必须具备以下四个系统——
比如在位姿的获取、位控制的反馈,我们就需要传感系统;在动力学和控制部分,就需要驱动系统、执行系统和控制系统,人也一样,控制系统就是我们的大脑,控制肌肉驱动手脚,传感系统就是我们的五官和皮肤,感知自身和外界环境,肌肉为驱动,肢体为执行机构,共同构成了人体的运动系统。


右图就是机器人运行的过程,也是我们要实现的。
机器人本体
固定机构与材料
暂不涉及,在RM课程会介绍。
关节
线性关节和旋转关节
线性关节控制简单,但灵活度不够。
旋转提供了更高的灵活性,但也使得分析变得更复杂。
驱动器:电驱、油压驱动、气压驱动
各具优势,电驱是目前采用最广泛适用的方式,早期油压也是动力不足的原因,现在电机的力矩已经可以做到很大了,而且可以通过减速器进一步加大;
油压驱动往往应用在高力矩需要,低精度需要的场景,大力出奇迹;
气压驱动一般应用于具有气体性质的低精度驱动中,而且气压驱动简单省钱,比如末端执行器就会采用气压夹爪。
驱动方式:Direct Drive Gear/Belt Transmission
精密机械对力要求不大可以使用直接驱动,但对力要求很大的,一般电机都很重,而如果将电机放在每个驱动关节上就会使得负载过重,浪费很大的能量,因此一般对力需求大的机器人,我们将电机放在基座上,通过齿轮或皮带进行传动。
内部传感器
这些硬件我们只简单过一遍,详细介绍会稍后放出。
编码器Encoder:确定位置
工程学一个很重要的问题就是Tradeoff有得有失,当我们谈及一件机器或算法时一定要看到其负面信息。
我也不知道为什么我当时写了这些:
获取别人的项目 $ git clone url
初始化自建项目 $ git init
装载整个文件夹 $ git add .
装载单个文件 $ git add main.py
提交本次更新 $ git commit -m "我就是做做测试"(备注)
查看更新日志 $ git log
恢复某个文件$ git checkout HEAD 第三题.png
更多推荐




所有评论(0)