diff --git a/onboard/src/controls/config/crush.yaml b/onboard/src/controls/config/crush.yaml index 7ebf7ec0..f5804819 100644 --- a/onboard/src/controls/config/crush.yaml +++ b/onboard/src/controls/config/crush.yaml @@ -206,30 +206,39 @@ static_power_global: y: 0 z: -0.206 power_scale_factor: 1 +# all x positions assume the corner link is 10.41527MM +x than it actually is thrusters: - - name: middle_right + - name: middle_right_first type: T200 - pos: [-0.2404152701, -0.42425, -0.003175] + pos: [-0.15501, -0.34805, -0.003175] + rpy: [0, 90, 0] + - name: middle_right_second + type: T200 + pos: [-0.32582, -0.34805, -0.003175] rpy: [0, 90, 0] - name: front_right type: T200 - pos: [3.360246e-05, -0.3867988726, -0.003175] + pos: [0.001895, -0.38866, -0.003175] rpy: [0, 0, -135] - name: back_right type: T200 - pos: [-0.4808641427, -0.3867988726, -0.003175] + pos: [-0.48273, -0.38866, -0.003175] rpy: [0, 0, 135] - name: back_left type: T200 - pos: [-0.4808641427, 0.09409887258, -0.003175] + pos: [-0.48273, 0.09596, -0.003175] rpy: [0, 0, -135] - - name: middle_left + - name: middle_left_first + type: T200 + pos: [-0.15501, 0.05535, -0.003175] + rpy: [0, 90, 0] + - name: middle_left_second type: T200 - pos: [-0.2404152701, 0.13155, -0.003175] + pos: [-0.32582, 0.05535, -0.003175] rpy: [0, 90, 0] - name: front_left type: T200 - pos: [3.360246e-05, 0.09409887258, -0.003175] + pos: [0.001895, 0.09596, -0.003175] rpy: [0, 0, 135] wrench_matrix_file_path: data/crush_wrench.csv wrench_matrix_pinv_file_path: data/crush_wrench_pinv.csv diff --git a/onboard/src/controls/data/crush_wrench.csv b/onboard/src/controls/data/crush_wrench.csv index 653b9f31..11200e2f 100644 --- a/onboard/src/controls/data/crush_wrench.csv +++ b/onboard/src/controls/data/crush_wrench.csv @@ -1,6 +1,6 @@ -0.0,-0.7071067812,-0.7071067812,-0.7071067812,0.0,-0.7071067812 -0.0,-0.7071067812,0.7071067812,-0.7071067812,0.0,0.7071067812 --1.0,0.0,0.0,0.0,-1.0,0.0 -0.2779,0.0104651804,-0.0104651804,0.0104651804,-0.2779,-0.0104651804 -0.0,-0.0104651804,-0.0104651804,-0.0104651804,0.0,-0.0104651804 -0.0,-0.3400460567,-0.3400460567,0.3400460567,0.0,0.3400460567 \ No newline at end of file +0.0,0.0,-0.7071067812,-0.7071067812,-0.7071067812,0.0,0.0,-0.7071067812 +0.0,0.0,-0.7071067812,0.7071067812,-0.7071067812,0.0,0.0,0.7071067812 +-1.0,-1.0,0.0,0.0,0.0,-1.0,-1.0,0.0 +0.6576125,0.6576125,0.1234785217,-0.1234785217,0.1234785217,0.2542125,0.2542125,-0.1234785217 +0.0754315,-0.0953785,-0.1234785217,-0.1234785217,-0.1234785217,0.0754315,-0.0953785,-0.1234785217 +0.0,0.0,-0.6580045792,-0.6721127737,0.0273551329,0.0,0.0,0.0132469384 diff --git a/onboard/src/controls/data/crush_wrench_pinv.csv b/onboard/src/controls/data/crush_wrench_pinv.csv index cda5234b..01800689 100644 --- a/onboard/src/controls/data/crush_wrench_pinv.csv +++ b/onboard/src/controls/data/crush_wrench_pinv.csv @@ -1,6 +1,8 @@ -0.0,0.0266282836,-0.5,1.7992083483,0.0,0.0 --0.3534759652,-0.3535533906,0.0,0.0,-0.0052314443,-0.7351945276 --0.3534759652,0.3535533906,0.0,0.0,-0.0052314443,-0.7351945276 --0.3534759652,-0.3535533906,0.0,0.0,-0.0052314443,0.7351945276 -0.0,-0.0266282836,-0.5,-1.7992083483,0.0,0.0 --0.3534759652,0.3535533906,0.0,0.0,-0.0052314443,0.7351945276 \ No newline at end of file +-0.511167379,0.2164414973,0.285892663,1.2394645513,2.9272290849,0.0 +0.511167379,0.2164414973,0.3442821015,1.2394645513,-2.9272290849,0.0 +-0.0209452055,-0.3608313206,0.0,0.0,0.0,-0.729543904 +-0.0209452055,0.3462754606,0.0,0.0,0.0,-0.729543904 +-0.6861615757,-0.3462754606,0.0,0.0,0.0,0.729543904 +-0.511167379,-0.2164414973,-0.8442821015,-1.2394645513,2.9272290849,0.0 +0.511167379,-0.2164414973,-0.785892663,-1.2394645513,-2.9272290849,0.0 +-0.6861615757,0.3608313206,0.0,0.0,0.0,0.729543904 diff --git a/onboard/src/offboard_comms/config/crush.yaml b/onboard/src/offboard_comms/config/crush.yaml index 9078fe22..51a456b2 100644 --- a/onboard/src/offboard_comms/config/crush.yaml +++ b/onboard/src/offboard_comms/config/crush.yaml @@ -38,7 +38,10 @@ gyro: modem: ftdi: CP2102 thrusters: - - name: middle_right + - name: middle_right_first # TODO: Validate cw and standard_esc values for all middle_left and middle_right thrusters + cw: false + standard_esc: false + - name: middle_right_second cw: false standard_esc: false - name: front_right @@ -50,7 +53,10 @@ thrusters: - name: back_left cw: true standard_esc: false - - name: middle_left + - name: middle_left_first + cw: true + standard_esc: true + - name: middle_left_second cw: true standard_esc: true - name: front_left diff --git a/onboard/src/offboard_comms/sketches/thruster/thruster.ino b/onboard/src/offboard_comms/sketches/thruster/thruster.ino index 087e7a4e..ab038b87 100644 --- a/onboard/src/offboard_comms/sketches/thruster/thruster.ino +++ b/onboard/src/offboard_comms/sketches/thruster/thruster.ino @@ -55,7 +55,7 @@ void setup() { THRUSTER_PWM_OFFSET = 57; break; case CRUSH: - NUM_THRUSTERS = 6; + NUM_THRUSTERS = 8; THRUSTER_PWM_OFFSET = 63; break; default: diff --git a/onboard/src/task_planning/task_planning/tasks/prequal_tasks.py b/onboard/src/task_planning/task_planning/tasks/prequal_tasks.py index b75c5d9c..9f7014fa 100644 --- a/onboard/src/task_planning/task_planning/tasks/prequal_tasks.py +++ b/onboard/src/task_planning/task_planning/tasks/prequal_tasks.py @@ -16,6 +16,7 @@ LANE_MARKER_HEIGHT_METERS = 0.3048 + @task async def prequal_task(self: Task) -> Task[None, None, None]: # noqa: PLR0915 """Complete the prequalification task by tracking the lane marker."""