Pre-developed Library, with Orocos Components

Hi Orocos-Users

Would you please, share your experience while using a pre-developed library with orocos component, and it will help me to deiced a way to develop my component with which is best solution.

From a while I developed a Vision library using C++ and OpenCV and some other libraries. My Vision Library working to calibrate, configure, detect lanes, and more stuffs, for self driving camera.

After deciding to use Orocos as a framework, I found that is better to break this library down to small components which is more professional and more management, and from outside view, I can see it will be Grabber-Component, Recorder-Component, LaneDetector-Component, Calibrator-Component, -AT LEAST- for now.

Starting with Grabber-Component, I don't know, why? but i decided to develop it from scratch without my Vision Library. and same as for the Recorder-Component. But with LaneDetector-Component I am confused!!

Should I develop it also from scratch, or I can build my component based on my Vision library and I can include and link it with the Component? The idea is I will not be able to do anything more than calling the process function which will return the detected points. that's it??? :) is it true? Actually I don't know if I will need Orocos Component for this step or not, and after writing this topic, I am confused more and more...

Please advise!!

Pre-developed Library, with Orocos Components

2015-04-28 10:03 GMT+02:00 <alaaeldeen [dot] abdalrahman [..] ...>:

> Hi Orocos-Users
>
> Would you please, share your experience while using a pre-developed library
> with orocos component, and it will help me to deiced a way to develop my
> component with which is best solution.
>
> From a while I developed a Vision library using C++ and OpenCV and some
> other
> libraries. My Vision Library working to calibrate, configure, detect lanes,
> and more stuffs, for self driving camera.
>
> After deciding to use Orocos as a framework, I found that is better to
> break
> this library down to small components which is more professional and more
> management, and from outside view, I can see it will be Grabber-Component,
> Recorder-Component, LaneDetector-Component, Calibrator-Component, -AT
> LEAST-
> for now.
>

Monolitic component is bad, but huge-piece component is also bad because of
complexity in system assembly and framework communication performance
issues. Your splitting seem reseonable in this sense.

>
> Starting with Grabber-Component, I don't know, why? but i decided to
> develop
> it from scratch without my Vision Library. and same as for the
> Recorder-Component.
> But with LaneDetector-Component I am confused!!
>
> Should I develop it also from scratch, or I can build my component based on
> my Vision library and I can include and link it with the Component?
> The idea is I will not be able to do anything more than calling the process
> function which will return the detected points. that's it??? :) is it true?
>

This is definitely the right way to go if no performance issues enforce
another solution. Orocos component code should stay a glue code that wrap
your library into the framework. The rationale is that the framework may
change in time and project, but your library should stay the same.

Imagine you want to let ROS user to use your library, you'll do the
samething with a ROS node.

More over if you test your library you often prefer to test it alone
without any framework problems.

This might require some library improvements to provide the required
hooks, but it's serving your library. A go library is a library that
doesn't impose much on the system building.

> Actually I don't know if I will need Orocos Component for this step or not,
> and after writing this topic, I am confused more and more...
>
> Please advise!!
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>