2024.11.7组会分享

2024.11.7组会分享
Huayang YinVersatile Multi-Contact Planning and Control for Legged Loco-Manipulation
JEAN-PIERRE SLEIMAN, FARBOD FARSHIDIAN, AND MARCO HUTTER
Science Robotics 2023
本博客是我自己的讲解稿,如有错误,望及时提醒,也希望对大家能够有一些帮助,谢谢大家!
大家好,我今天要分享的论文是《Versatile Multi-Contact Planning and Control for Legged Loco-Manipulation》,这是一篇关于狗加臂的文章。
移动操作在我们的日常生活中的作用日益显著,目前人们已经可以使移动操作机器人完成一些短期的(处理单一场景)简单的移动或者操作任务,然而完成一系列长序列多接触多功能的移动操作任务是比较困难的。
先前的方法包括:强化学习,虽然消除了对精确模型的需求,但是人工设计奖励函数和较长的训练时间仍然困扰着人们,对这一方法的改进是使用模仿学习,但是每一个专家轨迹只对应特定的任务,无法实现其通用性。另外一种方法是轨迹优化(TO),但是移动操作是一个混合规划问题(决策变量的离散和连续),所以计算会非常困难。而且比较依赖于问题的初始化、局部最小值问题等等。基于采样的方法和图搜索方法(如运动基元 RRT等)只能针对特定任务进行设计,而无法保证通用性。
作者发现,大多数方法都可以归纳为TAMP的一个实例,本文提出了一种通用的移动操作方法,在预先建模的环境下,给定对象模型和任务定义下,我们的规划器会告诉机器人应该如何行动,应该施加什么力,应该使用哪些肢体,解决了长序列的移动操作任务。在本文的工作中,能够生成并自动组合运动和操作的wbc,并不需要依赖动作基元。
本文的方法包含三个部分,分别是用户输入,离线规划器和在线跟随模块。
在用户输入部分,我们需要定义机器人和目标的模型,任务描述和affordance。也就是确定一下任务的规则,比如开门任务中,门上哪些部分是可抓握的或者是可以用足端推动的。
在离线规划器中,我们使用基于采样的图搜索方法来找到可行但是次优的轨迹,并将求解的可行轨迹用于热启动轨迹优化来后处理得到连续最优轨迹。在前半部分中,我们定义了一个双层最优化问题,在外层,我们将状态s定义为机器人肢体的接触状态,动作表示为肢体接触状态的改变。在内层优化中,我们使用较复杂的动力学模型来建模(最小但高保真SRB),输入机器人和目标物体的状态(关节角位姿等),输出末端执行器的接触力和关节角速度。在双层优化问题中,成本函数的定义很简单,包括惩罚大输入,跟踪参考轨迹等等,都是比较通用的cost。这里基于采样是对于计算成本函数来说的,在外层中,每个节点初始化一个参数化的cost,使用ANA*算法来选择成本最低的节点进行扩展,快速找到一个可行解,然后根据参数的变化收敛到A*算法来增强解。在采样过程中,我们分为了随机扩展和以目标为导向的扩展。
虽然一个由多个平滑轨迹组成的序列(即一个轨迹规划方案)在其单独的部分上都是平滑的,但整体上却可能不平滑。这尤其会发生在轨迹序列的生成过程中存在随机因素的情况下。所以我们使用轨迹优化后处理来增强轨迹的质量。目的是平滑轨迹并消除多余的action。这会导致更小的力,更鲁棒的行为,提高了任务的成功性和稳定性。
最后是我们的在线跟踪模块,对于静态环境,设计一个跟踪器是很容易的,但是我们的环境是动态的,所以为了保证安全性和减小误差,对于离线规划器计算出来的轨迹,我们使用了两层的控制器来跟踪。第一层是以跟踪轨迹为主要目的的MPC,他在这里充当一个滤波器的作用,对于不符合规定的动作轨迹进行筛除,并且这个MPC是独立于任务的。第二层是一个全身控制器,用来跟踪MPC输出的关节角及角速度。
对于实验结果,我们可以看到机器人能够完全自主地完成任务,并能够在不同的接触模式中进行切换。通过查看曲线我们可以看到,我们的离线规划器是很智能的。