Conveyer Control Algorithms

This is a shot in the dark here but I was curious if there was any sort of documentation or ideas of how to properly control a conveyer belt loading system. I figured in the robotics world this has to be a problem that was solved.

Basically our issue is we have a conveyer intake system, that we want to maximize the number of balls we can carry.

To do this we need to load in 1 ball at a time, and minimize space drastically.

The thought was having a ball sit basically at the edge of the conveyer, and each time we get a new ball move it just enough… but I am not sure that works…

Has anyone found any clever ideas to do this? is there a name for this type of control method. A lot of times I feel like there are names.


Our usual name for it is “skilled robot operator pushes the right button at the right time”

Do you plan to have sensors to detect ball position(s)?

An incredibly simple, though not robust solution, is to have some kind of beam break, or time-of-flight sensor right at the infeed to your conveyor. Program it such that the conveyor only moves when the beam is broken. This will create a near automated indexing system. There was a team who had a video of this control algorithm setup and it worked absolutely fantastically. I’ll see if I can dig it up.


that would be HUGE! I had thought of that… I am tryuing to come up with a fast system

This will be quite fast as well. You could also add a delay after it stops seeing the balls to create some small amount of spacing if that’s what is desired.

Found it. Check this out. Absolutely perfect spacing with a stupid simple control algorithm.


this is perfect. I guess no chance they say how they do this.

seems like all they have is beam on the front and as soon as it gets tripped they rotate?

That is exactly what it is. There is a slight delay after the ball is not sensed anymore so that it creates a small gap.

Yes, that is how we did it. Just a photo switch at the front. We are thinking about putting one at the end as well.

is that your team? photo switch in front and then roll your motor a set number of ticks via a talon or something?

oh just saw your team number. okay sweet

Yes, we’re using the Neo 550 with the built in encoder.

1 Like

3468’s Solution to this is to use three IR Sensors. (Either diffuse reflective or beam break)

The first sensor will be the point between the intake rollers and conveyor that the conveyor should first kick on to grab onto the ball and begin pulling it in. The second sensor is behind the first, and when triggered turns off the intake rollers. The conveyor will continue to run until the ball is past this second sensor. The point of this, is to create the gap needed between the balls so they won’t contact each other and are far less likely to jam.

The third sensor is at the top of our conveyor, just before the launcher wheels, and denotes when the rollers and conveyor should stop because we’ve reached “the end of the line”

Of course, our second controller will have overrides for this, should something go wrong, but for our main driver, this logic should reduce intaking balls to a single button.

Similarly, the top sensor is also used to queue the balls up while waiting for our launcher wheels to spin up, after which we will push the ball into the wheels as soon as they are up to speed.

1 Like

I love this. Stupidly easy for amazing results. I guarantee you my team is stealing this

Same. Can’t believe how well this works lol

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.