diff --git a/src/modules/rover_ackermann/DriveModes/AutoMode/AutoMode.cpp b/src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/AckermannAutoMode.cpp similarity index 89% rename from src/modules/rover_ackermann/DriveModes/AutoMode/AutoMode.cpp rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/AckermannAutoMode.cpp index de22a70f9c..0b8a5d0c75 100644 --- a/src/modules/rover_ackermann/DriveModes/AutoMode/AutoMode.cpp +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/AckermannAutoMode.cpp @@ -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 diff --git a/src/modules/rover_ackermann/DriveModes/AutoMode/AutoMode.hpp b/src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/AckermannAutoMode.hpp similarity index 98% rename from src/modules/rover_ackermann/DriveModes/AutoMode/AutoMode.hpp rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/AckermannAutoMode.hpp index d85634031f..91e05477e7 100644 --- a/src/modules/rover_ackermann/DriveModes/AutoMode/AutoMode.hpp +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/AckermannAutoMode.hpp @@ -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. diff --git a/src/modules/rover_ackermann/DriveModes/ManualMode/CMakeLists.txt b/src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/CMakeLists.txt similarity index 92% rename from src/modules/rover_ackermann/DriveModes/ManualMode/CMakeLists.txt rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/CMakeLists.txt index 827489ad9f..2e24ef43ae 100644 --- a/src/modules/rover_ackermann/DriveModes/ManualMode/CMakeLists.txt +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannAutoMode/CMakeLists.txt @@ -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}) diff --git a/src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.cpp b/src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/AckermannManualMode.cpp similarity index 96% rename from src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.cpp rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/AckermannManualMode.cpp index cbcef4405a..a750d622eb 100644 --- a/src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.cpp +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/AckermannManualMode.cpp @@ -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); diff --git a/src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.hpp b/src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/AckermannManualMode.hpp similarity index 96% rename from src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.hpp rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/AckermannManualMode.hpp index 4f6c4a0506..f3c27575d2 100644 --- a/src/modules/rover_ackermann/DriveModes/ManualMode/ManualMode.hpp +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/AckermannManualMode.hpp @@ -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. diff --git a/src/modules/rover_ackermann/DriveModes/OffboardMode/CMakeLists.txt b/src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/CMakeLists.txt similarity index 92% rename from src/modules/rover_ackermann/DriveModes/OffboardMode/CMakeLists.txt rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/CMakeLists.txt index a73b2dedd8..6f95ae67dd 100644 --- a/src/modules/rover_ackermann/DriveModes/OffboardMode/CMakeLists.txt +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannManualMode/CMakeLists.txt @@ -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}) diff --git a/src/modules/rover_ackermann/DriveModes/OffboardMode/OffboardMode.cpp b/src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/AckermannOffboardMode.cpp similarity index 93% rename from src/modules/rover_ackermann/DriveModes/OffboardMode/OffboardMode.cpp rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/AckermannOffboardMode.cpp index dfd12cddb0..84289a8d2e 100644 --- a/src/modules/rover_ackermann/DriveModes/OffboardMode/OffboardMode.cpp +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/AckermannOffboardMode.cpp @@ -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); diff --git a/src/modules/rover_ackermann/DriveModes/OffboardMode/OffboardMode.hpp b/src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/AckermannOffboardMode.hpp similarity index 94% rename from src/modules/rover_ackermann/DriveModes/OffboardMode/OffboardMode.hpp rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/AckermannOffboardMode.hpp index 331df5e907..c3c95edd31 100644 --- a/src/modules/rover_ackermann/DriveModes/OffboardMode/OffboardMode.hpp +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/AckermannOffboardMode.hpp @@ -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. diff --git a/src/modules/rover_ackermann/DriveModes/CMakeLists.txt b/src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/CMakeLists.txt similarity index 91% rename from src/modules/rover_ackermann/DriveModes/CMakeLists.txt rename to src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/CMakeLists.txt index 1918b9644e..66dbc2f0b9 100644 --- a/src/modules/rover_ackermann/DriveModes/CMakeLists.txt +++ b/src/modules/rover_ackermann/AckermannDriveModes/AckermannOffboardMode/CMakeLists.txt @@ -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}) diff --git a/src/modules/rover_ackermann/DriveModes/AutoMode/CMakeLists.txt b/src/modules/rover_ackermann/AckermannDriveModes/CMakeLists.txt similarity index 93% rename from src/modules/rover_ackermann/DriveModes/AutoMode/CMakeLists.txt rename to src/modules/rover_ackermann/AckermannDriveModes/CMakeLists.txt index 6f68333be1..a5c13c1b20 100644 --- a/src/modules/rover_ackermann/DriveModes/AutoMode/CMakeLists.txt +++ b/src/modules/rover_ackermann/AckermannDriveModes/CMakeLists.txt @@ -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) diff --git a/src/modules/rover_ackermann/CMakeLists.txt b/src/modules/rover_ackermann/CMakeLists.txt index d2d25280a1..2605428012 100644 --- a/src/modules/rover_ackermann/CMakeLists.txt +++ b/src/modules/rover_ackermann/CMakeLists.txt @@ -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 diff --git a/src/modules/rover_ackermann/RoverAckermann.hpp b/src/modules/rover_ackermann/RoverAckermann.hpp index a0232b4b45..2a5ea1e888 100644 --- a/src/modules/rover_ackermann/RoverAckermann.hpp +++ b/src/modules/rover_ackermann/RoverAckermann.hpp @@ -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, 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