Function fuse_models::common::processAccelWithCovariance

Function Documentation

inline bool fuse_models::common::processAccelWithCovariance(const std::string &source, const fuse_core::UUID &device_id, const geometry_msgs::msg::AccelWithCovarianceStamped &acceleration, const fuse_core::Loss::SharedPtr &loss, const std::string &target_frame, const std::vector<size_t> &indices, const tf2_ros::Buffer &tf_buffer, const bool validate, fuse_core::Transaction &transaction, const rclcpp::Duration &tf_timeout = rclcpp::Duration(0, 0))

Extracts linear acceleration data from an AccelWithCovarianceStamped and adds that data to a fuse Transaction.

This method effectively adds a linear acceleration variable and constraint to the given to the given transaction. The acceleration data is extracted from the acceleration message. Only 2D data is used. The data will be automatically transformed into the target_frame before it is used.

Parameters:
  • source[in] - The name of the sensor or motion model that generated this constraint

  • device_id[in] - The UUID of the machine

  • acceleration[in] - The AccelWithCovarianceStamped message from which we will extract the acceleration data

  • loss[in] - The loss function for the 2D linear acceleration constraint generated

  • target_frame[in] - The frame ID into which the acceleration data will be transformed before it is used

  • tf_buffer[in] - The transform buffer with which we will lookup the required transform

  • validate[in] - Whether to validate the measurements or not. If the validation fails no constraint is added

  • transaction[out] - The generated variables and constraints are added to this transaction

Returns:

true if any constraints were added, false otherwise