References#

Lecture 12

ENPM605 – L12: Namespaces, Remapping, and Behavior Trees

Covers namespaces (topic isolation, CLI __ns, launch file namespace argument), remapping (node, topic, and parameter remapping via CLI and launch files), and behavior trees (composites, conditions, actions, decorators, py_trees, py_trees_ros, tick mechanism, terminal debug output).

Namespaces and Remapping
ROS 2 Launch: Large Projects

ROS 2 Jazzy: Launch Tutorial

Tutorial on organizing launch files for large projects, including namespace usage and node grouping.

https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Launch/Using-ROS2-Launch-For-Large-Projects.html
ROS 2 Design: Topic and Service Names

ROS 2 Design Article

Specification of how topic and service names are resolved, including namespace prefixing and absolute vs. relative names.

https://design.ros2.org/articles/topic_and_service_names.html
ROS 2: Node Name Remapping

ROS 2 Jazzy: How-To Guide

How to remap node names at runtime using --ros-args.

https://docs.ros.org/en/jazzy/How-To-Guides/Node-name-remapping.html
ROS 2: Node Arguments

ROS 2 Jazzy: Guide

Comprehensive guide to all --ros-args options: remapping, parameters, logging configuration.

https://docs.ros.org/en/jazzy/Guides/Node-arguments.html
Behavior Trees
py_trees Documentation

py_trees: Behavior Trees in Python

Official documentation for the py_trees library. Covers composites, decorators, blackboard, and visualization tools.

https://py-trees.readthedocs.io/en/devel/
py_trees_ros Documentation

py_trees_ros: ROS 2 Integration

Wraps py_trees trees in a ROS 2 node with timer-driven ticking, subscriber behaviors, and action client behaviors.

https://py-trees-ros.readthedocs.io/en/latest/
Behavior Trees in Robotics and AI

Colledanchise & Ogren (2017)

Survey paper covering the theory and practice of behavior trees in robotics. Covers composites, decorators, memory, reactivity, and comparisons with state machines.

https://arxiv.org/abs/1709.00084