Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   Halo Drive (http://www.chiefdelphi.com/forums/showthread.php?t=124849)

inform880 18-01-2014 15:48

Halo Drive
 
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

Re: Halo Drive
 
Quote:

Originally Posted by inform880 (Post 1328918)
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:

Code:

/**
 * 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

Re: Halo Drive
 
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.


All times are GMT -5. The time now is 12:04.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi