Ctrl-Z
一个多线程机器人运动控制强化学习部署框架
载入中...
搜索中...
未找到
user_func.h
浏览该文件的文档.
1
10#pragma once
11#include "bitbot_mujoco/kernel/mujoco_kernel.hpp"
12#include "types.hpp"
13
14enum Events
15{
16 InitPose = 1001,
17 PolicyRun,
18 SystemTest,
19
20 VeloxIncrease = 2001,
21 VeloxDecrease = 2002,
22 VeloyIncrease = 2003,
23 VeloyDecrease = 2004,
24 VeloYawIncrease = 2005,
25 VeloYawDecrease = 2006,
26
27 JoystickXChange = 3001,
28 JoystickYChange = 3002,
29 JoystickYawChange = 3003
30};
31
32enum class States : bitbot::StateId
33{
34 Waiting = 1001,
35 PF2InitPose,
36 PF2PolicyRun,
37 PF2SystemTest,
38};
39
41{
42 SchedulerType::Ptr TaskScheduler;
43 ImuWorkerType* ImuWorker;
44 MotorWorkerType* MotorWorker;
45 MotorPDWorkerType* MotorPDWorker;
46 LoggerWorkerType* Logger;
47 EraxLikeInferWorkerType* NetInferWorker;
48 MotorResetWorkerType* MotorResetWorker;
49 CmdWorkerType* CommanderWorker;
50 ActionManagementWorkerType* ActionManagementWorker;
51 //NOTE: you don't need to delete these workers, they will be deleted by the scheduler automaticlly when the scheduler is destroyed
52};
53
54using KernelType = bitbot::MujocoKernel<UserData>;
55using KernelBus = bitbot::MujocoBus;
56
57
58std::optional<bitbot::StateId> EventInitPose(bitbot::EventValue value, UserData& user_data);
59std::optional<bitbot::StateId> EventPolicyRun(bitbot::EventValue value, UserData& user_data);
60std::optional<bitbot::StateId> EventSystemTest(bitbot::EventValue value, UserData& user_data);
61
62std::optional<bitbot::StateId> EventVeloXIncrease(bitbot::EventValue keyState, UserData& d);
63std::optional<bitbot::StateId> EventVeloXDecrease(bitbot::EventValue keyState, UserData& d);
64std::optional<bitbot::StateId> EventVeloYIncrease(bitbot::EventValue keyState, UserData& d);
65std::optional<bitbot::StateId> EventVeloYDecrease(bitbot::EventValue keyState, UserData& d);
66std::optional<bitbot::StateId> EventVeloYawIncrease(bitbot::EventValue keyState, UserData& d);
67std::optional<bitbot::StateId> EventVeloYawDecrease(bitbot::EventValue keyState, UserData& d);
68
69std::optional<bitbot::StateId> EventJoystickXChange(bitbot::EventValue keyState, UserData& d);
70std::optional<bitbot::StateId> EventJoystickYChange(bitbot::EventValue keyState, UserData& d);
71std::optional<bitbot::StateId> EventJoystickYawChange(bitbot::EventValue keyState, UserData& d);
72
73
74void ConfigFunc(const KernelBus& bus, UserData& d);
75void FinishFunc(UserData& d);
76
77
78void StateWaiting(const bitbot::KernelInterface& kernel, bitbot::ExtraData& extra_data, UserData& user_data);
79void StateJointInitPose(const bitbot::KernelInterface& kernel, bitbot::ExtraData& extra_data, UserData& user_data);
80void StatePolicyRun(const bitbot::KernelInterface& kernel, bitbot::ExtraData& extra_data, UserData& user_data);
81void StateSystemTest(const bitbot::KernelInterface& kernel, bitbot::ExtraData& extra_data, UserData& user_data);
定义 user_func.h:41
类型定义