tank steering

Posted by vectorevil@aol.com.

Coach on team #205, GM, from WHS and GM.

Posted on 1/10/2000 5:57 PM MST

I was wondering if anyone could share the modifications to the control program that are nessisary to control two motors with 1 joystick to provide ‘tank style’ steering. (To drive 2 independant motors fwd when the y-axis is at full, in rev. when the y-axis is at minimum, and in opposite directions when the x-axis is used.) I was told at kick off that this was a common style of control and that in the past the coding to do this was in the manual. But i could not find this coding in the manual and p-basic is new to me and my students.

Posted by Lora Knepper.

Student on team #69, HYPER, from Quincy Public Schools and The Gillette Company.

Posted on 1/10/2000 6:01 PM MST

In Reply to: tank steering posted by vectorevil@aol.com on 1/10/2000 5:57 PM MST:

I’m honestly not sure how to do it because my team has always used one joystick to each motor in the drive train. For me it’s become the most natural way to drive our bot, but I’m sure others could tell you otherwise. It comes down to personal preference.

Lora Knepper
Team 69 (HYPER)

Posted by Daniel.

Coach on team BORG (Berkeley Operational Robotics Group) from Berkeley High School sponsored by (working on the sponsor, too).

Posted on 1/10/2000 8:43 PM MST

In Reply to: not too sure how, but just one quick bit of info posted by Lora Knepper on 1/10/2000 6:01 PM MST:

Having two joysticks really gives you optimal control over the radius of your turns. I suppose you could code the joystick so that as you move it along the x axis it uses more reverse on the side you’re turning, but I still don’t think it’ll give you the freedom that you should have in the playing feild. There are things that should be done by the control system but I tend to think that how you drive is too dependent on your situation to leave it to a computer that can’t see what’s going on.

I vote for two joysticks.

Posted by Jerry Eckert.

Engineer from Looking for a team in Raleigh, NC sponsored by .

Posted on 1/10/2000 10:20 PM MST

In Reply to: I don’t think it’s preference… posted by Daniel on 1/10/2000 8:43 PM MST:

: Having two joysticks really gives you optimal control over the radius of your turns. I suppose you could code the joystick so that as you move it along the x axis it uses more reverse on the side you’re turning, but I still don’t think it’ll give you the freedom that you should have in the playing feild. There are things that should be done by the control system but I tend to think that how you drive is too dependent on your situation to leave it to a computer that can’t see what’s going on.

: I vote for two joysticks.

The down-side to steering with two joysticks is that it takes more practice to control the robot effectively. For many teams, practice before the competition is something that is usually hard to come by.

One trick I’ve used effectively on single stick robots is to use one of the joystick buttons as a shift control. When the button is depressed the maximum speed of the robot is 1/2, or even 1/3, of the full maximum. By changing the scaling of the control to the output speed, and even using non-linear control functions, you can get very good control using the single stick. Granted, it may not be as good as an experienced operator using a two-stick system, but it worked much better for our operators.

Jerry

Posted by Lora Knepper.

Student on team #69, HYPER, from Quincy Public Schools and The Gillette Company.

Posted on 1/10/2000 11:18 PM MST

In Reply to: Re: I don’t think it’s preference… posted by Jerry Eckert on 1/10/2000 10:20 PM MST:

Good point on the practice time issue, but I think it would be a huge sacrifice on accuracy and manuverability of the machine to be restricted to only one joystick. The only way I could justify it my mind would be if the second joystick was needed to control, say an arm for who knows what reason a button system would not suffice. But then, that’s just the way I look at it.

Posted by Daniel.

Coach on team BORG (Berkeley Operational Robotics Group) from Berkeley High School sponsored by (working on the sponsor, too).

Posted on 1/11/2000 12:33 AM MST

In Reply to: I still go for 2 all the way posted by Lora Knepper on 1/10/2000 11:18 PM MST:

I don’t see why you can’t just have three joysticks if you need one for an arm. After all, you’re allowed up to 4!

GRT used two drive train joysticks and one for the arm last year. when you put all the buttons on the joysticks into the mix, we hardly even needed the project box!

Posted by Jerry Eckert.

Engineer from Looking for a team in Raleigh, NC sponsored by .

Posted on 1/11/2000 1:27 AM MST

In Reply to: you get up to 4 posted by Daniel on 1/11/2000 12:33 AM MST:

: I don’t see why you can’t just have three joysticks if you need one for an arm. After all, you’re allowed up to 4!

: GRT used two drive train joysticks and one for the arm last year. when you put all the buttons on the joysticks into the mix, we hardly even needed the project box!

You say po-tay-to, I say po-ta-to. It’s mostly a matter of personal preference.

Posted by Lora Knepper.

Student on team #69, HYPER, from Quincy Public Schools and The Gillette Company.

Posted on 1/11/2000 7:07 PM MST

In Reply to: you get up to 4 posted by Daniel on 1/11/2000 12:33 AM MST:

True, I forgot about the extra joysticks allowed. I, I was quite comfortable with our two joystics and I designed a new control box out of Lexan that seemed to work quite well. Though in the past 2 years, I have seen some of you out there with some of the coolest control systems! I hope to continue to learn from every team I meet!

Lora Knepper
Team 69 HYPER
(Helping Youth to Pursue Engineering and Robotics)

Posted by Jerry Eckert.

Engineer from Looking for a team in Raleigh, NC sponsored by .

Posted on 1/11/2000 1:11 AM MST

In Reply to: I still go for 2 all the way posted by Lora Knepper on 1/10/2000 11:18 PM MST:

: Good point on the practice time issue, but I think it would be a huge sacrifice on accuracy and manuverability of the machine to be restricted to only one joystick. The only way I could justify it my mind would be if the second joystick was needed to control, say an arm for who knows what reason a button system would not suffice. But then, that’s just the way I look at it.

I disagree with your assessment that accuracy and maneuverability are sacrificed by using a single joystick. The influence of the mechanical portion of the control system is only one factor in the overall performance of the robot. Certainly there are some cases where your statement is correct; there are others where it is not. The engineer’s job is to attempt to identify all of the factors which have a significant impact on the performance of a system and to optimize them as much as possible given the overall constraints of the project.

In the end, what really matters is which mechanism is most effective for the drivers of a particular machine.

Last year, I modified one version of our control program to work with either one joystick or two. The operator could change modes by depressing a button while the robot was stopped. The operators, who had requested the two joystick steering, decided after less than 15 minutes that they preferred the single joystick. Given more time for control system development and operator practice, perhaps the outcome would have been different. But given all of the constraints of our project, the single joystick steering was the most effective.

Jerry

Posted by Quentin Lewis.

Engineer on team #42, P.A.R.T.S - Prececision Alvirne Robotics Technology Systems, from Alvirne, Hudson NH.

Posted on 1/10/2000 8:53 PM MST

In Reply to: not too sure how, but just one quick bit of info posted by Lora Knepper on 1/10/2000 6:01 PM MST:

: I’m honestly not sure how to do it because my team has always used one joystick to each motor in the drive train. For me it’s become the most natural way to drive our bot, but I’m sure others could tell you otherwise. It comes down to personal preference.

Yes, personal preference for sure…but it also gives you another hand to control something else…what else, well, that is up to you…but it might be just what the doctor ordered.

-Quentin

Posted by Jerry Eckert.

Engineer from Looking for a team in Raleigh, NC sponsored by .

Posted on 1/10/2000 6:27 PM MST

In Reply to: tank steering posted by vectorevil@aol.com on 1/10/2000 5:57 PM MST:

: I was wondering if anyone could share the modifications to the control program that are nessisary to control two motors with 1 joystick to provide ‘tank style’ steering. (To drive 2 independant motors fwd when the y-axis is at full, in rev. when the y-axis is at minimum, and in opposite directions when the x-axis is used.) I was told at kick off that this was a common style of control and that in the past the coding to do this was in the manual. But i could not find this coding in the manual and p-basic is new to me and my students.

Here are the code fragments from last year’s control program:

Serout SSC, SSCBAUD, [SSC_CMD, PWM1, (((2000 + y1 - x1 + 127) Min 2000 Max 2254) - 2000)]
Serout SSC, SSCBAUD, [SSC_CMD, PWM2, (((2000 + y1 + x1 - 127) Min 2000 Max 2254) - 2000)]

Y1 and X1 are the Y and X inputs from the joystick.
PWM1 controls the left motor
PWM2 controls the right motor

The competition manual from last year is still on-line at the FIRST web site. Click on the link below to download the section which contains the control program information. It will explain the reason for using the 2000 offset and the MIN/MAX statements.

If you have any questions, feel free to send me E-mail.

Jerry