LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using data from a camera to move a robot arm

Hey guys,

 

I have a 6 motor robot arm that operates through serial commands.  The six motors are the base, elbow, shoulder, wrist, hand twist, hand grip motors.  Each motor accepts a numerical value from 500-5500 to control its position.  From reading the manual this is done through PWM I believe.  Now my problem is that i am designing a game in where one component of it requires the robot arm to pick up a chip from a position that doesn't change, and move it to a game board.  The position on that game board where the robot arm puts the chip will vary depending on the user input.

 

I though of just recording the values for the position of the arm in each location, but with PWM that can be slightly inaccurate because it may not go exactly back to the location when the command is set.  The square areas on the board are 2 cm x 2 cm, so a bit of precision would be nice.  My remedy was thinking of using a usb web camera to snap a picture of the board, and setup a coordinate system from that image to guide the robot to the correct location.

 

My question then is (1) is there an easier way to do this that I am missing? (2) If i went with this method then would I probably need 2 cameras? one for x-y plane and one for z-plane. Lastly (3) Also if i went with this method, i having trouble finding examples of using IMAQ to record the continous images, attach coordinate systems to the region of interest, then coorelate that to movement of the robot arm. 

 

If anyone has had any experience doing this and can lead in the right direction then that would be great and I deeply appreciate it!   

0 Kudos
Message 1 of 4
(3,296 Views)

I'm not quite sure what you mean by sending serial commands and then referencing PWM. Likely, your motor controller/drive is receiving serial commands from LabVIEW and then controlling the motors with PWM signals to actual drive the movement. 

 

If you are having slight inaccuracy in the movement, I'm also guessing that you are not using stepper motors. The much easier option than optical feedback would be to use encoder feedback on the axes, but I understand this would be difficult if you have predefined hardware without access to adding physical encoders. Without knowing more details of your hardware, it is difficult to recommend another solution.

 

Regardless, the IMAQ programming would be very difficult to accurately identify and guide the robot manipulator. The simpler application I would implement if forced to use image recognition would be to re-zero the robot's position after a move by comparing images when in a "home" position. You could use a fairly simple pattern matching routine and then find the displacement from the original match. This would still take quite a bit of programming, but wouldn't be anywhere near as difficult as continuous processing.

Message 2 of 4
(3,250 Views)

Thanks for the reply Karl!

 

I'm sorry, that is what I meant.  The motors recieve serial commands, and then they are driven with PWM signals.  Also the motors are not stepper motors, they are servo. Also I have no access to physical encoders.  I do have another robot arm that uses encoder feedback on the axes.  It is a Scorbot ER-4u.  The problem with that one is that I don't have the time or knowledge to get the robots usb control box to interface with labview, and also figure out the robot's commands.  It's help manuals are not very useful. 

 

That being said a home position was what I was going to attempt to go with.  Since the robot must reset to its initial "home" position after each turn.  So I'll continue with that idea that you suggested.

 

Thanks for the help and advice!

 

Also if you or anyone you know have any knowledge of interfacing the above mentioned Scorbot with labview, then I would love to hear from them!

 

0 Kudos
Message 3 of 4
(3,235 Views)

Glad I could help! Unfortunately, I haven't used any specific robot arms, but maybe someone on our forums will have some experience. Best of luck with your development!

0 Kudos
Message 4 of 4
(3,206 Views)