Asked

If we have a stationary robot and a stationary item sure we can pick it up, but if we have a robot that can move and an object that can be anywhere in any orientation how do we pick it up?
We have Lidar, we know where the robot is with Realsense, we have object recognition and yolo so we can find an object, we have servos like dynamixel and hacked HDD that know their position so what else do we need in order to pick something up?
Related Hardware EZ-B v4
Okay - i have a build for tonight that will better analyze the detected object to calculate rotation. You should see better numbers now with the new algorithm. Stay tuned for 2020.12.13.00
I actually ripped the foam off the grippers as the pen just rolled into the gripper better without it but i put it aside and will glue back in later.
looking forward to update if you grab a highlighter and a standard ez-robot camera you will see what my robot sees .I did play with the various colour tracking options and settings as well as different colour highlight pens.
Thanks again for all your great help.
Hey there. Not sure if you saw but there’s a new update yesterday with improved angle calculation. https://synthiam.com/Products/ARC/Releases/ARC-2020-12-13-00-Early-Access-20125
it was tough and that’s about the best I can do at the moment. The algorithm is a bit crazy because the detected colors don’t always make a perfect shape with right corners and straight lines.
oh and how’s the auto update button working out
Woohoo it works. You are amazing thank you. Now my grippers line up to 90 degrees. THANKS.
I will try and see if I can teach rolli to play fetch.
That's great to hear
. I spent a lot of time trying to figure that algorithm out ha
Question How do you pass a variable between action scripts in AutoPosition or not change a servo position in an autopostion
Reason I found tracking angle works better if the Camera is Directly above the object (90 degrees) because when it is at an angle you can't triangulate (only 1 camera). As a result I have to Get the camera rotation using 1 AutoPosition action and then move the robot and claws to pick it up with another autoposition.
Problem I have is I can not see pen when I go to pick it up as claw blocks camera (Had to move camera far away for GetCameraRotation to work). So I set var PickPostion to GetCameraRotation and then try to read the PickPosition variable in the pickup object script but does not pass variable between scripts.
I hope this makes sense?
An Auto Position is just that, auto position. It moves into pre-defined positions. If you want to move a servo manually within a frame, you have to set that servo to a -1 position.
To move a servo, use the Servo.setPosition() in javascript. Here's the manual: https://synthiam.com/Support/javascript-api/Servo/setPosition
You can obtain information about the location of the object using variables. The camera has a bunch of variables that describe the detected object. See the variable manager manual to see what variables are detected by the camera: https://synthiam.com/Support/Skills/Scripting/Variable-Watch?id=16056
From the Auto Position manual page: https://synthiam.com/Support/Skills/Movement-Panels/Auto-Positioner-Gait?id=16057
Ok thanks so I just need to set to -1 perfect that should work.