Commit Graph

263 Commits

Author SHA1 Message Date
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 Sharpe
e70a10a191 feat: refactor Core topics and add VicCAN (#17, topic-refactor)
Refactor Core, Anchor, and Headless with new message types
Add Core URDF and extremely basic Gazebo sim files
Bump ros2_interfaces_pkg to v1.1
v1.1
2025-10-09 22:14:43 -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 Sharpe
2a797693a2 Add Nix flake 2025-09-17 22:40:52 -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
64405e3a0b feat: start rosbag on boot 2025-09-11 15:56:20 -05:00
David
9370b91c7e style: move systemd services to a folder 2025-09-11 13:32:34 -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
David
93226203f1 style: clean up core and headless 2025-09-09 20:12:46 -05:00
David
4c972e6264 fix: correctly account for neg linear
Rover couldn't drive forwards lmao... Now correctly inverts turning direction when driving backwards... Could use some work tho, a little confusing rn.

Also got some rough measurements from the rover with a tape measurement, updated wheelbase and wheel radius.
2025-09-09 12:51:48 -05:00
David
bac9b3cbe0 fix: correct turning direction 2025-09-08 23:01:40 -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
056ffd1eb6 feat: add Twist and Imu messages to Core 2025-09-07 20:04:01 -05:00
David Sharpe
8868408ac3 feat: add arm support to headless (headless_combine #16)
Create new headless_pkg with Core + Arm
Toggle with dpad up/down; up for arm, down for core
2025-09-07 19:11:12 -05:00
David
5461fbab11 fix: round() is not float ._. 2025-09-02 12:24:38 -05:00
David
a0db7f62bc refactor: move auto_start folder into rover-ros2 from home dir 2025-09-02 02:56:50 -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
David Sharpe
10757c8c71 fix: names in ROS2 files were incorrect for headless_full, add new service files for NUC 2025-08-21 16:31:59 -05:00
David Sharpe
37774c0c31 feat: add systemd files from NUC 2025-08-21 15:26:53 -05:00
David Sharpe
5c0cd926da feat: add Tristan's IK with ikpy (#15 ik_dev)
Add IK (Tristan's work)
Slow, but works. Takes a 3d displacement vector in meters for direction that the arm should be moving. Provides target joint angles that embedded drives the axes to.
v1.0
2025-08-18 12:14:05 -05:00