From a9109751c3f843ea90beba46ec048b8b810395ee Mon Sep 17 00:00:00 2001 From: abhaybd Date: Mon, 20 May 2024 05:48:54 +0000 Subject: [PATCH] deploy: 890261921f19698a32507abf54fed458a46350ca --- AutonomousTask_8h_source.html | 164 ++ Constants_8h_source.html | 231 +-- DriveToWaypointCommand_8h_source.html | 10 +- MissionControlMessages_8h_source.html | 21 +- MissionControlProtocol_8h_source.html | 122 +- annotated.html | 182 +- ...sautonomous_1_1AutonomousTask-members.html | 102 + classautonomous_1_1AutonomousTask.html | 112 ++ ...nds_1_1DriveToWaypointCommand-members.html | 2 +- classcommands_1_1DriveToWaypointCommand.html | 24 +- classes.html | 2 +- dir_164724f2049c96ee2d1b69e829ddec4e.html | 110 ++ dir_164724f2049c96ee2d1b69e829ddec4e_dep.map | 4 + dir_164724f2049c96ee2d1b69e829ddec4e_dep.md5 | 1 + dir_164724f2049c96ee2d1b69e829ddec4e_dep.png | Bin 0 -> 2477 bytes dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 + doxygen_crawl.html | 4 + files.html | 146 +- functions_d.html | 2 +- functions_func_d.html | 2 +- hierarchy.html | 175 +- inherit_graph_10.map | 4 +- inherit_graph_10.md5 | 2 +- inherit_graph_10.png | Bin 6831 -> 1658 bytes inherit_graph_11.map | 4 +- inherit_graph_11.md5 | 2 +- inherit_graph_11.png | Bin 3562 -> 6831 bytes inherit_graph_12.map | 2 +- inherit_graph_12.md5 | 2 +- inherit_graph_12.png | Bin 2524 -> 3562 bytes inherit_graph_13.map | 2 +- inherit_graph_13.md5 | 2 +- inherit_graph_13.png | Bin 2103 -> 2524 bytes inherit_graph_14.map | 2 +- inherit_graph_14.md5 | 2 +- inherit_graph_14.png | Bin 2551 -> 2103 bytes inherit_graph_15.map | 2 +- inherit_graph_15.md5 | 2 +- inherit_graph_15.png | Bin 3952 -> 2551 bytes inherit_graph_16.map | 2 +- inherit_graph_16.md5 | 2 +- inherit_graph_16.png | Bin 3467 -> 3952 bytes inherit_graph_17.map | 2 +- inherit_graph_17.md5 | 2 +- inherit_graph_17.png | Bin 3615 -> 3467 bytes inherit_graph_18.map | 2 +- inherit_graph_18.md5 | 2 +- inherit_graph_18.png | Bin 4051 -> 3615 bytes inherit_graph_19.map | 8 +- inherit_graph_19.md5 | 2 +- inherit_graph_19.png | Bin 20355 -> 4051 bytes inherit_graph_20.map | 8 +- inherit_graph_20.md5 | 2 +- inherit_graph_20.png | Bin 1679 -> 20355 bytes inherit_graph_21.map | 2 +- inherit_graph_21.md5 | 2 +- inherit_graph_21.png | Bin 2683 -> 1679 bytes inherit_graph_22.map | 2 +- inherit_graph_22.md5 | 2 +- inherit_graph_22.png | Bin 4543 -> 2683 bytes inherit_graph_23.map | 2 +- inherit_graph_23.md5 | 2 +- inherit_graph_23.png | Bin 4358 -> 4543 bytes inherit_graph_24.map | 2 +- inherit_graph_24.md5 | 2 +- inherit_graph_24.png | Bin 5217 -> 4358 bytes inherit_graph_25.map | 2 +- inherit_graph_25.md5 | 2 +- inherit_graph_25.png | Bin 3543 -> 5217 bytes inherit_graph_26.map | 2 +- inherit_graph_26.md5 | 2 +- inherit_graph_26.png | Bin 1810 -> 3543 bytes inherit_graph_27.map | 2 +- inherit_graph_27.md5 | 2 +- inherit_graph_27.png | Bin 2671 -> 1810 bytes inherit_graph_28.map | 2 +- inherit_graph_28.md5 | 2 +- inherit_graph_28.png | Bin 2115 -> 2671 bytes inherit_graph_29.map | 2 +- inherit_graph_29.md5 | 2 +- inherit_graph_29.png | Bin 2507 -> 2115 bytes inherit_graph_30.map | 2 +- inherit_graph_30.md5 | 2 +- inherit_graph_30.png | Bin 3400 -> 2507 bytes inherit_graph_31.map | 2 +- inherit_graph_31.md5 | 2 +- inherit_graph_31.png | Bin 3406 -> 3400 bytes inherit_graph_32.map | 2 +- inherit_graph_32.md5 | 2 +- inherit_graph_32.png | Bin 2298 -> 3406 bytes inherit_graph_33.map | 2 +- inherit_graph_33.md5 | 2 +- inherit_graph_33.png | Bin 2465 -> 2298 bytes inherit_graph_34.map | 4 +- inherit_graph_34.md5 | 2 +- inherit_graph_34.png | Bin 6983 -> 2465 bytes inherit_graph_35.map | 11 +- inherit_graph_35.md5 | 2 +- inherit_graph_35.png | Bin 14231 -> 6983 bytes inherit_graph_36.map | 9 +- inherit_graph_36.md5 | 2 +- inherit_graph_36.png | Bin 2325 -> 14231 bytes inherit_graph_37.map | 4 +- inherit_graph_37.md5 | 2 +- inherit_graph_37.png | Bin 6488 -> 2325 bytes inherit_graph_38.map | 4 +- inherit_graph_38.md5 | 2 +- inherit_graph_38.png | Bin 2173 -> 6488 bytes inherit_graph_39.map | 2 +- inherit_graph_39.md5 | 2 +- inherit_graph_39.png | Bin 2679 -> 2173 bytes inherit_graph_4.map | 2 +- inherit_graph_4.md5 | 2 +- inherit_graph_4.png | Bin 1314 -> 2010 bytes inherit_graph_40.map | 2 +- inherit_graph_40.md5 | 2 +- inherit_graph_40.png | Bin 2434 -> 2679 bytes inherit_graph_41.map | 2 +- inherit_graph_41.md5 | 2 +- inherit_graph_41.png | Bin 2242 -> 2434 bytes inherit_graph_42.map | 2 +- inherit_graph_42.md5 | 2 +- inherit_graph_42.png | Bin 2187 -> 2242 bytes inherit_graph_43.map | 2 +- inherit_graph_43.md5 | 2 +- inherit_graph_43.png | Bin 2527 -> 2187 bytes inherit_graph_44.map | 2 +- inherit_graph_44.md5 | 2 +- inherit_graph_44.png | Bin 2653 -> 2527 bytes inherit_graph_45.map | 2 +- inherit_graph_45.md5 | 2 +- inherit_graph_45.png | Bin 3843 -> 2653 bytes inherit_graph_46.map | 4 +- inherit_graph_46.md5 | 2 +- inherit_graph_46.png | Bin 5619 -> 3843 bytes inherit_graph_47.map | 8 +- inherit_graph_47.md5 | 2 +- inherit_graph_47.png | Bin 5698 -> 5619 bytes inherit_graph_48.map | 6 +- inherit_graph_48.md5 | 2 +- inherit_graph_48.png | Bin 2065 -> 5698 bytes inherit_graph_49.map | 2 +- inherit_graph_49.md5 | 2 +- inherit_graph_49.png | Bin 1766 -> 2065 bytes inherit_graph_5.map | 2 +- inherit_graph_5.md5 | 2 +- inherit_graph_5.png | Bin 2054 -> 1314 bytes inherit_graph_50.map | 2 +- inherit_graph_50.md5 | 2 +- inherit_graph_50.png | Bin 1690 -> 1766 bytes inherit_graph_51.map | 2 +- inherit_graph_51.md5 | 2 +- inherit_graph_51.png | Bin 3746 -> 1690 bytes inherit_graph_52.map | 2 +- inherit_graph_52.md5 | 2 +- inherit_graph_52.png | Bin 4031 -> 3746 bytes inherit_graph_53.map | 2 +- inherit_graph_53.md5 | 2 +- inherit_graph_53.png | Bin 2731 -> 4031 bytes inherit_graph_54.map | 2 +- inherit_graph_54.md5 | 2 +- inherit_graph_54.png | Bin 3071 -> 2731 bytes inherit_graph_55.map | 4 +- inherit_graph_55.md5 | 2 +- inherit_graph_55.png | Bin 4789 -> 3071 bytes inherit_graph_56.map | 4 +- inherit_graph_56.md5 | 2 +- inherit_graph_56.png | Bin 2456 -> 4789 bytes inherit_graph_57.map | 23 +- inherit_graph_57.md5 | 2 +- inherit_graph_57.png | Bin 49783 -> 2456 bytes inherit_graph_58.map | 23 +- inherit_graph_58.md5 | 2 +- inherit_graph_58.png | Bin 1130 -> 49783 bytes inherit_graph_59.map | 2 +- inherit_graph_59.md5 | 2 +- inherit_graph_59.png | Bin 1690 -> 1130 bytes inherit_graph_6.map | 2 +- inherit_graph_6.md5 | 2 +- inherit_graph_6.png | Bin 1682 -> 2054 bytes inherit_graph_60.map | 2 +- inherit_graph_60.md5 | 2 +- inherit_graph_60.png | Bin 2163 -> 1690 bytes inherit_graph_61.map | 2 +- inherit_graph_61.md5 | 2 +- inherit_graph_61.png | Bin 2346 -> 2163 bytes inherit_graph_62.map | 3 + inherit_graph_62.md5 | 1 + inherit_graph_62.png | Bin 0 -> 2346 bytes inherit_graph_7.map | 2 +- inherit_graph_7.md5 | 2 +- inherit_graph_7.png | Bin 1787 -> 1682 bytes inherit_graph_8.map | 2 +- inherit_graph_8.md5 | 2 +- inherit_graph_8.png | Bin 1744 -> 1787 bytes inherit_graph_9.map | 2 +- inherit_graph_9.md5 | 2 +- inherit_graph_9.png | Bin 1658 -> 1744 bytes inherits.html | 121 +- namespacerobot.html | 4 +- real__world__constants_8h_source.html | 4 +- search/all_10.js | 8 +- search/all_11.js | 203 +- search/all_12.js | 773 ++++---- search/all_13.js | 147 +- search/all_14.js | 4 +- search/all_15.js | 521 ++--- search/all_16.js | 1097 +++++----- search/all_17.js | 657 +++--- search/all_19.js | 1570 +++++++-------- search/all_1a.js | 21 +- search/all_1b.js | 1199 ++++++----- search/all_1c.js | 970 +++++---- search/all_1d.js | 721 +++---- search/all_1e.js | 8 +- search/all_1f.js | 404 ++-- search/all_23.js | 25 +- search/all_24.js | 4 +- search/all_9.js | 283 +-- search/all_a.js | 580 +++--- search/all_b.js | 12 +- search/all_c.js | 1760 ++++++++--------- search/all_d.js | 441 +++-- search/all_e.js | 348 ++-- search/all_f.js | 403 ++-- search/classes_1.js | 11 +- search/functions_1.js | 4 +- search/functions_10.js | 4 +- search/functions_11.js | 4 +- search/functions_12.js | 429 ++-- search/functions_13.js | 12 +- search/functions_14.js | 97 +- search/functions_16.js | 8 +- search/functions_1a.js | 13 +- search/functions_1b.js | 4 +- search/functions_3.js | 8 +- search/functions_4.js | 2 +- search/functions_7.js | 8 +- search/functions_8.js | 6 +- search/functions_9.js | 165 +- search/functions_a.js | 4 +- search/functions_b.js | 4 +- search/functions_c.js | 8 +- search/functions_d.js | 12 +- search/variables_10.js | 4 +- search/variables_14.js | 4 +- search/variables_2.js | 4 +- search/variables_3.js | 20 +- search/variables_6.js | 4 +- search/variables_8.js | 4 +- search/variables_9.js | 8 +- search/variables_d.js | 8 +- search/variables_e.js | 233 +-- 253 files changed, 7831 insertions(+), 7299 deletions(-) create mode 100644 AutonomousTask_8h_source.html create mode 100644 classautonomous_1_1AutonomousTask-members.html create mode 100644 classautonomous_1_1AutonomousTask.html create mode 100644 dir_164724f2049c96ee2d1b69e829ddec4e.html create mode 100644 dir_164724f2049c96ee2d1b69e829ddec4e_dep.map create mode 100644 dir_164724f2049c96ee2d1b69e829ddec4e_dep.md5 create mode 100644 dir_164724f2049c96ee2d1b69e829ddec4e_dep.png create mode 100644 inherit_graph_62.map create mode 100644 inherit_graph_62.md5 create mode 100644 inherit_graph_62.png diff --git a/AutonomousTask_8h_source.html b/AutonomousTask_8h_source.html new file mode 100644 index 000000000..495c260ea --- /dev/null +++ b/AutonomousTask_8h_source.html @@ -0,0 +1,164 @@ + + + + + + + +Resurgence (PY2022): src/autonomous/AutonomousTask.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Resurgence (PY2022) +
+
Codebase for the Husky Robotics 2021-2022 rover Resurgence
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AutonomousTask.h
+
+
+
1#pragma once
+
2
+
3#include "../navtypes.h"
+
4
+
5#include <cmath>
+
6#include <condition_variable>
+
7#include <mutex>
+
8#include <thread>
+
9
+
10namespace autonomous {
+
11
+
12/*
+
13 * @brief This class facilitates autonomous navigation to a specified waypoint.
+
14 */
+
+ +
16public:
+
17 /*
+
18 * @brief Constructs a new AutonomousTask
+
19 */
+ +
21
+
22 /*
+
23 * @brief Destructs AutonomousTask object, joins _autonomous_task_thread
+
24 */
+ +
26
+
27 /*
+
28 * @brief Starts an autonomous task to the provided waypoint
+
29 *
+
30 * @param navtypes::pose_t The waypoint to navigate to
+
31 */
+
32 void start(const navtypes::point_t&);
+
33
+
34 /*
+
35 * @brief Halts autonomous navigation by exiting the navigate() function and joining the
+
36 * autonomous task thread
+
37 */
+
38 void kill();
+
39
+
40private:
+
41 /*
+
42 * @brief Handles navigation to waypoint, called by start()
+
43 */
+
44 void navigate();
+
45
+
46 navtypes::point_t _waypoint_coords;
+
47 std::mutex _autonomous_task_mutex;
+
48 std::thread _autonomous_task_thread;
+
49 std::condition_variable _autonomous_task_cv;
+
50 bool _kill_called;
+
51};
+
+
52
+
53} // namespace autonomous
+ + + + +
size_t start() const
+ + + +
Definition AutonomousTask.h:15
+
+ + + + diff --git a/Constants_8h_source.html b/Constants_8h_source.html index 927199722..00c26668c 100644 --- a/Constants_8h_source.html +++ b/Constants_8h_source.html @@ -93,116 +93,127 @@
1#pragma once
2
-
3#include "world_interface/data.h"
-
4
-
5#include <array>
-
6#include <chrono>
-
7#include <cmath>
-
8#include <string>
-
9
-
10#include <frozen/unordered_map.h>
-
11
-
12namespace Constants {
-
13// TODO: make sure these are still accurate with the new arm.
-
14extern const double SHOULDER_LENGTH;
-
15extern const double ELBOW_LENGTH;
-
16
-
20extern const float MDEG_PER_DEG;
-
21
-
22// TODO: tune these drive extern constants
-
23extern const double ROBOT_LENGTH;
-
27extern const double WHEEL_BASE;
-
32extern const double EFF_WHEEL_BASE;
-
33extern const double WHEEL_RADIUS;
-
34extern const double PWM_PER_RAD_PER_SEC;
-
35extern const double MAX_DRIVE_PWM;
-
36
-
43extern const double MAX_WHEEL_VEL;
-
50extern const double MAX_DTHETA;
-
51
-
52// TODO: We need to recalibrate the camera, since we replaced it with a different one.
-
53// TODO: rename cameras (in MC as well) as appropriate
-
54extern const char* MAST_CAMERA_CONFIG_PATH;
-
55extern const robot::types::CameraID MAST_CAMERA_ID;
-
56
-
57extern const char* FOREARM_CAMERA_CONFIG_PATH;
-
58extern const robot::types::CameraID FOREARM_CAMERA_ID;
-
59
-
60extern const char* HAND_CAMERA_CONFIG_PATH;
-
61extern const robot::types::CameraID HAND_CAMERA_ID;
-
62
-
63extern const uint16_t WS_SERVER_PORT;
-
64
-
68extern const char* MC_PROTOCOL_NAME;
-
72extern const char* SIM_PROTOCOL_NAME;
-
76extern const char* DGPS_PROTOCOL_NAME;
-
80extern const char* ARDUPILOT_PROTOCOL_NAME;
-
81
-
82extern const std::chrono::milliseconds JOINT_POWER_REPEAT_PERIOD;
-
83extern const std::chrono::milliseconds ARM_IK_UPDATE_PERIOD;
-
84
-
85namespace Nav {
-
86// Distance (m) we could have traveled forward in the time it takes to turn 1 radian
-
87extern const double RADIAN_COST;
-
88// Planner stays this far away from obstacles (m)
-
89extern const double SAFE_RADIUS;
-
90extern const int MAX_ITERS;
-
91extern const double PLAN_RESOLUTION;
-
92extern const double SEARCH_RADIUS_INCREMENT;
-
93extern const double GPS_WAYPOINT_RADIUS;
-
94extern const double LANDMARK_WAYPOINT_RADIUS;
-
95extern const double EPS;
-
96} // namespace Nav
-
97
-
98// Lidar
-
99namespace Lidar {
-
100extern const std::string RP_PATH;
-
101extern const double MM_PER_M;
-
102extern const uint32_t RPLIDAR_A1_BAUDRATE;
-
103extern const uint32_t RPLIDAR_S1_BAUDRATE;
-
104} // namespace Lidar
-
105
-
106// Video encoding
-
107namespace video {
-
115extern const int H264_RF_CONSTANT;
-
116
- -
121} // namespace video
-
122
-
126constexpr frozen::unordered_map<robot::types::jointid_t, robot::types::motorid_t, 7>
-
127 JOINT_MOTOR_MAP{{robot::types::jointid_t::armBase, robot::types::motorid_t::armBase},
-
128 {robot::types::jointid_t::shoulder, robot::types::motorid_t::shoulder},
-
129 {robot::types::jointid_t::elbow, robot::types::motorid_t::elbow},
-
130 {robot::types::jointid_t::forearm, robot::types::motorid_t::forearm},
-
131 {robot::types::jointid_t::wrist, robot::types::motorid_t::wrist},
-
132 {robot::types::jointid_t::hand, robot::types::motorid_t::hand},
-
133 {robot::types::jointid_t::activeSuspension,
-
134 robot::types::motorid_t::activeSuspension}};
-
135
-
136// Arm inverse kinematics
-
137namespace arm {
-
141extern const double SAFETY_FACTOR;
-
142
-
146extern const double MAX_EE_VEL;
-
147extern const double IK_SOLVER_THRESH;
-
148
-
149extern const int IK_SOLVER_MAX_ITER;
-
150
-
155extern const std::array<robot::types::jointid_t, 2> IK_MOTOR_JOINTS;
-
156
-
161extern const std::array<robot::types::motorid_t, 2> IK_MOTORS;
-
162
-
166constexpr frozen::unordered_map<robot::types::motorid_t, std::pair<int, int>, IK_MOTORS.size()>
-
167 JOINT_LIMITS{{robot::types::motorid_t::shoulder, {18200, 152500}},
-
168 {robot::types::motorid_t::elbow, {-169100, 0}}};
-
169
-
173constexpr frozen::unordered_map<robot::types::motorid_t, double, IK_MOTORS.size()>
-
174 SEGMENT_LENGTHS{{robot::types::motorid_t::shoulder, 0.3848608},
-
175 {robot::types::motorid_t::elbow, 0.461264}};
-
176} // namespace arm
-
177
-
178extern const double CONTROL_HZ;
-
179} // namespace Constants
+
3#include "utils/time.h"
+
4#include "world_interface/data.h"
+
5
+
6#include <array>
+
7#include <chrono>
+
8#include <cmath>
+
9#include <string>
+
10
+
11#include <frozen/unordered_map.h>
+
12
+
13namespace Constants {
+
14// TODO: make sure these are still accurate with the new arm.
+
15extern const double SHOULDER_LENGTH;
+
16extern const double ELBOW_LENGTH;
+
17
+
21extern const float MDEG_PER_DEG;
+
22
+
23// TODO: tune these drive extern constants
+
24extern const double ROBOT_LENGTH;
+
28extern const double WHEEL_BASE;
+
33extern const double EFF_WHEEL_BASE;
+
34extern const double WHEEL_RADIUS;
+
35extern const double PWM_PER_RAD_PER_SEC;
+
36extern const double MAX_DRIVE_PWM;
+
37
+
44extern const double MAX_WHEEL_VEL;
+
51extern const double MAX_DTHETA;
+
52
+
53// TODO: We need to recalibrate the camera, since we replaced it with a different one.
+
54// TODO: rename cameras (in MC as well) as appropriate
+
55extern const char* MAST_CAMERA_CONFIG_PATH;
+
56extern const robot::types::CameraID MAST_CAMERA_ID;
+
57
+
58extern const char* FOREARM_CAMERA_CONFIG_PATH;
+
59extern const robot::types::CameraID FOREARM_CAMERA_ID;
+
60
+
61extern const char* HAND_CAMERA_CONFIG_PATH;
+
62extern const robot::types::CameraID HAND_CAMERA_ID;
+
63
+
64extern const uint16_t WS_SERVER_PORT;
+
65
+
69extern const char* MC_PROTOCOL_NAME;
+
73extern const char* SIM_PROTOCOL_NAME;
+
77extern const char* DGPS_PROTOCOL_NAME;
+
81extern const char* ARDUPILOT_PROTOCOL_NAME;
+
82
+
83extern const std::chrono::milliseconds JOINT_POWER_REPEAT_PERIOD;
+
84extern const std::chrono::milliseconds ARM_IK_UPDATE_PERIOD;
+
85
+
86namespace Nav {
+
87// Distance (m) we could have traveled forward in the time it takes to turn 1 radian
+
88extern const double RADIAN_COST;
+
89// Planner stays this far away from obstacles (m)
+
90extern const double SAFE_RADIUS;
+
91extern const int MAX_ITERS;
+
92extern const double PLAN_RESOLUTION;
+
93extern const double SEARCH_RADIUS_INCREMENT;
+
94extern const double GPS_WAYPOINT_RADIUS;
+
95extern const double LANDMARK_WAYPOINT_RADIUS;
+
96extern const double EPS;
+
97} // namespace Nav
+
98
+
99// Lidar
+
100namespace Lidar {
+
101extern const std::string RP_PATH;
+
102extern const double MM_PER_M;
+
103extern const uint32_t RPLIDAR_A1_BAUDRATE;
+
104extern const uint32_t RPLIDAR_S1_BAUDRATE;
+
105} // namespace Lidar
+
106
+
107// Video encoding
+
108namespace video {
+
116extern const int H264_RF_CONSTANT;
+
117
+ +
122} // namespace video
+
123
+
127constexpr frozen::unordered_map<robot::types::jointid_t, robot::types::motorid_t, 7>
+
128 JOINT_MOTOR_MAP{{robot::types::jointid_t::armBase, robot::types::motorid_t::armBase},
+
129 {robot::types::jointid_t::shoulder, robot::types::motorid_t::shoulder},
+
130 {robot::types::jointid_t::elbow, robot::types::motorid_t::elbow},
+
131 {robot::types::jointid_t::forearm, robot::types::motorid_t::forearm},
+
132 {robot::types::jointid_t::wrist, robot::types::motorid_t::wrist},
+
133 {robot::types::jointid_t::hand, robot::types::motorid_t::hand},
+
134 {robot::types::jointid_t::activeSuspension,
+
135 robot::types::motorid_t::activeSuspension}};
+
136
+
137// Arm inverse kinematics
+
138namespace arm {
+
142extern const double SAFETY_FACTOR;
+
143
+
147extern const double MAX_EE_VEL;
+
148extern const double IK_SOLVER_THRESH;
+
149
+
150extern const int IK_SOLVER_MAX_ITER;
+
151
+
156extern const std::array<robot::types::jointid_t, 2> IK_MOTOR_JOINTS;
+
157
+
162extern const std::array<robot::types::motorid_t, 2> IK_MOTORS;
+
163
+
167constexpr frozen::unordered_map<robot::types::motorid_t, std::pair<int, int>, IK_MOTORS.size()>
+
168 JOINT_LIMITS{{robot::types::motorid_t::shoulder, {18200, 152500}},
+
169 {robot::types::motorid_t::elbow, {-169100, 0}}};
+
170
+
174constexpr frozen::unordered_map<robot::types::motorid_t, double, IK_MOTORS.size()>
+
175 SEGMENT_LENGTHS{{robot::types::motorid_t::shoulder, 0.3848608},
+
176 {robot::types::motorid_t::elbow, 0.461264}};
+
177} // namespace arm
+
178
+
179namespace autonomous {
+
180extern const double THETA_KP;
+
181extern const double DRIVE_VEL;
+
182extern const double SLOW_DRIVE_THRESHOLD;
+
183extern const double DONE_THRESHOLD;
+
184// Duration long enough to confirm we are there, not so long that time is wasted
+
185extern const util::dseconds CLOSE_TO_TARGET_DUR_VAL;
+
186} // namespace autonomous
+
187
+
188extern const double CONTROL_HZ;
+
189
+
190} // namespace Constants
diff --git a/DriveToWaypointCommand_8h_source.html b/DriveToWaypointCommand_8h_source.html index e085cc91d..84b6d95d9 100644 --- a/DriveToWaypointCommand_8h_source.html +++ b/DriveToWaypointCommand_8h_source.html @@ -106,8 +106,8 @@
19public:
-
31 DriveToWaypointCommand(const navtypes::point_t& target, double thetaKP, double driveVel,
-
32 double slowDriveVel, double doneThresh,
+
31 DriveToWaypointCommand(const navtypes::point_t& target, double thetaKP, double driveVel,
+
32 double slowDriveThresh, double doneThresh,
33 util::dseconds closeToTargetDur);
34
42 void setState(const navtypes::pose_t& pose, robot::types::datatime_t time);
@@ -121,7 +121,7 @@
62 navtypes::pose_t pose;
63 double thetaKP;
64 double driveVel;
-
65 double slowDriveVel;
+
65 double slowDriveThresh;
66 double doneThresh;
67 bool setStateCalledBeforeOutput;
68 util::dseconds closeToTargetDur;
@@ -138,9 +138,9 @@
Definition CommandBase.h:10
Provides robot drive velocity commands to navigate the robot to a given waypoint given the velocity p...
Definition DriveToWaypointCommand.h:18
void setState(const navtypes::pose_t &pose, robot::types::datatime_t time)
Must be called before getOutput() for each iteration.
Definition DriveToWaypointCommand.cpp:19
-
bool isDone() override
Returns whether the DriveToWaypointCommand has finished its navigation task.
Definition DriveToWaypointCommand.cpp:45
-
DriveToWaypointCommand(const navtypes::point_t &target, double thetaKP, double driveVel, double slowDriveVel, double doneThresh, util::dseconds closeToTargetDur)
Creates a new DriveToWaypointCommand with the specified targeting information.
Definition DriveToWaypointCommand.cpp:11
+
bool isDone() override
Returns whether the DriveToWaypointCommand has finished its navigation task.
Definition DriveToWaypointCommand.cpp:47
command_t getOutput() override
Gets the angular velocity and forward speed to run the robot at in order to navigate robot to target.
Definition DriveToWaypointCommand.cpp:26
+
DriveToWaypointCommand(const navtypes::point_t &target, double thetaKP, double driveVel, double slowDriveThresh, double doneThresh, util::dseconds closeToTargetDur)
Creates a new DriveToWaypointCommand with the specified targeting information.
Definition DriveToWaypointCommand.cpp:11
Definition CommandBase.h:5
diff --git a/MissionControlMessages_8h_source.html b/MissionControlMessages_8h_source.html index 0a122308d..ec732e9b3 100644 --- a/MissionControlMessages_8h_source.html +++ b/MissionControlMessages_8h_source.html @@ -107,16 +107,17 @@
14constexpr const char* JOINT_POSITION_REQ_TYPE = "jointPositionRequest";
15constexpr const char* CAMERA_STREAM_OPEN_REQ_TYPE = "cameraStreamOpenRequest";
16constexpr const char* CAMERA_STREAM_CLOSE_REQ_TYPE = "cameraStreamCloseRequest";
-
17
-
18// report keys
-
19constexpr const char* MOTOR_STATUS_REP_TYPE = "motorStatusReport";
-
20constexpr const char* CAMERA_STREAM_REP_TYPE = "cameraStreamReport";
-
21constexpr const char* MOUNTED_PERIPHERAL_REP_TYPE = "mountedPeripheralReport";
-
22constexpr const char* JOINT_POSITION_REP_TYPE = "jointPositionReport";
-
23constexpr const char* ROVER_POS_REP_TYPE = "roverPositionReport";
-
24constexpr const char* ARM_IK_ENABLED_REP_TYPE = "armIKEnabledReport";
-
25
-
26} // namespace net::mc
+
17constexpr const char* WAYPOINT_NAV_REQ_TYPE = "waypointNavRequest";
+
18
+
19// report keys
+
20constexpr const char* MOTOR_STATUS_REP_TYPE = "motorStatusReport";
+
21constexpr const char* CAMERA_STREAM_REP_TYPE = "cameraStreamReport";
+
22constexpr const char* MOUNTED_PERIPHERAL_REP_TYPE = "mountedPeripheralReport";
+
23constexpr const char* JOINT_POSITION_REP_TYPE = "jointPositionReport";
+
24constexpr const char* ROVER_POS_REP_TYPE = "roverPositionReport";
+
25constexpr const char* ARM_IK_ENABLED_REP_TYPE = "armIKEnabledReport";
+
26
+
27} // namespace net::mc