Ball Density Problem

I’m a member of 1489B, and we’ve had a significant amount of problems with getting the ball into the high goal. We’ve adjusted our gear ratio to 25:1 for both flywheels, and added a second motor to each flywheel, increasing both torque and speed. We have an intake with flaps that push the ball up a ramp, and at the end there’s a flywheel on each side (with numerous rubber bands around them) that fires them. Our problem here, is that sometimes we can get the ball into the high goal, but most times we cant. The issue is occurring around mid-court, and even if we leave the robot where it is after shooting a high goal, it misses the second shot. We move the robot to around mid court, load one ball, rev the flywheels fully, and fire the ball. 1/15 times we make it into the high goal. We leave the robot where it is. We grab a new ball, feed it into the intake, rev up the flywheels fully, and fire again. Even if we made it with the last shot, it will either under or overshoot the high goal. Our coaches explained that it was a problem with ball density, and that there’s a way to fix it, but school’s been cancelled for the next week, and I’m dying to figure out the reason and solution to this problem.
ALSO, a genius friend of ours suggested lowering the intake and removing the flaps, as the ball might ricochet off the flaps when being fired, and shorten the distance the ball traveled. We did so, removing the flaps and lowering the track/tread of the intake, relying on the sole compression between the aluminum plates and the track pushing it forward. Same problem.

Please help!

If you have flaps on the flywheel like it sounds, definitely remove them. If the problem continues Lower the compression by spacing the 2 wheels apart more until you cannot get full field shots. If your shots are still inaccurate make sure your feeding mechanism is consistent. Has anyone figured out how to measure ball compression on the fly?

We removed the flaps. We could try spacing apart the flywheels. As to not getting full field shots, we already can’t do that. Our launcher does not shoot straight. Rather, it shoots up at an angle upward, creating a steep arc as a path for the ball to follow, landing in the high goal. Also, we are a middle school team, so forgive me for asking what you mean by measuring ball compression.

I forgot the tolerances for the balls I am sorry ;(

What? @Zeus8686K

Ball density referring to how big the ball is or what I’m confused now.

density meaning mass per the volume of the ball. There are different masses of the balls but the volume seems to be pretty constant. So mass is slightly variable.

So Mass/weight is the other variable which goes into density. We’ve seen a few grams difference when weighing balls versus size of the balls being different.

Then there is hardness/squishiness ability on the ease of compression. Not sure of the proper test for measuring this. A constant force applied and measure the distance compressed? Some balls seem to be rock hard while others compress easily making flywheels more susceptible than punchers to variation.

By saying measuring ball compression on the fly I mean design something, probably in the intake, that somehow measures the compression of the ball. I was thinking a weighted flap attached to a encoder, the higher the flap goes the more compressed the ball is.

Maybe a standoff tensioned downwards on a potentiometer could work, the further back the standoff is pressed the higher the density/reading on the pot.

Guys, again, I’m sorry for not understanding a lot about what you say, because I AM on a middle school team on a low budget. Could you explain what a potentiometer is?

I’m on a middle school team too but it’s my fourth year in VEX. A potentiometer is simple knob that provides a variable resistance. Potentiometers can be used to measure variations in angular position of different robot components. It can be very useful when implementing robot manipulators or shooters. For example, if you are designing a shooting robot, it is possible to estimate the angle at which the robot should shoot a ball in order to get the ball into the goal from a known distance. The mounting arcs allow for up 90º of adjustment to the potentiometer’s position. Since the potentiometer has limited angular travel, it is important to ensure that the shaft that is being measured by the potentiometer does not travel more than 260º (the potentiometer can only move approximately 265º ±5º and can only electrically measure 250º ±20º). The adjustment arcs allow the potentiometer’s range of motion to be repositioned to match the shaft’s range of motion. But if you want to measure the motion of something that rotates more than 230º, try gearing down the shaft’s motion such that the gear attached to this “primary” shaft turns a larger gear attached to a “secondary” shaft. This secondary shaft will therefore rotate less distance than the primary shaft. Once the gear sizes are adjusted such that the range of motion of the secondary shaft is within that of the potentiometer, attach the secondary shaft to the potentiometer. This way, you should be able to indirectly measure the rotation of the primary shaft by directly measuring the rotation of the secondary shaft.

OK, thanks. When school’s back in, I’ll check if we have one. If not, any ideas on the solution to my problem?

I don’t think measuring ball density is the answer to your problem. I think that the issue is compression between the wheels that gives inconsistencies in shooting. I have yet to see a robot that adjusts shooting power or anything like that for different density shots; figuring out compression for the flywheel is the most effective way to solve this.

Measuring density is something that’s probably possible, but too difficult to attempt doing realistically. I thought about the idea before and I figured with a lot of programming and a very specific setup I’d be able to do it, but it wasn’t worth the space, time, and brainpower for me personally to do so. Some guys might have different views that “it’s an engineering challenge”, but honestly, I would just mess with compression and timing.

It’s the fastest way to mess around and figure out a perfect medium where most balls will make it, rather than figuring out density, then coding in values and perfect velocity measurement to set the flywheel value correctly to shoot the ball.

Once you find the perfect squeezing point, keep tuning it and tuning it until you’re getting results you’re happy with.

I wrote half of this post without completely reading the post (sorry). Another thing you might want to work with is the timing of how you’re shooting the balls. If you even just allow the flywheel to spin up a second less than you did for the ball before it, you’ll end up making a less powerful shot, because the motors couldn’t spin up to the same speed as it was before. There are ways to fix this with encoders and PID/velocity code, and there are a ton of threads to help you along the way for that.

Again, timing is always crucial. I made it through a couple of competitions without velocity code on my robot, but I could still make far off shots because my loader learned the timing of when to put the ball in and we made a lot of full field shots consistently because of it.

AWESOME! @MGOD Real help! Haven’t got to test anything yet, but there is a small possibility that the teacher will book a competition this Saturday, and we can try out your ideas during Pit times. Our team programmers are kind of low level, meaning that pretty much all they do are #pragma’s and motors turning at the push of a joystick. Our school IS on a low budget, so we probably don’t have many electric parts other than motors and cortex’s and stuff, but I’ll see what we can do. We went to a competition a few weeks ago and we were allied with team 1575H, who told us to come to Vex Forums, and explained how their robot worked. They were a real help. They told us about a very risky part they used (black motor thing) to display the motor speed on a display thing. I think that’s what you mean by making sure motors are running at the right speeds.? As to compression, should we just move the left and right flywheels inward and outward until we get to a “sweet spot” that gets our results? Thanks for replying.

Just a disclaimer first: I’ll admit I don’t do things very super well thought out, and often engineer solutions on the fly. If you’re running low on time, and low on material, you gotta do what you gotta do. I’ll give examples of some of the stupid stuff I did just because I didn’t have a lot to work with or the time to put into it after the main point of my post.

Since you guys are low budget and don’t have a ton of programming knowledge, you probably wont want to display your motor speed. You’d need an encoder and code to read velocity. I believe that this will not help you a ton. I have velocity coded into my robot and an LCD screen already and could easily display it, yet I still just rely on timing for loading balls. I just don’t see myself that it is worth doing or relying on. Timing is a HUGE help if you’re looking for simple and easy. Sure, you could have an LCD screen show you numbers and put the ball in only at a certain time, but there are still a ton of factors to account for, and it’s just easier to time it as a human being with a sense of rhythm.

For compression, definitely work on moving the wheels in and out until you get to a sweet spot. There are many ways to achieve this, and it all depends on how exactly you connected the pieces to your robot, but if you can move the wheels in increments of 1/4 inch every time to play around, you’ll probably find an average sweet spot.

That’s pretty much all I have to say about your current issues, but I have some advice, I guess? It might be bad advice, but it’s just how I see things after doing vex for 6 years.

Anyways, I usually brute-force things, if it’s okay to use programming terms for this. I also just go for the easiest solution when I’m in a pinch. For example, I had the option of coding in a thing for automatic timing of shooting the balls quickly, and I tried it, but I couldn’t get it the night of the competition, so I just deleted it and relied on my own timing, and it worked out for me. Another thing is when I have a problem on my robot that requires some spacing to be fixed and I havent figured out how exactly, I play around with just zip tying certain pieces on, and I eventually get something that works and I keep it that way until I have time to make it a solid piece. There are habits that you don’t want to really get into unless you know what you are doing.

One thing I did recently because I didn’t have certain metal lock-bars to lock my axles to my metal, and I did not have quick access to it, I just took a high strength gear and cut it into a rectangular piece where I could just bolt that to my metal. Probably EXTREMELY wasteful, but I worked with what I had, especially because it would be ‘difficult’ for me to acquire one within a day. I wanted to finish that thing that day, so I just finished it with a pretty stupid solution but it works. If you do have the time and effort to put into something, definitely take the time to make things optimized and simplified.

I don’t even know where I’m going with this anymore actually but that’s a look into how I do stuff.

Thanks. We usually do play around with the timing of the ball, by watching the flywheels. They’re a little unstable, but when they rev up to their max speed - which we know by waiting for the flywheels to appear steady - that’s when we fire. Anyway, you’ve been a huge help, and our competition got canceled because of the weather, so we have to wait until next week to get to robotics. Luckily, the first day we get back is the day we have robotics, and we have an extended amount of time for the rest of the weeks to work on our robots. If you have any other advice, it would be a huge help, because you seem to explain complicated things in a way that I can understand. Thanks again.

EDIT: I’m in my first year of Vex, and I joined late, so I’m very new to all these concepts. I don’t know RobotC. I DO know Processing.js

I’m a senior in high school now, and I started VEX back when I was starting the 7th grade. It would be good to pass down my knowledge of how I do things. I don’t know how taboo a lot of the things I do are, but I’ve had enough success to where I have a secondary goal at tournaments that’s almost as high as the first: to have fun at competitions and joke around with a lot of my friends from other teams there.

To keep it relevant to the thread, I’m gonna start with ball compression, and how I personally toyed around with things on my robot to figure out what combinations worked. My entire intake device on a single vertical flywheel robot was mounted with 2 screws on each side, so I could actually force it down or up slightly with my hands and some work. I don’t play sports, and I didn’t know how balls compressed or how to make things go further, but after experimenting, I saw that with the opening for balls to go through being smaller, medium hardness balls went further, whereas if I made the opening bigger, medium balls went less as far. For soft balls, they needed to be compressed a ton to shoot far. Hard balls was the opposite. Too much, and it didn’t go far at all. Testing like this, I only made slight changes to my design, and when I found a good height, I just made more support and made the thing I was pushing and pulling STAY where it was. Obviously this is not ideal, and if you have a better way for testing correct placement, by all means: do so.

For building robots, I always like to finish things as fast as possible, but sometimes I don’t know the ideal solution. I usually build a chassis first, and sometimes I don’t even have in mind what the other devices are gonna look like. Most of the time, the changes I need to make to the chassis to account for the devices I put on later are very small, so I don’t have to worry too much. It’s either that, or I just build the device I WANT to make AROUND what I already have.

One example is this year, I started building my robot sometime mid-June, a while after the world championships. I took it slow, because I had a really long time until my first competition. I built the chassis, and didn’t figure out what I was doing for a shooter whatsoever. I desperately wanted to make something like Team 62’s design after seeing their video, but I did not have the resources to do something like that. When team 8059 posted their thread in late June, I wanted to build something like that as well. I chose to build a flywheel like team 8059 because it was the easiest to build and replicate. I’ll be honest here, I cookie cut a lot of robots. I copycat. I feel there is no shame in doing so, because I saw a design that worked, and I wanted it because I saw how well it worked. Team 62’s design was still a lot more accurate in my eyes, but it was super difficult for me to build. 8059 gave videos, pictures, gear ratios, motor gearing, everything I needed to convince myself that this was one of the tickets to success. I’m not discouraging innovation and discovering things for yourself, but if you’re like me and you have limited time and parts, you have to make sacrifices to what you do with your time. I made 8059’s robot almost exactly, with a few things changed that I felt were improvements, and I almost won my first tournament I competed in. Got defeated in finals.

If you have time to just build and create something, I highly suggest you do. For example, I had a device for Skyrise that I didn’t end up using. (1841 Pneumatic powered intake - YouTube) I couldn’t figure out how to implement it correctly to my robot design, but I shared it online for people to see, and maybe inspire others to do the same. It was a design that was probably made already, but I made my own rendition of it that thinned the device out as far as I possibly could, and that required some heavy thinking on my side. Moral of the story: even if it isn’t used, it could be useful to others, or in the future. You’ll learn a lot just from building something you don’t use.

The final thing I have to say is, definitely have fun. I took competitions really seriously before and just had the mindset to WIN WIN WIN, and I can understand the mindset of people that do. However nowadays, I don’t look MAINLY at winning winning winning, but I also look forward to having fun and meeting up with friends at competitions that I hadn’t seen for a long time. If it isn’t fun for you, you should aim to make it fun. There are ways to still be super serious at tournaments and have fun. Even just joking around with friends when your robot is fully functional and it hits lunchtime, or when you’re waiting at the queuing table, or if there’s downtime between matches.

Our competition got canceled. Anyway, thanks. I’ll see what I can do on Tuesday.

What is your flywheel’s launch angle? If you are shooting from midfield, too low of a launch angle could leave very little room for error.