PSA: P Control

You can make your own PID controller. It really isn’t that hard to do. The built in PID is pretty jerky and you don’t really want that for a stack. If you look closely at the motion of the deposit for some of the China robots in this video, you can see the velocity of the tilter decreases significantly when it approaches the target deposit angle. China Finals Match.

This deposit suggests that there is some sort of motion algorithm aiding in the deposit. While you can always just decrease the velocity of the motor in code, having a computer mathematically give you a smooth deposit sounds like a better idea. These bots are depositing 10-11 stacks so you can be certain that a “smooth” tilter works effectively.

If you are doing advanced PID on the v5 note that VEXos doesn’t directly apply the instructed voltage. From my testing if noticed that it ramps it up (most likely to protect the motor is some way)…

I have asked a question about this already and there is a graph that show what I mean: VEXos motor behavior

Im surprised nobody has mentioned the mechanical fix yet. If you use a modified 4 bar, which can be seen on most of the tray reveals so far, you can get a faster motion at a lower angle and it will slow it’s movement down by the time the tray is all the way up.

(This is where I really want my modified 4-bar calculator to be functional)

Where the max rotation or the tray is to 90°?

Are you talking about the amount for which a tray could tilt? It really depends on the tray. But from what I’ve seen maybe around 20 degrees.

No I meant the Max outer rotation. So the tray will come to vertical then start tilting back. Sounds pretty good to me

it should be 90 degrees or maybe slightly more to allow the cubes to come out of the tray maybe 90.5 degrees.

Another thing with tilting, I’ve seen teams go up to 90 perfectly but because they were going so fast the bottom cube couldn’t get fully planted on the ground, and the stack tilted away from the robot and falls.

One way to do it is to make it so that your intake only opens up once the stack is almost upright. That way the bottom cube won’t slip and make the stack fall. I’ve successfully stacked cubes on a hardwood floor

Wouldn’t that be easier since the floor would be solid, and make the cubes less prone to tipping once they are already on the ground?

No, because it’s much easier for things to slide compared to the foam mats.

That’s a good point. However I think the main reason cubes fall when being stacked is because of the bottom cube sliding against the foam tiles when being put down, causing it to be misaligned with the other top cubes.

VEX 2019 Tower Takeover RI3D Reveal - YouTube, go to 2:03 there is a bar that transfers power from the back to the tray. This bar is what I would coin a “modified” 4-bar, where the 4 bars are all still connected, but they are not parallel.

This robot also has a similar mechanism 1727G VEX Tower Takeover Early Season Reveal - YouTube (0:45)

And this robot Vex Tower Takeover 1961Z: Mk. III - YouTube (0:45, 0:53, 1:00, and 1:25)

For this application the built in PID should work fine.

I do know for last year a custom loop was important for flywheel robots. There was a lack of slave/master and the harsh reversing after reaching desired speed killed any semblance of consistency. I do believe Vex added in a slave/master control to the built in PID for this year though.

can someone send me theirs from their program i dont know what im doing wrong but i cannot get mine to work

Could you post a a snippet of your code? I’ll help later in the day if I can.

here it is below

if(Controller.ButtonR1.pressing()) {
int LiftPControl = Lift + 100(-1(Lift.rotation(rev)/1.58));
Lift.spin(fwd,100,LiftPControl);
}
else if(Controller.ButtonR2.pressing()) {
Lift.spin(vex::directionType::rev, 200, vex::velocityUnits::pct);
} else {
Lift.stop(vex::hold);
}