机器人学 101 机器人学是关于构建能够在不确定的物理世界中感知、决策和行动的机器。一个广泛使用的标准框架(ISO 8373)将机器人描述为一种具有一定自主性的编程驱动机制,在其环境中移动以执行预定任务。 想象一个机器人就像一个每分钟运行数千次的循环: 它从感知开始。相机、激光雷达、雷达、惯性测量单元、编码器,每个都提供了对世界和机器人自身身体的部分、嘈杂的视图。然后,机器人进行状态估计,这是一种花哨的说法: “在给定嘈杂测量的情况下,我在哪里,我的移动速度有多快,我对此有多不确定?” 没有估计,每个下游决策都是建立在沙子上的。 一旦机器人有了可用的估计,它就进行感知:检测物体、自由空间、障碍物,有时还会进行语义标签识别(“这是一个托盘”,“这是一个人”,“这是一个门口”)。 感知是现代机器学习大有帮助的地方,但也是机器人学因边缘案例而受到惩罚的地方:反射表面、灰尘、雨水、运动模糊、奇怪的几何形状。 接下来是规划。规划通常是分层的: ➤ 高层规划器决定接下来要做什么(去7号过道,拿取A物品,返回站点) ➤ 运动规划器决定如何在不发生碰撞和物理约束内移动 ➤ 轨迹生成器平滑运动,使其实际上可行驶(没有不可能的加速或颠簸) 控制将该计划转换为电机命令。这是许多人低估的部分:机器人并不是“移动到一个点”,它必须在世界的反作用力下不断自我修正(轮滑、负载变化、摩擦变化、关节发热)。 在这一切之下是硬件现实:机械、驱动器、电源和热限制。一个软件优秀但驱动或感知较差的机器人会迅速变得不可靠。 现代机器人很少是单一的软件整体。它们是由模块组成的系统,这些模块发布和订阅数据流。 这也是为什么ROS 2被广泛用作系统框架的原因之一:它鼓励通过主题交换消息的“节点图”,并通过QoS设置调节通信可靠性。