You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the problem
Currently Okapilib only supports Odometry with 2 to 3 tracking wheels, or the integrated motor encoders. It would be nice to have support for 2 tracking wheels and an IMU for rotation.
Describe the solution you'd like
Add an additional odometry implementation that allows for two ADI or Rotational Encoders and an IMU to be passed into the withSensors method of the ChassisControllerBuilder Class.
The text was updated successfully, but these errors were encountered:
After having a further look at this, the implementation wouldn't be as simple as I thought it would be. The actual Odometry implementation would be very simple. All that needs to be done for this is create another class that derives Odometry, and then add an option for it in the buildOdometry method of the ChassisControllerBuilder. The most annoying part is creating a model for the chassis that has the left or right encoders and and IMU. The SkidSteerModel inherently has a left and right right encoders, meaning any class derived from it also needs left and right encoders. I could just pass nullptr into one of the encoders, but this feels like very bad practice, but the alternative seems like a lot of work.
Once PROS 4 comes out I'll open a PR for this. If anybody has any ideas on how to fix this that would be great.
I have a rather not so great implementation of such a thing which mostly conforms to OkapiLib's API, but it required doing some things that should probably be illegal. I don't think this form of odom can realistically be implemented into Okapilib without a major overhaul of the whole library.
Describe the problem
Currently Okapilib only supports Odometry with 2 to 3 tracking wheels, or the integrated motor encoders. It would be nice to have support for 2 tracking wheels and an IMU for rotation.
Describe the solution you'd like
Add an additional odometry implementation that allows for two ADI or Rotational Encoders and an IMU to be passed into the withSensors method of the ChassisControllerBuilder Class.
The text was updated successfully, but these errors were encountered: