Do you do any smoothing on your swerve system?

We’ve been thinking through ways to smooth our swerve systems driving. At times when controlling it it feels like we want to snap to angles and a little less fluid than other systems.

We run MK4is (L3) with the ‘CTRE’ Suite…Falcon500s, Pigeon, Cancoder etc.

Joystick wise we do very little manipulation of the signal, -1.0 to 1.0. And overall drive wise we rely heavily on the WPILIB functions to calculate our desired module states.

I’m not entirely sure smoothing it is even possible. Not sure if its lack of resolution or if there is some sort of snapping somewhere in the source that tends to make you more true to common angles. I’d have to dive more into the source code.

But before I do that I figured I’d ask the community if they do anything like that. I know theres some Angle Optimization utilities and such in WPILIB.

Have you considered ramping your input into the robot state?

1 Like

Yep. Thinking about trying that out!

I would use exponential speed scaling on the joystick, and possibly use a trigger for speed.

Personally (as a driver) I don’t want acceleration limiting. Other people’s preferences may vary.

3 Likes

yeah. Think in this case it feels like there is some snapping to various Translation2d values and not necessarily about the ramp. But not sure.

1 Like

Your mechanical team does.

5 Likes

Slew rate limiters on the driver input axes are absolutely wonderful things.

2 Likes

+1 to that. We use tank drive so I can’t speak directly to swerve, but I feel it would still apply here.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.