So our driver just recently had surgery, and so we’re not certain he’ll be able to drive this next competition right after winter break. I’ve driven in VEX IQ before, so I’m our backup driver. I’m wondering if anybody has any tips, particularly regarding whether I should switch to arcade drive rather than the tank drive I’ve used in the past.
Literally the best thing to do is practice in your free time and get used to the controls. I kinda suffered the same problem except I just didn’t drive for a whole year. Adapt to the controls as well, if you don’t like how it’s laid out, make it how you want to whether it’s talking to your programmer or whatever.
I am the programmer. Well, actually the programmer is our normal driver, and I’m the backup programmer, too.
#pragma config(Sensor, in1, drivegyro, sensorGyro)
#pragma config(Sensor, in2, liftpotential, sensorPotentiometer)
#pragma config(Sensor, in3, chainpotential, sensorPotentiometer)
#pragma config(Sensor, dgtl1, mgoal, sensorTouch)
#pragma config(Sensor, dgtl2, jumper, sensorDigitalIn)
#pragma config(Sensor, dgtl8, b00001, sensorLEDtoVCC)
#pragma config(Sensor, dgtl9, b00010, sensorLEDtoVCC)
#pragma config(Sensor, dgtl10, b00100, sensorLEDtoVCC)
#pragma config(Sensor, dgtl11, b01000, sensorLEDtoVCC)
#pragma config(Sensor, dgtl12, b10000, sensorLEDtoVCC)
#pragma config(Motor, port1, mgl, tmotorVex393_HBridge, openLoop, reversed)
#pragma config(Motor, port2, lefty, tmotorVex393HighSpeed_MC29, openLoop)
#pragma config(Motor, port3, righty, tmotorVex393HighSpeed_MC29, openLoop, reversed)
#pragma config(Motor, port4, bottomleft, tmotorVex393_MC29, openLoop)
#pragma config(Motor, port5, bottomright, tmotorVex393_MC29, openLoop)
#pragma config(Motor, port6, topleft, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port7, topright, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port8, cbl, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port9, vacuum, tmotorVex393_MC29, openLoop, reversed)
#pragma config(Motor, port10, mgr, tmotorVex393_HBridge, openLoop)
task drive()
{
while(true)
{
if(vexRT[Ch2]!=0)
{
motor[righty]=vexRT[Ch2];
motor[lefty]=vexRT[Ch2];
}
else if(vexRT[Ch4]!=0)
{
motor[righty]=-(vexRT[Ch4]);
motor[lefty]=vexRT[Ch4];
}
else
{
motor[righty]=0;
motor[lefty]=0;
}
}
}
task lift()
{
while(true)
{
if(vexRT[Btn5U]==1)
{
motor[bottomleft]=127;
motor[bottomright]=127;
motor[topright]=127;
motor[topleft]=127;
}
else if(vexRT[Btn5D]==1)
{
motor[bottomleft]=-127;
motor[bottomright]=-127;
motor[topright]=-127;
motor[topleft]=-127;
}
else
{
motor[bottomleft]=0;
motor[bottomright]=0;
motor[topright]=0;
motor[topleft]=0;
}
}
}
task adjustment()
{
while(true)
{
if(vexRT[Btn6U]==1)
{
motor[cbl]=127;
}
else if(vexRT[Btn6D]==1)
{
motor[cbl]=-127;
}
else
{
motor[cbl]=0;
}
}
}
task main()
{
startTask(drive);
startTask(lift);
startTask(adjustment);
}
Perfect, if you have the code, you do what’s necessary to make yourself feel comfortable with the bot.
I always code lift on right bumpers, intake on the left, then tank drive on joysticks… easiest thing to learn if you have no experience, but what you have should be fine. Really you just need to drive it and get used to how everything works
All through IQ I had my lift on the left bumpers, so that’s why.
I’d recommend driving a little bit, and each time one control feels unnatural, go change it to something that feels natural. This method helped me a lot at our first competition, where I had only 1 hour of drive practice. But since the controls felt pretty natural to me, I wasn’t too bad after a couple qual matches.
Ok, thanks. I hope I can get used to arcade drive; I would like to use my left joystick to control my mobile goal intake.
I actually started with a tank drive and ended up switching to arcade. Not because it’s better, but because I can use the other joystick for mogo.
I would just practice driving, best way to learn to drive.