|
Ctrl-Z
一个多线程机器人运动控制强化学习部署框架
|
MotorResetPositionWorker 类型是一个电机复位工人类型,用户可以通过这个工人类型来实现电机的复位功能。 更多...
#include <MotorResetPositionWorker.hpp>


Public 成员函数 | |
| MotorResetPositionWorker (SchedulerType::Ptr scheduler, const nlohmann::json &Motor_cfg, const nlohmann::json &reset_cfg) | |
| 构造一个电机复位工人类型 | |
| void | StartReset (size_t epoches=0) |
| 开始复位,用户可以通过这个方法来启动复位 | |
| void | StopReset () |
| 停止复位,用户可以通过这个方法来停止复位 | |
| void | TaskRun () override |
| TaskRun方法,在每次任务队列循环中被调用,用来实现电机的复位逻辑 | |
Public 成员函数 继承自 z::AbstractWorker< SchedulerType > | |
| AbstractWorker (SchedulerType::Ptr scheduler, const nlohmann::json &cfg=nlohmann::json()) | |
| 构造一个抽象工人类型 | |
| void | setScheduler (SchedulerType::Ptr scheduler) |
| 设置调度器的指针 | |
| virtual | ~AbstractWorker () |
| 析构函数,虚函数,用于释放资源 | |
| virtual void | TaskCreate () |
| TaskCreate方法,在任务队列创建的时候会被调度器调用,用户可以在这个方法中初始化一些资源 | |
| virtual void | TaskDestroy () |
| TaskDestroy方法,在任务队列删除的时候会被调度器调用,用户可以在这个方法中释放一些资源 | |
| virtual void | TaskCycleBegin () |
| TaskCycleBegin方法,在每次任务队列循环的开始会被调度器调用。 | |
| virtual void | TaskCycleEnd () |
| TaskCycleEnd方法,在每次任务队列循环的结束会被调度器调用。 | |
Public 成员函数 继承自 z::ZObject | |
| void | PrintSplitLine (size_t length=60, char c='-') |
| print a split line, default length is 60 and character is '-' | |
额外继承的成员函数 | |
Protected 属性 继承自 z::AbstractWorker< SchedulerType > | |
| SchedulerType::Ptr | Scheduler = nullptr |
| 调度器的指针,用户可以通过这个指针来获取一些全局的数据, 比如当前任务的时间戳,前级工人的输出数据等,也可以通过这个指针来设置一些全局的数据。 | |
MotorResetPositionWorker 类型是一个电机复位工人类型,用户可以通过这个工人类型来实现电机的复位功能。
MotorResetPositionWorker 类型是一个电机复位工人类型,用户可以通过这个工人类型来实现电机的复位功能。 通常来说可以由调度器创建一个复位任务队列,并在复位结束后销毁这个任务队列,这个队列通常不位于主任务队列中。 用户也可以通过调用StartReset方法来启动复位,通过StopReset方法来停止复位。 该类型需要从数据总线中读取"CurrentMotorPosition"这个数据,并将"TargetMotorPosition"这个数据写入到数据总线中。 用户需要在数据总线中注册这些数据类型,以便于工人类型能够正确的读写数据。用户可以通过配置文件来配置复位的目标位置和复位的时间。
config.json配置文件示例:
| SchedulerType | 调度器类型 |
| MotorPrecision | 电机数据精度,用户可以通过这个参数来指定电机数据的精度,比如可以指定为float或者double |
| JointNumber | 电机数量,用户可以通过这个参数来指定电机的数量 |
|
inline |
构造一个电机复位工人类型
| scheduler | 调度器的指针 |
| cfg | 配置文件 |
|
inline |
开始复位,用户可以通过这个方法来启动复位
| epoches | 复位的时间,单位为调度器的时间步长,默认为0,表示使用配置文件中的时间 |
|
inlineoverridevirtual |
TaskRun方法,在每次任务队列循环中被调用,用来实现电机的复位逻辑