FingerGuessing.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #include "PublicSDKMotion.h"
  2. #define RSSI_LEN 5
  3. struct motion_rssi {
  4. int rssi;
  5. int motion;
  6. };
  7. class FingerGuessing : public PublicSDKMotion
  8. {
  9. public:
  10. FingerGuessing();
  11. void ProcessResult(float* global_pos, deque<shoes_data_cell>& step_data_vector,
  12. deque<globalPos_struct>& global_pos_vector, int LEFT_OR_RIGHT);
  13. int ProcessDualStepVector(deque<shoes_data_cell>& left_cmd_step_data_vector, deque<shoes_data_cell> &right_cmd_step_data_vector,
  14. float* left_cmd_global_pos, float* right_cmd_global_pos , int rssi);
  15. virtual void Process(int time_stamp, int* right_pos, int* right_att, int* right_acc, int right_zupt, int right_front_press, int right_back_press,
  16. int* left_pos, int* left_att, int* left_acc, int left_zupt, int left_front_press, int left_back_press,
  17. int jump, int down, int rssi);
  18. private:
  19. deque<int> rssi_vec;
  20. deque<int> pitch_vec;
  21. deque<int> roll_vec;
  22. deque<int> left_acc_vec;
  23. deque<int> right_acc_vec;
  24. int pitch_reference_val = 0;
  25. int roll_reference_val = 0;
  26. int has_init = 0;
  27. deque<shoes_data_cell> left_shoes_data_vector;
  28. deque<shoes_data_cell> right_shoes_data_vector;
  29. deque<globalPos_struct> right_global_pos_vector;
  30. deque<globalPos_struct> left_global_pos_vector;
  31. float left_cmd_global_pos[3];
  32. float right_cmd_global_pos[3];
  33. deque<shoes_data_cell> left_step_data_vector;
  34. deque<shoes_data_cell> right_step_data_vector;
  35. deque<shoes_data_cell> left_cmd_step_data_vector;
  36. deque<shoes_data_cell> right_cmd_step_data_vector;
  37. float left_step_pos[3];
  38. float right_step_pos[3];
  39. float left_heading;
  40. float right_heading;
  41. int left_foot_has_init;
  42. int right_foot_has_init;
  43. int left_zupt_count;
  44. int right_zupt_count;
  45. int right_cmd_wait_time;
  46. int left_cmd_wait_time;
  47. int left_init;
  48. int right_init;
  49. const int rssi_threshold = 30;
  50. };