# How feasible is the idea of operating a robotic arm in a non-sophisticated way?

I and my team have to design a robot using an arduino chip. The objective of the robot is to grab golf balls at a set of golf pins at different heights and pre-defined locations. We couldn't figure out a possible mechanism that could collect the balls and drop them into the trailer except for a robot arm. However, we don't have experience and time in designing a sophisticated system for the arm like recognizing where the ball is and then grabbing it accordingly. What would a feasible option be compared to a non-sophisticated robot arm?

Note:The robot must be autonomous.

• Do you have any requirement to where to put the balls afterward (as can the trailer be anywhere) ? From my understanding of the problem, you don't need to actually "find" the balls, you know their location. Would a kind of three axis XYZ mechanism that just push them in the trailer work for you ? Mar 6, 2015 at 0:36
• Yes that would work! Does that mean I need to precisely tune the angles at which the servos in the arm will rotate and then pick them up. That could work if we can get the robot to the exact location.
– Alp
Mar 6, 2015 at 2:18
• Do you have a link to the requirements specification? Mar 6, 2015 at 19:18
• ncedaust.org/index.php?select=151
– Alp
Mar 7, 2015 at 1:37

# The platform

When I hear

• Easy to do
• Quick and dirty

I always think of a Cartesian robot or a three axis XYZ mechanism.

But why would you want to use this instead of a more human robot arm ?

Multiple reasons :

• Way easier to control : Cartesian is somehow more intuitive that cylindrical coordinate systems. You will not have has much math involved and the development time is going to be that quicker.
• Easier to make.
• Very effective. Cartesian robots were once the norm and they still are widely use, there is a reason for that

Using an arduino to control a Cartesian robot is probably going to be more straightforward and easy to make than a robot arm.

In case you still want to use an arm, you should start checking out Denavit-Hartenberg parameters. Here is a pretty good explanation about them. You can still apply it to a Cartesian robot if you just want to expand your knowledge and understand this. After all, it's only a convention.

# Now that we have a likely platform lets dive into your problem.

You want to pick up balls and put them in a trailer. Since you don't have to do any recognition work (you know all the balls locations) it's one thing off of your shoulders. You only want the robot to go to precise locations, on after the other and do its job.

Thus the positions should be hard coded. Or you could simple give a file with different position as an argument.

Then, depending on what is the support for the balls (a shelve ? just lying on the floor on the floor ?) you could either grab them with a clip (sorry for giving you an image there : Google translate told me the word is a clip but I'm unsure that's the good word) or, push them of a table to fall into a trailer or use a suction cup... It's time to get creative ;) !

I just though about something else that you could do if the balls are on the floor. Why not a mobile base that rolls around and pick up the balls ? That's another feasible cheap possibility. And there is plenty of documentation on this :).

I saw your other question as well so I'm going to comment the answer there to give you my guess on how to do the actual movement from one point to another.

Can you use something like a leaf rake shape to just pick up all the balls, or even a clam shell of leaf rake type 'hands' once you have the general location?

• I had a similar idea. I'm going to build a sliding platform on top of the chassis. This platform will slide all the way back of the balls and then buckle orthogonality. The platform will then retract. If I cut appropriate holes on the platform it will push the balls onto the ground through the pins. The platform will merge with the trailer. I'm going to pull the tip of the trailer with a servo so all the balls will go into the funnel.
– Alp
Mar 6, 2015 at 14:46
• Can you describe the objectives more? Are the balls resting on pins? Are the pins made to hinder movement of the balls? Is the object to collect the most balls? Collect all? Avoid losing any? Are they close together? In a maze? Mar 6, 2015 at 14:53
• I've just uploaded the track. I need to collect as many balls as possible to get a good score and then transfer them into one of the holes. Smaller the hole, the more points you get. Also there is a time limit of 2 minutes. The pins are stuck in the platform.
– Alp
Mar 6, 2015 at 14:57

Possible options,

1. Use image processing, with opencv you can detect object make the arm to hold the object
2. If you are very good in electronics, make this ball to emit RF signal, the strength of signal will increase as we go close to ball, use this info to track ball. You can refer radio transmitter and receiver circuits.
• Unfortunately, we can't manipulate the balls in any way. We don't have a lot of experience in electronics too. This is what happens when you asked a group of aerospace and mechanical engineering students to design a robot. I'll look at opencv though. Thanks!
– Alp
Mar 5, 2015 at 10:17

While I still like the rake idea, parallel slots wider than the support pegs, I worry it would push the pink ball instead of retrieve it.

My second thought is a simple suction device that retrieves the balls and drops them into a funnel in the bot. Though there might be concerns with the mass of a golf ball.

Collect all 6 without worrying about the fencing. Travel to the smallest hole, open the gate on the funnel and let them pour.

Sensors: Golf ball detection to direct the suction. (Chroma?Known Ball Color, Shape?Round, Dead Reckoning?Known positions)

Finding the target hole, positioning the funnel output over the hole Fall back to a lower value hold if timer is running too low.