Skip to content

GELLO actuation for ros2 franka support#66

Merged
AndreasJosefGassner merged 23 commits into
mainfrom
feat/actuation
Nov 17, 2025
Merged

GELLO actuation for ros2 franka support#66
AndreasJosefGassner merged 23 commits into
mainfrom
feat/actuation

Conversation

@AndreasJosefGassner

Copy link
Copy Markdown
Collaborator

This PR adds actuation in the form of virtual springs and dampers to GELLO ROS 2:
Each Dynamixel motor has an internal PID controller that can be configured to behave like a virtual spring and damper. Damping is useful to prevent the operator from moving the GELLO arm faster than the real robot can follow. The spring-like behavior allows to support individual joints that could sag to an unwanted position when having 7 degrees of freedom.
For this, the following changes are proposed:

  • A new, more generalized Dynamixel motor driver is introduced. To avoid breaking changes with non-ROS2 parts of this repository, the driver is now part of the franka_gello_state_publisher package.
  • Refactored franka_gello_state_publisher into modular components
  • Added functionality for configurable virtual springs and dampers using Dynamixel internal current-based position mode

peterrw-franka and others added 23 commits July 25, 2025 09:28
using Dynamixel internal current-based position mode
Merge in ROBL/gello_software from feat/actuation-publisher to feat/actuation

* commit '9ed96850b45b820d928dab07339d7ff16cd38752':
  add: configurable virtual springs and dampers using Dynamixel internal current-based position mode
…lses

Merge in ROBL/gello_software from feat/actuation-goal-position-radians to feat/actuation

* commit 'cb5fc74661f0a2325b5fa8c82aeb1070db138841':
  chg: configure goal position in rad instead pulses
- Split into hardware and config modules
- Add graceful shutdown with signal handling
- Fix dual-arm parameter isolation
Merge in ROBL/gello_software from chg/refactor-franka-gello-state-publisher to feat/actuation

* commit '5302a697cf0a2def851cf1ff4b2d38ba0c492ca2':
  chg: refactor franka_gello_state_publisher into modular components
…cy (in case of jerky follower behavior)

Merge in ROBL/gello_software from feat/usb-latency-troubleshooting to feat/actuation

* commit 'b1b656426b8667cb942c4748b5d655c7be8279f6':
  ADD: Instructions to improve USB latency
…side effect of incorrect joint data being send from the robot

Merge in ROBL/gello_software from fix/incorrect_joint_states_before_first_command to feat/actuation

* commit 'd58470887e48e8820516441e785a5af28c5972e2':
  fix: franka ros2 unittests
  make tests work
  no longer block during on_activate() which had the side effect of incorrect joint data being send from the robot
@AndreasJosefGassner AndreasJosefGassner merged commit 4a6b3d9 into main Nov 17, 2025
1 of 3 checks passed
@AndreasJosefGassner AndreasJosefGassner deleted the feat/actuation branch November 17, 2025 10:43
neunertm pushed a commit to neunertm/gello_software that referenced this pull request Feb 24, 2026
* refactored the driver and extended its interface to other motor functions

* extracted motor specific values to config file in order to enable addition of other motors

* add: configurable virtual springs and dampers
using Dynamixel internal current-based position mode

* chg: configure goal position in rad instead pulses

* chg: refactor franka_gello_state_publisher into modular components

- Split into hardware and config modules
- Add graceful shutdown with signal handling
- Fix dual-arm parameter isolation

* FIX: wording

* ADD: Instructions to improve USB latency

* no longer block during on_activate() which had the side effect of incorrect joint data being send from the robot

* make tests work

* fix: franka ros2 unittests

* CHG: move adapted driver to franka_gello_state_publisher and restore driver in gello/dynamixel

* FIX: minor improvements

* FIX: formatting of driver

* CHG: adapted order of docker layers, because we expect libfranka/franka_ros2 to get updated more frequently

* CHG: remove main fuction from driver

* FIX: typo in comment

* FIX: move PyYAML dependency

---------

Co-authored-by: Peter Wern <peter.wern@franka.de>
Co-authored-by: Christian Czapka <christian.czapka@franka.de>
Co-authored-by: Tobias Peter <tobias.peter@franka.de>
GitOrigin-RevId: 4a6b3d9
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.

4 participants