Unit 08 · lesson

Namespaces and Remappings at Startup

The pinned launch tutorial uses namespaces and remappings to run reusable nodes in different graph positions.

You already used remapping at the command line. Launch lets you preserve those choices in the system definition.

Rename/remap in a Node action

Example:

Node(
    package='robotnix_pubsub',
    executable='talker',
    name='course_talker',
    namespace='classroom',
    remappings=[('student_chatter', 'system_status')],
    output='screen',
)

Configure the listener with the matching namespace/remap so both still agree.

Predict the graph

Before launching, predict the fully resolved node and topic names.

Then run:

ros2 node list
ros2 topic list -t

Compare prediction to evidence.

Why this matters

You did not rewrite publisher/subscriber source code. You changed where the nodes appear and which graph names they use at startup.

That is configuration reuse.

Checkpoint

Draw:

SOURCE DEFAULT NAME
   ↓ launch configuration
RUNTIME RESOLVED NAME

for one node and one topic.