1#include "device/chassis/gkd_sentry_chassis.hpp"
3#include "utils/kinematics/mecanum.hpp"
17 co_await speed_decomposition();
23 left_front_motor_ = &roboctrl::get<dji_motor>(info.left_front_motor);
24 right_front_motor_ = &roboctrl::get<dji_motor>(info.right_front_motor);
25 left_rear_motor_ = &roboctrl::get<dji_motor>(info.left_rear_motor);
26 right_rear_motor_ = &roboctrl::get<dji_motor>(info.right_rear_motor);
27 control_time_ = info.control_time;
28 max_rotate_speed_ = info.max_rotate_speed;
29 wheel_directions_ = info.wheel_directions;
37 co_await left_front_motor_->
set(0.0f);
38 co_await right_front_motor_->
set(0.0f);
39 co_await left_rear_motor_->
set(0.0f);
40 co_await right_rear_motor_->
set(0.0f);
44 const auto wheels = utils::kinematics::mecanum_motor_targets(
45 velocity_, rotate_speed_, max_wheel_speed_, wheel_directions_);
47 log_debug(
"left_front_motor : {}",wheels[0]);
48 log_debug(
"right_front_motor : {}",wheels[1]);
49 log_debug(
"left_rear_motor : {}",wheels[2]);
50 log_debug(
"right_rear_motor : {}",wheels[3]);
52 co_await left_front_motor_->
set(wheels[0]);
53 co_await right_front_motor_->
set(wheels[1]);
54 co_await left_rear_motor_->
set(wheels[2]);
55 co_await right_rear_motor_->
set(wheels[3]);
void log_debug(std::format_string< Args... > fmt, Args &&...args) const
输出debug日志
void log_info(std::format_string< Args... > fmt, Args &&...args) const
输出info日志
awaitable< void > wait_for(const duration &duration)
协程任务等待。
auto spawn(task_context::task_type &&task)
添加一个协程任务到全局任务上下文中执行。
asio::awaitable< T > awaitable
协程任务类型。
virtual awaitable< void > set(fp32 target)=0