Ctrl-Z
一个多线程机器人运动控制强化学习部署框架
载入中...
搜索中...
未找到
z::PlainInferenceWorker< SchedulerType, NetName, InferencePrecision, JOINT_NUMBER > 模板类 参考

该类型实现了一个可用的平凡推理工人类型,用户可以通过这个工人类型来实现推理的功能。 更多...

#include <PlainInferenceWorker.hpp>

类 z::PlainInferenceWorker< SchedulerType, NetName, InferencePrecision, JOINT_NUMBER > 继承关系图:
z::PlainInferenceWorker< SchedulerType, NetName, InferencePrecision, JOINT_NUMBER > 的协作图:

Public 类型

using MotorValVec = math::Vector<InferencePrecision, JOINT_NUMBER>
 
using ValVec3 = math::Vector<InferencePrecision, 3>
 

Public 成员函数

 PlainInferenceWorker (SchedulerType::Ptr scheduler, const nlohmann::json &Net_cfg, const nlohmann::json &Motor_cfg)
 构造一个PlainInferenceWorker类型
 
virtual ~PlainInferenceWorker ()
 析构函数
 
void PreProcess () override
 推理前的准备工作,主要是将数据从数据总线中读取出来,并将数据缩放到合适的范围
 
void PostProcess () override
 推理后的处理工作,主要是将推理的结果从数据总线中读取出来,并将数据缩放到合适的范围 并将推理的结果写入到数据总线中
 

详细描述

template<typename SchedulerType, CTString NetName, typename InferencePrecision, size_t JOINT_NUMBER>
class z::PlainInferenceWorker< SchedulerType, NetName, InferencePrecision, JOINT_NUMBER >

该类型实现了一个可用的平凡推理工人类型,用户可以通过这个工人类型来实现推理的功能。

该类型实现了一个可用的平凡推理工人类型,用户可以通过这个工人类型来实现推理的功能。 该类型网络输入包括:线速度,角速度,重力投影,用户命令,关节位置,关节速度,上一次动作,网络输出为动作。 该类型需要从数据总线中读取"CurrentMotorVelocity","CurrentMotorPosition","NetLastAction","NetUserCommand3", "LinearVelocityValue","AngleVelocityValue","AngleValue"这些数据,并将"NetLastAction","NetProjectedGravity","NetScaledAction", "TargetMotorPosition","InferenceTime"这些数据写入到数据总线中。用户需要在数据总线中注册这些数据类型,以便于工人类型能够正确的读写数据。 用户可以通过配置文件来配置推理的参数,比如观测量的缩放(observation scale),动作量的缩放(action scale), 观测量的裁剪(observation clip),动作量的裁剪(action clip)等。

config.json配置文件示例: 该类型无新增配置,具体配置请参考CommonLocoInferenceWorker中的配置。

网络输入:线速度(3),角速度(3),重力投影(3),用户命令(3),关节位置(N),关节速度(N),上一次动作(N) 网络输出:动作(N), N为关节数量

模板参数
SchedulerType调度器类型
NetName网络名称,用户可以通过这个参数来指定网络的名称, 这在有多个网络时可以区分数据总线上的不同网络数据
InferencePrecision推理精度,用户可以通过这个参数来指定推理的精度,比如可以指定为float或者double
JOINT_NUMBER关节数量

构造及析构函数说明

◆ PlainInferenceWorker()

template<typename SchedulerType, CTString NetName, typename InferencePrecision, size_t JOINT_NUMBER>
z::PlainInferenceWorker< SchedulerType, NetName, InferencePrecision, JOINT_NUMBER >::PlainInferenceWorker ( SchedulerType::Ptr scheduler,
const nlohmann::json & Net_cfg,
const nlohmann::json & Motor_cfg )
inline

构造一个PlainInferenceWorker类型

参数
scheduler调度器的指针
cfg配置文件

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