Congratulations DJ Sures, for answering the question and has received an EZ-Credit award! Share what you have learned and create a tutorial to help others by clicking here.

True Autonomous Find, Pick Up And Movemovement

Assistance Requested

Help bhouston with their question and receive $10 of EZ-Credit to get more robots and parts from our store. The following information was provided about their previous efforts searching tutorials for a resolution.

bhouston claims to have checked these sources:

Rich mentioned today that it would be great to see a robot autonomously find an object, pick it up and move it. I agree! How the heck do you do that? I've been looking around at old posts but can't find anything to get me started.

I would like to do something like this with the robotic arm I just completed and eventually with my InMoov.

I suppose that a place to start would be to have it find an object (camera), then to navigate to the object, moving it would be the easiest part. Anyway, just blue skying here.

This, of course, would be a great feature for a robot to have to assist a person with limited mobility.
Anyone have any thoughts on this.

Edit, Sorry about the title of this post. Why can't I edit that?

I have found a few conversations, tutorials and activities that may help with your question. Take a look at these links. I've sorted them by what I believe to be most relevant but that is not always the case as I'm still learning.

Also, consider reviewing the Learn section for informative lessons and activities. Check it out!


Actually seeing the object would be the easy part. The problem with autonomously retrieving a object is trying to detect that the robot has picked it up. However, you could use a IR/sonar sensor to detect that the object is in the hand. That would be a little funky looking to have a sensor on each hand, but that seems like the easiest way since we know that those work with the EZ-B. Alternatively, you could use a flex sensor or a small button in the palm/on the fingers. I don't think anyone really knows if those work on the EZ-B or not, but if you want to try and figure out how those work and find a good way to use it via ez-script, that might just be the best option. Grin


The question can be more specific of "what are you picking up" and "what does the robot look like"

The distant sensor in the hand would be great to ensure you have the object.

Finding the object is actually really easy. The code can find the object location by the variable which stores the detected location.



Pretty sure he is talking about his in-moov


I would like to be able to this with the robotic arm I just completed (see my latest video) and do something like this;

Have a red, a green and a blue object placed randomly within the reach of the arm, given a command, like, move the red object. The robot would find the red object, pick it up and move it.

It will be easy to add a camera and an ultrasonic sensor to the arm. The arm has 5 DOF.


Ah! No problem. We can help you with that Smile

First you'll need to understand a relationship of head servo positions

Then use a multiplier on the head servo positions against the cameras object position - assuming the camera is in the robots head.

From that calculation, the next step is to calculate the position of the arms to get to the object position

Actually, I have a real good idea! Let's start with a simplified exercise. Let's use the camera control to move servos based on relative object position to the camerad detected object and point the fingers and arm to the object.

What we can do is use the X and Y servo settings (multiple servo mode) to move the arm to point to the direction of the object. Like he's pointing to it


I understand most of that. (Just) I will mount a camera on the robot and play with the control for it and the relative positioning.


i have a idea incase you want to pick up more than colored balls- you can use glyphs to mark a object, so that way the robot can get into the correct position to pick it up. (so like, a coffee cup has a glyph that tells the robot to grab the handle)


@Sudo, good idea but let's start simple then ramp it up.


I have mounted a camera on my robotic arm and have it tracking a red object. Now I am trying to get it to track by relative position - I have the "Track by relative position" box checked and all of the servos listed with there Min/Max settings in the Multi Servo window. I get no movement when trying to track a red object.
What am I missing there?
I am not clear on what the "Ratio" should be or the methodology of the Ratio setting. Even after watching the Tutorial video on Relative servo movements.
Can some give me an example.