避障功能总览
OPTIMake实现了对几何图形/占据网格避障约束的直接支持, 可通过建模接口直接定义避障不等式约束, 支持以下类型的避障不等式约束:
point_to_rectangle_inequality: 点对矩形的避障不等式约束rectangle_to_rectangle_inequality: 矩形对矩形的避障不等式约束point_to_occupancy_map_inequality: 点对二维占据网格的避障不等式约束point_to_boundary_inequality: 点对边界的避障不等式约束
在使用前需要先导入相关的接口:
from optimake.extension.collision_avoidance import *
或者直接导入整个扩展:
from optimake.extension import *
注意
避障约束为非凸约束, 根据初始解的设置, 可能会导致求解器陷入不同的局部最优解
OPTIMake并不要求初始解为满足避障约束的可行解, 但当初始解具备清晰的避障模态时, 求解结果的避障模态一般会与初始解避障模态保持一致. 例如在车与车避障中, 当初始解为A车在B车的左侧时, 求解结果的A车轨迹通常也会在B车的左侧
反之当避障模态不清晰时, 求解结果的避障模态可能会与初始解避障模态不一致, 甚至可能导致求解不收敛. 例如A车与B车的初始解重叠时, 避障模态不清晰, 求解模态可能会在A车与B车的左侧或右侧, 甚至可能会导致求解不收敛