Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   NI LabVIEW (http://www.chiefdelphi.com/forums/forumdisplay.php?f=182)
-   -   Check My Autonomous Code (http://www.chiefdelphi.com/forums/showthread.php?t=105089)

jhellr13 28-03-2012 18:29

Re: Check My Autonomous Code
 
Quote:

Originally Posted by RufflesRidge (Post 1150866)
Ryan is correct.

I highly recommend looking through Ryan's images above, step by step to see why your logic doesn't work the way you want it to (in addition to the fact that the code for the bottom mode isn't in a loop).

I'm gonna say it again. The logic I have in there for my limit switch for my bridge is 100% correct. It will work exactly as I need it to work. I've used that code before in teleop and it has worked. I have received this bit of code straight from http://team358.org/files/programming...2009-/LabVIEW/

Look for limit switch example. It works.

All I'm trying to do is get the robot to move the distance to the bridge using the encoders. Stop when the distance has been met, then lower the bridge arm down until the limit switch is hit.
I'm a second year programmer who has never had experience with autonomous. Last year I never even got to it as I started programming in week 4(Conversation for a different thread). I will easily admit I'm not too confident in writing the bottom code, and that is why I came here.

All I'm asking for is some help. My competition begins tomorrow, and I would love if I could get this to work.
Come on and help me out

RufflesRidge 28-03-2012 18:40

Re: Check My Autonomous Code
 
Quote:

Originally Posted by jhellr13 (Post 1150869)
I'm gonna say it again. The logic I have in there for my limit switch for my bridge is 100% correct. It will work exactly as I need it to work. I've used that code before in teleop and it has worked. I have received this bit of code straight from http://team358.org/files/programming...2009-/LabVIEW/

Look for limit switch example. It works.

The limit switch example on that page works great; however, it does not match your code.

I highly recommend you be ready to disable the robot when testing that code to avoid breaking the arm and that you seek out an experienced LabVIEW team and/or the CSA at your event to help you out.

jhellr13 28-03-2012 18:48

Re: Check My Autonomous Code
 
Quote:

Originally Posted by RufflesRidge (Post 1150873)
The limit switch example on that page works great; however, it does not match your code.

I highly recommend you be ready to disable the robot when testing that code to avoid breaking the arm and that you seek out an experienced LabVIEW team and/or the CSA at your event to help you out.

The example and my code are the same...Just checked. The only difference is that the example takes the value from the joystick while my code has a constant of 1.


Is there anything I can do to get the robot to at least move the distance by encoders?

If you want, I can set it up for you to remote into my computer and work on my code in real-time rather than having to keep going back and forth on here. PM if you want to.

RyanN 28-03-2012 19:57

Re: Check My Autonomous Code
 
From http://team358.org/files/programming...2009-/LabVIEW/


Check out the comment below that code. "limit switch on the forward motor direction"

What this example does is allows you to move the motor in either direction, but it tests for a special case for when the joystick is pushed forward (forward values are inverted, and give you a negative value instead of a positive). If the driver is holding the joystick forward, it will allow the motor to go up until the point where the limit switch is hit. The driver has the ability to drive the other direction (reverse) all day long, as the limit switch is disabled, and will not disable the motor value.

Q: So why is the False end of the Select connected to the joystick?
A: The False of the the select is connected to the joystick to control the motor speed.

Q: What is the default state for the Select?
A: The default state is False, where the motor value is directly connected to the joystick.

Q: What causes the Select to switch to the True case to turn the motor off?
A: Having the joystick pushed forward (where the value is less than 0) AND when the limit switch is depressed will cause the Select to switch to the True case, passing a 0 motor value, ultimately turning the motor off.

As RufflesRidge mentioned, this is only a small part of your problem, but this is the problem that will cause you to rip an appendage off of your robot via programming. Trust me, the mechanical guys will not be happy.

You need some while loops, and timers would be useful to maintain a good connection to the field.

Please get out of the mindset that your code works perfectly in teleop. In fact, I bet it does work perfectly, but you are using a joystick to control the motor instead of a constant value. Another problem is that you are probably going to turn the motor in the wrong direction if you think the code will work. You might want a -1 in there instead of a 1, which would make your code work, but why go through the extra effort of checking if a constant (constant meaning that it won't change, ever) goes negative?

Being able to copy someone else's code is one thing but being able to actually understand what the code is doing is another.

You have multiple issues, and I haven't seen one addressed since last night. I'd be happy to help you out if you want, but you'll have to just trust me on everything that I say. Send me a PM.


All times are GMT -5. The time now is 01:13.

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