View Single Post
  #5   Spotlight this post!  
Unread 22-01-2015, 09:15
otherguy's Avatar
otherguy otherguy is offline
sparkE
AKA: James
FRC #2168 (The Aluminum Falcons)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2009
Location: CT
Posts: 434
otherguy is a splendid one to beholdotherguy is a splendid one to beholdotherguy is a splendid one to beholdotherguy is a splendid one to beholdotherguy is a splendid one to beholdotherguy is a splendid one to beholdotherguy is a splendid one to behold
Re: Programming Java help.

Something I forgot to mention, FIRST verify that your motors are all plugged into the correct PWM channels according to your code. From your description 1 and 3 are left motors and 2 and 4 are right motors. Verify this is correct in code. If left and right are swapped in code, you'll be able to drive fwd and reverse fine, but turning will be backwards.

Also, my first post assumes that you're using tank drive for your controls (skid steer - one joystick controls left wheels, another controls right wheels). But it's possible that your team is using arcade drive (a single joystick - point it where you want the robot to go).

If the latter is the case, then you won't be able to individually test each side of the chassis. You can however test everything without messing with your wiring. Test each side of the chassis individually to confirm everything is working as expected.
  • push the stick fwd
  • verify the right wheels move forward
  • push the stick backwards
  • verify the right wheel moves backwards
If fwd/reverse are backwards, invert the output (multiply by negative 1).
Then do the same procedure the left wheels


After that's working, verify turning works correctly
  • Push the stick to the right
  • Verify the left wheels move fwd
  • Push the stick to the left
  • Verify the right wheels move fwd
if the above doesn't work, you've likely got the left and right motors backwards in code or wiring. If this is the case, fix the problem, then start over from the beginning, verifying left and right motors move fwd/rev when the stick is moved fwd/rev.

If you happen to be using the RobotDrive class to handle controlling your motors, and you need to invert a motor, you can multiply your input to the respective motors by negative 1 as I described, or you can use the setInvertedMotor() method.
__________________
http://team2168.org