So I know that a lot of the more advanced people in any engineering use math like geometry , and algebra for structural parts of their robots to find the most optimum way of building that certain thing. I did algebra one last year and am going to do geometry this year. So once I learn that. How can I incorporate that in vex.
I use pythagorean theorem a lot for bracing and gear spacing across diagonals. Most of your structure will come from just from geometry.
However, trigonometry will help loads if you try something like position tracking. Math is a pretty big deal in vex.
Ok, yah I have realized that if I want to be the best of my ability I better start learning how to put math into vex.
In order to do any sort of math on a structural component, you need to have an understanding of the physics at play. That being said, most structural components are so complex and have so many variables at play that most people don’t mathematically model the structure of their robots. It’s better to understand the general physics of whatever system is at play and use that intuition to build. Not necessarily a rigorous proof for anything of the sort.
Aside from that, math is typically used for calculating gear ratios and output torque or speed (in vex). There might be other applications of math for measuring physical distances/loads, but for the most part, (in the context of Vex), math is not heavily used in the sense that you think. Understanding general relationships through general formulas is a different case however.
In real world engineering, CAD models and simulations are used to do heavy computing. You can test the stress load on a system and how the system deals in the real world like this.
However, when coding, math is used for mostly everything. Any kind of math for that matter. From basic arithmetic to high level calculus. Coding needs math to have any level of precision.
I hope this gives you a better understanding of how math is used in Vex. It’s not about any explicit values necessarily (for hardware), but rather relationships between systems through general physics equations (which uses all kinds of math).
Oh, ok thank you. That clears it up a lot. Is there a certain type of math for coding that you would say is for starters. I haven’t used math in code before so I want to try and build my way up.
I don’t really use any complex math when building a robot (other than like addition and subtraction).
I think its important to get a good understanding of physics and the math at play in robotics just so it becomes part of your common sense when building and designing. there’s a lot of math behind these robots that we don’t even think about when we implement them, like gear ratios, wheels sizes, even the physics of things like rollers become intuitive, despite not actually considering the really math behind it all.
Well you should probably get really familiar with encoder math. This is how linear distance is translated into units of rotation (and vice verse). Basic algebra is used for the conversions. This will allow you to apply a lot of different algorithms to your chassis that are based on linear distance.
As far as algorithms that use algebra, get familiar with p-loops (a derivative of PID). It’s a simpler algorithm that uses one part of the main PID algorithm. This is a very general and useful algorithm that can be applied to pretty much anything.
The math you use is all on a case by case basis. You will need different kinds of math to solve different problems. The cool thing about all of it is that the math is inter-related. When you see a relationship between and within a system in real life, chances are you can create a general mathematical model for it in code.
Not for beginners, but when you learn odometry, all the line math you learned in your algebra class can be applied to it. This is because it uses a coordinate system to track the robot’s position. With that data, you can have the robot do a lot of things just with general line math.
Although mathematics can come at play, I would really like to argue the opposite. The VRC C-Channels are just sheet-metal with holes cut out of them. Although I do get that you need to get an understanding, I have to be honest that its simpler than it seems. I learned about the structural integrity of metal through years of experience, but I believe it’s worth wasting a single C-Channel to stress test one on a vice to gain an understanding on the weight required to bend one. C-Channels, in general, are extremely strong when pushing down vertically:
but can bend with almost a 3rd of the force when pushed down horizontally. |_____|
That being said, bracing should be based upon that aspect.
I agree, the only time when using mathematics generally in VEX is in coding/programming, as many teams utilize odometry and PID for their robot. Simply put as what you said:
So where would you use p loops in general. Like just in autonomous. Chassis control, subsystems like intakes? And what is the advantages and are there any disadvantages
I see what you mean and by that metric, yes, math can be useful for hardware. But I was referring to entire systems. I probably worded it poorly. But doing math on a DR4B, for example, can be incredibly rigorous and implausible given all the variables and complexities at play.
TL;DR modeling entire systems might not be useful for anything outside of the engineering notebook. Vex parts can handle most loads, and solving problems usually doesn’t require math because of this. General building techniques (like box bolting) ensures the build quality and durability of a system is adept at whatever task is at play. No need for math there.
well now we’re getting more into the coding aspect, which is math, but like a different kind. different control loops have different uses, p loops are common because they’re easy and can get the job done if you don’t need too much precision.
All of them, although for lifts or intakes the preprogrammed motor instructions works fine.
Using just a P-loop for your drive is not really recommended, as it will work, but not as effectively as a PD or PID loop.
Well I am just trying to figure out what their uses are for.
Not much. PID or simply the motors’ pre-programmed PID loops are much better alternatives.
You know this is a big brain discussion when the tldr is longer than the actual post.
P, PD, PI, and PID loops really depend on the accuracy, speed, and drift. PID can work on drivetrains if you make it tuned enough, but if you just need a general relatively-accurate system it may be better to go with PD for the drivetrain. PI may be useful for very small arms, and PID would be useful for full-on lifts and big mechanisms that require the extreme precision. If you want to learn more about PID you can click on my profile and links on my profile.
That is true. There is a point in robotics where mathematics can only do so much where you’re forced to do trial and error. Hence, SpaceX and NASA even does it with physically testing their billion dollar rockets before the actual flight, as one single life is priceless compared to the billions spent. I will also bet you that SpaceX uses simulations as well.
Oh so it is just an accurate macro?
PID is just a general algorithm that controls a system. It can be used to keep the temperature in a room at a certain level or (in this case), it can control the chassis. All it’s doing is telling the system how to respond to it’s environment. Anything that can respond to it’s environment through some sort of feedback (via sensor) can use PID.
Read this to see how it works.
P or PID loops aren’t macros, they are control functions that give outputs based on the distance from a target value
Slow your horses, trigger. PID is a control algorithm that utilizes the understanding of Calculus’s integral and derivatives, but trust me this is easier than it appears. I will garuntee you though, that if you learn PID then you will have an easier time than your peers learning Calculus if you wish to take it in High School (Although I did drop out of Calculus because my teacher did some relatively abusive stuff to me where my counselor made me leave the class despite it being past the drop deadline).
Trust me, when I do say it though. PID is easier than it appears, and I have a tutorial (that appears to be proven as helpful) explaining how to code it.