ackermann: rename DriveModes to AckermannDriveModes

This commit is contained in:
chfriedrich98
2025-06-16 09:07:09 +02:00
committed by chfriedrich98
parent eed966a1c6
commit 3e8f054a1c
12 changed files with 57 additions and 57 deletions
@@ -31,17 +31,17 @@
*
****************************************************************************/
#include "AutoMode.hpp"
#include "AckermannAutoMode.hpp"
using namespace time_literals;
AutoMode::AutoMode(ModuleParams *parent) : ModuleParams(parent)
AckermannAutoMode::AckermannAutoMode(ModuleParams *parent) : ModuleParams(parent)
{
updateParams();
_rover_position_setpoint_pub.advertise();
}
void AutoMode::updateParams()
void AckermannAutoMode::updateParams()
{
ModuleParams::updateParams();
_max_yaw_rate = _param_ro_yaw_rate_limit.get() * M_DEG_TO_RAD_F;
@@ -52,7 +52,7 @@ void AutoMode::updateParams()
}
}
void AutoMode::autoControl()
void AckermannAutoMode::autoControl()
{
if (_position_setpoint_triplet_sub.updated()) {
if (_vehicle_local_position_sub.updated()) {
@@ -85,7 +85,7 @@ void AutoMode::autoControl()
}
void AutoMode::updateWaypointsAndAcceptanceRadius()
void AckermannAutoMode::updateWaypointsAndAcceptanceRadius()
{
position_setpoint_triplet_s position_setpoint_triplet{};
_position_setpoint_triplet_sub.copy(&position_setpoint_triplet);
@@ -110,9 +110,9 @@ void AutoMode::updateWaypointsAndAcceptanceRadius()
position_setpoint_triplet.current.cruising_speed, 0.f, _param_ro_speed_limit.get()) : _param_ro_speed_limit.get();
}
float AutoMode::updateAcceptanceRadius(const float waypoint_transition_angle,
const float default_acceptance_radius, const float acceptance_radius_gain,
const float acceptance_radius_max, const float wheel_base, const float max_steer_angle)
float AckermannAutoMode::updateAcceptanceRadius(const float waypoint_transition_angle,
const float default_acceptance_radius, const float acceptance_radius_gain,
const float acceptance_radius_max, const float wheel_base, const float max_steer_angle)
{
// Calculate acceptance radius s.t. the rover cuts the corner tangential to the current and next line segment
float acceptance_radius = default_acceptance_radius;
@@ -135,8 +135,8 @@ float AutoMode::updateAcceptanceRadius(const float waypoint_transition_angle,
return acceptance_radius;
}
float AutoMode::arrivalSpeed(const float cruising_speed, const float min_speed, const float acc_rad,
const int curr_wp_type, const float waypoint_transition_angle, const float max_yaw_rate)
float AckermannAutoMode::arrivalSpeed(const float cruising_speed, const float min_speed, const float acc_rad,
const int curr_wp_type, const float waypoint_transition_angle, const float max_yaw_rate)
{
if (!PX4_ISFINITE(waypoint_transition_angle)
|| curr_wp_type == position_setpoint_s::SETPOINT_TYPE_LAND
@@ -51,15 +51,15 @@
/**
* @brief Class for ackermann auto mode.
*/
class AutoMode : public ModuleParams
class AckermannAutoMode : public ModuleParams
{
public:
/**
* @brief Constructor for auto mode.
* @param parent The parent ModuleParams object.
*/
AutoMode(ModuleParams *parent);
~AutoMode() = default;
AckermannAutoMode(ModuleParams *parent);
~AckermannAutoMode() = default;
/**
* @brief Generate and publish roverPositionSetpoint from positionSetpointTriplet.
@@ -31,8 +31,8 @@
#
############################################################################
px4_add_library(ManualMode
ManualMode.cpp
px4_add_library(AckermannAutoMode
AckermannAutoMode.cpp
)
target_include_directories(ManualMode PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(AckermannAutoMode PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
@@ -31,11 +31,11 @@
*
****************************************************************************/
#include "ManualMode.hpp"
#include "AckermannManualMode.hpp"
using namespace time_literals;
ManualMode::ManualMode(ModuleParams *parent) : ModuleParams(parent)
AckermannManualMode::AckermannManualMode(ModuleParams *parent) : ModuleParams(parent)
{
updateParams();
_rover_throttle_setpoint_pub.advertise();
@@ -46,13 +46,13 @@ ManualMode::ManualMode(ModuleParams *parent) : ModuleParams(parent)
_rover_position_setpoint_pub.advertise();
}
void ManualMode::updateParams()
void AckermannManualMode::updateParams()
{
ModuleParams::updateParams();
_max_yaw_rate = _param_ro_yaw_rate_limit.get() * M_DEG_TO_RAD_F;
}
void ManualMode::manual()
void AckermannManualMode::manual()
{
manual_control_setpoint_s manual_control_setpoint{};
_manual_control_setpoint_sub.copy(&manual_control_setpoint);
@@ -67,7 +67,7 @@ void ManualMode::manual()
_rover_throttle_setpoint_pub.publish(rover_throttle_setpoint);
}
void ManualMode::acro()
void AckermannManualMode::acro()
{
manual_control_setpoint_s manual_control_setpoint{};
_manual_control_setpoint_sub.copy(&manual_control_setpoint);
@@ -83,7 +83,7 @@ void ManualMode::acro()
_rover_rate_setpoint_pub.publish(rover_rate_setpoint);
}
void ManualMode::stab()
void AckermannManualMode::stab()
{
if (_vehicle_attitude_sub.updated()) {
vehicle_attitude_s vehicle_attitude{};
@@ -129,7 +129,7 @@ void ManualMode::stab()
}
}
void ManualMode::position()
void AckermannManualMode::position()
{
if (_vehicle_attitude_sub.updated()) {
vehicle_attitude_s vehicle_attitude{};
@@ -217,7 +217,7 @@ void ManualMode::position()
}
}
void ManualMode::reset()
void AckermannManualMode::reset()
{
_stab_yaw_setpoint = NAN;
_pos_ctl_course_direction = Vector2f(NAN, NAN);
@@ -57,15 +57,15 @@
/**
* @brief Class for ackermann manual mode.
*/
class ManualMode : public ModuleParams
class AckermannManualMode : public ModuleParams
{
public:
/**
* @brief Constructor for ManualMode.
* @brief Constructor for AckermannManualMode.
* @param parent The parent ModuleParams object.
*/
ManualMode(ModuleParams *parent);
~ManualMode() = default;
AckermannManualMode(ModuleParams *parent);
~AckermannManualMode() = default;
/**
* @brief Publish roverThrottleSetpoint and roverSteeringSetpoint from manualControlSetpoint.
@@ -31,8 +31,8 @@
#
############################################################################
px4_add_library(OffboardMode
OffboardMode.cpp
px4_add_library(AckermannManualMode
AckermannManualMode.cpp
)
target_include_directories(OffboardMode PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(AckermannManualMode PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
@@ -31,23 +31,23 @@
*
****************************************************************************/
#include "OffboardMode.hpp"
#include "AckermannOffboardMode.hpp"
using namespace time_literals;
OffboardMode::OffboardMode(ModuleParams *parent) : ModuleParams(parent)
AckermannOffboardMode::AckermannOffboardMode(ModuleParams *parent) : ModuleParams(parent)
{
updateParams();
_rover_velocity_setpoint_pub.advertise();
_rover_position_setpoint_pub.advertise();
}
void OffboardMode::updateParams()
void AckermannOffboardMode::updateParams()
{
ModuleParams::updateParams();
}
void OffboardMode::offboardControl()
void AckermannOffboardMode::offboardControl()
{
offboard_control_mode_s offboard_control_mode{};
_offboard_control_mode_sub.copy(&offboard_control_mode);
@@ -53,15 +53,15 @@ using namespace matrix;
/**
* @brief Class for ackermann manual mode.
*/
class OffboardMode : public ModuleParams
class AckermannOffboardMode : public ModuleParams
{
public:
/**
* @brief Constructor for OffboardMode.
* @brief Constructor for AckermannOffboardMode.
* @param parent The parent ModuleParams object.
*/
OffboardMode(ModuleParams *parent);
~OffboardMode() = default;
AckermannOffboardMode(ModuleParams *parent);
~AckermannOffboardMode() = default;
/**
* @brief Generate and publish roverSetpoints from trajectorySetpoint.
@@ -31,6 +31,8 @@
#
############################################################################
add_subdirectory(AutoMode)
add_subdirectory(ManualMode)
add_subdirectory(OffboardMode)
px4_add_library(AckermannOffboardMode
AckermannOffboardMode.cpp
)
target_include_directories(AckermannOffboardMode PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
@@ -31,8 +31,6 @@
#
############################################################################
px4_add_library(AutoMode
AutoMode.cpp
)
target_include_directories(AutoMode PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory(AckermannAutoMode)
add_subdirectory(AckermannManualMode)
add_subdirectory(AckermannOffboardMode)
+4 -4
View File
@@ -36,7 +36,7 @@ add_subdirectory(AckermannRateControl)
add_subdirectory(AckermannAttControl)
add_subdirectory(AckermannVelControl)
add_subdirectory(AckermannPosControl)
add_subdirectory(DriveModes)
add_subdirectory(AckermannDriveModes)
px4_add_module(
MODULE modules__rover_ackermann
@@ -50,9 +50,9 @@ px4_add_module(
AckermannAttControl
AckermannVelControl
AckermannPosControl
AutoMode
ManualMode
OffboardMode
AckermannAutoMode
AckermannManualMode
AckermannOffboardMode
px4_work_queue
rover_control
pure_pursuit
@@ -55,9 +55,9 @@
#include "AckermannAttControl/AckermannAttControl.hpp"
#include "AckermannVelControl/AckermannVelControl.hpp"
#include "AckermannPosControl/AckermannPosControl.hpp"
#include "DriveModes/AutoMode/AutoMode.hpp"
#include "DriveModes/ManualMode/ManualMode.hpp"
#include "DriveModes/OffboardMode/OffboardMode.hpp"
#include "AckermannDriveModes/AckermannAutoMode/AckermannAutoMode.hpp"
#include "AckermannDriveModes/AckermannManualMode/AckermannManualMode.hpp"
#include "AckermannDriveModes/AckermannOffboardMode/AckermannOffboardMode.hpp"
class RoverAckermann : public ModuleBase<RoverAckermann>, public ModuleParams,
public px4::ScheduledWorkItem
@@ -124,9 +124,9 @@ private:
AckermannAttControl _ackermann_att_control{this};
AckermannVelControl _ackermann_vel_control{this};
AckermannPosControl _ackermann_pos_control{this};
AutoMode _auto_mode{this};
ManualMode _manual_mode{this};
OffboardMode _offboard_mode{this};
AckermannAutoMode _auto_mode{this};
AckermannManualMode _manual_mode{this};
AckermannOffboardMode _offboard_mode{this};
// Variables
bool _sanity_checks_passed{true}; // True if checks for all active controllers pass