Team 929W Early Season Robot Reveal


Very cool design! What are your plans for using additional motors or pneumatics?

So you are right in that the steady state response of a flywheel to a change in voltage across the motor should be relatively linear. However, the transient response of the flywheel (how it acts when you change the input until it has reached stead state) is not necessarily first order.

If we assume that you have linearly mapped the motor input to the voltage across the motors it simplifies the problem like you mentioned. For a step function input (I.E. if you decide to change your flywheel speed from 1000rpm to 1500rpm ASAP), the flywheel will have a second order transient response. In this case, a PID (not necessarily all of those terms) or lead/lag controller would give much more flexibility and precision in achieving design goals (overshoot/settling time/ss error) than a P controller with overshoot control. With a ramp input the response should linearize and you should increase your flexibility with, but still not the the degree of the other controllers.

Now let’s say we are going to have the flywheel change speed as we drive around so that it is always ready to shoot. There will be some known function that relates distance to goal to the required flywheel speed. We could do this theoretically (a major pain) or use experimental data to generate a function. Obviously the first is going to be of an unknown order (until we calculate it, have fun with that!) and for the second we can choose the order, to some degree (which would be my preference). Even if we do this, distance to goal is an unknown function of time because it changes as we drive around and we don’t know where the driver will go before the match. As a result, the constant transient response of the flywheel speed is unknown and therefore uncontrollable (by which I mean you can’t optimize a controller to a set of design goals that works at all times).

Now for autonomous we know where the bot will go to a decent degree. In this case we could design a controller to optimize the system and meet our design goals.

Long story short, the TBH will be easier to use than a PID and may give better results because it can be very difficult to tune a full blown PID controller correctly, but it can’t be optimized to the level that a PID controller could for this system.

Also, keep in mind that I said that the voltage across the motors was already linearly “mapped” to the input values (-127 to 127). If you don’t do this, then figuring out the order of the response will get interesting :slight_smile:


TBH is usually considered to be somewhere in-between bang-bang and PID. What matters is that both TBH and PID are closed loop controllers and can compensate for variables such as dropping battery voltage. If I have time I’m going to have a play with both this weekend and create some graphs of their performance using the PID tuning code I developed last year when working on the triple lift.


I’m glad I never claimed tit to be.

It’s a good thing TBH is an integral controller with overshoot control.

In addition, maybe I’ve gotten soft after all the custom CNC’d gearboxes and sturdy construction I’ve been privileged to program with, but so far, I’ve been unable to get PID to beat TBH in any of those categories save overshoot. Yes I’ve gone into simulink and properly mathed everything out to get optimal PID constants. Still couldn’t get it to beat TBH.

Can’t argue with that. TBH simply isn’t designed for constant random change. I don’t, however, foresee many teams shooting on the run, so I would think that most would benefit more from being able to shoot faster and more often from a constant position than being able to deal with motion.

(I’m also having trouble imagining how teams are going to be judging position on the field without proper SLAM tools or experience. Seriously, odometry can only get you so far.


:o oops it looks like you misspelled something

amazing robot by the way


Whoops. I would blame it on not setting the debouncing on my keyboard but I guess I should really be debouncing my fingers. Shame I can’t edit that now.


Any ideas for elevation for your robot?


Nice robot interesting conveyor belt system to load the launcher.


This code sounds really effective and I would love to implement it into my design, but I don’t entirely understand what it is doing. Based on what I have looked up, it is just an integral controller without the additional P and D. What additional things are there that make it better than PID? Do you have any simple pseudo code?

  • thanks.


What is your flywheels angle?And has your flywheels tend to slow down after to first shoot and not make it in the net, if you guys know why it does that please let me know soon as possible.


Will you please send us a building guide…we are newbies in vex…thanks


This is from 3 years ago


@DRow I’m sorry to mention you, you most likely are busy doing other things. But I feel like I may need to mention you about this revived thread because it is really old and the thread owner most likely doesn’t even have an account(graduated probably).
@Brobots Make sure you read the rules and guidelines, also make sure to be aware of notifications while you’re posting. You should’ve gotten a notification saying that this thread is really old.


It’s always kinda fun to look at old threads after they’ve been revived. But, still. It’s kinda annoying to see a topic you know about, and then realize it’s too old and the answer’s been out there for years.


Thanks Do you have a building guide for nothing but net competition that can be used by only one kit of vex…thank you so much for your help


Nothing but net is no longer the current competition. It’s Turning Point. You are 3 years behind. Also, the season just ended (assuming you haven’t won a state championship)

closed #36