Commit Graph

55 Commits

Author SHA1 Message Date
David
ff4a58e6ed refactor: (headless) finish integrating Core cmd_vel 2026-03-19 20:02:37 -05:00
David
178d5001d6 Merge remote-tracking branch 'origin/main' into core-ros2-control 2026-03-19 19:45:59 -05:00
David Sharpe
684c2994ec cmd_vel headless 2026-03-18 01:17:00 -05:00
David Sharpe
980c08ba4f refactor: implement Riley's comments
- Add @warnings.deprecated decorators to callbacks that use old topics
- Rename "*new*" topics
- Print debug on malformed message receival
- Un-invert Axes 2 & 3 in the URDF
- Don't silently check mcu_name twice
- Remove threading.Thread (not one of Riley's comments)
- Add a real signal handler (ditto)
- Move stamped stop messages to helper functions
2026-03-17 01:14:18 -05:00
David Sharpe
743744edaa refactor: (headless) change string parameters to bool 2026-03-16 00:39:22 -05:00
David Sharpe
292b3a742d refactor: (headless) cleanup mainly arm 2026-03-16 00:26:35 -05:00
David Sharpe
62fd1b110d refactor: remedy QoS profiles 2026-03-08 03:57:28 -05:00
David Sharpe
aaf40124fa Merge branch 'main' into arm-topic-refactor 2026-03-08 03:56:25 -05:00
David Sharpe
294ae393de feat: (headless) add new arm manual (JointJog) 2026-03-08 03:29:20 -05:00
David Sharpe
9c9d3d675e refactor: (headless) reorganize send_controls() into different functions 2026-03-08 01:08:17 -06:00
David Sharpe
6fa47021fc refactor: (headless) reorganize __init__(), add use_old_topics parameter 2026-03-08 00:42:41 -06:00
David Sharpe
169ab85607 refactor: formalize Arm URDF joint and link names 2026-03-07 16:36:58 -06:00
David
a3044963e5 feat: (arm) lin ac go back in too 2026-02-14 13:19:49 -06:00
David
51d0e747ad fix: (headless) make new arm controls useable 2026-02-04 04:00:17 -06:00
David
caa5a637bb feat: (headless) add arm IK control support
Only Twist-based so far, no JointJog. need to figure out which frame to send commands in. Currently `base_link`.
2026-02-04 04:00:17 -06:00
David
213105a46b feat: (headless) add env var to configure stick deadzone 2026-02-04 04:00:17 -06:00
David
7ed2e15908 refactor: (headless) only send stop messages on mode change
As opposed to constantly sending them always
2026-02-04 04:00:17 -06:00
David
5f5f6e20ba feat: (headless) add new control scheme for arm 2026-02-04 04:00:17 -06:00
David
9fc120b09e fix: make QoS compatible with basestation-game 2026-01-31 17:21:52 -06:00
SHC-ASTRA
b5be93e5f6 add an error instead of a crash when a gamepad fails to initialize 2026-01-14 19:49:33 -06:00
SHC-ASTRA
0e775c65c6 add trying multiple controllers to headless 2026-01-14 04:56:55 -06:00
David
df78575206 feat: (headless) add Ctrl+C try-except 2025-12-13 16:23:42 -06:00
David
96f5eda005 feat: (headless) detect incorrectly connected controller 2025-11-10 22:02:49 -06:00
ryleu
d7fd133586 updated to astra_msgs 2025-11-06 21:35:47 -06:00
ryleu
c107b82a8d reformat with black 2025-11-06 19:10:21 -06:00
David Sharpe
1281236b36 fix: I hate python (#21)
BioControl.drill expects an int, have to explicitly cast to an int or headless will crash
Makes main branch functional
2025-10-25 11:10:07 -05:00
David
fe1ae6120f feat: all the features
* Move rover-ros2/rover_launch.py to src/anchor_pkg/launch/, renamed to rover.launch.py
* Anchor now waits to initialize topics until after it has found a microcontroller.
* Headless now waits for anchor to start before it starts itself
* Add default cases to motor feedback for motorId
* Added black to the flake.nix and package.xml
2025-10-23 02:22:31 -05:00
David
44aa4b0848 feat: ramp drill speed 2025-10-23 01:00:13 -05:00
David
d879a3bae4 feat: add drill to bio headless 2025-10-21 10:41:34 -05:00
David
b12515bf11 fix: rover can turn left again 2025-10-18 02:09:50 -05:00
David Sharpe
aa84667aab feat: add depencies to packages.xml files, add packages to flake.nix 2025-10-17 18:06:54 -05:00
David
ebd07258f0 refactor: replace speed_mode with max_duty for core control
Makes it make more sense
2025-10-09 16:19:34 -05:00
David
0e256c7d22 feat: add agpl-3.0-only license 2025-10-04 23:24:23 -05:00
David
b62060026c style: minor edits based on riley's comments 2025-10-04 23:08:04 -05:00
David
36da0203bc fix: make turning input curve less aggressive
^2 instead of ^3. Not tested, hopefully makes it a lil better
2025-10-01 21:49:40 -05:00
David
87b2ab6f8c fix!: remove bio from headless
Slows down controls too much, going to need to figure something out for speeding that up
2025-10-01 11:18:31 -05:00
David
8c5287158d fix: arm/bio headless works again
I hate python
2025-09-30 11:56:05 -05:00
David
97fa17a4a8 feat: add bio to headless
NOTE: UNTESTED
2025-09-29 11:34:35 -05:00
David
a25983126f refactor: move headless globals to class vars 2025-09-29 09:25:07 -05:00
David
647ff34fa5 feat: add rumble on headless mode switch (core/arm) 2025-09-29 09:16:43 -05:00
David
00be1cef52 fix: make headless rumble stronger 2025-09-11 18:33:30 -05:00
David
858e03f385 feat: add rumble on headless ready, change turn to cubic
Controller rumbles for 200ms when __init__() finishes, and angular is now cubic so turning control follows a curve rather than a straight line (y=x^3 instead of y=x)
2025-09-10 22:59:27 -05:00
David
882cbc5949 fix: -float is not float???
Tested with controller but on Clucky
2025-09-10 22:46:27 -05:00
David
d5ba9ad721 feat: add speed and brake mode control
Speed mode is set with bumpers, brake mode is set with 'A' button. Implemented through /core/control/state topic with custom message CoreCtrlState.

Also added Core measurements from Gabe, and did some general refactoring.
2025-09-10 10:49:51 -05:00
David
93226203f1 style: clean up core and headless 2025-09-09 20:12:46 -05:00
David
0c1a368499 feat: add Twist support to headless and core_pkg
Left stick y is forward/backward, right stick x is turn/angular. Still uses duty cycle. Published on /core/twist. On headless, needs CORE_MODE constant changed to "twist" to use new Twist command.

Also added TwistStamped to core_pkg for /cmd_vel. Will use velocity control. Needs wheel measurements from Core CAD. Will be used for Autonomy.
2025-09-08 09:51:25 -05:00
David
5461fbab11 fix: round() is not float ._. 2025-09-02 12:24:38 -05:00
David
caf20f46f6 refactor: poll controller state all at once, add deadzones
UNTESTED

Also adds ability to control axis 0 while controlling wrist
2025-09-02 02:43:38 -05:00
David
d3dbbf8658 style: fix author stuff for headless_pkg 2025-08-28 18:55:22 -05:00
David
4254ecc4ce fix: python float/int for /core/control 2025-08-22 16:41:54 -05:00