Skip to content

Add Zed Servo Node #125

Open
ethanhchoi wants to merge 33 commits into
umdloop:mainfrom
ethanhchoi:local-changes
Open

Add Zed Servo Node #125
ethanhchoi wants to merge 33 commits into
umdloop:mainfrom
ethanhchoi:local-changes

Conversation

@ethanhchoi
Copy link
Copy Markdown

Added Zed Servo Node. - The node is in science_bringup and drive_bringup - let me know if that's what you wanted

TakePanorama Service call - To take the panorama

  • ros2 service call /take_panorama science_bringup/TakePanorama "{take_panorama: True, frames: 31, max_angle: 270.0}"
  • Do I need a take_panorama boolean I thought since it's a service call it just calls once?
    I also put a suggestion to move the zed servo with a service/subscriber

ethanhchoi and others added 30 commits May 5, 2026 03:09
* fix ackermann controller velocity and turn radius

* cleanup

* remvoe turn radius print, was just used for debugging
* add mag_heading package

* update mag heading node filter
* Converted C++ aruco node/package to python

* Changed topics to parameters, removed dead code

* Publish Detection2D instead of pose and image

* Make behavior tree and its aruco plugins work with new Detection2D message type

---------

Co-authored-by: Mohammad Durrani <[email protected]>
* most recent working odrive configs

* Fixed odrive stuff

---------

Co-authored-by: Adrian Cires <[email protected]>
Co-authored-by: Mohammad Durrani <[email protected]>
* Add YOLO BT integration

* fully structured object detection bt

* Fixed redundant nodes

* removed legacy and fixed packages

* repaired package.xml

---------

Co-authored-by: Mohammad Durrani <[email protected]>
* Added nav2 config for easy param configuration

* readded nav2 config with changes

* Changed nav2 config to submodule

* Add nav2_config as submodule

---------

Co-authored-by: Mohammad Durrani <[email protected]>
* Add joint-by-joint virtual four-bar coupling

* Add Xbox joystick support to joint-by-joint branch

* Swap shoulder and elbow RMD node IDs
* configured for a 3dof controller, we can improve base design later

* extra fixes before actual testing

* Update with real life testing code (umdloop#78)

* update to latest

* update rear ackermann controller

* Removed bad paramters

* remove todo nodes

* Flipped the turning

* swap the right and left speed

* working on rover

* updated athena_drive.launch.py

* updated zed launch

* maybe fix the zed issue

* updated drive urdf

* ackermann guarding

* teleop config testing

* Added steering limits

* Revert ZED-related changes from nav_testing_2324

Restores upstream/main versions of:
- sensors.launch.py (publish_odom/map defaults, gps_launch)
- zed.launch.py (publish_tf/publish_map_tf back to LaunchConfiguration)
- zed_macro_sim.urdf.xacro (color + rgb_sensor link/joint)
- athena_drive.urdf.xacro (unconditional zed include + original origin)
- nav_bringup.launch.py (remove zed_to_base_footprint static tf)

* added arm bringup files

* bring over arm can id update as well

---------

Co-authored-by: Adrian Cires <[email protected]>
Co-authored-by: UMDLoop Jetson Orin NX <[email protected]>

* working, but code wise it should not be prismatic, suitable for now

* allows the user to deactivate the talons and have a mock hardware replacement for just those joints

* Separates arm into 3 subsections, arm, wrist, and end effector due to the individuality and interchangeability of each subsection. This commit has a separate joint by joint controller for arm (composed of base_yaw, shoulder_pitch, and elbow_pitch), 3 wrist controllers (joint by joint for 3dof, 2dof, and an orientation controller for 3DOF), and gripper claw. If we ever decide to add more joints to arm, use a different kind of wrist control scheme, or have a different kind of end effector entirely, the components as well as the code can now be swapped in and out for it.

* Realized a lot of controller switcher functionality had to be modified, so it now functions with this arm setup (will require considerations of drive and always active controllers in yaml file). Also made a 2dof and 3dof trajectory controller config.

---------

Co-authored-by: Mohammad Durrani <[email protected]>
Co-authored-by: Adrian Cires <[email protected]>
Co-authored-by: UMDLoop Jetson Orin NX <[email protected]>
Co-authored-by: duttaishan01 <[email protected]>
* fixing yolo bt athen planner

* fixed filename

* new model

---------

Co-authored-by: Mohammad Durrani <[email protected]>
* Give jetson internet from framework

* direction adjust

* added joint orientation for SMCs, flipped virtual four bar value

---------

Co-authored-by: Adrian Cires <[email protected]>
* changed broadcaster to controller and included other telemetry information

* odrive upgrades

* added request services

* included status decoding in RMDs

* decode error value and warn/error out depending on response

* reformatted rmd HWI

* saving some one shot progress

* encoding and decoding across command interfaces seems to be working

* holy fucking shit it works. Need to implement Torque control and then start doing doing this implementation on the rest of the HWIs

* updated smc hwi, issue with servo hwi

* fixed state issue, accepts all state interfaces and filters accordingly

* saving progress, killswitch seems to not be sending can messages for some reason

* saving changes, for some reason I cant see power module can commands being sent

* Power module and SMCs seem to be working, initial implementation of LED HWI created

* led hwi looks like its working

* added limit switch and rotary encoder HWI, included all necessary HWIs, needs fixing

* fixed motor status controller, manually choose command and state interfaces if default don't apply

* 3dof specific fixes

* motor status controller includes gpios, removing unnecessary gpio controllers

* Added DC Motor HWI

* Small changes to DC Motor HWI

* Fixing HWI issue

* Small Fix

* First test for steppers

* Moved revised athena_science code to monorepo

* Fixing Science Controller + HWI Templates for Steppers & Servos

* Restore accidentally deleted science.mock.ros2_control.xacro

* stepper stuff like kinda works??

* implemented and tested in virtual can servo, stepper, and dc HWIs

* working arm and steppers/DC motors

* WORKING DRIVE AND ARM

* quick fixes (joystick_index not set and removing /vscode and .codex

---------

Co-authored-by: duttaishan01 <[email protected]>
Co-authored-by: HGardiner1 <[email protected]>
Co-authored-by: UMDLoop Jetson Orin NX <[email protected]>
* give_jetson_internet_framework.sh

* latest fixes from drive

* Update node_id for propulsion_fl_joint parameter

---------

Co-authored-by: Adrian C <[email protected]>
* add mission launch files

* remove unnecessary changes

* remove from package.xml
* can interface can now be easily swapped without having to rewrite it in each file

* mission tasks default to can1

---------

Co-authored-by: duttaishan01 <[email protected]>
Co-authored-by: Mohammad Durrani <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants