Gyro Drive Straight

How to you use a gyro to keep your bot driving straight. We are using LabView.

If you know what direction you want the robot to face, and you know what direction it is currently facing, you can use the difference between them to control the “turn” input of either a Mecanum or Arcade drive function.

If you scale the values properly, that will tend to rotate the robot toward the desired direction. That’s a simple Proportional control system, which is what the “P” in “PID” stands for. If you find that you can’t get the robot to hold its direction strongly enough without overshooting and oscillating, then you need to implement a more complete PID control with some Integral to account for the steady-state error, and perhaps some Derivative to reduce overshoot when the error starts out too high.

Can you post a screenshot of that please im a visual learner.

I will be able to post some screenshots of the general principal of how this works later today, sometime around 4:00 CST (maybe sooner).

What kind of drivetrain do you have, and what software are you using to control it?

If you have a mecanum drive and are using mecanum_Cartesion, here’s a picture showing an approach you could use to drive straight at any desired orientation angle.

We are using Tank Drive.

Please be more specific.

“Tank Drive” means different things to different people in different contexts.

[1]What kind of drivetrain do you have1, and

[2]what software2 are you using to control it?

1details please: number and type of wheels, number of gearboxes and gear ratio, chains/belts/direct, etc etc. The more detail, the better.

2e.g. what vi are you using, and how is your driver interface (joystick) mapped to that vi’s inputs e.g. arcade, tank, other?

six wheel
two mini cims preside
two shifting gearboxes
i don’t know the gear ratio
Xbox Controller

Dose that help




What does “two mini cims preside” mean?

Also can you get answers for the questions highlighted in red below:

Driving a six-wheel skid-steer drivebase using Tank Drive (left and right joysticks) is not easy if the robot doesn’t want to go straight, even with computer control based on a gyro sensor. It is very easy to make it go straight using Tank Drive if the robot is properly constructed.

But if you really want to try to compensate for a difficult-to-control robot, the idea is simple. Compute the difference between desired and measured heading, scale it to something that will yield a value between -1 and 1, then add it to the joystick input for one side and subtract it from the joystick input for the other side.

two cims on each side.