Hello all, I’m a second year mentor on a team that had some horrible turnover in the last 10 years in mentorship. When I came on as a mentor for my students there was 0 support from my school by way of direction. I have this code pieced together for just our drive capabilities. It’s only slightly changed from the “Arcade Drive” shell labview provides. I’ve uploaded screen caps of our begin.vi and teleop.vi . Is there something more I should be adding in one of these, or perhaps was I supposed to change something in another vi to make this thing drive?! Please help I am desperate, I’d like to give my students a chance to atleast have something to drive at competition.
To Clarify: So you’ve built, deployed, and ran the code as startup, you can see the “Robot Code” green light from the Driver Station, and when you hit enable , and attempt to drive the robot via a joystick, nothing happens?
I would take a look at the joystick assignment in the Driver Station (fourth tab down on the left hand side). In your begin.vi you have it set to USB1, you can drag and drop your joystick to that position.
If you have trouble at the competition a CSA (in orange hats) can get you going.
Correct. With the above code built and deployed. Driver station is green on communications, joysticks, and robot code. I changed 0 other things besides these two VI’s throughout the rest of the default “arcade drive” shell of code provided by labview. Is there anything else I should be changing? Any obvious reasons why it’s not driving?
See that’s the thing, I tried a ps4 controller at first. That was slot 0 on that tab. I plugged in an old joystick cause I figured one stick would be easier to program than 2, and that was definitely slot 1. I’d screen cap it for proof but I’m away from the shop at the moment.
Ok, good to know about joystick ID.
One handy thing with LabView is observing the values while the program runs. To do that, with the robot up on blocks, run Robot Main using the white arrow in the top left corner. Now when you Enable the robot you can put a probe on the two wires going in to the Arcade Drive block and see what the values are. If those are changing like you expect, then there’s something else wrong.
With the Victor SP when the robot is enabled you should see the flashing amber lights go solid. Solid means they’re getting a signal, Amber means the signal is 0, green is forward, red backward.
The next obvious debugging tricks are making sure the PWM cables from the Victors are plugged in to the correct ports, and in the correct orientation, with the black (ground) pin to the outside of the RoboRio.
Generally when you’re testing a four motor drive it’s also a good idea to test each motor individually at first, just to make sure they’re turning in the same direction. Two motors fighting each other is never a good thing. Pull the fuses from the Power Distribution Panel and check them one by one.
Let us know how you get along.
Ok so I tried clicking that top left arrow and it started deploying the code. I know what you’re talking about where you can watch the data go through the wires but whether I had the robot plugged in or not clicking that arrow would just attempt to deploy code (that i’ve already deployed) to the robot.
However I am noticing that when I enabled teleop code those blinking amber lights are still blinking. Is that possibly resulting from my code? Is it something I haven’t fixed from another VI? Thank you so much for responding by the way.
I talked with them and we are hopeful that it might have been an issue with the PWM cables plugged into the RIO backwards.