Re: [Emc-users] Real-Time Image procesing in HAL (WAS opencv for shape recognition...)
Thanks for your answers. This looks like an important problem to me, looking at the foreseable future Artificial Vision is going to have a preeminent role everywhere. I expect machines including CNC controls making some use of it, anv envision some CNC paradigm changes, leaded by this revolution. As from LinuxCNC manual page, it says: DESCRIPTION hal_create_thread establishes a realtime thread that will execute one or more HAL functions periodically. All thread periods are rounded to integer multiples of the hardware timer period, and the timer period is based on the first thread created. Threads must be created in order, from the fastest to the slowest. HAL assigns decreasing priorities to threads that are created later, so creating them from fastest to slowest results in rate monotonic priority scheduling. ... So it is rate monotonic scheduling. So I think that the slow task, no matter how slow, will get scheduled. The only requirement, would be to get the period for the slow thread, big enough recording and, so that it can finish with the image grabbing processing. It would be nice to know, if opencv has been written with real time in mind, so that memory allocation, pagefaults et al. works in a compatible way can be taken away from the show time. A interesting question would be to know, how well multicore procesors are taken advantage by LinuxCNC HAL. Let say, can we reserve a couple of processors ans schedule different threads in different cores?. Would HAL execute different functions in the same thread at different cores?. Thanks very much for your answers. I apologize for my late reply :), Javier -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Real-Time Image procesing in HAL (WAS opencv for shape recognition...)
On 17 October 2014 20:04, Javier Ros j...@unavarra.es wrote: It would be nice to know, if opencv has been written with real time in mind, so that memory allocation, pagefaults et al. works in a compatible way can be taken away from the show time. For many applications the image processing won't need to be real-time. Tracking items on a moving conveyor might require real-time machine vision, but things like spotting marks or choosing stationary targets can be handled in userspace, with a module that just says I got one, here it is -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Real-Time Image procesing in HAL (WAS opencv for shape recognition...)
On Friday 17 October 2014 15:04:08 Javier Ros did opine And Gene did reply: Thanks for your answers. This looks like an important problem to me, looking at the foreseable future Artificial Vision is going to have a preeminent role everywhere. I expect machines including CNC controls making some use of it, anv envision some CNC paradigm changes, leaded by this revolution. As from LinuxCNC manual page, it says: DESCRIPTION hal_create_thread establishes a realtime thread that will execute one or more HAL functions periodically. All thread periods are rounded to integer multiples of the hardware timer period, and the timer period is based on the first thread created. Threads must be created in order, from the fastest to the slowest. HAL assigns decreasing priorities to threads that are created later, so creating them from fastest to slowest results in rate monotonic priority scheduling. ... So it is rate monotonic scheduling. So I think that the slow task, no matter how slow, will get scheduled. The only requirement, would be to get the period for the slow thread, big enough recording and, so that it can finish with the image grabbing processing. It would be nice to know, if opencv has been written with real time in mind, so that memory allocation, pagefaults et al. works in a compatible way can be taken away from the show time. A interesting question would be to know, how well multicore procesors are taken advantage by LinuxCNC HAL. Let say, can we reserve a couple of processors ans schedule different threads in different cores?. Would HAL execute different functions in the same thread at different cores?. Data point only. Box is atom D525MW, using isolcpu's. Even with a 40 kilohertz base thread, a 4 kilohertz servo-thread works well. But it did not do a thing for the noise from the encoder other than make it fast enough I could lowpass filter it a bit without mucking with the PID stability. Now I have a 5i25, no base-thread, still works well at 4 kilohertz. Thanks very much for your answers. I apologize for my late reply :), Javier --- --- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users Cheers, Gene Heskett -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Genes Web page http://geneslinuxbox.net:6309/gene US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Real-Time Image procesing in HAL (WAS opencv for shape recognition...)
On Friday 17 October 2014 15:30:10 andy pugh did opine And Gene did reply: On 17 October 2014 20:04, Javier Ros j...@unavarra.es wrote: It would be nice to know, if opencv has been written with real time in mind, so that memory allocation, pagefaults et al. works in a compatible way can be taken away from the show time. For many applications the image processing won't need to be real-time. Tracking items on a moving conveyor might require real-time machine vision, but things like spotting marks or choosing stationary targets can be handled in userspace, with a module that just says I got one, here it is Driving the machine to center that mark so you can record it using the align package, is however pretty frustrating when its 5 seconds after you have taken the finger off the moveit key before the camera shows you where its actually at. In fact, its a right pain in the arse. Cheers, Gene Heskett -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Genes Web page http://geneslinuxbox.net:6309/gene US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Real-Time Image procesing in HAL (WAS opencv for shape recognition...)
On 17 October 2014 20:57, Gene Heskett ghesk...@wdtv.com wrote: Driving the machine to center that mark so you can record it using the align package, is however pretty frustrating when its 5 seconds after you have taken the finger off the moveit key before the camera shows you where its actually at. That's not a realtime issue, that's a computer too slow issue. If that 5 seconds was servo thread time just think what else would be going wrong.. -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Real-Time Image procesing in HAL (WAS opencv for shape recognition...)
On Friday 17 October 2014 16:59:33 andy pugh did opine And Gene did reply: On 17 October 2014 20:57, Gene Heskett ghesk...@wdtv.com wrote: Driving the machine to center that mark so you can record it using the align package, is however pretty frustrating when its 5 seconds after you have taken the finger off the moveit key before the camera shows you where its actually at. That's not a realtime issue, that's a computer too slow issue. If that 5 seconds was servo thread time just think what else would be going wrong.. I don't think so Andy, because theres at least 4 or 5 full processes looking at and possibly adding to that image between the camera and the display window. I have tried a much slower base thread and the lag was still the same. Looking at the camera itself with something like cheese, it is much faster, but thats right out of the camera, raw. No cropping, DRO additions no crosshairs or target circles added, I suspect a faster USB might help some, and a cpu running at 15ghz would help, but thats an 1.4ghz atom thats all on one core. Firefox doesn't lag, and neither does konversation, the IRC client. Typically both are running. Camunits runs at a low enough priority, but all that buffer copying between the various video treatment modules does take time. Cheers, Gene Heskett -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Genes Web page http://geneslinuxbox.net:6309/gene US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Real-Time Image procesing in HAL (WAS opencv for shape recognition...)
Not sure if the following link will be helpful for anyone, but I did stumble across it. http://derekmolloy.ie/beaglebone/beaglebone-video-capture-and-image-processing-on-embedded-linux-using-opencv/ On Fri, Oct 17, 2014 at 5:16 PM, Gene Heskett ghesk...@wdtv.com wrote: On Friday 17 October 2014 16:59:33 andy pugh did opine And Gene did reply: On 17 October 2014 20:57, Gene Heskett ghesk...@wdtv.com wrote: Driving the machine to center that mark so you can record it using the align package, is however pretty frustrating when its 5 seconds after you have taken the finger off the moveit key before the camera shows you where its actually at. That's not a realtime issue, that's a computer too slow issue. If that 5 seconds was servo thread time just think what else would be going wrong.. I don't think so Andy, because theres at least 4 or 5 full processes looking at and possibly adding to that image between the camera and the display window. I have tried a much slower base thread and the lag was still the same. Looking at the camera itself with something like cheese, it is much faster, but thats right out of the camera, raw. No cropping, DRO additions no crosshairs or target circles added, I suspect a faster USB might help some, and a cpu running at 15ghz would help, but thats an 1.4ghz atom thats all on one core. Firefox doesn't lag, and neither does konversation, the IRC client. Typically both are running. Camunits runs at a low enough priority, but all that buffer copying between the various video treatment modules does take time. Cheers, Gene Heskett -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) Genes Web page http://geneslinuxbox.net:6309/gene US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users