Hi all,
I am currently thinking about the design of a "trajectory planner" component. This component will output a desired trajectory. The output of the trajectory planner will be partly a high level description of the trajectory (i.e. waypoints + tangency information to be interpolated and sampled) and samples for the remaining degrees of freedom - what is really important to keep in mind here is only that a lot of data will be output by the planner. Obviously this component does NOT need to be in the RT loop.
My question relates to how the planned trajectory should be communicated to the lower level components below. So far I have used Orocos to build a low-level network of components. It this network each component communicates a very limited amount of information via ports, and although I use std::vector<double> in these ports, the size of these is known at compile time.
What's new now for this trajectory planner is that the input and output data can potentially be very large (i.e. hundreds of waypoints, or thousands of samples). What is the best practise in orocos to communicate this type and amount of information between components? Should I still use ports with std::vector<double> types and make a resize(1000000) (i.e. something like setDataSample() ) when I know the size of my data? Or is there another mecanism for communication of this type of data?
Thanks,
Antoine.