[ros-users] Why ROS doesn't have memory sharing mechanism between nodes in one machine?

Dirk Thomas dthomas at willowgarage.com
Tue May 22 17:59:37 UTC 2012


> Further more, if I want to use qt as GUI of image processing(just to provide faster result showing and easier controlling), I cannot find
> a way to get it into a nodelet because qt UI must live in the main thread. So why ROS doesn't provide some more efficient data passing mechanism such as inter-process memory sharing? I think this will
> significantly increase large data flow performance.

Running nodelets together with Qt in one process works absolutely fine.
ROS GUI (which is currently under development - https://kforge.ros.org/visualization/ros_gui) does exactly that.
The Qt application is written in Python but plugins (written in either Python and C++ are executed in the same process.
C++-plugins are mapped to nodelets internally so each C++-plugin can pass messages efficiently using boost::shared_ptr.

Dirk



More information about the ros-users mailing list