1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- //
- // Created by huli on 2021/3/2.
- //
- #ifndef NNXX_TESTS_CATCHER_TASK_H
- #define NNXX_TESTS_CATCHER_TASK_H
- #include "../error_code/error_code.h"
- #include "../task/task_command_manager.h"
- #include "../task/task_base.h"
- #include <mutex>
- class Catcher_task:public Task_Base
- {
- public:
- //指令完成状态, 搬运器答复指令, 返回任务完成的情况
- enum Respons_status
- {
- RESPONS_WORKING = 0, //正常
- RESPONS_OVER = 1, //任务完成
- RESPONS_MINOR_ERROR = 100, //一般故障, 可恢复
- RESPONS_CRITICAL_ERROR = 101, //致命故障,不可恢复
- };
- //抓车的夹杆
- enum Clamp_motion
- {
- E_CLAMP_NO_ACTION = 0, //无动作.
- E_CLAMP_TIGHT = 1, //夹紧夹杆
- E_CLAMP_LOOSE = 2, //松开夹杆
- };
- public:
- Catcher_task();
- Catcher_task(const Catcher_task& other)= default;
- Catcher_task& operator =(const Catcher_task& other)= default;
- ~Catcher_task();
- public://API functions
- public://get or set member variable
- protected://member functions
- protected://member variable
- public:
- std::mutex m_lock; //锁
- int m_step;//长流程细分为短流程, m_step 控制短流程的步骤
- //调度下发到plc
- std::string m_request_key; //请求唯一码, 用作识别
- //请求的目标坐标和动作
- float m_request_x; //机器人坐标x轴,
- float m_request_y; //机器人坐标y轴,
- float m_request_b; //机器人坐标b轴, 旋转范围80~280
- float m_request_z; //机器人坐标z轴,
- int m_request_space_id; //机器人空间位置的id.
- float m_request_d1; //机器人坐标d1轴, 机器人抓车杆纵向移动(前轮抓杆)
- float m_request_d2; //机器人坐标d2轴, 机器人抓车杆纵向移动(后轮抓杆)
- float m_request_wheelbase; //机器人抓车杆前后轮距.
- Clamp_motion m_request_clamp_motion; //机器人夹车杆. 0=无动作,1=夹紧,2=松开
- //plc反馈给调度
- std::string m_respons_key; //应答的唯一码, 用作识别
- Respons_status m_respons_status; //指令完成状态, 机器人答复指令, 返回任务完成的情况
- //答复的实际坐标和动作
- float m_respons_x; //机器人坐标x轴,
- float m_respons_y; //机器人坐标y轴,
- float m_respons_b; //机器人坐标b轴, 旋转范围80~280
- float m_respons_z; //机器人坐标z轴,
- int m_respons_space_id; //机器人空间位置的id.
- float m_respons_d1; //机器人坐标d1轴, 机器人抓车杆纵向移动(前轮抓杆)
- float m_respons_d2; //机器人坐标d2轴, 机器人抓车杆纵向移动(后轮抓杆)
- float m_respons_wheelbase; //机器人抓车杆前后轮距.
- Clamp_motion m_respons_clamp_motion; //机器人夹车杆. 0=无动作,1=夹紧,2=松开
- };
- #endif //NNXX_TESTS_Catcher_task_H
|