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

详细描述

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

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

Public 成员函数

virtual awaitable< void > set (fp32 target)=0
 
virtual awaitable< void > set_angle_speed (fp32 target)
 
virtual awaitable< void > set_current (fp32)
 
virtual bool supports_current_control () const
 
virtual bool faulted () const
 
virtual fp32 requested_current () const
 
virtual fp32 current_feedback_raw () const
 
virtual fp32 max_current () const
 
virtual fp32 target_angle_speed () const
 
virtual void set_output_scale (fp32)
 
virtual void set_current_limit (fp32)
 
fp32 radius () const
 
virtual awaitable< void > enable ()=0
 
virtual void disable ()
 
virtual void set_enabled (bool enabled)
 
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
 

Protected 属性

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
 

构造及析构函数说明

◆ motor_base()

roboctrl::device::motor_base::motor_base ( const std::chrono::nanoseconds  offline_timeout,
fp32  radius 
)
inlineexplicit

构造函数

参数
offline_timeout电机离线超时时间
radius电机驱动轮半径,单位米

在文件 base.hpp 第 101 行定义.

成员函数说明

◆ angle()

fp32 roboctrl::device::motor_base::angle ( ) const
inline

获取电机角度(单位为rad)

返回
电机角度(单位为rad)

在文件 base.hpp 第 67 行定义.

被这些函数引用 roboctrl::device::gkd_sentry_gimbal::update().

◆ angle_speed()

fp32 roboctrl::device::motor_base::angle_speed ( ) const
inline

获取电机角速度(单位为rad/s)

返回
fp32 电机角速度(单位为rad/s)

在文件 base.hpp 第 74 行定义.

◆ current_feedback_raw()

virtual fp32 roboctrl::device::motor_base::current_feedback_raw ( ) const
inlinevirtual

在文件 base.hpp 第 49 行定义.

◆ disable()

virtual void roboctrl::device::motor_base::disable ( )
inlinevirtual

Disable output and clear any pending command.

被 roboctrl::device::dji_motor, roboctrl::device::j6006 , 以及 roboctrl::device::m9025 重载.

在文件 base.hpp 第 58 行定义.

被这些函数引用 set_enabled().

◆ enable()

virtual awaitable< void > roboctrl::device::motor_base::enable ( )
pure virtual

◆ faulted()

virtual bool roboctrl::device::motor_base::faulted ( ) const
inlinevirtual

A valid feedback frame may still report a drive fault.

被 roboctrl::device::j6006 重载.

在文件 base.hpp 第 47 行定义.

被这些函数引用 roboctrl::device::gkd_sentry_gimbal::update().

◆ linear_speed()

fp32 roboctrl::device::motor_base::linear_speed ( ) const
inline

获取电机线速度(单位为m/s)

返回
fp32 电机线速度(单位为m/s)

在文件 base.hpp 第 95 行定义.

被这些函数引用 roboctrl::ctrl::shoot::friction_ready().

◆ max_current()

virtual fp32 roboctrl::device::motor_base::max_current ( ) const
inlinevirtual

在文件 base.hpp 第 50 行定义.

◆ radius()

fp32 roboctrl::device::motor_base::radius ( ) const
inline

在文件 base.hpp 第 54 行定义.

◆ requested_current()

virtual fp32 roboctrl::device::motor_base::requested_current ( ) const
inlinevirtual

在文件 base.hpp 第 48 行定义.

◆ rpm()

fp32 roboctrl::device::motor_base::rpm ( ) const
inline

获取电机转速(单位为rpm)

返回
fp32 电机转速(单位为rpm)

在文件 base.hpp 第 81 行定义.

引用了 roboctrl::Pi_f.

被这些函数引用 roboctrl::ctrl::shoot::update().

◆ set()

virtual awaitable< void > roboctrl::device::motor_base::set ( fp32  target)
pure virtual

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

在 roboctrl::device::j6006, roboctrl::device::dji_motor , 以及 roboctrl::device::m9025 内被实现.

被这些函数引用 set_angle_speed() , 以及 roboctrl::ctrl::shoot::update().

◆ set_angle_speed()

virtual awaitable< void > roboctrl::device::motor_base::set_angle_speed ( fp32  target)
inlinevirtual

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

被 roboctrl::device::dji_motor, roboctrl::device::j6006 , 以及 roboctrl::device::m9025 重载.

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

引用了 set().

被这些函数引用 roboctrl::ctrl::shoot::update() , 以及 roboctrl::device::gkd_sentry_gimbal::update().

◆ set_current()

virtual awaitable< void > roboctrl::device::motor_base::set_current ( fp32  )
inlinevirtual

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

被 roboctrl::device::dji_motor , 以及 roboctrl::device::m9025 重载.

在文件 base.hpp 第 41 行定义.

被这些函数引用 roboctrl::device::gkd_sentry_gimbal::update().

◆ set_current_limit()

virtual void roboctrl::device::motor_base::set_current_limit ( fp32  )
inlinevirtual

在文件 base.hpp 第 53 行定义.

◆ set_enabled()

virtual void roboctrl::device::motor_base::set_enabled ( bool  enabled)
inlinevirtual

Common safety gate used by the control layer.

被 roboctrl::device::dji_motor, roboctrl::device::j6006 , 以及 roboctrl::device::m9025 重载.

在文件 base.hpp 第 60 行定义.

引用了 disable().

被这些函数引用 roboctrl::device::gkd_sentry_gimbal::set_enabled() , 以及 roboctrl::device::gkd_sentry_gimbal::update().

◆ set_output_scale()

virtual void roboctrl::device::motor_base::set_output_scale ( fp32  )
inlinevirtual

在文件 base.hpp 第 52 行定义.

◆ supports_current_control()

virtual bool roboctrl::device::motor_base::supports_current_control ( ) const
inlinevirtual

在文件 base.hpp 第 45 行定义.

◆ target_angle_speed()

virtual fp32 roboctrl::device::motor_base::target_angle_speed ( ) const
inlinevirtual

在文件 base.hpp 第 51 行定义.

◆ torque()

fp32 roboctrl::device::motor_base::torque ( ) const
inline

获取驱动定义的反馈:DJI/M9025 原始电流计数,J6006 为 Nm。

返回
fp32 驱动反馈,不能把不同类型的原始值直接混用。

在文件 base.hpp 第 88 行定义.

类成员变量说明

◆ angle_

float roboctrl::device::motor_base::angle_ {}
protected

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

◆ angle_speed_

float roboctrl::device::motor_base::angle_speed_ {}
protected

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

◆ radius_

float roboctrl::device::motor_base::radius_ {}
protected

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

◆ torque_

float roboctrl::device::motor_base::torque_ {}
protected

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


该结构体的文档由以下文件生成: