@@ -28,7 +28,8 @@ Eigen::Vector3d orientationError(const Eigen::Matrix3d& R, const Eigen::Matrix3d
2828
2929/* sanitizeDesiredForce() //{ */
3030
31- std::optional<Eigen::Vector3d> sanitizeDesiredForce (const rclcpp::Node::SharedPtr& node, const Eigen::Vector3d& input, const double & tilt_safety_limit, const double & tilt_saturation, const std::string& node_name) {
31+ std::optional<Eigen::Vector3d> sanitizeDesiredForce (const rclcpp::Node::SharedPtr& node, const Eigen::Vector3d& input, const double & tilt_safety_limit,
32+ const double & tilt_saturation, const std::string& node_name) {
3233
3334 // calculate the force in spherical coordinates
3435 double theta = acos (input (2 ));
@@ -42,7 +43,8 @@ std::optional<Eigen::Vector3d> sanitizeDesiredForce(const rclcpp::Node::SharedPt
4243
4344 if (tilt_safety_limit > 1e-3 && std::abs (theta) > tilt_safety_limit) {
4445
45- RCLCPP_ERROR (node->get_logger (), " [%s]: the produced tilt angle (%.2f deg) would be over the failsafe limit (%.2f deg), returning null" , node_name.c_str (), (180.0 / M_PI) * theta, (180.0 / M_PI) * tilt_safety_limit);
46+ RCLCPP_ERROR (node->get_logger (), " [%s]: the produced tilt angle (%.2f deg) would be over the failsafe limit (%.2f deg), returning null" , node_name.c_str (),
47+ (180.0 / M_PI) * theta, (180.0 / M_PI) * tilt_safety_limit);
4648 RCLCPP_ERROR_STREAM (node->get_logger (), " [" << node_name << " ]: f = [" << input.transpose () << " ]" );
4749
4850 return {};
@@ -51,7 +53,8 @@ std::optional<Eigen::Vector3d> sanitizeDesiredForce(const rclcpp::Node::SharedPt
5153 // saturate the angle
5254
5355 if (tilt_saturation > 1e-3 && std::abs (theta) > tilt_saturation) {
54- RCLCPP_WARN_THROTTLE (node->get_logger (), *node->get_clock (), 1000 , " [%s]: tilt is being saturated, desired: %.2f deg, saturated %.2f deg" , node_name.c_str (), (theta / M_PI) * 180.0 , (tilt_saturation / M_PI) * 180.0 );
56+ RCLCPP_WARN_THROTTLE (node->get_logger (), *node->get_clock (), 1000 , " [%s]: tilt is being saturated, desired: %.2f deg, saturated %.2f deg" ,
57+ node_name.c_str (), (theta / M_PI) * 180.0 , (tilt_saturation / M_PI) * 180.0 );
5558 theta = tilt_saturation;
5659 }
5760
@@ -65,7 +68,8 @@ std::optional<Eigen::Vector3d> sanitizeDesiredForce(const rclcpp::Node::SharedPt
6568
6669/* so3transform() //{ */
6770
68- Eigen::Matrix3d so3transform (const rclcpp::Node::SharedPtr& node, const Eigen::Vector3d& body_z, const ::Eigen::Vector3d& heading, const bool & preserve_heading) {
71+ Eigen::Matrix3d so3transform (const rclcpp::Node::SharedPtr& node, const Eigen::Vector3d& body_z, const ::Eigen::Vector3d& heading,
72+ const bool & preserve_heading) {
6973
7074 Eigen::Vector3d body_z_normed = body_z.normalized ();
7175
@@ -227,7 +231,10 @@ std::optional<double> extractThrottle(const mrs_uav_managers::Controller::Contro
227231
228232/* attitudeController() //{ */
229233
230- std::optional<mrs_msgs::msg::HwApiAttitudeRateCmd> attitudeController (const rclcpp::Node::SharedPtr& node, const mrs_msgs::msg::UavState& uav_state, const mrs_msgs::msg::HwApiAttitudeCmd& reference, const Eigen::Vector3d& ff_rate, const Eigen::Vector3d& rate_saturation, const Eigen::Vector3d& gains, const bool & parasitic_heading_rate_compensation) {
234+ std::optional<mrs_msgs::msg::HwApiAttitudeRateCmd> attitudeController (const rclcpp::Node::SharedPtr& node, const mrs_msgs::msg::UavState& uav_state,
235+ const mrs_msgs::msg::HwApiAttitudeCmd& reference, const Eigen::Vector3d& ff_rate,
236+ const Eigen::Vector3d& rate_saturation, const Eigen::Vector3d& gains,
237+ const bool & parasitic_heading_rate_compensation) {
231238
232239 Eigen::Matrix3d R = mrs_lib::AttitudeConverter (uav_state.pose .orientation );
233240 Eigen::Matrix3d Rd = mrs_lib::AttitudeConverter (reference.orientation );
@@ -307,7 +314,8 @@ std::optional<mrs_msgs::msg::HwApiAttitudeRateCmd> attitudeController(const rclc
307314
308315/* attitudeRateController() //{ */
309316
310- std::optional<mrs_msgs::msg::HwApiControlGroupCmd> attitudeRateController (const rclcpp::Node::SharedPtr& node, const mrs_msgs::msg::UavState& uav_state, const mrs_msgs::msg::HwApiAttitudeRateCmd& reference, const Eigen::Vector3d& gains) {
317+ std::optional<mrs_msgs::msg::HwApiControlGroupCmd> attitudeRateController (const rclcpp::Node::SharedPtr& node, const mrs_msgs::msg::UavState& uav_state,
318+ const mrs_msgs::msg::HwApiAttitudeRateCmd& reference, const Eigen::Vector3d& gains) {
311319
312320 Eigen::Vector3d des_rate (reference.body_rate .x , reference.body_rate .y , reference.body_rate .z );
313321 Eigen::Vector3d cur_rate (uav_state.velocity .angular .x , uav_state.velocity .angular .y , uav_state.velocity .angular .z );
@@ -331,7 +339,8 @@ std::optional<mrs_msgs::msg::HwApiControlGroupCmd> attitudeRateController(const
331339
332340/* actuatorMixer() //{ */
333341
334- mrs_msgs::msg::HwApiActuatorCmd actuatorMixer (const rclcpp::Node::SharedPtr& node, const mrs_msgs::msg::HwApiControlGroupCmd& ctrl_group_cmd, const Eigen::MatrixXd& mixer) {
342+ mrs_msgs::msg::HwApiActuatorCmd actuatorMixer (const rclcpp::Node::SharedPtr& node, const mrs_msgs::msg::HwApiControlGroupCmd& ctrl_group_cmd,
343+ const Eigen::MatrixXd& mixer) {
335344
336345 Eigen::Vector4d ctrl_group (ctrl_group_cmd.roll , ctrl_group_cmd.pitch , ctrl_group_cmd.yaw , ctrl_group_cmd.throttle );
337346
0 commit comments