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

详细描述

在文件 m9025.h 第 10 行定义.

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

类

struct  info_type
 

Public 成员函数

 m9025 (const info_type &info)
 
void connect ()
 
void start ()
 
std::string desc () const
 
awaitable< void > set (fp32 speed) override
 
awaitable< void > set_angle_speed (fp32 speed) override
 
awaitable< void > set_current (fp32 command) override
 
awaitable< void > enable () override
 
void disable () override
 
void set_enabled (bool enabled) override
 
awaitable< void > task ()
 
awaitable< void > stop_output ()
 
bool supports_current_control () const override
 
fp32 requested_current () const override
 
fp32 max_current () const override
 
fp32 target_angle_speed () const override
 
void set_output_scale (fp32 scale) override
 
void set_current_limit (fp32 limit) override
 
int16_t current () const
 
- Public 成员函数 继承自 roboctrl::device::motor_base
virtual bool faulted () const
 
virtual fp32 current_feedback_raw () const
 
fp32 radius () const
 
fp32 angle () const
 获取电机角度(单位为rad)
 
fp32 angle_speed () const
 获取电机角速度(单位为rad/s)
 
fp32 rpm () const
 获取电机转速(单位为rpm)
 
fp32 torque () const
 获取驱动定义的反馈:DJI/M9025 原始电流计数,J6006 为 Nm。
 
fp32 linear_speed () const
 获取电机线速度(单位为m/s)
 
 motor_base (const std::chrono::nanoseconds offline_timeout, fp32 radius)
 
- Public 成员函数 继承自 roboctrl::device::device_base
 device_base (const std::chrono::nanoseconds offline_timeout)
 
bool offline () const
 判断设备是否离线
 
void tick ()
 更新心跳时间
 
awaitable< void > task ()
 默认的task
 
- Public 成员函数 继承自 roboctrl::utils::immovable_base
 immovable_base (immovable_base &&)=delete
 
immovable_base & operator= (immovable_base &&)=delete
 
- Public 成员函数 继承自 roboctrl::utils::not_copyable_base
 not_copyable_base (const not_copyable_base &)=delete
 
not_copyable_base & operator= (const not_copyable_base &)=delete
 

静态 Public 成员函数

static bool valid_configuration (const info_type &info)
 

额外继承的成员函数

- Protected 成员函数 继承自 roboctrl::log::logable< m9025 >
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日志
 
- Protected 属性 继承自 roboctrl::device::motor_base
float angle_ {}
 
float angle_speed_ {}
 
float torque_ {}
 
float radius_ {}
 
- Protected 属性 继承自 roboctrl::device::device_base
const std::chrono::nanoseconds offline_timeout_
 设备离线超时时间
 
std::chrono::nanoseconds tick_time_
 上次心跳时间
 
bool terminated_ = false
 

构造及析构函数说明

◆ m9025()

m9025::m9025 ( const info_type &  info)
explicit

在文件 m9025.cpp 第 7 行定义.

成员函数说明

◆ connect()

void m9025::connect ( )

在文件 m9025.cpp 第 12 行定义.

◆ current()

int16_t roboctrl::device::m9025::current ( ) const
inline

在文件 m9025.h 第 63 行定义.

◆ desc()

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

在文件 m9025.h 第 48 行定义.

◆ disable()

void m9025::disable ( )
overridevirtual

Disable output and clear any pending command.

重载 roboctrl::device::motor_base .

在文件 m9025.cpp 第 49 行定义.

引用了 roboctrl::utils::pid_base< T, error_measurer >::clean().

被这些函数引用 set_enabled().

◆ enable()

awaitable< void > roboctrl::device::m9025::enable ( )
inlineoverridevirtual

Enable output.

实现了 roboctrl::device::motor_base.

在文件 m9025.h 第 52 行定义.

引用了 set_enabled().

◆ max_current()

fp32 roboctrl::device::m9025::max_current ( ) const
inlineoverridevirtual

重载 roboctrl::device::motor_base .

在文件 m9025.h 第 59 行定义.

◆ requested_current()

fp32 roboctrl::device::m9025::requested_current ( ) const
inlineoverridevirtual

重载 roboctrl::device::motor_base .

在文件 m9025.h 第 58 行定义.

◆ set()

awaitable< void > m9025::set ( fp32  target)
overridevirtual

Set the device-specific target (usually speed or current).

实现了 roboctrl::device::motor_base.

在文件 m9025.cpp 第 32 行定义.

引用了 set_angle_speed().

◆ set_angle_speed()

awaitable< void > m9025::set_angle_speed ( fp32  target)
overridevirtual

Explicit output-shaft speed, rad/s; set() remains linear speed in m/s.

重载 roboctrl::device::motor_base .

在文件 m9025.cpp 第 34 行定义.

引用了 roboctrl::utils::pid_base< T, error_measurer >::clean() , 以及 roboctrl::utils::pid_base< T, error_measurer >::set_target().

被这些函数引用 set().

◆ set_current()

awaitable< void > m9025::set_current ( fp32  )
overridevirtual

Raw driver command units, not amperes. Unsupported drivers reject this mode.

重载 roboctrl::device::motor_base .

在文件 m9025.cpp 第 41 行定义.

引用了 roboctrl::utils::pid_base< T, error_measurer >::clean() , 以及 roboctrl::device::device_base::offline().

◆ set_current_limit()

void roboctrl::device::m9025::set_current_limit ( fp32  limit)
inlineoverridevirtual

重载 roboctrl::device::motor_base .

在文件 m9025.h 第 62 行定义.

◆ set_enabled()

void m9025::set_enabled ( bool  enabled)
overridevirtual

Common safety gate used by the control layer.

重载 roboctrl::device::motor_base .

在文件 m9025.cpp 第 55 行定义.

引用了 disable() , 以及 roboctrl::async::shutdown_requested().

被这些函数引用 enable().

◆ set_output_scale()

void roboctrl::device::m9025::set_output_scale ( fp32  scale)
inlineoverridevirtual

重载 roboctrl::device::motor_base .

在文件 m9025.h 第 61 行定义.

◆ start()

void m9025::start ( )

在文件 m9025.cpp 第 25 行定义.

◆ stop_output()

awaitable< void > m9025::stop_output ( )

在文件 m9025.cpp 第 75 行定义.

◆ supports_current_control()

bool roboctrl::device::m9025::supports_current_control ( ) const
inlineoverridevirtual

重载 roboctrl::device::motor_base .

在文件 m9025.h 第 57 行定义.

◆ target_angle_speed()

fp32 roboctrl::device::m9025::target_angle_speed ( ) const
inlineoverridevirtual

重载 roboctrl::device::motor_base .

在文件 m9025.h 第 60 行定义.

◆ task()

awaitable< void > m9025::task ( )

在文件 m9025.cpp 第 60 行定义.

◆ valid_configuration()

static bool roboctrl::device::m9025::valid_configuration ( const info_type &  info)
inlinestatic

在文件 m9025.h 第 30 行定义.


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