我试图确保多连杆机器人在进行轨迹优化时不会与障碍物相撞。我能在ComputeSignedDistancePairClosestPoints约束中使用MathematicalProgram来完成这个任务吗?
例如,如果我想添加一个约束,使我的末端执行器没有与圆形几何发生碰撞,那么我是否可以在轨迹优化的所有节点上添加一个约束,即ComputeSignedDistancePairClosestPoints大于一定距离?我最初的想法是利用正向运动学,根据状态变量(关节角)计算世界坐标下的末端执行器位置,然后求出从这一点到障碍物的距离,并增加一个约束条件,即距离必须大于障碍物的半径。
发布于 2022-04-26 23:05:10
您可以尝试使用约束DistanceConstraint,该约束要求特定对几何图形之间的距离高于一定的阈值。或者,您可以尝试MinimumDistanceConstraint,它表示任意一对几何图形之间的距离都超过了一定的阈值。
在比德雷克,你可以
from pydrake.multibody.inverse_kinematics import DistanceConstraint
prog.AddConstraint(DistanceConstraint(plant, [geometry_id1, geometry_id2], plant_context, distance_lower, distance_upper), q)https://stackoverflow.com/questions/72020785
复制相似问题