GKD.RoboCtrl
载入中...
搜索中...
未找到
gimbal.h
浏览该文件的文档.
1
6#pragma once
7#include "core/async.hpp"
9#include "device/motor/dji.h"
10#include "utils/pid.h"
11#include "utils/singleton.hpp"
12#include "utils/utils.hpp"
13
14namespace roboctrl::ctrl{
18class gimbal : public utils::singleton_base<gimbal>,public logable<gimbal>{
19public:
20 inline std::string desc()const{return "gimbal";}
21 inline fp32 yaw()const{return yaw_;}
22 inline void set_yaw(fp32 yaw){yaw_ = yaw;}
23
34
38 bool init(const info_type& info);
39
44
45private:
46 fp32 yaw_ = 0;
47
49 utils::rad_pid_motor<device::dji_motor> init_yaw_motor_; // 用于开机把云台转到初始位置
51};
52
53static_assert(utils::singleton<gimbal>);
54}
异步任务上下文组件。
云台主控制器单例。
Definition gimbal.h:18
bool init(const info_type &info)
初始化云台资源与控制器。
Definition gimbal.cpp:15
awaitable< void > task()
主循环任务,负责刷新控制器。
Definition gimbal.cpp:8
用于提供日志功能的辅助基类 通过CRTP模式实现,要求派生类实现desc()方法以提供描述信息,在继承时传入派生类自身类型作为模板参数。 继承这个类后,派生类可以方便地使用log_debug、log_i...
Definition logger.h:178
提供单例模式的单例基类
Definition singleton.hpp:19
电机基础组件。
DJI 电机及分组抽象。
asio::awaitable< T > awaitable
协程任务类型。
Definition async.hpp:42
通用 PID 控制器实现。
被控制算法(例如PID)控制的电机
Definition base.hpp:142
常用数值与字节工具集合。
float fp32
单精度浮点别名。
Definition utils.hpp:22