16class Controller :
public controller_interface::MultiInterfaceController<rm_control::RmImuSensorInterface,
17 rm_control::RobotStateInterface>
21 bool init(hardware_interface::RobotHW* robot_hw, ros::NodeHandle& root_nh, ros::NodeHandle& controller_nh)
override;
22 void update(
const ros::Time& time,
const ros::Duration& period)
override;
25 bool getTransform(
const ros::Time& time, geometry_msgs::TransformStamped& source2target,
const double x,
26 const double y,
const double z,
const double w);
27 void imuDataCallback(
const sensor_msgs::Imu::ConstPtr& msg);
29 rm_control::RmImuSensorHandle imu_sensor_;
30 rm_control::RobotStateHandle robot_state_;
32 ros::Time last_imu_update_time_;
34 rm_common::TfRtBroadcaster tf_broadcaster_{};
35 geometry_msgs::TransformStamped source2target_msg_;
37 std::string frame_source_;
38 std::string frame_target_;
40 ros::Subscriber imu_data_sub_;
41 bool receive_imu_msg_ =
false;