Skip to content

Improved 3-wheel swerve steering limit using flip logic#97

Merged
sunghowoo merged 8 commits intomainfrom
feature-swerve-3turn
May 6, 2026
Merged

Improved 3-wheel swerve steering limit using flip logic#97
sunghowoo merged 8 commits intomainfrom
feature-swerve-3turn

Conversation

@sunghowoo
Copy link
Copy Markdown
Member

Summary

Fixed swerve steering sticking after long mobile use by using the steering flip so the wheels do not wind past ~360° and control stays usable.
Also: head can tilt 10° further down (limit adjusted).

Problem

Steering hit a max wrap (~±3 turns) and the robot could not be driven.

Fix

Flip steering when it would exceed a full rotation so motion stays continuous.

Extra

Head lower limit +10° for more downward range.

Signed-off-by: Sungho Woo <wsh@robotis.com>
Signed-off-by: Sungho Woo <wsh@robotis.com>
Signed-off-by: Sungho Woo <wsh@robotis.com>
Signed-off-by: Sungho Woo <wsh@robotis.com>
@sunghowoo sunghowoo requested review from GyuH13 and nhw-robotis May 4, 2026 03:08
@sunghowoo sunghowoo added the enhancement New feature or request label May 4, 2026
@sunghowoo sunghowoo moved this to 📝 Pull Request in Platform May 4, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request bumps the version of several packages to 1.3.2 and significantly refactors the ffw_swerve_drive_controller to enhance real-time safety and motion control. Key updates include the implementation of a '180° Rule' for smooth direction reversal via a state machine, the addition of velocity deadbands, and the use of pre-allocated vectors to avoid heap allocations in the update loop. Feedback points out a bug where the X-axis speed limiter was incorrectly used for the Y-axis and identifies a typo in a member variable name.

Comment thread ffw_swerve_drive_controller/src/swerve_drive_controller.cpp Outdated
Comment thread ffw_swerve_drive_controller/src/swerve_drive_controller.cpp Outdated
sunghowoo added 3 commits May 4, 2026 12:23
Signed-off-by: Sungho Woo <wsh@robotis.com>
Signed-off-by: Sungho Woo <wsh@robotis.com>
Signed-off-by: Sungho Woo <wsh@robotis.com>
Copy link
Copy Markdown
Member

@GyuH13 GyuH13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GOOD

Copy link
Copy Markdown
Contributor

@nhw-robotis nhw-robotis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GOOD

@sunghowoo sunghowoo merged commit 2dd2031 into main May 6, 2026
9 checks passed
@sunghowoo sunghowoo deleted the feature-swerve-3turn branch May 6, 2026 07:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: 📝 Pull Request

Development

Successfully merging this pull request may close these issues.

3 participants