{ "cells": [ { "cell_type": "markdown", "source": [ "[← Dynamical Systems as ROS Nodes](../../../getting_started/python_to_ros/dynamical_systems_as_ros_nodes.rst)\n" ], "id": "cell-0", "metadata": {} }, { "cell_type": "markdown", "source": [ "# TurtleBot State Estimation: From Python to ROS2\n" ], "id": "cell-1", "metadata": {} }, { "cell_type": "markdown", "source": [ "In the [TurtleBot State Estimation](../theory_to_python/turtlebot_state_estimation.ipynb) tutorial, we designed a complete navigation system in Python using `DynamicalSystem` components. Now we'll deploy this exact system as **ROS2 nodes**.\n", "\n", "**Key Insight**: The dynamical system architecture maps directly to ROS!\n", "\n", "Each `DynamicalSystem` becomes a ROS node, and parameter dictionary connections become ROS topics. This 1:1 correspondence preserves our theoretical design while enabling distributed deployment.\n" ], "id": "cell-2", "metadata": {} }, { "cell_type": "markdown", "id": "cell-conceptual-foundation", "metadata": {}, "source": "# Conceptual Foundation: From Dynamical Systems to ROS Nodes\n\nRecall from the [TurtleBot State Estimation](../theory_to_python/turtlebot_state_estimation.ipynb) tutorial that we represented our navigation system as a composition of dynamical systems:\n\n