Log in

View Full Version : Halo Drive


inform880
18-01-2014, 15:48
Hi,

I want to create a Halo Drive for our six wheel robot with 4 jag motor controllers. The idea is that one stick would be for the speed and the other would turn the bot.

I honestly don't know where to even start. I don't know what sort of algorithm to use or what function would be aproprate.

What algorithm should I use? What function should I use?

Thanks,

inform880

Ether
18-01-2014, 16:14
I want to create a Halo Drive for our six wheel robot with 4 jag motor controllers. The idea is that one stick would be for the speed and the other would turn the bot.

I honestly don't know where to even start. I don't know what sort of algorithm to use or what function would be aproprate.

What algorithm should I use? What function should I use?


WPILib:

/**
* Drive the motors at "speed" and "curve".
*
* The speed and curve are -1.0 to +1.0 values where 0.0 represents stopped and
* not turning. The algorithm for adding in the direction attempts to provide a constant
* turn radius for differing speeds.
*
* This function will most likely be used in an autonomous routine.
*
* @param outputMagnitude The forward component of the output magnitude to send to the motors.
* @param curve The rate of turn, constant for different forward speeds.
*/
void RobotDrive::Drive(float outputMagnitude, float curve)

Alan Anderson
18-01-2014, 22:39
If your six-wheel drive has normal traction wheels, with three driven together on one side and three driven together on the other side, it doesn't have the ability to move sideways. I would usually reserve the term "Halo drive" for a robot that can travel in any direction without first having to rotate to face that direction.

It sounds like what you're looking for is a typical Arcade drive, but with the speed and spin on separate joysticks. The usual Arcade drive uses the Y axis of a joystick for the speed, and the X axis of the same joystick for the spin. For your application, simply use the X axis of the other stick instead.