
Philip W
Hi everyone,
I'm trying to write a GUI in c# that obtains information from a USB webcam. Since I 've got a ezb4 no so long ago, I'm aware what the sdk can do in terms of image processing and object recognition. But I'm contemplating between should I use sdk or emguCV to do my project on. So what do you guys recommen? (my project described below) Secondly, I've downloaded the sdk zip and have a brief look on the examples in the folders, but I'm wondering is there any proper tutorial /videos anywhere here, so I could properly learn the functionality of the sdk (I'm reasonably new to c#).
What I need to do for my project is, I'll have a 8 joint link robotic arm (that will be physically build) and a overhead usb webcam. Both of which will be link to a pc. What I wanted to do with the arm is, when the GUI runs, the webcam will continuously stream video to a picturebox in the GUI. Then when a ping pong ball is presented within the workspace of the arm, the GUI will recognise the ball and drive the arm to pick up the ball.
Thanks.
Philip,
Inside the EZ-B SDK windows there is a tutorial 56 - Object detection.
I just opened to confirm the project code, it seems the project is not finished/working. some issues:
Let's wait for DJ's feedback.
emguCV and the EZ-B SDK are two totally separate things and not related at all.
emguCV is a .NET wrapper for OpenCV for computer vision. It is only related to computer vision.
EZ-B SDK is a framework to develop your own application to control EZ-Robot hardware (the EZ-B controller). It also includes EZ-B camera control functions, the same that are included in the ARC application.
For your project, what you want to do, I can not fathom why you would want to pursue developing a custom application when you can use ARC to track a ball and control the robot movements to steer towards it and pick it up.
I highly recommend you simply use ARC first.
If that does not work then use the EZ-B SDK if you need to develop something custom you can't do in ARC.
If that does not work or do everything you need, then use the emguCV to develop custom computer vision applications that you can link to either ARC or the EZ-B SDK application if you really must.
Hi @JuStinRatliff and @ptp,
Thanks for the reply. Sorry I forgot to mention, I'm experimenting with the ATmega series micro, so I'm going to build a driver circuit using that to drive the arm. The reason why I wanted to build a custom programme is because since I'm going to work with a link robot arm (a brief picture below of what it look like )
So in order to for the arm to reach the ball (with one end of the arm permanently fixated to a corner of the arena that the project is going to be housed in), I think need to implement a Inverse Kinematic algorithm. I'm not sure does the SDK have this or similar function in the library (hence I'm asking for opinion here)
@PhilipW It sounds like you'd need to code your controller for those arm control and you could us the UART connecter on the EZ-B to communications between your arm controller and EZ-B. Then just use ARC, no need for an SDK.
You'll need to code your arm control algorithm from scratch in either EZ-Build scripts or your arm micro controller.
@JustinRatliff, alright I'll work on that first and if I got stuck somewhere down the line I'll ask for help.
Thanks
Philip,
What kind of hardware are you going to use to build your robotic arm ?
@ptp,
the arm itself its just some 3D printed C brackets with ball bearings and servos. I'll also have some hall sensors to have some extra guidance on the location of the arm with respect to the pickup and drop off point of the ball.
I'll also have some IR sensors to indicate the location of the ball, where the overhead camera can't see.
What kind of servos ? Digital or Analog, Are you considering EZR analog HD servos ?