GKD.RoboCtrl
RoboMaster Linux 电控:异步 IO、设备驱动与机器人控制
载入中...
搜索中...
未找到
roboctrl::device::gkd_sentry_gimbal类 参考final

详细描述

One physical IMU gimbal; registry owns independent primary/secondary/yaw stages.

在文件 gkd_sentry_gimbal.hpp 第 16 行定义.

#include <gkd_sentry_gimbal.hpp>

类 roboctrl::device::gkd_sentry_gimbal 继承关系图:
roboctrl::device::gkd_sentry_gimbal 的协作图:

Public 类型

using info_type = gimbal_base::info_type
 

Public 成员函数

bool init (const info_type &)
 
bool init (const info_type &, imu_base &, motor_base &, motor_base *pitch)
 
awaitable< void > update (fp32 dt)
 
void start () override
 
std::string desc () const
 
awaitable< void > task ()
 
fp32 yaw () const override
 获取当前 yaw 姿态,单位 rad。
 
fp32 pitch () const override
 获取当前 pitch 姿态,单位 rad。
 
fp32 yaw_rate () const override
 
fp32 target_yaw () const override
 
fp32 target_pitch () const override
 
fp32 relative_yaw () const override
 
bool relative_yaw_valid () const override
 
bool online () const override
 
bool initialized () const override
 
void set_target_yaw (fp32 v) override
 设置 yaw 绝对目标,单位 rad。
 
void add_yaw (fp32 v) override
 增加 yaw 目标量,单位 rad。
 
void set_target_pitch (fp32 v) override
 设置 pitch 绝对目标,单位 rad。
 
void add_pitch (fp32 v) override
 增加 pitch 目标量,单位 rad。
 
void set_enabled (bool v) override
 启用或禁用云台输出。
 
void set_recentering (bool v) override
 
void hold () override
 

额外继承的成员函数

- Protected 成员函数 继承自 roboctrl::log::logable< gkd_sentry_gimbal >
void log (log_level level, std::format_string< Args... > fmt, Args &&...args) const
 输出日志
 
void log_debug (std::format_string< Args... > fmt, Args &&...args) const
 输出debug日志
 
void log_info (std::format_string< Args... > fmt, Args &&...args) const
 输出info日志
 
void log_warn (std::format_string< Args... > fmt, Args &&...args) const
 输出warn日志
 
void log_error (std::format_string< Args... > fmt, Args &&...args) const
 输出error日志
 

成员类型定义说明

◆ info_type

成员函数说明

◆ add_pitch()

void roboctrl::device::gkd_sentry_gimbal::add_pitch ( fp32  )
inlineoverridevirtual

增加 pitch 目标量,单位 rad。

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 42 行定义.

引用了 set_target_pitch().

◆ add_yaw()

void roboctrl::device::gkd_sentry_gimbal::add_yaw ( fp32  )
inlineoverridevirtual

增加 yaw 目标量,单位 rad。

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 38 行定义.

引用了 set_target_yaw().

◆ desc()

std::string roboctrl::device::gkd_sentry_gimbal::desc ( ) const
inline

在文件 gkd_sentry_gimbal.hpp 第 26 行定义.

◆ hold()

void gkd_sentry_gimbal::hold ( )
overridevirtual

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.cpp 第 18 行定义.

◆ init() [1/2]

bool gkd_sentry_gimbal::init ( const info_type &  info)

在文件 gkd_sentry_gimbal.cpp 第 147 行定义.

◆ init() [2/2]

bool gkd_sentry_gimbal::init ( const info_type &  info,
imu_base &  imu,
motor_base &  yaw,
motor_base *  pitch 
)

Bind physical or simulated devices without opening IO.

在文件 gkd_sentry_gimbal.cpp 第 154 行定义.

引用了 roboctrl::log::logable< gkd_sentry_gimbal >::log_error(), pitch() , 以及 yaw().

◆ initialized()

bool roboctrl::device::gkd_sentry_gimbal::initialized ( ) const
inlineoverridevirtual

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 36 行定义.

◆ online()

bool roboctrl::device::gkd_sentry_gimbal::online ( ) const
inlineoverridevirtual

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 35 行定义.

◆ pitch()

fp32 roboctrl::device::gkd_sentry_gimbal::pitch ( ) const
inlineoverridevirtual

获取当前 pitch 姿态,单位 rad。

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 29 行定义.

被这些函数引用 init().

◆ relative_yaw()

fp32 roboctrl::device::gkd_sentry_gimbal::relative_yaw ( ) const
inlineoverridevirtual

Measured mechanical yaw relative to the configured chassis-facing zero.

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 33 行定义.

◆ relative_yaw_valid()

bool roboctrl::device::gkd_sentry_gimbal::relative_yaw_valid ( ) const
inlineoverridevirtual

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 34 行定义.

◆ set_enabled()

void gkd_sentry_gimbal::set_enabled ( bool  )
overridevirtual

启用或禁用云台输出。

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.cpp 第 23 行定义.

引用了 roboctrl::device::motor_base::set_enabled() , 以及 roboctrl::async::shutdown_requested().

◆ set_recentering()

void gkd_sentry_gimbal::set_recentering ( bool  )
overridevirtual

Explicit enabled initialization state; may produce output only while enabled.

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.cpp 第 39 行定义.

◆ set_target_pitch()

void roboctrl::device::gkd_sentry_gimbal::set_target_pitch ( fp32  )
inlineoverridevirtual

设置 pitch 绝对目标,单位 rad。

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 39 行定义.

被这些函数引用 add_pitch().

◆ set_target_yaw()

void roboctrl::device::gkd_sentry_gimbal::set_target_yaw ( fp32  )
inlineoverridevirtual

设置 yaw 绝对目标,单位 rad。

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 37 行定义.

引用了 roboctrl::utils::rad_format().

被这些函数引用 add_yaw().

◆ start()

void gkd_sentry_gimbal::start ( )
overridevirtual

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.cpp 第 173 行定义.

◆ target_pitch()

fp32 roboctrl::device::gkd_sentry_gimbal::target_pitch ( ) const
inlineoverridevirtual

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 32 行定义.

◆ target_yaw()

fp32 roboctrl::device::gkd_sentry_gimbal::target_yaw ( ) const
inlineoverridevirtual

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 31 行定义.

◆ task()

roboctrl::awaitable< void > gkd_sentry_gimbal::task ( )

在文件 gkd_sentry_gimbal.cpp 第 136 行定义.

◆ update()

◆ yaw()

fp32 roboctrl::device::gkd_sentry_gimbal::yaw ( ) const
inlineoverridevirtual

获取当前 yaw 姿态,单位 rad。

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 28 行定义.

被这些函数引用 init().

◆ yaw_rate()

fp32 roboctrl::device::gkd_sentry_gimbal::yaw_rate ( ) const
inlineoverridevirtual

实现了 roboctrl::device::gimbal_base.

在文件 gkd_sentry_gimbal.hpp 第 30 行定义.


该类的文档由以下文件生成: