Loading system evidence
Loading system evidence
Browser first
Use small, functional playgrounds to inspect the math and evidence behind common ROS 2 failures before entering repair labs.
Connect a publisher and subscriber and see why messages only flow when both the topic name and the message type match.
ROS 2 topics / publisher subscriber / message type
Live controlsMap LaserScan indexes to physical angles, ranges, invalid values, and rotated sensor frames.
LiDAR angle calculator / LaserScan / ROS 2
Live controlsCompose parent-child transforms and see how rotation units and direction affect the final frame.
TF2 visualizer / transform composition / ROS 2
Live controlsConvert wheel velocities into robot motion, encoder ticks, and odometry estimates.
differential drive / odometry / encoder ticks
Live controlsTest reliability, durability, history, queue depth, and slow subscribers against live message flow.
ROS 2 QoS compatibility / DDS / subscriber
Live controlsTune robot footprint, map resolution, inflation radius, and scaling to understand blocked paths.
costmap inflation / Nav2 / robot footprint
Live controlsCompare wall time, simulation time, TF buffers, and timestamp age to diagnose extrapolation.
ROS 2 simulation time / TF buffer / extrapolation
Live controlsStep a CANopen drive through Shutdown, Switch On, and Enable Operation and watch the statusword and motor react.
CiA 402 state machine / CANopen drive / statusword
Live controlsMatch host and drive bit timing, adjust the sample point over cable length, and see the bus enter error-passive or bus-off.
CAN bitrate / sample point / bus-off
Live controlsSerialise a target velocity into a PDO and see how a big-endian write is re-interpreted as an enormous value at the drive.
CANopen PDO / byte order / little-endian
Live controlsSee why a node only appears on the graph while an executor is spinning, and how a blocking callback starves a single-threaded executor.
rclpy spin / executor / node lifecycle
Live controlsDeclare, type, and read a ROS 2 parameter and watch what happens when you get it before declaring it or read it as the wrong type.
ROS 2 parameters / declare_parameter / parameter types
Live controlsFuse wheel odometry and IMU yaw in information form and see how a mis-synced or sign-flipped IMU makes the filter diverge.
EKF / sensor fusion / IMU odometry
Live controlsWatch a particle filter converge (or not) as you change particle count, initial pose error, sensor noise, and the loaded map.
AMCL / particle filter / localization
Live controlsSeparate 'is there a valid plan' from 'can the controller follow it' by tuning goal tolerance, lookahead, corridor width, and footprint.
Nav2 planner / controller / goal tolerance
Live controlsStep a managed (lifecycle) node through its states and see which transitions are legal from unconfigured, inactive, and active.
lifecycle node / managed node / state machine
Live controlsCompute publish bandwidth from rate, message size, and subscriber count, and see when a link saturates and starts shedding messages.
topic bandwidth / DDS / message rate
Live controlsSee how ROS_DOMAIN_ID and ROS_LOCALHOST_ONLY decide whether two nodes ever discover each other across hosts.
ROS_DOMAIN_ID / DDS discovery / ROS_LOCALHOST_ONLY
Live controlsAdd up system, history, and user tokens against the context window, leaving room for the reply, and see when a request overflows.
context window / token budget / LLM prompt
Live controlsValidate a model's tool call against a JSON schema: required parameters, argument types, extra properties, and malformed JSON.
tool use / JSON schema / function calling
Live controlsTune chunk size, overlap, and top-k over a document and see how a boundary-spanning answer is lost when the overlap is too small.
RAG / chunking / retrieval recall
Live controlsCompare matching a serial device by kernel name, idVendor/idProduct, or serial, and see which survives a replug into a new port.
udev rules / device symlink / ttyUSB
Live controlsSee how underlay/overlay sourcing order sets AMENT_PREFIX_PATH and decides whether your rebuilt package or the system copy runs.
colcon overlay / ament / source setup.bash
Live controlsCompare referencing a serial port by ttyUSB index versus a /dev/serial/by-id path across replugs and other present devices.
serial port / by-id path / ttyUSB enumeration