35 lines
1.2 KiB
C++
35 lines
1.2 KiB
C++
#ifndef COMPLIB_SERVER_ROBOT_HPP
|
|
#define COMPLIB_SERVER_ROBOT_HPP
|
|
|
|
#include <cmath>
|
|
|
|
#define ROBOT_IR_SENSOR_COUNT 5
|
|
#define ROBOT_IR_RATE_HZ 250
|
|
|
|
#define ROBOT_MOTOR_COUNT 4
|
|
#define ROBOT_MOTOR_SPEED_CONTROL_KP 2.5
|
|
#define ROBOT_MOTOR_SPEED_CONTROL_KI 19.0
|
|
#define ROBOT_MOTOR_SPEED_CONTROL_KD 0.07
|
|
#define ROBOT_MOTOR_SPEED_CONTROL_RAMP 4 * M_PI
|
|
#define ROBOT_MOTOR_SPEED_CONTROL_RATE_HZ 250
|
|
|
|
#define ROBOT_ODOMETRY_CONTROLLER_RATE_HZ 250
|
|
#define ROBOT_ODOMETRY_CONTROLLER_LEFT_PORT 3
|
|
#define ROBOT_ODOMETRY_CONTROLLER_RIGHT_PORT 0
|
|
#define ROBOT_ODOMETRY_CONTROLLER_LEFT_MULT 1.0
|
|
#define ROBOT_ODOMETRY_CONTROLLER_RIGHT_MULT -1.0
|
|
|
|
#define ROBOT_ENCODER_RATE_HZ 250
|
|
|
|
#define ROBOT_WHEEL_RADIUS_MM 35.5
|
|
#define ROBOT_WHEEL_RADIUS_M (ROBOT_WHEEL_RADIUS_MM / 1000.0)
|
|
#define ROBOT_WHEEL_CIRCUMFERENCE_MM (2 * ROBOT_WHEEL_RADIUS_MM * M_PI)
|
|
#define ROBOT_WHEEL_CIRCUMFERENCE_M (2 * ROBOT_WHEEL_RADIUS_M * M_PI)
|
|
#define ROBOT_TICKS_PER_TURN (27.7 * 100.0)
|
|
#define ROBOT_ARBOR_LENGTH_MM 139.0
|
|
#define ROBOT_ARBOR_LENGTH_M (ROBOT_ARBOR_LENGTH_MM / 1000.0)
|
|
#define ROBOT_TICKS_PER_METER (1000.0 / ROBOT_WHEEL_CIRCUMFERENCE_MM * ROBOT_TICKS_PER_TURN)
|
|
|
|
#define ROBOT_GO_TO_GOAL_K 0.99 // Between 0.5 and 1
|
|
|
|
#endif //COMPLIB_SERVER_ROBOT_HPP
|