跳到主要内容
版本:v0.7.0 beta

避障功能总览

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车的左侧或右侧, 甚至可能会导致求解不收敛