References#
Lecture 14
ENPM605 – L14: Lifecycle Nodes & ROS 2 Bags
Covers lifecycle nodes (state machine: Unconfigured /
Inactive / Active / Finalized, transition commands and
callbacks, LifecycleNode,
create_lifecycle_publisher, TransitionCallbackReturn
with SUCCESS / FAILURE / ERROR, CLI-driven
transitions via ros2 lifecycle set, programmatic
transitions through the change_state service), ROS 2
bags (storage backends – SQLite3 vs.MCAP, recording with
ros2 bag record, useful flags, recording a Nav2
navigation run, inspecting bags with ros2 bag info,
replaying with ros2 bag play and useful flags such as
--rate, --loop, --remap, --clock), and
Foxglove Studio (multi-panel layouts – 3D, Plot, Raw
Messages – and importing / exporting layout files).
Lifecycle Nodes
ROS 2 Design Article
Authoritative design document describing the lifecycle (managed) node concept, primary states, transitions, and the rationale for separating construction from activation.
rclpy Source (Jazzy)
Source for rclpy_lifecycle, including
LifecycleNode, lifecycle publishers, and example
patterns for transition callbacks.
ROS 2 Jazzy: lifecycle_msgs
Message and service definitions used to drive lifecycle
transitions: State, Transition,
ChangeState, GetState.
Nav2 Documentation
Reference for the Nav2 lifecycle_manager that
sequences map_server, amcl, planners,
controllers, and bt_navigator through their
transitions.
ROS 2 Bags
ROS 2 Jazzy Tutorial
Step-by-step walk-through for ros2 bag record,
ros2 bag play, and ros2 bag info, including
common flags.
rosbag2 Source
Source repository for rosbag2: storage backends,
CLI plugins, and the C++ / Python APIs for reading and
writing bags programmatically.
MCAP Documentation
Specification, design rationale, and tooling for the MCAP file format used by the recommended ROS 2 storage backend.
rosbag2_storage_mcap (Jazzy)
Source for the MCAP storage plugin that ships in the
ros-jazzy-rosbag2-storage-mcap Debian package.
Foxglove Studio
Foxglove
Project home page for Foxglove Studio: features, downloads, and learning resources.
Foxglove Docs
Top-level documentation: getting started, panels, layouts, message types, and the WebSocket bridge.
Foxglove: Panels
Reference for every panel (3D, Plot, Image, Raw Messages, Diagnostics, Teleop, …) and the message types each one consumes.
Foxglove
Desktop installers for Linux (Debian / AppImage), macOS, and Windows.
Foxglove
Browser version of Studio. Bag files chosen here are read locally; nothing is uploaded.
Foxglove
Pricing tiers and information about free academic / open-source access.