WRS2020用にメカナム台車をROS化
Dependencies: mbed PID2 JY901 QuaternionMath ros_lib_melodic i2cmaster WRS2020_mecanum_node
Dependents: WRS2020_mecanum_node
define.h@5:17ede03f1fa5, 2021-02-23 (annotated)
- Committer:
- sgrsn
- Date:
- Tue Feb 23 10:22:26 2021 +0000
- Revision:
- 5:17ede03f1fa5
- Parent:
- 0:c177452db984
Lateset commit;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sgrsn | 0:c177452db984 | 1 | #ifndef MY_DEFINE_H |
sgrsn | 0:c177452db984 | 2 | #define MY_DEFINE_H |
sgrsn | 0:c177452db984 | 3 | |
sgrsn | 0:c177452db984 | 4 | #define PI 3.141592654 |
sgrsn | 0:c177452db984 | 5 | |
sgrsn | 0:c177452db984 | 6 | float DEG_TO_RAD = PI/180.0; |
sgrsn | 0:c177452db984 | 7 | float RAD_TO_DEG = 180.0/PI; |
sgrsn | 0:c177452db984 | 8 | |
sgrsn | 0:c177452db984 | 9 | float wheel_d = 0.127; // メカナム直径[mm] |
sgrsn | 0:c177452db984 | 10 | float wheel_r = 0.0635; |
sgrsn | 0:c177452db984 | 11 | float deg_per_pulse = 0.0072; // ステッピングモータ(AR46SAK-PS50-1) |
sgrsn | 0:c177452db984 | 12 | |
sgrsn | 0:c177452db984 | 13 | // 目標位置到達判定 |
sgrsn | 0:c177452db984 | 14 | float threshold_x = 5; //[mm] |
sgrsn | 0:c177452db984 | 15 | float threshold_y = 5; //[mm] |
sgrsn | 0:c177452db984 | 16 | float threshold_theta = 1 * DEG_TO_RAD; |
sgrsn | 0:c177452db984 | 17 | |
sgrsn | 0:c177452db984 | 18 | /*Common for Master and Slave***************/ |
sgrsn | 0:c177452db984 | 19 | |
sgrsn | 0:c177452db984 | 20 | typedef enum |
sgrsn | 0:c177452db984 | 21 | { |
sgrsn | 0:c177452db984 | 22 | RightForward = 1, |
sgrsn | 0:c177452db984 | 23 | LeftForward = 2, |
sgrsn | 0:c177452db984 | 24 | RightBack = 3, |
sgrsn | 0:c177452db984 | 25 | LeftBack = 4 |
sgrsn | 0:c177452db984 | 26 | }MotorPosition; |
sgrsn | 0:c177452db984 | 27 | |
sgrsn | 0:c177452db984 | 28 | typedef enum |
sgrsn | 0:c177452db984 | 29 | { |
sgrsn | 0:c177452db984 | 30 | COAST = 0, |
sgrsn | 0:c177452db984 | 31 | BRAKE = 1, |
sgrsn | 0:c177452db984 | 32 | CW = 2, |
sgrsn | 0:c177452db984 | 33 | CCW = 3 |
sgrsn | 0:c177452db984 | 34 | }MotorState; |
sgrsn | 0:c177452db984 | 35 | |
sgrsn | 0:c177452db984 | 36 | #define WHO_AM_I 0x00 |
sgrsn | 0:c177452db984 | 37 | #define MY_IIC_ADDR 0x01 |
sgrsn | 0:c177452db984 | 38 | #define MOTOR_DIR 0x04 |
sgrsn | 0:c177452db984 | 39 | #define PWM_FREQUENCY 0x05 |
sgrsn | 0:c177452db984 | 40 | |
sgrsn | 0:c177452db984 | 41 | |
sgrsn | 0:c177452db984 | 42 | /*Master only**************************************/ |
sgrsn | 0:c177452db984 | 43 | |
sgrsn | 0:c177452db984 | 44 | #define MOTOR_NUM 4 |
sgrsn | 0:c177452db984 | 45 | #define IIC_ADDR1 0xB0 |
sgrsn | 0:c177452db984 | 46 | #define IIC_ADDR2 0xC0 |
sgrsn | 0:c177452db984 | 47 | #define IIC_ADDR3 0xD0 |
sgrsn | 0:c177452db984 | 48 | #define IIC_ADDR4 0xE0 |
sgrsn | 0:c177452db984 | 49 | |
sgrsn | 0:c177452db984 | 50 | #define MaxFrequency 70000 |
sgrsn | 0:c177452db984 | 51 | #define MinFrequency 0//50 |
sgrsn | 0:c177452db984 | 52 | |
sgrsn | 0:c177452db984 | 53 | // Register Map from PC |
sgrsn | 0:c177452db984 | 54 | #define MARKER_X 0x05 |
sgrsn | 0:c177452db984 | 55 | #define MARKER_Y 0x06 |
sgrsn | 0:c177452db984 | 56 | #define MARKER_Z 0x07 |
sgrsn | 0:c177452db984 | 57 | #define MARKER_ROLL 0x08 |
sgrsn | 0:c177452db984 | 58 | #define MARKER_PITCH 0x09 |
sgrsn | 0:c177452db984 | 59 | #define MARKER_YAW 0x010 |
sgrsn | 0:c177452db984 | 60 | |
sgrsn | 0:c177452db984 | 61 | #endif |