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
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.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.