|
| using | Locomotion = bb_controls_msgs::action::Locomotion |
| |
| using | GoalHandleLocomotion = rclcpp_action::ServerGoalHandle< Locomotion > |
| |
| void | control_loop () |
| | Executes one iteration of the 20 Hz control loop. More...
|
| |
| void | publish_controller_status (const Vehicle::ControllerStatus &status) |
| | Publishes a ControllerStatus message from the given status snapshot. More...
|
| |
| void | debug_publish_loop () |
| | Drains the debug queue and publishes all pending messages. More...
|
| |
| void | refresh_params_if_changed () |
| | Pulls the latest validated params from the ParamListener and applies them on change. More...
|
| |
| void | apply_config_to_vehicle () |
| | Applies config_ to the Vehicle's dynamics model, controller gains, and limits. More...
|
| |
| void | sub_callback_world_position (const nav_msgs::msg::Odometry::ConstSharedPtr &m) |
| | Odometry subscriber callback — updates vehicle state and starts the control loop. More...
|
| |
| void | sub_callback_battery_voltage (const bb_sensor_msgs::msg::BatteriesWithId::ConstSharedPtr &msg) |
| | Battery subscriber callback — forwards the minimum cell voltage to the Vehicle. More...
|
| |
| void | sub_callback_teleop_force (const geometry_msgs::msg::Twist::ConstSharedPtr &msg) |
| | Teleop subscriber callback — allocates the raw force directly if the controller is disabled. More...
|
| |
| void | srv_callback_controller (const std::shared_ptr< bb_controls_msgs::srv::Controller::Request > req, std::shared_ptr< bb_controls_msgs::srv::Controller::Response > res) |
| | Service callback to enable (stationkeep) or disable the controller. More...
|
| |
| void | srv_callback_trajectory_xyz (const std::shared_ptr< bb_controls_msgs::srv::SplineTraj::Request > req, std::shared_ptr< bb_controls_msgs::srv::SplineTraj::Response > res) |
| | Service callback to request a straight XYZ or multi-waypoint spline trajectory. More...
|
| |
| void | srv_callback_encircle_traj (const std::shared_ptr< bb_controls_msgs::srv::EncircleTraj::Request > req, std::shared_ptr< bb_controls_msgs::srv::EncircleTraj::Response > res) |
| | Service callback to request a circular arc (encircle) trajectory. More...
|
| |
| rclcpp_action::GoalResponse | poly_handle_goal (const rclcpp_action::GoalUUID &uuid, std::shared_ptr< const Locomotion::Goal > goal) |
| | Action server goal handler — rejects goals when the controller is disabled. More...
|
| |
| rclcpp_action::CancelResponse | poly_handle_cancel (const std::shared_ptr< GoalHandleLocomotion > goal_handle) |
| | Action server cancel handler — always accepts cancel requests. More...
|
| |
| void | poly_handle_accepted (const std::shared_ptr< GoalHandleLocomotion > goal_handle) |
| | Action server accepted handler — preempts any active goal and starts a new execute thread. More...
|
| |
| void | poly_execute_action (const std::shared_ptr< GoalHandleLocomotion > goal_handle) |
| | Executes a Locomotion action: plans trajectory, waits for completion, checks tolerances. More...
|
| |
| std::once_flag | control_loop_started_ |
| | Flag for starting control loop. More...
|
| |
| const std::string | vehicle_frame_id_ |
| | TF child_frame_id of the vehicle body frame. More...
|
| |
| const std::string | world_frame_id_ |
| | TF frame_id of the world frame. More...
|
| |
| std::unique_ptr< Vehicle > | auv_ |
| | Encapsulated vehicle control stack. More...
|
| |
| rclcpp::Subscription< nav_msgs::msg::Odometry >::SharedPtr | world_sub_ |
| |
| rclcpp::Subscription< bb_sensor_msgs::msg::BatteriesWithId >::SharedPtr | battery_sub_ |
| |
| rclcpp::Subscription< geometry_msgs::msg::Twist >::SharedPtr | teleop_force_sub_ |
| |
| rclcpp::Publisher< geometry_msgs::msg::WrenchStamped >::SharedPtr | pub_controller_force_ |
| |
| rclcpp::Publisher< bb_controls_msgs::msg::ControllerStatus >::SharedPtr | pub_status_ |
| |
| rclcpp::Publisher< geometry_msgs::msg::PoseArray >::SharedPtr | pub_traj_viz_ |
| |
| rclcpp::Publisher< bb_controls_msgs::msg::Thrusters >::SharedPtr | pub_thruster_commands_ |
| |
| rclcpp::Publisher< geometry_msgs::msg::WrenchStamped >::SharedPtr | pub_allocator_force_ |
| |
| rclcpp::Publisher< bb_controls_msgs::msg::ThrusterForces >::SharedPtr | pub_thruster_forces_ |
| |
| rclcpp::TimerBase::SharedPtr | control_loop_timer_ |
| |
| rclcpp::TimerBase::SharedPtr | debug_publish_timer_ |
| |
| moodycamel::ConcurrentQueue< DebugMessage > | debug_queue_ |
| | Lock-free queue through which the control loop passes debug messages to the publish timer. More...
|
| |
| rclcpp::Service< bb_controls_msgs::srv::Controller >::SharedPtr | controller_srv_ |
| |
| rclcpp::Service< bb_controls_msgs::srv::SplineTraj >::SharedPtr | spline_traj_srv_ |
| |
| rclcpp::Service< bb_controls_msgs::srv::EncircleTraj >::SharedPtr | encircle_traj_srv_ |
| |
| rclcpp_action::Server< Locomotion >::SharedPtr | poly_action_server_ |
| |
| std::mutex | action_goal_mutex_ |
| |
| std::shared_ptr< GoalHandleLocomotion > | current_action_goal_ |
| |
| std::atomic< bool > | shutdown_requested_ {false} |
| | Signals the action execution thread to exit its loop. More...
|
| |
| std::thread | action_execute_thread_ |
| | Thread running action execute method; joined before destruction. More...
|
| |
| std::shared_ptr< controls::ParamListener > | param_listener_ |
| | Declares all parameters, validates updates, and exposes the generated Params struct. More...
|
| |
| controls::Params | config_ |
| | Local snapshot of ROS parameters, pushed to Vehicle subsystems on change. More...
|
| |
| double | prev_time_ = 0.0 |
| | ROS timestamp of the previous control loop iteration. More...
|
| |
| Array6d | twist_lpf_tau_ = Array6d::Zero() |
| | Per-axis twist low-pass time constants (s); 0 disables an axis. More...
|
| |
| Vector6d | twist_lpf_state_ = Vector6d::Zero() |
| | State of the per-axis first-order low-pass filter on the measured twist. More...
|
| |
| bool | twist_lpf_init_ = false |
| | Whether twist_lpf_state_ holds a valid sample. More...
|
| |
| rclcpp::CallbackGroup::SharedPtr | odom_cb_group_ |
| |
| rclcpp::CallbackGroup::SharedPtr | control_loop_cb_group_ |
| |
| rclcpp::CallbackGroup::SharedPtr | services_cb_group_ |
| |
| rclcpp::CallbackGroup::SharedPtr | actions_cb_group_ |
| |
| rclcpp::CallbackGroup::SharedPtr | aux_cb_group_ |
| |
| static constexpr int | CONTROL_LOOP_RATE = 20 |
| | Control loop frequency in Hz. More...
|
| |
| static constexpr double | MIN_DEPTH_CLAMP = 0.00 |
| | Minimum depth value clamp to avoid near-zero depth noise (m) More...
|
| |
| static constexpr double | MAX_VEL = 1.0 |
| | Max plausible vehicle speed for odometry jump rejection (m/s) More...
|
| |
| static constexpr double | TWIST_LPF_RESET_DT = 0.5 |
| | Odometry gap (s) beyond which the twist low-pass filter re-initialises. More...
|
| |