4#include "world_interface/data.h"
11#include <frozen/unordered_map.h>
15extern const double SHOULDER_LENGTH;
16extern const double ELBOW_LENGTH;
21extern const float MDEG_PER_DEG;
24extern const double ROBOT_LENGTH;
25extern const double ROBOT_WIDTH;
29extern const double WHEEL_BASE;
34extern const double EFF_WHEEL_BASE;
35extern const double WHEEL_RADIUS;
36extern const double PWM_PER_RAD_PER_SEC;
37extern const double MAX_DRIVE_PWM;
45extern const double MAX_WHEEL_VEL;
52extern const double MAX_DTHETA;
56extern const char* MAST_CAMERA_CONFIG_PATH;
59extern const char* FOREARM_CAMERA_CONFIG_PATH;
62extern const char* HAND_CAMERA_CONFIG_PATH;
70extern const char* MC_PROTOCOL_NAME;
74extern const char* SIM_PROTOCOL_NAME;
78extern const char* DGPS_PROTOCOL_NAME;
82extern const char* ARDUPILOT_PROTOCOL_NAME;
91extern const double STEER_EPSILON;
96extern const double RADIAN_COST;
98extern const double SAFE_RADIUS;
99extern const int MAX_ITERS;
100extern const double PLAN_RESOLUTION;
101extern const double SEARCH_RADIUS_INCREMENT;
102extern const double GPS_WAYPOINT_RADIUS;
103extern const double LANDMARK_WAYPOINT_RADIUS;
104extern const double EPS;
110extern const double MM_PER_M;
111extern const uint32_t RPLIDAR_A1_BAUDRATE;
112extern const uint32_t RPLIDAR_S1_BAUDRATE;
124extern const int H264_RF_CONSTANT;
129extern const std::unordered_map<robot::types::CameraID, int> STREAM_RFS;
136constexpr auto JOINT_MOTOR_MAP =
137 frozen::make_unordered_map<robot::types::jointid_t, robot::types::motorid_t>(
138 {{robot::types::jointid_t::frontLeftSwerve, robot::types::motorid_t::frontLeftSwerve},
139 {robot::types::jointid_t::frontRightSwerve,
140 robot::types::motorid_t::frontRightSwerve},
141 {robot::types::jointid_t::rearLeftSwerve, robot::types::motorid_t::rearLeftSwerve},
142 {robot::types::jointid_t::rearRightSwerve, robot::types::motorid_t::rearRightSwerve},
143 {robot::types::jointid_t::armBase, robot::types::motorid_t::armBase},
144 {robot::types::jointid_t::shoulder, robot::types::motorid_t::shoulder},
145 {robot::types::jointid_t::elbow, robot::types::motorid_t::elbow},
146 {robot::types::jointid_t::forearm, robot::types::motorid_t::forearm},
147 {robot::types::jointid_t::hand, robot::types::motorid_t::hand},
148 {robot::types::jointid_t::activeSuspension,
149 robot::types::motorid_t::activeSuspension}});
156extern const double SAFETY_FACTOR;
161extern const double MAX_EE_VEL;
162extern const double IK_SOLVER_THRESH;
164extern const int IK_SOLVER_MAX_ITER;
170extern const std::array<robot::types::jointid_t, 2> IK_MOTOR_JOINTS;
176extern const std::array<robot::types::motorid_t, 2> IK_MOTORS;
181constexpr frozen::unordered_map<robot::types::motorid_t, std::pair<int, int>, IK_MOTORS.size()>
182 JOINT_LIMITS{{robot::types::motorid_t::shoulder, {18200, 152500}},
183 {robot::types::motorid_t::elbow, {-169100, 0}}};
189 SEGMENT_LENGTHS{{robot::types::motorid_t::shoulder, 0.3848608},
190 {robot::types::motorid_t::elbow, 0.461264}};
193namespace autonomous {
194extern const double THETA_KP;
195extern const double DRIVE_VEL;
196extern const double SLOW_DRIVE_THRESHOLD;
197extern const double DONE_THRESHOLD;
199extern const util::dseconds CLOSE_TO_TARGET_DUR_VAL;
202extern const double CONTROL_HZ;
_GLIBCXX_END_NAMESPACE_CXX11 typedef basic_string< char > string
duration< int64_t, milli > milliseconds
std::string CameraID
The type of a camera id.
Definition data.h:46
motorid_t
The motors on the robot.
Definition data.h:57