refactor(lib/collision_prevention): convert params.c to module.yaml

Convert 1 parameter file(s) from legacy C format to YAML
module configuration.
This commit is contained in:
Jacob Dahl
2026-03-17 21:55:33 -08:00
committed by Jacob Dahl
parent c90d5aa654
commit 3b854736ca
3 changed files with 48 additions and 86 deletions
@@ -35,6 +35,7 @@ px4_add_library(CollisionPrevention
CollisionPrevention.cpp
ObstacleMath.cpp
)
set_property(GLOBAL APPEND PROPERTY PX4_MODULE_CONFIG_FILES ${CMAKE_CURRENT_SOURCE_DIR}/collisionprevention_params.yaml)
target_compile_options(CollisionPrevention PRIVATE -Wno-cast-align) # TODO: fix and enable
target_include_directories(CollisionPrevention PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(CollisionPrevention PRIVATE mathlib)
@@ -1,86 +0,0 @@
/****************************************************************************
*
* Copyright (c) 2018 PX4 Development Team. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
/**
* @file collisionprevention_params.c
*
* Parameters defined by the collisionprevention lib.
*
* @author Tanja Baumann <tanja@auterion.com>
*/
/**
* Minimum distance the vehicle should keep to all obstacles
*
* Only used in Position mode. Collision avoidance is disabled by setting this parameter to a negative value
*
* @min -1
* @max 15
* @unit m
* @group Multicopter Position Control
*/
PARAM_DEFINE_FLOAT(CP_DIST, -1.0f);
/**
* Average delay of the range sensor message plus the tracking delay of the position controller in seconds
*
* Only used in Position mode.
*
* @min 0
* @max 1
* @unit s
* @group Multicopter Position Control
*/
PARAM_DEFINE_FLOAT(CP_DELAY, 0.4f);
/**
* Angle left/right from the commanded setpoint by which the collision prevention algorithm can choose to change the setpoint direction
*
* Only used in Position mode.
*
* @min 0
* @max 90
* @unit deg
* @group Multicopter Position Control
*/
PARAM_DEFINE_FLOAT(CP_GUIDE_ANG, 30.f);
/**
* Boolean to allow moving into directions where there is no sensor data (outside FOV)
*
* Only used in Position mode.
*
* @boolean
* @group Multicopter Position Control
*/
PARAM_DEFINE_INT32(CP_GO_NO_DATA, 0);
@@ -0,0 +1,47 @@
module_name: collision_prevention
parameters:
- group: Multicopter Position Control
definitions:
CP_DIST:
description:
short: Minimum distance the vehicle should keep to all obstacles
long: Only used in Position mode. Collision avoidance is disabled by setting
this parameter to a negative value
type: float
default: -1.0
min: -1
max: 15
unit: m
CP_DELAY:
description:
short: Range sensor and position controller average delay
long: |-
Average delay of the range sensor message plus the tracking delay of the position controller in seconds
Only used in Position mode.
type: float
default: 0.4
min: 0
max: 1
unit: s
CP_GUIDE_ANG:
description:
short: Collision prevention guidance angle
long: |-
Angle left/right from the commanded setpoint by which the collision prevention algorithm can choose to change the setpoint direction
Only used in Position mode.
type: float
default: 30.0
min: 0
max: 90
unit: deg
CP_GO_NO_DATA:
description:
short: Allow moving into directions without sensor data
long: |-
Boolean to allow moving into directions where there is no sensor data (outside FOV)
Only used in Position mode.
type: boolean
default: 0