60class [[deprecated(
"Use steering_kinematics::SteeringKinematics instead")]]
SteeringOdometry
65 void init(
const rclcpp::Time & time);
67 bool update_from_position(
68 const double traction_wheel_pos,
const double steer_pos,
const double dt);
70 bool update_from_position(
71 const double right_traction_wheel_pos,
const double left_traction_wheel_pos,
72 const double steer_pos,
const double dt);
74 bool update_from_position(
75 const double right_traction_wheel_pos,
const double left_traction_wheel_pos,
76 const double right_steer_pos,
const double left_steer_pos,
const double dt);
78 bool update_from_velocity(
79 const double traction_wheel_vel,
const double steer_pos,
const double dt);
81 bool update_from_velocity(
82 const double right_traction_wheel_vel,
const double left_traction_wheel_vel,
83 const double steer_pos,
const double dt);
85 bool update_from_velocity(
86 const double right_traction_wheel_vel,
const double left_traction_wheel_vel,
87 const double right_steer_pos,
const double left_steer_pos,
const double dt);
89 void update_open_loop(
const double v_bx,
const double omega_bz,
const double dt);
91 void set_odometry_type(
const unsigned int type);
93 unsigned int get_odometry_type()
const;
94 double get_heading()
const;
100 double get_linear()
const;
102 double get_angular()
const;
104 void set_wheel_params(
105 const double wheel_radius,
const double wheel_base,
const double wheel_track);
107 void set_wheel_params(
108 const double wheel_radius,
const double wheel_base,
const double wheel_track_steering,
109 const double wheel_track_traction);
111 void set_velocity_rolling_window_size(
const size_t velocity_rolling_window_size);
113 std::tuple<std::vector<double>, std::vector<double>> get_commands(
114 double v_bx,
double omega_bz,
bool open_loop =
true,
115 bool reduce_wheel_speed_until_steering_reached =
false);
117 void reset_odometry();