RobotDrive.drive() usage

Hello!

I’m currently working on a system to convert a freeform array of points into a path that a robot can drive. Through the research into the topic I have done, it appears that this can be translated into radii of curvature and then into wheel speeds. I think we can utilize the drive method in RobotDrive, but I don’t know what physical quantity the “curve” parameter represents. It says that it is turn rate, but I’m unsure of what exactly they mean by that. Is that dΘ/dt? Also, would this even work with the current design plan (Array of points -> array of radii -> sending the robot wheel speeds)? I believe I can write methods to do what we want to do if RobotDrive does not have the functionality necessary to do so.

Thank you in advance,
Pat Walls, Team 708 Software

curve just represents how to distribute power between the wheels to make the robot turn. It sounds like you might want to write your own code for controlling the robot, maybe using PID loops, gyros, and encoders. You might want to just control each motor individually, or if you are using a skid drive you can just control the left and right side of the robot individually using RobotDrive.

Thank you for the helpful response, I greatly appreciate it!

We are using tank drive/skid steer. I should have clarified that in the initial post, sorry about that. Is the distribution by percentage? I believe I can implement the drive method if that is the case. I think it is probably a better idea to do as you have said and write the methods from scratch to get proper control, so if I can implement the drive command I will probably use it for proof of concept code.

I would recommend right clicking on the method in your code and selecting Open Declaration. That will show you the source which will tell you exactly what it does.