ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

ROS Nodelets are essentially nodes that can exploit the fact that they share an address space with other nodelets running in the same nodelet manager. This is because they are nodes mapped on threads (instead of individual processes). Sharing an address space lets nodelets exchange pointers, which allows for their increased performance, as they can then skip (de)serialisation of messages.

Technically it is probably possible to get (a) Python interpreter(s) to be hosted by a (custom) nodelet manager and then hijack the messaging pipeline in rospy to allow exchanging pointers with other processes, but as of today (2018-03-13), there is no built-in support for that.

The question nodelets in python suggests it should be possible?

q46342 doesn't exactly state that nodelets in Python are possible. @tfoote essentially comments on the fact that writing and loading plugins in Python is easier than in C++. But loading plugins is only one part of what nodelets would need.