15 public logable<gkd_sentry_chassis> {
20 std::string desc()
const {
return "GKD Sentry chassis"; }
28 rotate_speed_ = std::clamp(v, -max_rotate_speed_, max_rotate_speed_);
31 void set_enabled(
bool enabled)
override { enabled_ = enabled; }
33 return {left_front_motor_, right_front_motor_, left_rear_motor_, right_rear_motor_};
38 bool init(
const info_type&);
45 fp32 max_wheel_speed_{2.5f};
46 fp32 max_rotate_speed_{1.0f};
47 std::array<int, 4> wheel_directions_ {1, -1, 1, -1};
48 std::chrono::steady_clock::duration control_time_{1ms};
49 motor_base* left_front_motor_{
nullptr};
50 motor_base* right_front_motor_{
nullptr};
51 motor_base* left_rear_motor_{
nullptr};
52 motor_base* right_rear_motor_{
nullptr};
void set_planar_x(fp32 value) override
单独设置平面 x 方向速度。
vectorf velocity() const override
获取当前平面速度目标。
void set_enabled(bool enabled) override
启用或禁用底盘输出。
void set_rotate_speed(fp32 v) override
设置绕 z 轴的旋转速度。
void set_planar_y(fp32 value) override
单独设置平面 y 方向速度。
void set_planar_velocity(vectorf v) override
设置平面速度 (x, y),单位由具体底盘约定为 m/s。
fp32 rotate_speed() const override
获取当前绕 z 轴的旋转速度目标。
std::array< motor_base *, 4 > wheel_motors() const override