Differential Auto align

Hello! My team is trying to perfect our auto align command to make it more consistent and accurate.
Right now we are generating trajectories with Pathplanner while taking in consideration our current robot pose and a goalpose and then following this path with a Ramsete Command (We implemented and modified part of FRC 95 code), we have a lot of progess and it sorta works… obstacle avoidance and the space needed to follow the path are our biggest problems. There’s lots of examples of this command available but most are for a holonomic drive while we are using a differential drive.
So we would like to know what ideas, solutions or strategies are you using to tackle this problem.

1 Like

Just as additional information, we also tried generating trajectories by hand by specifying robot poses.

var currentPose = new Pose2d(m_drive.getEstimationTranslation(), m_drive.getEstimatioRotation());
        trajectoryWaypoints.add(currentPose);
    
        var middleGround = new Pose2d(3.34, 4.66, new Rotation2d(Units.degreesToRadians(180.00)));
        trajectoryWaypoints.add(middleGround);
    
        var goalPose = new Pose2d(1.78, 4.40, new Rotation2d(Units.degreesToRadians(180)));
        trajectoryWaypoints.add(goalPose);

It kinda worked but it didn’t give the expected results compared to Pathplanner path generation

To throw out a completely different approach, last year we (6328) developed an auto-drive system for a differential drive that drove a curve to the final target by projecting out an “intermediate” target. I don’t know how well it would work for this game given the more limited space to maneuver, but there are more details here if it’s helpful:

3 Likes

Looks great! We’ll test it out and see how it works!