| easynav_common | |
| include | |
| easynav_common | |
| testing | |
| LogCapture.hpp | LogCapture: records the log messages emitted while it lives (for tests) |
| types | |
| NavState.hpp | A blackboard-like structure to hold the current state of the navigation system |
| RobotGeometry.hpp | Declaration of RobotGeometry and LegacyRobotGeometryNames |
| TFInfo.hpp | |
| CircularBuffer.hpp | |
| PackageShare.hpp | Get_package_share_path(): a package's share directory on every ROS 2 distro |
| Parameters.hpp | Parameter helpers for plugins that may be initialized several times on the same node |
| RobotGeometry.hpp | RobotGeometryRegistry, which shares the robot's geometry, and get_robot_geometry() |
| RTTFBuffer.hpp | |
| Singleton.hpp | |
| TransformListener.hpp | Make_transform_listener(): a node-attached TransformListener on every ROS 2 distro |
| YTSession.hpp | |
| tests | |
| navstate_tests.cpp | |
| parameters_tests.cpp | Tests for declare_parameter_if_absent() |
| robot_geometry_tests.cpp | Tests for get_robot_geometry(): the system's geometry and deprecated parameters |
| transform_listener_tests.cpp | |
| easynav_controller | |
| include | |
| easynav_controller | |
| fault_injection | |
| FaultyController.hpp | Declaration of the FaultyController class |
| safety | |
| CommandGuard.hpp | Declaration of the CommandGuard class |
| ControllerNode.hpp | Declaration of the ControllerNode class, a ROS 2 lifecycle node for speed computation in Easy Navigation |
| DummyController.hpp | Declaration of the DummyController method |
| VelocityMux.hpp | Declaration of the VelocityMux class |
| VelocitySmoother.hpp | Declaration of the VelocitySmoother class |
| src | |
| easynav_controller | |
| fault_injection | |
| FaultyController.cpp | Implementation of the FaultyController class |
| safety | |
| CommandGuard.cpp | Implementation of the CommandGuard class |
| ControllerNode.cpp | Implementation of the ControllerNode class |
| DummyController.cpp | Implementation of the DummyController class |
| VelocityMux.cpp | Implementation of the VelocityMux class |
| VelocitySmoother.cpp | Implementation of the VelocitySmoother class |
| tests | |
| command_guard_tests.cpp | Safety::CommandGuard around the VelocityMux: timeout, non-finite commands, new controller commands, keepalive, QoS and diagnostics |
| controller_node_tests.cpp | |
| controller_node_velocity_tests.cpp | ControllerNode as the single exit of the velocity command: robot limits for the controller plugins, selection among sources (mux), smoothing, publication, and braking on deactivation |
| faulty_controller_tests.cpp | How ControllerNode copes with a controller plugin that misbehaves (FaultyController) |
| rt_allocation_tests.cpp | The RT velocity path (proposals, mux, smoother) must not allocate memory once warm |
| velocity_mux_tests.cpp | |
| velocity_smoother_tests.cpp | |
| easynav_localizer | |
| include | |
| easynav_localizer | |
| fault_injection | |
| FaultyLocalizer.hpp | Declaration of the FaultyLocalizer class |
| DummyLocalizer.hpp | Declaration of the DummyLocalizer class, a default plugin implementation for localization |
| LocalizerNode.hpp | Declaration of the LocalizerNode class, a ROS 2 lifecycle node for localization tasks in Easy Navigation |
| src | |
| easynav_localizer | |
| fault_injection | |
| FaultyLocalizer.cpp | Implementation of the FaultyLocalizer class |
| DummyLocalizer.cpp | Implementation of the DummyLocalizer class |
| LocalizerNode.cpp | Implementation of the LocalizerNode class |
| tests | |
| faulty_localizer_tests.cpp | FaultyLocalizer: each fault does what it says |
| localizer_node_tests.cpp | |
| easynav_maps_manager | |
| include | |
| easynav_maps_manager | |
| fault_injection | |
| FaultyMapsManager.hpp | Declaration of the FaultyMapsManager class |
| DummyMapsManager.hpp | Declaration of the DummyMapsManager class, a default map manager plugin for Easy Navigation |
| MapsManagerNode.hpp | Declaration of the MapsManagerNode class, a ROS 2 lifecycle node for map handling in Easy Navigation |
| src | |
| easynav_maps_manager | |
| fault_injection | |
| FaultyMapsManager.cpp | Implementation of the FaultyMapsManager class |
| DummyMapsManager.cpp | Implementation of the DummyMapsManager class |
| MapsManagerNode.cpp | Implementation of the MapsManagerNode class |
| tests | |
| faulty_maps_manager_tests.cpp | FaultyMapsManager: each fault does what it says |
| maps_manager_node_tests.cpp | |
| easynav_planner | |
| include | |
| easynav_planner | |
| fault_injection | |
| FaultyPlanner.hpp | Declaration of the FaultyPlanner class |
| DummyPlanner.hpp | Declaration of the DummyPlanner class, a default fallback planner plugin |
| PlannerNode.hpp | Declaration of the PlannerNode class, a ROS 2 lifecycle node for computing navigation paths in Easy Navigation |
| src | |
| easynav_planner | |
| fault_injection | |
| FaultyPlanner.cpp | Implementation of the FaultyPlanner class |
| DummyPlanner.cpp | Implementation of the DummyPlanner class |
| PlannerNode.cpp | Implementation of the PlannerNode class |
| tests | |
| faulty_planner_tests.cpp | FaultyPlanner: each fault does what it says |
| planner_node_tests.cpp | |
| planner_path_check_tests.cpp | PlannerNode discards non-finite paths and reports them |
| easynav_sensors | |
| include | |
| easynav_sensors | |
| types | |
| DetectionsPerception.hpp | Defines data structures and utilities for representing and processing image perceptions |
| GNSSPerception.hpp | Defines data structures and utilities for representing and processing GNSS perceptions |
| ImagePerception.hpp | Defines data structures and utilities for representing and processing image perceptions |
| IMUPerception.hpp | Defines data structures and utilities for representing and processing IMU perceptions |
| OdometryPerception.hpp | Defines data structures and utilities for representing and processing odometry perceptions |
| Perceptions.hpp | Defines data structures and utilities for representing and processing sensor perceptions |
| PointPerception.hpp | Defines data structures and utilities for representing and processing point-based sensor perceptions |
| SensorsNode.hpp | Declaration of the SensorsNode class, a ROS 2 lifecycle node for sensor fusion tasks in Easy Navigation |
| src | |
| easynav_sensors | |
| types | |
| DetectionsPerception.cpp | |
| GNSSPerception.cpp | |
| ImagePerception.cpp | |
| IMUPerception.cpp | |
| OdometryPerception.cpp | |
| PointPerception.cpp | |
| SensorsNode.cpp | Implementation of the SensorsNode class |
| tests | |
| perception_handlers_tests.cpp | The perception handlers other than points (IMU, GNSS, odometry, detections, image): they reject wrong types, store each message in NavState, trigger once per message, and their perceptions copy, print and report their latest stamp |
| perception_locking_tests.cpp | |
| perceptions_tests.cpp | |
| plugin_tests.cpp | Tests that verify the pluginlib plugin registration, loading, and correctness of all built-in PerceptionHandler plugins |
| pointperceptionsops_tests.cpp | |
| sensors_data_age_tests.cpp | SensorsNode: perceptions older than "forget_time" are invalidated and reported |
| sensors_lifecycle_tests.cpp | |
| sensors_node_tests.cpp | |
| easynav_system | |
| include | |
| easynav_system | |
| safety | |
| ConfigurationFingerprint.hpp | Fingerprint (dump and SHA-256) of the EasyNav configuration |
| ParameterFreezer.hpp | Declaration of the ParameterFreezer class |
| RtMonitor.hpp | Declaration of the RtMonitor class |
| SafetyChannelMonitor.hpp | Declaration of the SafetyChannelMonitor class |
| SafetySupervisor.hpp | Declaration of the SafetySupervisor class |
| GoalManager.hpp | Declaration of the GoalManager class |
| GoalManagerClient.hpp | Declaration of the GoalManagerClient class |
| RealTime.hpp | Real-time setup of the EasyNav process |
| SystemNode.hpp | Declaration of the SystemNode class, the central coordinator node for Easy Navigation components |
| src | |
| easynav_system | |
| safety | |
| ConfigurationFingerprint.cpp | Implementation of the configuration fingerprint |
| ParameterFreezer.cpp | Implementation of the ParameterFreezer class |
| RtMonitor.cpp | Implementation of the RtMonitor class |
| SafetyChannelMonitor.cpp | Implementation of the SafetyChannelMonitor class |
| SafetySupervisor.cpp | Implementation of the SafetySupervisor class |
| GoalManager.cpp | Implementation of the GoalManager class |
| GoalManagerClient.cpp | Implementation of the GoalManager class |
| RealTime.cpp | Implementation of the real-time setup of the EasyNav process |
| SystemNode.cpp | Implementation of the SystemNode class |
| goalmanager_test_main.cpp | |
| system_main.cpp | |
| tests | |
| goalmanager_tests.cpp | |
| real_time_tests.cpp | Real-time setup of the EasyNav process |
| rt_monitor_tests.cpp | Safety::RtMonitor, with simulated cycle start times |
| safety_channel_monitor_tests.cpp | SafetyChannelMonitor, with simulated times |
| safety_module_tests.cpp | The safety module of easynav_system, on its own: configuration fingerprint, parameter freezer and safety supervisor |
| system_actions_tests.cpp | SystemNode as SystemActions (what a recovery system can ask of EasyNav), and recovery_node as one more EasyNav node |
| system_clock_watchdog_tests.cpp | SystemNode tells which EasyNav nodes have use_sim_time and no /clock (their components never run), and warns about them while Active |
| system_component_faults_tests.cpp | SystemNode with a localizer, planner or maps manager that misbehaves (FaultyLocalizer, FaultyPlanner, FaultyMapsManager) |
| system_fault_injection_tests.cpp | The whole RT cycle of SystemNode with a controller that misbehaves (FaultyController) |
| system_lifecycle_cycle_tests.cpp | Exercises SystemNode's own lifecycle state machine through repeated full cycles, including active -> inactive -> unconfigured -> inactive -> active |
| system_lifecycle_mission_tests.cpp | A mission survives reconfiguring EasyNav (active -> inactive -> unconfigured -> inactive -> active, as when switching plugins at runtime) in the middle of it |
| system_pause_tests.cpp | |
| system_robot_geometry_tests.cpp | SystemNode shares "robot_geometry.*" with every component before they configure |
| system_safety_mode_tests.cpp | Configuration validation, safety mode, frozen configuration and configuration hash |
| system_shutdown_request_tests.cpp | A shutdown requested by a recovery mitigation takes SystemNode (and every EasyNav node) out of Active through the lifecycle's error path, ending in Finalized |
| system_tfinfo_tests.cpp | |
| system_velocity_smoothing_tests.cpp | End to end through SystemNode: with very low accelerations, the published commands are smoothed, never a jump to the controller's command |