4#include "world_interface/data.h"
12#include <frozen/unordered_map.h>
15using robot::types::jointid_t;
20extern const double SHOULDER_LENGTH;
21extern const double ELBOW_LENGTH;
26extern const float MDEG_PER_DEG;
29extern const double ROBOT_LENGTH;
30extern const double ROBOT_WIDTH;
34extern const double WHEEL_BASE;
39extern const double EFF_WHEEL_BASE;
40extern const double WHEEL_RADIUS;
41extern const double PWM_PER_RAD_PER_SEC;
42extern const double MAX_DRIVE_PWM;
50extern const double MAX_WHEEL_VEL;
57extern const double MAX_DTHETA;
62extern const CameraID WRIST_CAMERA_ID;
65extern const std::unordered_set<robot::types::CameraID> CAMERA_SET;
67extern const std::unordered_map<robot::types::CameraID, std::string> CAMERA_CONFIG_PATHS;
74extern const char* MC_PROTOCOL_NAME;
78extern const char* SIM_PROTOCOL_NAME;
82extern const char* DGPS_PROTOCOL_NAME;
86extern const char* ARDUPILOT_PROTOCOL_NAME;
95extern const double STEER_EPSILON;
100extern const double RADIAN_COST;
102extern const double SAFE_RADIUS;
103extern const int MAX_ITERS;
104extern const double PLAN_RESOLUTION;
105extern const double SEARCH_RADIUS_INCREMENT;
106extern const double GPS_WAYPOINT_RADIUS;
107extern const double LANDMARK_WAYPOINT_RADIUS;
108extern const double EPS;
120extern const int H264_RF_CONSTANT;
125extern const std::unordered_map<CameraID, int> STREAM_RFS;
132constexpr auto JOINT_MOTOR_MAP = frozen::make_unordered_map<jointid_t, motorid_t>(
133 {{jointid_t::armBase, motorid_t::armBase},
134 {jointid_t::shoulder, motorid_t::shoulder},
135 {jointid_t::elbow, motorid_t::elbow},
136 {jointid_t::forearm, motorid_t::forearm},
137 {jointid_t::hand, motorid_t::hand},
138 {jointid_t::drillActuator, motorid_t::drillActuator},
139 {jointid_t::drillMotor, motorid_t::drillMotor}});
146extern const double SAFETY_FACTOR;
151extern const double MAX_EE_VEL;
152extern const double IK_SOLVER_THRESH;
154extern const int IK_SOLVER_MAX_ITER;
160extern const std::array<jointid_t, 2> IK_MOTOR_JOINTS;
166extern const std::array<motorid_t, 2> IK_MOTORS;
171constexpr frozen::unordered_map<motorid_t, std::pair<int, int>, IK_MOTORS.size()> JOINT_LIMITS{
172 {motorid_t::shoulder, {18200, 152500}}, {motorid_t::elbow, {-169100, 0}}};
177constexpr frozen::unordered_map<
motorid_t, double, IK_MOTORS.size()> SEGMENT_LENGTHS{
178 {motorid_t::shoulder, 0.3848608}, {motorid_t::elbow, 0.461264}};
181namespace autonomous {
182extern const double THETA_KP;
183extern const double DRIVE_VEL;
184extern const double SLOW_DRIVE_THRESHOLD;
185extern const double DONE_THRESHOLD;
187extern const util::dseconds CLOSE_TO_TARGET_DUR_VAL;
190extern const double CONTROL_HZ;
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