loading
 
Recognizing angle of blob depends on x line of camera
Marek Wojciechowski from Poland  [8 posts]
2 years
Hello.
I'm trying for a few days to run Roborealm to work with recognizing position and angle blob (lighter). Lighter will be in various position on convoyer and I would like to use gripper on Kuka robot to take parts from convoyer. Parts will be stopped by optical sensor, and in this moment I would like to start vision system to recognize position and angle of part. Then I want to transfer values to robot (changing orientation of gripper and current position. On the screen is all what I've done in this program. I'm using wall finder module. I don't know is this correct.

Waiting for help :)))
Marek


  
Steven Gentner from United States  [1371 posts] 2 years
Marek,

If you can post the original source image we can provide you with a way to get that information. Most likely the blob replace can be used to get X,Y and rotation ... but having the original image would be useful for testing that. There are a number of ways to calculate this.

Do you have a way of getting that information to the robot?

STeven.
Marek Wojciechowski from Poland  [8 posts] 2 years
Hi Steven.
Describe You specification of PLC station. This is training station build by us maintenance crew in one of VW factory in Poland. We are using S400 SPS controller, interbus communication and VKRC 4 retrofit cabinet with KR 150/2 robot. The main problem is how to exchange information with robot. As You know KUKA provides special (very expensive) tech pack to Ethernet connection with robot. I think most reasonable is to use Interbus communication where I have 2 words free to change with robot. First at all I need to install some freeware OPC server to exchange information from Your program and pass it into OPC server where is easy to send this offset values to robot by the slave communication with robot (integer values for angle orientation offset and x,y offset for reorientation of gripper). This is I suppose best way to exchange information with robot via Interbus slave conn with S 400.
Parts to recognize ? I don't know. I would like to use Your program to check good bad parts depends on shape and colour. Then most important is calculation new part comming position and angle and calculate reorientation. Part from first post is common lighter :)
Steven Gentner from United States  [1371 posts] 2 years
Marek,

Thanks for the description. It sounds like you have some work to test the communication into the robot before we can integrate RoboRealm with the robot. OPC should be fine but that's not a communication mechanism we have just yet (although there are plans to incorporate that into RoboRealm).

Unfortunately one cannot just create an alignment sequence for any part ... at least not yet. Thus each part needs to be understood in terms of how it can be segmented from the background. Normally this means the part is on a conveyor which has a black background that is different than the part. Unless you plan to use an active system like the Kinect you will have to check each part that it can be segmented against the background and angle calculated. These are the basic principals but if you happen to have a black part that might or might not be an issue.

If you can provide us with a couple parts that might be used we can devise a solution for those parts ... but that might still fail for new parts.

STeven.

Marek Wojciechowski from Poland  [8 posts] 2 years
Steven.
Thank You for reply. I do think I will use Your modul to send variables into txt file csv format (time shift to send is to set).
Then I will pass information into excel sheet. I will try to implement libnodave library to retrieve data from xls file and transfer to Siemens PLC > to robot by interbus conn (or use Win CC to transfer infos to Siemens DB. About parts ?
I don't have permitions to publish photos of parts, that is obvious. Kinect ? Do You think that is better to use it as camera against to normal camera to recognize parts on background ? Write about kinect ? Do You have experience to work with it ? How it works ? Do You have support to Kinect ? Good idea about kinect.
About background ? It's not necesary to have black background, the screen from first (lighter) mail is just my first try to use Your programm. Can I please You to send me Your proposition for angle calculations depends on X axies of camera (no matter what kind of part You are using ?). About X,Y  offset ? I'm not sure where to make center point to count offset (X0,Y0 or from center of camera view > what do You think about it ? About how many pixels will do 1 cm offset ? I think I will do it with measure tool and robot gripper for accurancy and repeatedly stable process. Behaviorally.
Gripper ? depends on hight of part will be with suction cups or normal gripper.
Place of mounting of camera ? Could be on robot mounted or above conveyor. Still to deal with it.
On the screen are boxies with parts. Those parts are laying in any directions and angles. Do You think that is possible that Roborealm can make decision which part take first and can count X Y Z offset and A B C orientation offset ?
For the first I would like to try Roborealm to work in 2 dimensions.
Is possible that Roborealm can give me separate signal for allowing for robot (lets call it "measuring done correct" - bit signal ?)

Marek

 
Steven Gentner from United States  [1371 posts] 2 years
Marek,

That's a lot of questions! I would suggest that you review what already has been posted in this site with regards to the Kinect and how others have accomplished similar things. Be sure to check of the tutorials as those have some suggestions that are relevant to your project.

If you really do want direct answers we can arrange for paid consulting hours as it will take us quite a while to answer all your concerns. Alternatively, it seems like you need someone on staff that can help you through this process based on how many questions you have.

Again without actual images I can't suggest anything that will just 'work' with your system. If you'd like to hire our services for your project please use the contact form on the website to contact us directly and we can set something up.

Thanks,
STeven.
Marek Wojciechowski from Poland  [8 posts] 2 years
Hello STeven.
OK I wll send pic of complicated shaped object. Please can You prepare formula for recognizing COX COY and angle ?
I've prepared comm Your program and Siemens S 400 > via excel (refreshing 1 sec).
About support ? Thank You for Your advise but still have to repare hardware (convoyer, optical limit switch etc). Now I can concentrate on Roborealm program (what can I do with it etc, bar code recognizing etc., all of main features of this great program is still mistery for me).
Waiting for professional advise abot part on pic. PS. now I I have only 640x400 camera pic is shooted by some better stupit_camera :)
Marek.


 
Steven Gentner from United States  [1371 posts] 2 years
Marek,

Put the attached image file into

c:\Program Files (x86)\RoboRealm\Objects\

as that is a 'model' of the part that you want to detect. Then run the attached robofile which will show you the X Y and Angle of the part.

While this is a good part (it has a unique rotation angle with no symmetry) the shadow on the lower part of the part would cause some confusion when rotating the part physically. This will not cause major issues but might cause the matching of the rotation to vary a little (i.e. be a bit noisy). Thus in an actual setup one would want the light coming from the top down inline with the camera to reduce those effects.

Otherwise, it has very good contrast which makes the particular shape matching technique of the object recognition module work well (note, there are 4 choices in that module with different properties).

You can change the Rotate module parameters to simulate a rotation just to see the degrees change. Its not as good as actually rotating the part but useful for testing.

Note the scale to 640x480 ... you don't actually need a very large image.

STeven.



 

program.robo
Marek Wojciechowski from Poland  [8 posts] 2 years
Hi STeven.

Thank You for reply. As You said I download pic and store into object folder then download robo file and RUN. Nothing happens even when I go into recognition and start to train this pic.

Marek
ps. Where I ve done wrong with it ?

 
Steven Gentner from United States  [1371 posts] 2 years
Marek,

So far so good. 2 more steps:

1. Double click on the Object Recognition module and press the Train button. That should be defaulting to

c:\Program files (x86)\RoboRealm\Objects

when the training dialog pops up ... if it isn't change it to that. That's the reason I had you place that image into that folder. This will generate another training file that includes a cached form of all the images such that it loads quickly.

2. Drag in the original image into RR that you send and you should now see the green box around the object with the information being displayed.

STeven.
Marek Wojciechowski from Poland  [8 posts] 2 years
Hi STeven.
I've tested Your program its working. I've got some problems with drivers for old one Logitec C210 web camera. OOK.
I've changed conn to robot, I've got a XML conn and my question is how can I get informations (X, Y, orientation) in this format ?. I don't want to use external XML file generated from Your program but send it to specific computer port ? I'm wondering about XML Server on RoboRealm and a client as controller of robot.
Marek
Marek Wojciechowski from Poland  [8 posts] 2 years
Hi Steven.
Communication from RoboRealm works via VVVV. I've prepared correct XML view of raw stream and I'm ready to integrate it with robot but I think that will be some easy. For the first I will use Your program as finder of parts on convoyer. Then I will like to make some extra fun with domino dots counting :) I think in Your example of  communication with VVVV is mistake. I have 4 days left to try Your program for free then I will pay by PayPal. Can You tell me how many computers are covered by single license ? (only one ?)
Greets
Marek  

 
Steven Gentner from United States  [1371 posts] 2 years
Marek,

What you have looks good. I think the other VVVV examples were using Modbus UDP instead of straight TCP but either will work.

Yes, a single license is for a single computer.

STeven.

This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index