1
$\begingroup$

I have robot vision system which consists of conveyor with encoder, two cameras (gigabit eth and usb) and simple illuminator.

I need to trigger cameras and illuminator when encoder reaches position interval.

I'm considering using real time operating system for this task: Encoder, illuminator and cameras connected to PC and vision system application runing on it.

Which real-time solution you can reccomend for this problem?

I'm considering using Beckhoff TwinCAT software which turns normal operating system into RT.

$\endgroup$
4
  • $\begingroup$ What you're asking is unclear. Which parts of this system (cameras, conveyor, encoder, illuminator, and vision system application) are already connected and working, and which parts are you trying to connect? $\endgroup$
    – Ian
    Nov 6, 2014 at 16:11
  • $\begingroup$ All parts are not working. The question is how to connect this elements to work. $\endgroup$
    – krzych
    Nov 7, 2014 at 7:04
  • $\begingroup$ So you haven't built any of this yet? How do you know you need a real-time system? $\endgroup$
    – Ian
    Nov 7, 2014 at 19:38
  • $\begingroup$ Don't know want to know the possibilities. First idea is to use encoder to trigger camera and process frames on non real time system. But I would like to know possibilities of solving this problem with RT system. $\endgroup$
    – krzych
    Nov 8, 2014 at 21:10

3 Answers 3

1
$\begingroup$

EtherCAT as you have noticed is a actually a good option for real-time data transfer, but if by "normal operating system" you mean Windows, that's a bad choice.

You can get a Linux implementation of EtherCAT master from IgH (http://www.etherlab.org/en/ethercat/index.php) which needs a real-time operating system, such as Linux patched with RTAI, Xenomai or RT-preempt.

Once you are able to acquire your data periodically, you can use the many freely available software packages under most GNU/Linux distributions to process them.

$\endgroup$
1
  • $\begingroup$ I would prefer to work on Windows. Another problem is that I have a lot of code from developed vision systems which are compiled to non real time targets. $\endgroup$
    – krzych
    Oct 29, 2014 at 13:00
1
$\begingroup$

Whether you actually require a realtime system is unclear. The only component for which realtime would be relevant is the computer vision application, and it sounds like you haven't written it yet -- you don't know if it will work without realtime.

All the hardware components you listed are agnostic toward the hard- soft- or non-realtime nature of the OS they will connect to.

You should implement the vision system first, and see if its performance is adequate. If not, only then should you start looking for more real-time OS options -- at that point, you'll have a more solid grasp of the performance requirements.

$\endgroup$
2
  • $\begingroup$ Off course I will do. But I have asked about real time options to apply. I've listed elements, told about idea the question is about proposition of connecting this into real time solution. It does not matter if I use it or not, just for curiosity. $\endgroup$
    – krzych
    Nov 9, 2014 at 14:56
  • $\begingroup$ In that case, you're not asking a practical question with an objective answer... $\endgroup$
    – Ian
    Nov 9, 2014 at 19:29
0
$\begingroup$

Which type of real-time are you seeking for? Hard-, soft- or near- RT?

I'm asking because I believe it's likely that near-RT fits your application, depending of course on the speed of the conveyor and the system responsiveness you require.

Near-RT does not need large implementation effort: for instance, on Windows you can easily reach up to 100 Hz computation linking against yarp, which is a C++ lightweight library already integrated with OpenCV for vision processing.

Note that 100 Hz should be suitable for dealing with the normal camera frame rate (i.e. 33 Hz)

$\endgroup$
1
  • $\begingroup$ For this application I need near-RT. I think that I will use encoder and PLC to trigger camera in real time, and process frames on normal PC. However I would like to have some recomentations of RT systems I can use in similar cases. $\endgroup$
    – krzych
    Nov 4, 2014 at 7:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.