[ros-users] Nodelets

Daniel Stonier d.stonier at gmail.com
Fri Aug 20 05:29:42 UTC 2010


Mixing processes and platforms is exactly what we've been pushing towards
for a while. We had good motivation in that direction - our CTO would get
antsy and more than a little frustrated when the engineers rolled out long
schedules everytime he considered porting to a new robot. So I had a robot
core developing with a custom libplugin manager (much like the nodelet
manager) and a 'topic' style multithreaded sigslots library for
communications.

The nodelets is nice though, the roslaunch features are great and it
collapses our redundancy in the data structures back to the single ros msg
style format as well as removing the need for the sigslots. I can't think of
anything we'd really need, except perhaps an easy way to sometimes
extend/customise our own nodelet managers - which I don't think would be too
hard after having a look at the nodelets code.

Cheers,
Daniel.

On 20 August 2010 12:02, Radu Bogdan Rusu <rusu at willowgarage.com> wrote:

> Daniel,
>
> Nodelets are single process (usually multi-threaded), and you're right -
> the publish/subscribe intra-process
> optimization was implemented to get them to use the same ROS API mechanisms
> (in addition to other requests). The nice
> thing about the entire design is that you can easily split your nodelet
> modules into different processes and on
> different machines without changing anything in your code, simply by
> passing them to different nodelet managers.
>
> Cheers,
> Radu.
>
> On 08/19/2010 05:55 PM, Daniel Stonier wrote:
> >
> > Been playing around with nodelets and have a curiosity. I understand
> > that their design was driven by the need to pass objects by handles
> > (pointers) across messaging rather than full copies.
> >
> > Recently however, one of the willow garage guys (Josh maybe? I can't
> > remember) pointed me to try some tests a little while ago with node
> > handles. If carefully passing and publishing a boost pointer, then a
> > subscriber in the same process will simply receive that pointer and
> > bypass all the tcp/ip layers. Was this implemented recently as a result
> > of the work on nodelets? If not, are there any important differences
> > between this and nodelets communication mechanisms?
> >
> > Actually, I still like the nodelets. Being able to drop your libraries
> > containing nodelets onto the nodelet manager via roslaunch file is
> > awesome. You can put together an interrupt driven control system
> > designed entirely from libraries and xml without the need to even
> > program any binaries in most cases. Awesome.
> >
> > --
> > Phone : +82-10-5400-3296 (010-5400-3296)
> > Home: http://snorriheim.dnsdojo.com/
> > Yujin Robot: http://www.yujinrobot.com/
> > Embedded Control Libraries:
> http://snorriheim.dnsdojo.com/redmine/wiki/ecl
> >
> >
> >
> > _______________________________________________
> > ros-users mailing list
> > ros-users at code.ros.org
> > https://code.ros.org/mailman/listinfo/ros-users
>
> --
> | Radu Bogdan Rusu | http://rbrusu.com/
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



-- 
Phone : +82-10-5400-3296 (010-5400-3296)
Home: http://snorriheim.dnsdojo.com/
Yujin Robot: http://www.yujinrobot.com/
Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100820/3ac51a2f/attachment-0003.html>


More information about the ros-users mailing list