mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-21 21:55:34 +08:00
ackermann: rename DriveModes to AckermannDriveModes
This commit is contained in:
committed by
chfriedrich98
parent
eed966a1c6
commit
3e8f054a1c
+10
-10
@@ -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
|
||||
+3
-3
@@ -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.
|
||||
+3
-3
@@ -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})
|
||||
+8
-8
@@ -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);
|
||||
+4
-4
@@ -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.
|
||||
+3
-3
@@ -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})
|
||||
+4
-4
@@ -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);
|
||||
+4
-4
@@ -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.
|
||||
+5
-3
@@ -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})
|
||||
+3
-5
@@ -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)
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user