机器人基础 §
概述 §
系统概述 §
- 和计算机系统类似,机器人包含三个部分:输出、决策/运动规划、输入。
- 输出:移动机器人的移动、在空间中的位姿,机械臂的运动、末端的位姿,机械手手指的运动、开启与闭合,或类人形手的关节状态等
- 决策/运动规划(TAMP,task and motion planning):解决方案很多,决策可以分为不同层级,如上层作为MDP解决,端到端、强化学习,或者遥操作与low-level control相结合的方式解决问题。
- 输入(非必须)一般通过人的遥操作、其自身的传感器数据,或将二者结合。在开环任务中输入不是必要的。比如运动轨迹预先设计好的操作。
固定场景(highly structured),出于节约成本的考虑,在不会出现不确定性/异常的情况下忽略输入
机器人仿真 §
- 仿真的意义
- 加速测试速度
- 检验操作的安全性
- 创造一些实际中暂时没有条件实现或难以实现的场景,或者扩大实验的规模
- 基于物理规律的仿真,训练与验证
参考书籍/资料 §
- Spinger Handbook of Robotics Bruno Siciliano et al.
- Robotics Modeling, Planning and Control by Bruno Siciliano et al.
- Robot Modeling and Control by Mark W. Spong et al.
- Modern Robotics: Mechanics, Planning, and Control by Kevin M. Lynch et al.
- Kinematics equations for differential drive and articulated steering by Thomas Hellstrom
- The Wiki for Robot Builders - Robotics Knowledgebase
输出:机器人运动与控制的基础Foundation §
机器人的输出(运动控制)系统概览 §
- 机械臂控制概览
- 三个层次:Kinematics, dynamics, control
- 坐标系变换
运动学Kinematics §
正向运动学 §
速度运动学 Velocity Kinematics - Jacobian §
动力学Dynamics §
运动规划,Motion planning, path and trajectory planning §
- 规划可分为任务规划(task planning)和动作规划(motion planning),统称为运动规划TAMP (task and motion planning)
控制Control §
- 搜索算法也可以间接达到控制的效果,最终目的是通过一个一一映射的函数实现时间复杂度O(1)的搜索
- 传统控制理论:单输入单输出
- 现代控制理论:多输入多输出
- 强化学习
- 通过不对物理性质进行建模的方法找出状态,输入到下一状态的映射关系
强化学习中的模型model-based和model-free:从概率分布的角度建模,并非从物理层面通过算式完成拟合
- 需要思考的几个问题:
- 如何选择状态?可以与运动规划的表征建立联系,强化学习可以用来解决规划问题(习得策略policy)
- 存在多个起始状态?部分状态在数学上是等价的,但是未加以区分使得状态空间过大?例如机器人的起始姿态、通过不同视角观察同一姿态、类似于图像处理的平移/旋转不变性,如何压缩空间?
- 如何将long horizon变为short horizon?从而解决奖励稀疏和训练时间长的问题
- 通过subgoal,将motion policy变为local (control?)
- 控制与强化学习的关系
- MDP
- MPC
- 系统辨识 System Identification
- 博弈论 Game Theory
- 形式化方法Formal method,增强系统的安全性
输入:感知基础 §
- 常用的感知传感器(分类不绝对):
- 机器视觉:RGB、点云、RGB-D、LiDar
- 获取单点的距离信息:超声波传感器、ToF传感器
- 力传感器、触觉(要求存在接触)
- 力矩传感器,如六维力传感器,三个方向和三个旋转,由扭力梁、应变片、压电陶瓷或其他传感器构成
- 触觉传感器,如GelSight,通过处理视觉图像将纹样转化为纹理信息,或将气压变化的信息转化为力的信息
- 声音(用的相对较少)
机器视觉 §
2D视觉 §
- 设计一个软件上独立的相机模块,其数据的通信形式的考虑:
- 只以连续publish的形式同时发布未经处理的图像和内参,每帧图像理论上应与该帧的内参K对齐,原因是考虑相机如果具有变焦能力,K可能随时间变化
- 处理RGB图像
- 使用OpenCV处理图像
- bird-eye-view representation (BEV),常用于无人驾驶车辆的图像表征
3D视觉:点云 §
对于不同类型的机器人任务,应用不同的感知方式 §
使用机械臂操纵物体:固定视角,active perception,和interactive perception §
- active perception:通过相机的移动,调整其位姿获取更好的视角,选择bext next view,方法如Greedy Next-Best-View (GNBV)
- interactive perception:通过机械臂或其它装置与环境的交互,改善视角
- 一般采用的运动规划方法:预定义的运动(predefined action primitives)、启发式(heuristic),或其它方法(如端到端)
手部操作:in-hand perception,视觉与触觉,多模态感知的融合 §
Representation §
- 任务规划的表示
- 交互物体的表示(object representation):
- Points:无物体边界(object boundary),缺乏拓扑
- Mesh:具有拓扑结构,处理复杂物体或者拓扑结构变化时难于优化
- NeRF(Neural Radiance Fields)和Gaussian Splatting:直接从RGB信息中学得,无物体边界
- Differentiable Poisson solver(刚体)
- Particle Filter
实践 §
系统架构 §
ROS & ROS 2 §