jsimpso81 / PathPlannerLabVIEW

PathPlanner library LabVIEW port. Used for First FRC Robotics
Other
5 stars 2 forks source link

4.0.0 alpha release #4

Open WinstonHChou opened 10 months ago

WinstonHChou commented 10 months ago

Hi @jsimpso81 , It's Winston again. Thank you for devoting such effort in porting wpilib and pathplanner libraries. I tested the new release with one of my test path file (a complicated one). It looks great so far! Also able to generate CSV perfectly! But using CSV file would mean that eventMarkers are unable to use, right?

I did see that Holonomic Rotation is a step function profile, which makes it hard to generate Holonomic Angular Velocity Profile. Just wondering, maybe use some smooth techniques on the step function? Then, do the derivative to get the velocity profile.

Best Regards, Winston

jsimpso81 commented 10 months ago

I thought the holonomic rotation position would already be ramped when the path is converted to a trajectory. I also thought that sample would further interpolate this. I'll take a look.

I'm in the middle of implementing the controllers. I thought that the holonomic rotation velocity, and maybe acceleration, would be stored in the trajectory state. However they don't seem to be. It seems that the values are for the direction of the path, not the orientation. This means I'll likely need enhance the trajectory state to store this or calculate it when executing the holonomic controller so a proper rotational velocity feedforward can be sent to the holonomic controller.

I'll look into this once the initial work is done on porting the library. I think I'm going to target the first release to include path following and creation routines. Complete object avoidance using A star and AD star will likely be in a second release. (All hopefully well before the end of the year.)

WinstonHChou commented 10 months ago

FYI, there's already a well-done A star and ADstar algorithm in labview robotics library. Hope this would be helpful!

jsimpso81 commented 10 months ago

I looked more at the holonomic rotations. I understand your comment better now. Even the trajectory sample is a step change.

I did some work on the holonomic rotations. So far, I've tried to keep it compatible with the original Java/C version. I'm still not convinced I'm creating the trajectory the same as the java version does. I need to do more testing here.

However one thing that helps is the implementation of the path following controllers. The path planner controllers smooth the change in holonomic rotations. It also limits the holonomic rotation control to allow the position control to be prioritized.

There is a new release. It contains a number of these things as well as an examples package with a functional simulated swerve robot.

jsimpso81 commented 10 months ago

I just added a new beta release.