Проверяйте автомобиль costmap на занятые положения или точки
Функция checkOccupied
проверяет, заняты ли положения автомобиля или точки препятствиями на автомобиле costmap. Алгоритмы планирования пути используют checkOccupied
, чтобы проверять, пригодны ли положения автомобиля кандидата вдоль пути для навигации.
Чтобы упростить проверку столкновения на положение автомобиля, vehicleCostmap
раздувает препятствия согласно InflationRadius
автомобиля, как задано свойством CollisionChecker
costmap. Средство проверки столкновения вычисляет радиус инфляции путем включения автомобиля в набор перекрывающихся кругов радиуса R, где центры этих кругов простираются вдоль продольной оси автомобиля. Радиусом инфляции является минимальный R, должен был полностью заключить автомобиль в эти круги. Положение автомобиля без коллизий, когда ни один из центров этих кругов не лежит на расширенной ячейке сетки. Для получения дополнительной информации см. алгоритм на странице с описанием vehicleCostmap
.
occ = checkOccupied(costmap,vehiclePoses)
occ = checkOccupied(costmap,xyPoints)
occMat = checkOccupied(costmap)