Trying to understand nodelets
I am having a very hard time trying to understand nodelets, using the documents and tutorials. However after much I have been able to do most of what is written in the tutorial "Running a nodelet"
I have done what is written til part 3. I don't understand what is going on on part 4.Using with roslaunch files (I have already study launch files)
<launch>
<node pkg="nodelet" type="nodelet" name="standalone_nodelet" args="manager"/>
<node pkg="nodelet" type="nodelet" name="Plus"
args="load nodelet_tutorial_math/Plus standalone_nodelet">
<remap from="/Plus/out" to="remapped_output"/>
</node>
<rosparam param="Plus2" file="$(find nodelet_tutorial_math)/plus_default.yaml"/>
<node pkg="nodelet" type="nodelet" name="Plus2" args="load nodelet_tutorial_math/Plus standalone_nodelet">
<rosparam file="$(find nodelet_tutorial_math)/plus_default.yaml"/>
</node>
<node pkg="nodelet" type="nodelet" name="Plus3" args="standalone nodelet_tutorial_math/Plus">
<param name="value" type="double" value="2.5"/>
<remap from="Plus3/in" to="Plus2/out"/>
</node>
</launch>
I see 4 nodes (one of it the nodelet manager) being run. Can someone explain to me:
- What is going on here?
- why in the third node rosparam is written twice? (one inside and one outside the node)
- Why the rosparam part don't use the "command" option like
<rosparam command="load" file="$(find teleopbot)/param2.yaml" />
but instead only use file? - How, after calling this launch file, can I see the nodes (nodelets) doing something??
And finally can someone explain to me the following found here
(Basic usage)
nodelet load pkg/Type manager - Launch a nodelet of type pkg/Type on manager manager
nodelet standalone pkg/Type - Launch a nodelet of type pkg/Type in a standalone node
What does launch on manager and launch standalone means, and what are the differences.
Frankly trying to understand nodelets is really hard, and I have not found any resource example or tutorial that explains these