Canada
Asked — Edited
Resolved Resolved by DJ Sures!

True Autonomous Find, Pick Up And Movemovement

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?


ARC Pro

Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

#41  

OK. I don't have it smooth, and what I have is theoretical so far, but I think it can be done in little steps. Ie, center the camera on the object, then switch to moving the robot until the object is in the edge of the field of vision, then move the camera again back and forth between the two until the camera is facing forward, then move the robot forward a bit, adjust the camera tilt, move again, etc. Going to be a complex script, and kind of jumpy, but should be able to work it out.

I am working from home all next week so should have an extra 90 minutes a day I would spend commuting at least so may have some time to play with robots. I am using a Roli with an adaptation to make the arm longer, so it should be a good small scale model for your robot.

Alan

PRO
Synthiam
#42  

I will have to make a video on how to do this - as my posts say - it's super incredibly easy.

The EZ-Script variables from the camera control are available to you. All you have to do is identify the location of the object and keep it centered while the arm moves toward it.

Remember, as the programmer/robot designer, you know exactly where the robot arm is by the number of servo degrees. This means you know where the table top is. This means you know how many degrees to move in either direction to center the object. This means your code is in control.

It's real easy guys, i'll have to do a video one day in the future for the new activity website that we're launching in May. In the meantime, you can do it:D

#43  

DJ,

I think the problem lies in the fact we are speaking of a mobile robot, not a table top arm as in the original posters post. I would like my machine to locate the object 10 feet or so away (scanning the room via head pan and tilt) and then the robot physically rolls over to the object, lowers its arm, opens its gripper and picks object up. Again scripting lower arm, open gripper, close gripper all easy. Location of said object and moving robot to its location is the issue. Another challenge for me is my machine is now a 178lb machine that will damage walls. So doing so safely is important to me as well. Any ideas are welcome and appreciated.

Alan my thoughts follow yours exactly... Find object, drive towards it 3seconds, stop, begin scan again via pan and tilt to correct robot heading, drive again forwards, stop, scan, pick up item. Or something along those lines.

#44  

This is also something I'm looking forward to have CY be able to do. For my robot, it has the addition of a small tray in front for the arms to pick and/or place objects onto it. Cy weighs in @ 25lbs, so I too want to make sure he doesnt crash into walls or runs over someones foot (dont't ask,heheh):D

PRO
Synthiam
#45  

Hmmmmm...

Challenge accepted!

#46  

Hmm. I thought I posted something here, I must have closed my browser without posting when I got interrupted by a phone call. Anyway...

DJ, Great to have your help on the project. I am sure the solution will be awesome now. If it would help to have a 4in1 sensor to tell the robot to move a specific number of degrees rather than a set amount of time or until the object reaches the edge of its vision, I have a few extra that I got in the Brookstone BoGo sale as spares that I would be happy to share with @kamaroman68 and @RoboHappy.

Alan

PRO
Synthiam
#47  

The biggest challenge isn't the code. Code is easy fun and anything can be done... If you know what you're goal is.

I still haven't been able to identify a goal. Obviously a robot can't just drive around a room and pick up random stuff - there's philosophical conversations regarding motivation and free will to understand first:):)

However, to navigate across a room to identify a table and search for a specific object on that table, and pick it up. Now that's more like it.

Firstly, even a human can't just wander around a room "looking" for something without an idea of where that something should be "looked for". As an example, if I told you to get my keys from my house, would you start looking in sofa cushions first? Would you look behind the television and pickup the stove to look under it? Obviously there needs to be some rules defined.

Let's say it's

  1. find table
  2. look for object on table
  3. pickup object

Sure, that's easy. Of course what ezrobot is still missing is a method to identify its location and navigation waypoint within a home. Lidar is far too expensive for ezrobot to invest into as an ezbit. But the vacuum thing that everyone seems to care about is affordable... Just not easily integrated, yet. I have one, and should really spend some time with it.

However, if you saw the dev schedule that Jeremie and I are undertaking right now to get these ezbits shipping (8x8 rgb, inverted pendulum, rgb serial led, line follower, Ezb mini, etc...) geez we have been working every day and I think we're keeping our local pcb manufacturer very wealthy with daily prototype redesigns!

Anyway, that aside.... Identifying the table location is waypoint navigation. Can be done.

Identifying how high the table is... Well, I can try and use the inmoov... But the inmoov kinda sucks for any coordinated activity. Sure it looks great, but it's slow as molasses and it's hands are absolutely useless. I will say that inmoov's hands are great for burning out servos... That's about all they can do. Picking something up? Ha, good luck!

Guess I'll have to put more thought into what we are trying to achieve here...

#48  

If you want to do this simply, you would only need to turn your robot until the servo position rotating the head is centred on the robot chassis. Then it's a matter of driving and picking up the object.