44 std::optional<device::gimbal_base::info_type> secondary_gimbal_info;
45 std::optional<device::gimbal_base::info_type> large_yaw_info;
46 std::optional<shoot::info_type> secondary_shoot_info;
51 std::string
gimbal_type {
"ctrl.standard_imu_2axis_gimbal.v1"};
52 std::string control_pad_key {
"control_pad"};
53 bool enable_chassis {
true};
54 bool enable_gimbal {
false};
55 bool enable_shoot {
false};
59 bool init(
const info_type& info);
60 std::string desc()
const{
return "robot";}
73 device::gimbal_base* large_yaw() noexcept {
return large_yaw_; }
74 shoot* secondary_shoot() noexcept {
return secondary_shoot_.get(); }
75 bool gimbals_initialized()
const;
76 bool gimbals_online()
const;
84 std::string control_pad_key_;
85 bool enable_chassis_ {
false};
86 bool enable_gimbal_ {
false};
87 bool enable_shoot_ {
false};
88 device::chassis_base* chassis_ {
nullptr};
89 device::gimbal_base* gimbal_ {
nullptr};
90 device::gimbal_base* secondary_gimbal_ {
nullptr};
91 device::gimbal_base* large_yaw_ {
nullptr};
92 std::unique_ptr<shoot> secondary_shoot_;
93 std::vector<device::motor_base*> controlled_motors_;