195 Commits

Author SHA1 Message Date
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
ryleu
c4f60d6814 clean up nitpicks 2025-10-23 00:52:19 -05:00
David
cc53e6efd6 chore: update astra_descriptions 2025-10-22 23:40:04 -05:00
David
d879a3bae4 feat: add drill to bio headless 2025-10-21 10:41:34 -05:00
David
2165003f35 fix: msg len requirements now account for viccan packaging
There are no viccan messages with len(data) == 3, only 1, 2, or 4
2025-10-18 12:17:45 -05:00
ryleu
414254b3b7 add a PORT_OVERRIDE env var 2025-10-18 02:35:09 -05:00
David
b12515bf11 fix: rover can turn left again 2025-10-18 02:09:50 -05:00
David
8c01efeaf7 fix: make cmd_vel QoS compatible with everything else 2025-10-18 01:48:30 -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
7ac250fd66 fix: correct descriptions submodule name 2025-10-16 18:05:13 -05:00
David
a7ec355c4f style: move description files to new repo (astra_descriptions) 2025-10-16 18:03:43 -05:00
David
05af7f9be4 style: rename core_rover_description to core_description 2025-10-16 16:21:13 -05:00
David
5e8b60f720 style: move core_rover_description and core_gazebo into new astra_description folder 2025-10-16 12:33:10 -05:00
David
b9a63126e1 fix: correctly spawn controllers
models was commented out in CMakeLists.txt because it is currently an empty directory, but will be used at a later point
2025-10-16 12:16:49 -05:00
David
a58f9b6ada feat: make frames work properly, rviz is now accurate 2025-10-15 02:31:47 -05:00
David
89015ee7a5 feat: add VicCAN message validity checking and core feedback data length checking 2025-10-14 15:21:23 -05:00
David
d565dbe31f refactor: change msg.command_id from if elif to match case 2025-10-14 13:49:53 -05:00
David
2d258b3103 refactor: new feedback topics use default sensor data QoS 2025-10-14 13:45:10 -05:00
David
86d01c29e3 fix: add gear ratio to JointState 2025-10-14 11:47:23 -05:00
David
366f1e0c58 feat: add joint_state pub to Core for wheel position and velocity 2025-10-13 21:50:09 -05:00
David
6bbb5d8706 refactor: make diff_controller listen on /core/rwist
Now you can control it with headless or teleop_keyboard_twist
2025-10-10 23:37:19 -05:00
David
676f86bcd0 feat: make ros2 controllers start automatically
Adds load_ros2_controllers.launch.py
Weird issue where if the update rate on the controller is 10, then the controller manager doesn't respond to requests, but if you set it to 100 (still less than gazebo's rate), then it works...
2025-10-10 18:58:30 -05:00
David
723aa33e3c fix: make work slightly more consistently 2025-10-10 14:16:47 -05:00
David
86684b0bff feat: add ros2_control to Core URDF 2025-10-10 02:22:12 -05:00
David
8b8ff69c27 chore: update ros2_interfaces_pkg to v1.1
No real difference, just made the PR and release
2025-10-09 22:11:29 -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
924509b733 fix: add ptz back to rover_launch.py
oopsies
2025-10-04 23:06:50 -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
e5af28af3a feat: add Core URDF with basic Gazebo sim 2025-09-30 17:49:01 -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
644459ec71 style: explain anchor topics in comment block 2025-09-29 11:09:05 -05:00
David
b1f4fe8320 refactor: change Core commands to VicCAN 2025-09-29 10:29:01 -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
75d1a841bb feat: add VicCAN topics to Core, sync Core with PDR 2025-09-28 19:30:40 -05:00
David
7992acf60f feat: add VicCAN topics to Anchor 2025-09-28 19:22:56 -05:00
David
75fefa7048 fix: typo in latency tester
Also bump package ver.
Finishes latency_tester for now, it is functional, now we just need to use it.
2025-09-26 16:11:49 -05:00
David
49b8acc860 feat: control wrist yaw and roll at same time
Also made start_rosbag.sh actually executable ._.
2025-09-15 11:43:22 -05:00
David
00be1cef52 fix: make headless rumble stronger 2025-09-11 18:33:30 -05:00
David
660ceb560d feat: populate motor status timestamps 2025-09-10 23:57:21 -05:00
David
5f8a4a0ca7 feat: add latency_tester to test comms latency 2025-09-10 23:00:40 -05:00
David
abcb9b9a4d feat: fully add NewCoreFeedback to core_pkg, including REV pos/vel 2025-09-10 23:00:17 -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