Conversation
…ion/raw/fix(not my topic, it was already publishing to that)
…d vizualizes it,currently works for rayfronts
…added non-world prims to save in flattened manner
- Take main: .env, .gitignore (union), airstack.sh, mkdocs.yml, desktop_bringup/rviz/robot.rviz, base Docker compose files. - Keep multi-raven everywhere else (gcs_visualizer, action_relay, foxglove_extensions, random_walk_planner with polygon bounds, semantic_search_task, global_bringup, scene_prep helpers). - tasks_panel.cpp: take main's reworked structure, re-applied multi-raven Semantic Search tweaks (background_queries field, alt default 15, confidence_threshold default 0.95, simple feedback, drop time_limit_sec/target_count). - SemanticSearchTask.action: union of comments, multi-raven field set. - Accept deletion of unused ObjectCounting/ObjectSearch action files (Foxglove panel publishes JSON; never had a robot executor).
# Conflicts: # simulation/isaac-sim/extensions/PegasusSimulator # simulation/isaac-sim/utils/scene_prep.py
- Restore main's robot.rviz (drop redundant robot_1/robot_2.rviz)
- Restore ms-airsim include in root docker-compose.yaml
- Restore airsim sections in docs/simulation/index.md
- Restore docs/gcs/docker/index.md (VERSION env name)
- Restore robot/docker/{.bashrc, Dockerfile.robot} to main
- Restore SIM_IP in robot/docker/docker-compose.yaml
- Restore takeoff_landing_planner takeoff_height: 8.0
- Drop docs/action_bridging.md (internal design memo)
- Drop personal launch scripts (two_drone_fire*, three_drone_scene_import, two_drone_RetroNeighbourhood)
- Trim verbose comments in gps_utils.py and example_multi_drone_scene_import.py
Collaborator
Author
|
/pytest -m "liveliness or takeoff_hover_land" |
Collaborator
Author
|
/pytest |
|
Running Note: |
Test Metrics —
|
| Test | Pass | Fail | Skip | Rate (baseline → current) |
|---|---|---|---|---|
| isaac-sim.extensions.PegasusSimulator.extensions.pegasus.simulator.pegasus.simulator.tests.test_hello_world | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.replicator.pose_generation.pose_tests.test_utils | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.benchmark.services.test_no_rendering | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_articulation_determinism | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_articulation_root | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_delete_in_contact | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_rendering | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_save_stage | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_time_stepping | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.cortex.framework.cortex_bringup_test | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.ros1.bridge.test_carter_lidar | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.ros2.bridge.test_carter_camera_multi_robot_nav | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.ros2.bridge.test_people_sim | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.sensors.physics.contact_sensor_test | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.sensors.rtx.rtx_lidar_test | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.sensors.rtx.rtx_radar_test | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_createstage_config | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_extension_count | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_external | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_extra_args | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_fabric_frame_delay | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_fetch_results | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_frame_delay | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_ogn | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_ovd | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_syntheticdata | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_unsaved_on_exit | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.omni.isaac.dynamic_control.test_zero_step | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.omni.replicator.agent.test_scripting | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| isaac-sim.standalone_examples.testing.omni.syntheticdata.test_basic | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_packages.gui.rviz.rviz_behavior_tree_panel.scripts.test_behavior_tree_publisher | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_packages.logging.bag_recorder_pid.test.test_copyright | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_packages.logging.bag_recorder_pid.test.test_flake8 | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_packages.logging.bag_recorder_pid.test.test_pep257 | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.local.planners.takeoff_landing_planner.test.scripts.test_takeoff_landing_planner | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Baseline.DPVO.Pangolin.components.pango_python.pybind11.tests | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_circular_buffer | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_loadable | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_macvo | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_modules | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_sequence | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_tartanvo | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_frontend | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_matching | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_performance_macvo | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_stereo_depth | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.ros2tak_tools.test.test_copyright | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.ros2tak_tools.test.test_flake8 | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.ros2tak_tools.test.test_pep257 | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.sensors.camera_param_server.test.test_copyright | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.sensors.camera_param_server.test.test_flake8 | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.sensors.camera_param_server.test.test_pep257 | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.sensors.gimbal_stabilizer.test.test_copyright | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.sensors.gimbal_stabilizer.test.test_flake8 | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| ros_ws.src.sensors.gimbal_stabilizer.test.test_pep257 | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
Metrics
| Test | Metric | Baseline | Current | Change |
|---|---|---|---|---|
| ros_packages.gui.rviz.rviz_behavior_tree_panel.scripts.test_behavior_tree_publisher | duration_s | — | 0s | new |
| ros_packages.logging.bag_recorder_pid.test.test_copyright | duration_s | — | 0s | new |
| ros_packages.logging.bag_recorder_pid.test.test_flake8 | duration_s | — | 0s | new |
| ros_packages.logging.bag_recorder_pid.test.test_pep257 | duration_s | — | 0s | new |
| ros_ws.src.ros2tak_tools.test.test_copyright | duration_s | — | 0s | new |
| ros_ws.src.ros2tak_tools.test.test_flake8 | duration_s | — | 0s | new |
| ros_ws.src.ros2tak_tools.test.test_pep257 | duration_s | — | 0s | new |
| ros_ws.src.local.planners.takeoff_landing_planner.test.scripts.test_takeoff_landing_planner | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Baseline.DPVO.Pangolin.components.pango_python.pybind11.tests | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_circular_buffer | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_loadable | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_macvo | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_modules | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_sequence | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_config_tartanvo | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_frontend | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_matching | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_performance_macvo | duration_s | — | 0s | new |
| ros_ws.src.perception.macvo_ros2.macvo_ros2.macvo.Scripts.UnitTest.test_stereo_depth | duration_s | — | 0s | new |
| ros_ws.src.sensors.camera_param_server.test.test_copyright | duration_s | — | 0s | new |
| ros_ws.src.sensors.camera_param_server.test.test_flake8 | duration_s | — | 0s | new |
| ros_ws.src.sensors.camera_param_server.test.test_pep257 | duration_s | — | 0s | new |
| ros_ws.src.sensors.gimbal_stabilizer.test.test_copyright | duration_s | — | 0s | new |
| ros_ws.src.sensors.gimbal_stabilizer.test.test_flake8 | duration_s | — | 0s | new |
| ros_ws.src.sensors.gimbal_stabilizer.test.test_pep257 | duration_s | — | 0s | new |
| isaac-sim.extensions.PegasusSimulator.extensions.pegasus.simulator.pegasus.simulator.tests.test_hello_world | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.replicator.pose_generation.pose_tests.test_utils | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.benchmark.services.test_no_rendering | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_articulation_determinism | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_articulation_root | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_delete_in_contact | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_rendering | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_save_stage | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.core.api.test_time_stepping | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.cortex.framework.cortex_bringup_test | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.ros1.bridge.test_carter_lidar | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.ros2.bridge.test_carter_camera_multi_robot_nav | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.ros2.bridge.test_people_sim | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.sensors.physics.contact_sensor_test | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.sensors.rtx.rtx_lidar_test | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.sensors.rtx.rtx_radar_test | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_createstage_config | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_extension_count | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_external | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_extra_args | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_fabric_frame_delay | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_fetch_results | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_frame_delay | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_ogn | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_ovd | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_syntheticdata | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.isaacsim.simulation_app.test_unsaved_on_exit | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.omni.isaac.dynamic_control.test_zero_step | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.omni.replicator.agent.test_scripting | duration_s | — | 0s | new |
| isaac-sim.standalone_examples.testing.omni.syntheticdata.test_basic | duration_s | — | 0s | new |
test_takeoff_hover_land
Pass rates
| Test | Pass | Fail | Skip | Rate (baseline → current) |
|---|---|---|---|---|
| test_hover[msairsim-rob#1-v0.5] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_hover[msairsim-rob#1-v1.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_hover[msairsim-rob#1-v2.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_landing[msairsim-rob#1-v0.5] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_landing[msairsim-rob#1-v1.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_landing[msairsim-rob#1-v2.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_px4_ready[msairsim-rob#1-v0.5] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_px4_ready[msairsim-rob#1-v1.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_px4_ready[msairsim-rob#1-v2.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_takeoff[msairsim-rob#1-v0.5] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_takeoff[msairsim-rob#1-v1.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_takeoff[msairsim-rob#1-v2.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
Metrics
| Test | Metric | Baseline | Current | Change |
|---|---|---|---|---|
| test_px4_ready[msairsim-rob#1-v0.5] | duration_s | 215.2s | — | removed |
| test_px4_ready[msairsim-rob#1-v0.5] | airstack_up_duration_s | 3.22s | — | removed |
| test_px4_ready[msairsim-rob#1-v0.5] | airstack_down_duration_s | 11.02s | — | removed |
| test_px4_ready[msairsim-rob#1-v0.5] | robot.ready_duration_sys_s | 211.3s | — | removed |
| test_takeoff[msairsim-rob#1-v0.5] | duration_s | 24.1s | — | removed |
| test_takeoff[msairsim-rob#1-v0.5] | robot.altitude_error_m | -0.089m | — | removed |
| test_takeoff[msairsim-rob#1-v0.5] | robot.overshoot_m | 0m | — | removed |
| test_takeoff[msairsim-rob#1-v0.5] | robot.takeoff_duration_sim_s | 18.64s | — | removed |
| test_takeoff[msairsim-rob#1-v0.5] | robot.velocity_rmse_m_sim_s | 0.217m/s | — | removed |
| test_takeoff[msairsim-rob#1-v0.5] | robot.odometry_error_mean_m | 0.579m | — | removed |
| test_takeoff[msairsim-rob#1-v0.5] | robot.odometry_error_max_m | 0.669m | — | removed |
| test_takeoff[msairsim-rob#1-v0.5] | robot.odometry_altitude_bias_m | 0.575m | — | removed |
| test_hover[msairsim-rob#1-v0.5] | duration_s | 10.06s | — | removed |
| test_hover[msairsim-rob#1-v0.5] | robot.hover_altitude_mean_error_m | 0.046m | — | removed |
| test_hover[msairsim-rob#1-v0.5] | robot.hover_position_stddev_m | 0.023m | — | removed |
| test_hover[msairsim-rob#1-v0.5] | robot.odometry_error_mean_m | 0.674m | — | removed |
| test_hover[msairsim-rob#1-v0.5] | robot.odometry_error_max_m | 0.696m | — | removed |
| test_hover[msairsim-rob#1-v0.5] | robot.odometry_altitude_bias_m | 0.674m | — | removed |
| test_landing[msairsim-rob#1-v0.5] | duration_s | 26.44s | — | removed |
| test_landing[msairsim-rob#1-v0.5] | robot.final_altitude_m | -0.097m | — | removed |
| test_landing[msairsim-rob#1-v0.5] | robot.land_duration_sim_s | 14.8s | — | removed |
| test_landing[msairsim-rob#1-v0.5] | robot.velocity_rmse_m_sim_s | 0.226m/s | — | removed |
| test_landing[msairsim-rob#1-v0.5] | robot.odometry_error_mean_m | 0.707m | — | removed |
| test_landing[msairsim-rob#1-v0.5] | robot.odometry_error_max_m | 0.803m | — | removed |
| test_landing[msairsim-rob#1-v0.5] | robot.odometry_altitude_bias_m | 0.706m | — | removed |
| test_px4_ready[msairsim-rob#1-v1.0] | duration_s | 0.001s | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | duration_s | 16.82s | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.altitude_error_m | -0.048m | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.overshoot_m | 0m | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.takeoff_duration_sim_s | 10.22s | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.velocity_rmse_m_sim_s | 0.393m/s | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.odometry_error_mean_m | 0.538m | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.odometry_error_max_m | 0.684m | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.odometry_altitude_bias_m | 0.538m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | duration_s | 10.07s | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.hover_altitude_mean_error_m | 0.127m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.hover_position_stddev_m | 0.06m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.odometry_error_mean_m | 0.697m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.odometry_error_max_m | 0.734m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.odometry_altitude_bias_m | 0.696m | — | removed |
| test_landing[msairsim-rob#1-v1.0] | duration_s | 17.34s | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.final_altitude_m | -0.149m | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.land_duration_sim_s | 7.2s | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.velocity_rmse_m_sim_s | 0.436m/s | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.odometry_error_mean_m | 0.679m | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.odometry_error_max_m | 0.935m | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.odometry_altitude_bias_m | 0.679m | — | removed |
| test_px4_ready[msairsim-rob#1-v2.0] | duration_s | 0.001s | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | duration_s | 15.89s | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.altitude_error_m | -0.042m | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.overshoot_m | 0m | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.takeoff_duration_sim_s | 10.36s | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.velocity_rmse_m_sim_s | 1.086m/s | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.odometry_error_mean_m | 0.541m | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.odometry_error_max_m | 0.684m | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.odometry_altitude_bias_m | 0.541m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | duration_s | 10.07s | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.hover_altitude_mean_error_m | 0.165m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.hover_position_stddev_m | 0.083m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.odometry_error_mean_m | 0.712m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.odometry_error_max_m | 0.748m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.odometry_altitude_bias_m | 0.712m | — | removed |
| test_landing[msairsim-rob#1-v2.0] | duration_s | 26.67s | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.final_altitude_m | -0.143m | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.land_duration_sim_s | 6.678s | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.velocity_rmse_m_sim_s | 0.944m/s | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.odometry_error_mean_m | 0.684m | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.odometry_error_max_m | 0.963m | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.odometry_altitude_bias_m | 0.684m | — | removed |
Member
|
/pytest -m "build_docker or build_packages or liveliness or takeoff_hover_land" |
|
Running Note: |
Test Metrics —
|
| Test | Pass | Fail | Skip | Rate (baseline → current) |
|---|---|---|---|---|
| test_build_gcs | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_build_isaac_sim | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_build_ms_airsim | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_build_robot_desktop | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
Metrics
| Test | Metric | Baseline | Current | Change |
|---|---|---|---|---|
| test_build_robot_desktop | duration_s | — | 75.78s | new |
| test_build_gcs | duration_s | — | 38.24s | new |
| test_build_isaac_sim | duration_s | — | 147s | new |
| test_build_ms_airsim | duration_s | — | 31.35s | new |
test_build_packages
Pass rates
| Test | Pass | Fail | Skip | Rate (baseline → current) |
|---|---|---|---|---|
| test_colcon_build_gcs | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_colcon_build_ms_airsim | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_colcon_build_robot | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
Metrics
| Test | Metric | Baseline | Current | Change |
|---|---|---|---|---|
| test_colcon_build_robot | duration_s | — | 170s | new |
| test_colcon_build_gcs | duration_s | — | 57.39s | new |
| test_colcon_build_ms_airsim | duration_s | — | 12.49s | new |
test_liveliness
Pass rates
| Test | Pass | Fail | Skip | Rate (baseline → current) |
|---|---|---|---|---|
| test_compute_usage[isaacsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_compute_usage[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_compute_usage[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_compute_usage[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_gcs_container_running[isaacsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_gcs_container_running[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_gcs_container_running[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_gcs_container_running[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_realtime_factor[isaacsim-rob#1] | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| test_realtime_factor[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_realtime_factor[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_realtime_factor[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_robot_containers_running[isaacsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_robot_containers_running[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_robot_containers_running[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_robot_containers_running[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sentinel_nodes_present[isaacsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sentinel_nodes_present[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sentinel_nodes_present[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sentinel_nodes_present[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_container_running[isaacsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_container_running[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_container_running[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_container_running[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_publishing[isaacsim-rob#1] | 0 → 0 | 0 → 1 | 0 → 0 | — → 0% |
| test_sim_publishing[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_publishing[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_publishing[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_ready_time[isaacsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_ready_time[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_ready_time[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_sim_ready_time[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_stable[isaacsim-rob#1] | 0 → 0 | 0 → 0 | 0 → 1 | — → — |
| test_stable[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_stable[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_stable[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_tmux_panes_have_expected_processes[isaacsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_tmux_panes_have_expected_processes[isaacsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_tmux_panes_have_expected_processes[msairsim-rob#1] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_tmux_panes_have_expected_processes[msairsim-rob#3] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
Metrics
| Test | Metric | Baseline | Current | Change |
|---|---|---|---|---|
| test_robot_containers_running[msairsim-rob#1] | duration_s | — | 2.004s | new |
| test_robot_containers_running[msairsim-rob#1] | airstack_up_duration_s | — | 1.59s | new |
| test_robot_containers_running[msairsim-rob#1] | airstack_down_duration_s | — | 10.92s | new |
| test_sim_container_running[msairsim-rob#1] | duration_s | — | 0.017s | new |
| test_gcs_container_running[msairsim-rob#1] | duration_s | — | 0.045s | new |
| test_sim_ready_time[msairsim-rob#1] | duration_s | — | 8.117s | new |
| test_sim_ready_time[msairsim-rob#1] | sim_ready_duration_s | — | 9.82s | new |
| test_tmux_panes_have_expected_processes[msairsim-rob#1] | duration_s | — | 0.194s | new |
| test_sim_publishing[msairsim-rob#1] | duration_s | — | 10.44s | new |
| test_compute_usage[msairsim-rob#1] | duration_s | — | 2.691s | new |
| test_realtime_factor[msairsim-rob#1] | duration_s | — | 23.02s | new |
| test_realtime_factor[msairsim-rob#1] | sim.realtime_factor | — | 0.995 | new |
| test_sentinel_nodes_present[msairsim-rob#1] | duration_s | — | 1.445s | new |
| test_stable[msairsim-rob#1] | duration_s | — | 288.4s | new |
| test_robot_containers_running[msairsim-rob#3] | duration_s | — | 14.18s | new |
| test_robot_containers_running[msairsim-rob#3] | airstack_up_duration_s | — | 2.66s | new |
| test_robot_containers_running[msairsim-rob#3] | airstack_down_duration_s | — | 11.3s | new |
| test_sim_container_running[msairsim-rob#3] | duration_s | — | 0.03s | new |
| test_gcs_container_running[msairsim-rob#3] | duration_s | — | 0.094s | new |
| test_sim_ready_time[msairsim-rob#3] | duration_s | — | 4.573s | new |
| test_sim_ready_time[msairsim-rob#3] | sim_ready_duration_s | — | 7.5s | new |
| test_tmux_panes_have_expected_processes[msairsim-rob#3] | duration_s | — | 0.429s | new |
| test_sim_publishing[msairsim-rob#3] | duration_s | — | 10.55s | new |
| test_compute_usage[msairsim-rob#3] | duration_s | — | 2.687s | new |
| test_realtime_factor[msairsim-rob#3] | duration_s | — | 22.44s | new |
| test_realtime_factor[msairsim-rob#3] | sim.realtime_factor | — | 1.001 | new |
| test_sentinel_nodes_present[msairsim-rob#3] | duration_s | — | 11.53s | new |
| test_stable[msairsim-rob#3] | duration_s | — | 311.8s | new |
| test_robot_containers_running[isaacsim-rob#1] | duration_s | — | 13.53s | new |
| test_robot_containers_running[isaacsim-rob#1] | airstack_up_duration_s | — | 1.77s | new |
| test_robot_containers_running[isaacsim-rob#1] | airstack_down_duration_s | — | 12.32s | new |
| test_sim_container_running[isaacsim-rob#1] | duration_s | — | 0.018s | new |
| test_gcs_container_running[isaacsim-rob#1] | duration_s | — | 0.045s | new |
| test_sim_ready_time[isaacsim-rob#1] | duration_s | — | 47.8s | new |
| test_sim_ready_time[isaacsim-rob#1] | sim_ready_duration_s | — | 49.68s | new |
| test_tmux_panes_have_expected_processes[isaacsim-rob#1] | duration_s | — | 0.195s | new |
| test_sim_publishing[isaacsim-rob#1] | duration_s | — | 10.68s | new |
| test_compute_usage[isaacsim-rob#1] | duration_s | — | 2.629s | new |
| test_realtime_factor[isaacsim-rob#1] | duration_s | — | 5.509s | new |
| test_sentinel_nodes_present[isaacsim-rob#1] | duration_s | — | 7.054s | new |
| test_stable[isaacsim-rob#1] | duration_s | — | 0s | new |
| test_robot_containers_running[isaacsim-rob#3] | duration_s | — | 15.57s | new |
| test_robot_containers_running[isaacsim-rob#3] | airstack_up_duration_s | — | 2.67s | new |
| test_robot_containers_running[isaacsim-rob#3] | airstack_down_duration_s | — | 12.52s | new |
| test_sim_container_running[isaacsim-rob#3] | duration_s | — | 0.029s | new |
| test_gcs_container_running[isaacsim-rob#3] | duration_s | — | 0.08s | new |
| test_sim_ready_time[isaacsim-rob#3] | duration_s | — | 68.67s | new |
| test_sim_ready_time[isaacsim-rob#3] | sim_ready_duration_s | — | 71.58s | new |
| test_tmux_panes_have_expected_processes[isaacsim-rob#3] | duration_s | — | 0.385s | new |
| test_sim_publishing[isaacsim-rob#3] | duration_s | — | 10.66s | new |
| test_compute_usage[isaacsim-rob#3] | duration_s | — | 2.671s | new |
| test_realtime_factor[isaacsim-rob#3] | duration_s | — | 22.64s | new |
| test_realtime_factor[isaacsim-rob#3] | sim.realtime_factor | — | 0.746 | new |
| test_sentinel_nodes_present[isaacsim-rob#3] | duration_s | — | 11.69s | new |
| test_stable[isaacsim-rob#3] | duration_s | — | 324.5s | new |
Sim publishing rates (baseline n=None, current n=1; baseline → current, per-topic)
| Test | Topic | mean | start_mean | end_mean | min | max |
|---|---|---|---|---|---|---|
| test_stable[msairsim-rob#1] | clock | 46.24Hz | 45.49Hz (t=10-60s) | 46.99Hz (t=70-120s) | 31.2Hz | 56.8Hz |
| test_stable[msairsim-rob#1] | robot.sensors.front_stereo.left.image_rect | 4.17Hz | 3.56Hz (t=10-60s) | 4.79Hz (t=70-120s) | 2.852Hz | 9.372Hz |
| test_stable[msairsim-rob#1] | robot.sensors.front_stereo.right.image_rect | 3.96Hz | 3.65Hz (t=10-60s) | 4.28Hz (t=70-120s) | 3.344Hz | 5.354Hz |
| test_stable[msairsim-rob#1] | robot.sensors.front_stereo.left.depth_ground_truth | 3.34Hz | 3.25Hz (t=10-60s) | 3.43Hz (t=70-120s) | 2.308Hz | 3.858Hz |
| test_stable[msairsim-rob#1] | robot.sensors.front_stereo.right.depth_ground_truth | 4.8Hz | 3.85Hz (t=10-60s) | 5.75Hz (t=70-120s) | 2.882Hz | 10.26Hz |
| test_stable[msairsim-rob#3] | clock | 48.59Hz | 41.76Hz (t=10-60s) | 55.41Hz (t=70-120s) | 33.47Hz | 73.88Hz |
| test_stable[msairsim-rob#3] | robot.sensors.front_stereo.left.image_rect | 3.28Hz | 3.43Hz (t=10-60s) | 3.14Hz (t=70-120s) | 2.244Hz | 7.447Hz |
| test_stable[msairsim-rob#3] | robot.sensors.front_stereo.right.image_rect | 3.66Hz | 3.79Hz (t=10-60s) | 3.52Hz (t=70-120s) | 2.315Hz | 8.6Hz |
| test_stable[msairsim-rob#3] | robot.sensors.front_stereo.left.depth_ground_truth | 2.87Hz | 2.88Hz (t=10-60s) | 2.85Hz (t=70-120s) | 1.915Hz | 3.137Hz |
| test_stable[msairsim-rob#3] | robot.sensors.front_stereo.right.depth_ground_truth | 3.35Hz | 3.18Hz (t=10-60s) | 3.51Hz (t=70-120s) | 1.873Hz | 8.698Hz |
| test_stable[isaacsim-rob#3] | clock | 23.36Hz | 23.95Hz (t=10-60s) | 22.78Hz (t=70-120s) | 21.66Hz | 25.18Hz |
| test_stable[isaacsim-rob#3] | robot.sensors.front_stereo.left.image_rect | 23.11Hz | 23.43Hz (t=10-60s) | 22.8Hz (t=70-120s) | 17.49Hz | 25.78Hz |
| test_stable[isaacsim-rob#3] | robot.sensors.front_stereo.right.image_rect | 22.24Hz | 22.94Hz (t=10-60s) | 21.54Hz (t=70-120s) | 16.43Hz | 25.36Hz |
| test_stable[isaacsim-rob#3] | robot.sensors.front_stereo.left.depth_ground_truth | 18.48Hz | 18.68Hz (t=10-60s) | 18.28Hz (t=70-120s) | 10.32Hz | 25.17Hz |
| test_stable[isaacsim-rob#3] | robot.sensors.front_stereo.right.depth_ground_truth | 20.61Hz | 20.25Hz (t=10-60s) | 20.97Hz (t=70-120s) | 15.1Hz | 25.24Hz |
Compute usage (baseline n=None, current n=1; baseline → current, per-container and global)
| Test | Entity | Metric | mean | start_mean | end_mean | min | max |
|---|---|---|---|---|---|---|---|
| test_stable[msairsim-rob#1] | ms-airsim | cpu_pct | 309.7% | 308.5% (t=10-60s) | 310.9% (t=70-120s) | 302.8% | 315.8% |
| test_stable[msairsim-rob#1] | ms-airsim | mem_mb | 668.1MB | 666.3MB (t=10-60s) | 669.9MB (t=70-120s) | 663.4MB | 671.7MB |
| test_stable[msairsim-rob#1] | ms-airsim | disk_io_mb | 517.5MB | 490.5MB (t=10-60s) | 544.5MB (t=70-120s) | 468MB | 567MB |
| test_stable[msairsim-rob#1] | ms-airsim | net_io_mb | 3771MB | 2456MB (t=10-60s) | 5086MB (t=70-120s) | 1390MB | 6193MB |
| test_stable[msairsim-rob#1] | host | cpu_pct | 14.16% | 13.88% (t=10-60s) | 14.43% (t=70-120s) | 12.3% | 16.6% |
| test_stable[msairsim-rob#1] | host | mem_mb | 3831MB | 3810MB (t=10-60s) | 3852MB (t=70-120s) | 3774MB | 3866MB |
| test_stable[msairsim-rob#1] | host | gpu_pct | 66% | 65.17% (t=10-60s) | 66.83% (t=70-120s) | 58% | 71% |
| test_stable[msairsim-rob#1] | host | vram_mb | 727.8MB | 728MB (t=10-60s) | 727.5MB (t=70-120s) | 727MB | 728MB |
| test_stable[msairsim-rob#1] | host | gpu_temp_c | 38°C | 37°C (t=10-60s) | 39°C (t=70-120s) | 35°C | 39°C |
| test_stable[msairsim-rob#1] | host | gpu_power_w | 99.44W | 98.6W (t=10-60s) | 100.3W (t=70-120s) | 97.4W | 102W |
| test_stable[msairsim-rob#1] | airstack-robot-desktop | cpu_pct | 198.9% | 198.8% (t=10-60s) | 199% (t=70-120s) | 167.8% | 229.8% |
| test_stable[msairsim-rob#1] | airstack-robot-desktop | mem_mb | 867.6MB | 862MB (t=10-60s) | 873.1MB (t=70-120s) | 854.6MB | 881.9MB |
| test_stable[msairsim-rob#1] | airstack-robot-desktop | disk_io_mb | 303.1MB | 302.9MB (t=10-60s) | 303.2MB (t=70-120s) | 302.5MB | 303.3MB |
| test_stable[msairsim-rob#1] | airstack-robot-desktop | net_io_mb | 3694MB | 2353MB (t=10-60s) | 5034MB (t=70-120s) | 1266MB | 6169MB |
| test_stable[msairsim-rob#1] | airstack-gcs | cpu_pct | 51.15% | 46.78% (t=10-60s) | 55.53% (t=70-120s) | 13.35% | 94.06% |
| test_stable[msairsim-rob#1] | airstack-gcs | mem_mb | 422.4MB | 421.8MB (t=10-60s) | 423MB (t=70-120s) | 420.5MB | 423.6MB |
| test_stable[msairsim-rob#1] | airstack-gcs | disk_io_mb | 167.1MB | 167.1MB (t=10-60s) | 167.2MB (t=70-120s) | 167MB | 167.3MB |
| test_stable[msairsim-rob#1] | airstack-gcs | net_io_mb | 93.64MB | 58MB (t=10-60s) | 129.3MB (t=70-120s) | 30.1MB | 158.5MB |
| test_stable[msairsim-rob#3] | ms-airsim | cpu_pct | 512.1% | 513.8% (t=10-60s) | 510.3% (t=70-120s) | 503.3% | 524.2% |
| test_stable[msairsim-rob#3] | ms-airsim | mem_mb | 740.4MB | 735MB (t=10-60s) | 745.7MB (t=70-120s) | 732.4MB | 749.2MB |
| test_stable[msairsim-rob#3] | ms-airsim | disk_io_mb | 243.7MB | 156.7MB (t=10-60s) | 330.7MB (t=70-120s) | 84MB | 403MB |
| test_stable[msairsim-rob#3] | ms-airsim | net_io_mb | 1.004e+04MB | 6456MB (t=10-60s) | 1.362e+04MB (t=70-120s) | 3449MB | 1.658e+04MB |
| test_stable[msairsim-rob#3] | host | cpu_pct | 33% | 32.73% (t=10-60s) | 33.27% (t=70-120s) | 28.6% | 36.1% |
| test_stable[msairsim-rob#3] | host | mem_mb | 5566MB | 5548MB (t=10-60s) | 5583MB (t=70-120s) | 5501MB | 5603MB |
| test_stable[msairsim-rob#3] | host | gpu_pct | 53% | 53.83% (t=10-60s) | 52.17% (t=70-120s) | 45% | 59% |
| test_stable[msairsim-rob#3] | host | vram_mb | 847MB | 847MB (t=10-60s) | 847MB (t=70-120s) | 847MB | 847MB |
| test_stable[msairsim-rob#3] | host | gpu_temp_c | 36°C | 36°C (t=10-60s) | 36°C (t=70-120s) | 36°C | 36°C |
| test_stable[msairsim-rob#3] | host | gpu_power_w | 88.11W | 88.7W (t=10-60s) | 87.52W (t=70-120s) | 85.89W | 90.59W |
| test_stable[msairsim-rob#3] | airstack-robot-desktop | cpu_pct | 190.2% | 192.5% (t=10-60s) | 188% (t=70-120s) | 163.9% | 222.4% |
| test_stable[msairsim-rob#3] | airstack-robot-desktop | mem_mb | 683.3MB | 679.4MB (t=10-60s) | 687.3MB (t=70-120s) | 670.2MB | 701.6MB |
| test_stable[msairsim-rob#3] | airstack-robot-desktop | disk_io_mb | 14.71MB | 14.45MB (t=10-60s) | 14.96MB (t=70-120s) | 13.8MB | 16.6MB |
| test_stable[msairsim-rob#3] | airstack-robot-desktop | net_io_mb | 3444MB | 2225MB (t=10-60s) | 4662MB (t=70-120s) | 1132MB | 5833MB |
| test_stable[msairsim-rob#3] | airstack-gcs | cpu_pct | 145.3% | 151% (t=10-60s) | 139.6% (t=70-120s) | 104% | 198.8% |
| test_stable[msairsim-rob#3] | airstack-gcs | mem_mb | 419.7MB | 415.9MB (t=10-60s) | 423.4MB (t=70-120s) | 415.2MB | 440.3MB |
| test_stable[msairsim-rob#3] | airstack-gcs | disk_io_mb | 8.73MB | 8.65MB (t=10-60s) | 8.8MB (t=70-120s) | 8.594MB | 8.864MB |
| test_stable[msairsim-rob#3] | airstack-gcs | net_io_mb | 311.3MB | 200.4MB (t=10-60s) | 422.2MB (t=70-120s) | 112MB | 516MB |
| test_stable[isaacsim-rob#3] | isaac-sim | cpu_pct | 627.3% | 627.3% (t=10-60s) | 627.3% (t=70-120s) | 594.2% | 688.9% |
| test_stable[isaacsim-rob#3] | isaac-sim | mem_mb | 1.193e+04MB | 1.192e+04MB (t=10-60s) | 1.193e+04MB (t=70-120s) | 1.192e+04MB | 1.194e+04MB |
| test_stable[isaacsim-rob#3] | isaac-sim | disk_io_mb | 513.3MB | 465.1MB (t=10-60s) | 561.6MB (t=70-120s) | 425.1MB | 601.1MB |
| test_stable[isaacsim-rob#3] | isaac-sim | net_io_mb | 4.381e+04MB | 2.828e+04MB (t=10-60s) | 5.934e+04MB (t=70-120s) | 1.506e+04MB | 7.228e+04MB |
| test_stable[isaacsim-rob#3] | host | cpu_pct | 31.88% | 31.9% (t=10-60s) | 31.85% (t=70-120s) | 28.3% | 37% |
| test_stable[isaacsim-rob#3] | host | mem_mb | 1.836e+04MB | 1.835e+04MB (t=10-60s) | 1.836e+04MB (t=70-120s) | 1.83e+04MB | 1.841e+04MB |
| test_stable[isaacsim-rob#3] | host | gpu_pct | 29.17% | 30.33% (t=10-60s) | 28% (t=70-120s) | 25% | 32% |
| test_stable[isaacsim-rob#3] | host | vram_mb | 3560MB | 3560MB (t=10-60s) | 3560MB (t=70-120s) | 3560MB | 3560MB |
| test_stable[isaacsim-rob#3] | host | gpu_temp_c | 35.58°C | 35.33°C (t=10-60s) | 35.83°C (t=70-120s) | 35°C | 36°C |
| test_stable[isaacsim-rob#3] | host | gpu_power_w | 85.52W | 85.2W (t=10-60s) | 85.83W (t=70-120s) | 84.01W | 88.76W |
| test_stable[isaacsim-rob#3] | airstack-robot-desktop | cpu_pct | 173.5% | 171.9% (t=10-60s) | 175% (t=70-120s) | 116% | 211.5% |
| test_stable[isaacsim-rob#3] | airstack-robot-desktop | mem_mb | 686.8MB | 683.3MB (t=10-60s) | 690.3MB (t=70-120s) | 673.3MB | 703MB |
| test_stable[isaacsim-rob#3] | airstack-robot-desktop | disk_io_mb | 18.18MB | 18.05MB (t=10-60s) | 18.3MB (t=70-120s) | 14.7MB | 23MB |
| test_stable[isaacsim-rob#3] | airstack-robot-desktop | net_io_mb | 1.471e+04MB | 9504MB (t=10-60s) | 1.991e+04MB (t=70-120s) | 5063MB | 2.427e+04MB |
| test_stable[isaacsim-rob#3] | airstack-gcs | cpu_pct | 88.22% | 88.97% (t=10-60s) | 87.47% (t=70-120s) | 77.51% | 108.6% |
| test_stable[isaacsim-rob#3] | airstack-gcs | mem_mb | 416.2MB | 416.1MB (t=10-60s) | 416.3MB (t=70-120s) | 415.9MB | 416.7MB |
| test_stable[isaacsim-rob#3] | airstack-gcs | disk_io_mb | 10.07MB | 10MB (t=10-60s) | 10.15MB (t=70-120s) | 9.93MB | 10.2MB |
| test_stable[isaacsim-rob#3] | airstack-gcs | net_io_mb | 372.6MB | 267MB (t=10-60s) | 478.2MB (t=70-120s) | 180.1MB | 566MB |
test_takeoff_hover_land
Pass rates
| Test | Pass | Fail | Skip | Rate (baseline → current) |
|---|---|---|---|---|
| test_hover[isaacsim-rob#1-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_hover[isaacsim-rob#3-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_hover[msairsim-rob#1-v0.5] | 1 → 1 | 0 → 0 | 0 → 0 | 100% → 100% |
| test_hover[msairsim-rob#1-v1.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_hover[msairsim-rob#1-v2.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_hover[msairsim-rob#3-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_landing[isaacsim-rob#1-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_landing[isaacsim-rob#3-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_landing[msairsim-rob#1-v0.5] | 1 → 1 | 0 → 0 | 0 → 0 | 100% → 100% |
| test_landing[msairsim-rob#1-v1.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_landing[msairsim-rob#1-v2.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_landing[msairsim-rob#3-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_px4_ready[isaacsim-rob#1-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_px4_ready[isaacsim-rob#3-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_px4_ready[msairsim-rob#1-v0.5] | 1 → 1 | 0 → 0 | 0 → 0 | 100% → 100% |
| test_px4_ready[msairsim-rob#1-v1.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_px4_ready[msairsim-rob#1-v2.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_px4_ready[msairsim-rob#3-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_takeoff[isaacsim-rob#1-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_takeoff[isaacsim-rob#3-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
| test_takeoff[msairsim-rob#1-v0.5] | 1 → 1 | 0 → 0 | 0 → 0 | 100% → 100% |
| test_takeoff[msairsim-rob#1-v1.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_takeoff[msairsim-rob#1-v2.0] | 1 → 0 | 0 → 0 | 0 → 0 | 100% → — |
| test_takeoff[msairsim-rob#3-v0.5] | 0 → 1 | 0 → 0 | 0 → 0 | — → 100% |
Metrics
| Test | Metric | Baseline | Current | Change |
|---|---|---|---|---|
| test_px4_ready[isaacsim-rob#1-v0.5] | duration_s | — | 74.69s | new |
| test_px4_ready[isaacsim-rob#1-v0.5] | airstack_up_duration_s | — | 1.89s | new |
| test_px4_ready[isaacsim-rob#1-v0.5] | airstack_down_duration_s | — | 12.41s | new |
| test_px4_ready[isaacsim-rob#1-v0.5] | robot.ready_duration_sys_s | — | 72.3s | new |
| test_takeoff[isaacsim-rob#1-v0.5] | duration_s | — | 16.86s | new |
| test_takeoff[isaacsim-rob#1-v0.5] | robot.altitude_error_m | — | -0.113m | new |
| test_takeoff[isaacsim-rob#1-v0.5] | robot.overshoot_m | — | 0m | new |
| test_takeoff[isaacsim-rob#1-v0.5] | robot.takeoff_duration_sim_s | — | 17.88s | new |
| test_takeoff[isaacsim-rob#1-v0.5] | robot.velocity_rmse_m_sim_s | — | 0.111m/s | new |
| test_hover[isaacsim-rob#1-v0.5] | duration_s | — | 10.06s | new |
| test_hover[isaacsim-rob#1-v0.5] | robot.hover_altitude_mean_error_m | — | 0.011m | new |
| test_hover[isaacsim-rob#1-v0.5] | robot.hover_position_stddev_m | — | 0.052m | new |
| test_landing[isaacsim-rob#1-v0.5] | duration_s | — | 18.49s | new |
| test_landing[isaacsim-rob#1-v0.5] | robot.final_altitude_m | — | -0.002m | new |
| test_landing[isaacsim-rob#1-v0.5] | robot.land_duration_sim_s | — | 14.79s | new |
| test_landing[isaacsim-rob#1-v0.5] | robot.velocity_rmse_m_sim_s | — | 0.1m/s | new |
| test_px4_ready[isaacsim-rob#3-v0.5] | duration_s | — | 106.1s | new |
| test_px4_ready[isaacsim-rob#3-v0.5] | airstack_up_duration_s | — | 2.64s | new |
| test_px4_ready[isaacsim-rob#3-v0.5] | airstack_down_duration_s | — | 12.53s | new |
| test_px4_ready[isaacsim-rob#3-v0.5] | robot.ready_duration_sys_s | — | 80.28s | new |
| test_takeoff[isaacsim-rob#3-v0.5] | duration_s | — | 32.85s | new |
| test_takeoff[isaacsim-rob#3-v0.5] | robot.altitude_error_m | — | -0.149m | new |
| test_takeoff[isaacsim-rob#3-v0.5] | robot.overshoot_m | — | 0m | new |
| test_takeoff[isaacsim-rob#3-v0.5] | robot.takeoff_duration_sim_s | — | 17.73s | new |
| test_takeoff[isaacsim-rob#3-v0.5] | robot.velocity_rmse_m_sim_s | — | 0.105m/s | new |
| test_hover[isaacsim-rob#3-v0.5] | duration_s | — | 10.11s | new |
| test_hover[isaacsim-rob#3-v0.5] | robot.hover_altitude_mean_error_m | — | 0.019m | new |
| test_hover[isaacsim-rob#3-v0.5] | robot.hover_position_stddev_m | — | 0.017m | new |
| test_landing[isaacsim-rob#3-v0.5] | duration_s | — | 38.73s | new |
| test_landing[isaacsim-rob#3-v0.5] | robot.final_altitude_m | — | -0.004m | new |
| test_landing[isaacsim-rob#3-v0.5] | robot.land_duration_sim_s | — | 14.52s | new |
| test_landing[isaacsim-rob#3-v0.5] | robot.velocity_rmse_m_sim_s | — | 0.097m/s | new |
| test_px4_ready[msairsim-rob#1-v0.5] | duration_s | 215.2s | 25.15s | -88.3% 🟢 |
| test_px4_ready[msairsim-rob#1-v0.5] | airstack_up_duration_s | 3.22s | 1.79s | -44.4% 🟢 |
| test_px4_ready[msairsim-rob#1-v0.5] | airstack_down_duration_s | 11.02s | 10.93s | -0.8% |
| test_px4_ready[msairsim-rob#1-v0.5] | robot.ready_duration_sys_s | 211.3s | 10.35s | -95.1% 🟢 |
| test_takeoff[msairsim-rob#1-v0.5] | duration_s | 24.1s | 24.01s | -0.4% |
| test_takeoff[msairsim-rob#1-v0.5] | robot.altitude_error_m | -0.089m | -0.095m | +6.7% |
| test_takeoff[msairsim-rob#1-v0.5] | robot.overshoot_m | 0m | 0m | +0.0% |
| test_takeoff[msairsim-rob#1-v0.5] | robot.takeoff_duration_sim_s | 18.64s | 18.66s | +0.1% |
| test_takeoff[msairsim-rob#1-v0.5] | robot.velocity_rmse_m_sim_s | 0.217m/s | 0.213m/s | -1.8% |
| test_takeoff[msairsim-rob#1-v0.5] | robot.odometry_error_mean_m | 0.579m | 0.576m | -0.5% |
| test_takeoff[msairsim-rob#1-v0.5] | robot.odometry_error_max_m | 0.669m | 0.669m | +0.0% |
| test_takeoff[msairsim-rob#1-v0.5] | robot.odometry_altitude_bias_m | 0.575m | 0.571m | -0.7% |
| test_hover[msairsim-rob#1-v0.5] | duration_s | 10.06s | 10.09s | +0.3% |
| test_hover[msairsim-rob#1-v0.5] | robot.hover_altitude_mean_error_m | 0.046m | 0.091m | +97.8% 🔴 |
| test_hover[msairsim-rob#1-v0.5] | robot.hover_position_stddev_m | 0.023m | 0.053m | +130.4% 🔴 |
| test_hover[msairsim-rob#1-v0.5] | robot.odometry_error_mean_m | 0.674m | 0.685m | +1.6% |
| test_hover[msairsim-rob#1-v0.5] | robot.odometry_error_max_m | 0.696m | 0.703m | +1.0% |
| test_hover[msairsim-rob#1-v0.5] | robot.odometry_altitude_bias_m | 0.674m | 0.685m | +1.6% |
| test_landing[msairsim-rob#1-v0.5] | duration_s | 26.44s | 26.59s | +0.6% |
| test_landing[msairsim-rob#1-v0.5] | robot.final_altitude_m | -0.097m | -0.081m | -16.5% |
| test_landing[msairsim-rob#1-v0.5] | robot.land_duration_sim_s | 14.8s | 14.8s | -0.0% |
| test_landing[msairsim-rob#1-v0.5] | robot.velocity_rmse_m_sim_s | 0.226m/s | 0.242m/s | +7.1% |
| test_landing[msairsim-rob#1-v0.5] | robot.odometry_error_mean_m | 0.707m | 0.722m | +2.1% |
| test_landing[msairsim-rob#1-v0.5] | robot.odometry_error_max_m | 0.803m | 0.81m | +0.9% |
| test_landing[msairsim-rob#1-v0.5] | robot.odometry_altitude_bias_m | 0.706m | 0.722m | +2.3% |
| test_px4_ready[msairsim-rob#3-v0.5] | duration_s | — | 38.37s | new |
| test_px4_ready[msairsim-rob#3-v0.5] | airstack_up_duration_s | — | 2.6s | new |
| test_px4_ready[msairsim-rob#3-v0.5] | airstack_down_duration_s | — | 11.28s | new |
| test_px4_ready[msairsim-rob#3-v0.5] | robot.ready_duration_sys_s | — | 17.77s | new |
| test_takeoff[msairsim-rob#3-v0.5] | duration_s | — | 26.14s | new |
| test_takeoff[msairsim-rob#3-v0.5] | robot.altitude_error_m | — | -0.093m | new |
| test_takeoff[msairsim-rob#3-v0.5] | robot.overshoot_m | — | 0m | new |
| test_takeoff[msairsim-rob#3-v0.5] | robot.takeoff_duration_sim_s | — | 18.66s | new |
| test_takeoff[msairsim-rob#3-v0.5] | robot.velocity_rmse_m_sim_s | — | 0.207m/s | new |
| test_takeoff[msairsim-rob#3-v0.5] | robot.odometry_error_mean_m | — | 0.578m | new |
| test_takeoff[msairsim-rob#3-v0.5] | robot.odometry_error_max_m | — | 0.671m | new |
| test_takeoff[msairsim-rob#3-v0.5] | robot.odometry_altitude_bias_m | — | 0.574m | new |
| test_hover[msairsim-rob#3-v0.5] | duration_s | — | 10.22s | new |
| test_hover[msairsim-rob#3-v0.5] | robot.hover_altitude_mean_error_m | — | 0.074m | new |
| test_hover[msairsim-rob#3-v0.5] | robot.hover_position_stddev_m | — | 0.038m | new |
| test_hover[msairsim-rob#3-v0.5] | robot.odometry_error_mean_m | — | 0.683m | new |
| test_hover[msairsim-rob#3-v0.5] | robot.odometry_error_max_m | — | 0.707m | new |
| test_hover[msairsim-rob#3-v0.5] | robot.odometry_altitude_bias_m | — | 0.683m | new |
| test_landing[msairsim-rob#3-v0.5] | duration_s | — | 39.25s | new |
| test_landing[msairsim-rob#3-v0.5] | robot.final_altitude_m | — | -0.095m | new |
| test_landing[msairsim-rob#3-v0.5] | robot.land_duration_sim_s | — | 14.8s | new |
| test_landing[msairsim-rob#3-v0.5] | robot.velocity_rmse_m_sim_s | — | 0.208m/s | new |
| test_landing[msairsim-rob#3-v0.5] | robot.odometry_error_mean_m | — | 0.72m | new |
| test_landing[msairsim-rob#3-v0.5] | robot.odometry_error_max_m | — | 0.83m | new |
| test_landing[msairsim-rob#3-v0.5] | robot.odometry_altitude_bias_m | — | 0.719m | new |
| test_px4_ready[msairsim-rob#1-v1.0] | duration_s | 0.001s | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | duration_s | 16.82s | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.altitude_error_m | -0.048m | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.overshoot_m | 0m | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.takeoff_duration_sim_s | 10.22s | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.velocity_rmse_m_sim_s | 0.393m/s | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.odometry_error_mean_m | 0.538m | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.odometry_error_max_m | 0.684m | — | removed |
| test_takeoff[msairsim-rob#1-v1.0] | robot.odometry_altitude_bias_m | 0.538m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | duration_s | 10.07s | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.hover_altitude_mean_error_m | 0.127m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.hover_position_stddev_m | 0.06m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.odometry_error_mean_m | 0.697m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.odometry_error_max_m | 0.734m | — | removed |
| test_hover[msairsim-rob#1-v1.0] | robot.odometry_altitude_bias_m | 0.696m | — | removed |
| test_landing[msairsim-rob#1-v1.0] | duration_s | 17.34s | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.final_altitude_m | -0.149m | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.land_duration_sim_s | 7.2s | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.velocity_rmse_m_sim_s | 0.436m/s | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.odometry_error_mean_m | 0.679m | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.odometry_error_max_m | 0.935m | — | removed |
| test_landing[msairsim-rob#1-v1.0] | robot.odometry_altitude_bias_m | 0.679m | — | removed |
| test_px4_ready[msairsim-rob#1-v2.0] | duration_s | 0.001s | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | duration_s | 15.89s | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.altitude_error_m | -0.042m | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.overshoot_m | 0m | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.takeoff_duration_sim_s | 10.36s | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.velocity_rmse_m_sim_s | 1.086m/s | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.odometry_error_mean_m | 0.541m | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.odometry_error_max_m | 0.684m | — | removed |
| test_takeoff[msairsim-rob#1-v2.0] | robot.odometry_altitude_bias_m | 0.541m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | duration_s | 10.07s | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.hover_altitude_mean_error_m | 0.165m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.hover_position_stddev_m | 0.083m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.odometry_error_mean_m | 0.712m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.odometry_error_max_m | 0.748m | — | removed |
| test_hover[msairsim-rob#1-v2.0] | robot.odometry_altitude_bias_m | 0.712m | — | removed |
| test_landing[msairsim-rob#1-v2.0] | duration_s | 26.67s | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.final_altitude_m | -0.143m | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.land_duration_sim_s | 6.678s | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.velocity_rmse_m_sim_s | 0.944m/s | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.odometry_error_mean_m | 0.684m | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.odometry_error_max_m | 0.963m | — | removed |
| test_landing[msairsim-rob#1-v2.0] | robot.odometry_altitude_bias_m | 0.684m | — | removed |
docker
Metrics
| Test | Metric | Baseline | Current | Change |
|---|---|---|---|---|
| docker.gcs | image_size_mb | — | 2024MB | new |
| docker.isaac-sim | image_size_mb | — | 1.253e+04MB | new |
| docker.ms-airsim | image_size_mb | — | 4010MB | new |
Regression detected — some metrics exceeded the threshold.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this pull request do?
gcs/foxglove_extensions/):robot-commands(per-robot task tabs with multi-feedback feed),waypoint-editor,polygon-editor. Auto-installed into Foxglove on container start viainstall.sh.gcs/ros_ws/src/action_relay/): bridges Foxglove JSON-on-String goals to per-robot action servers across DDS domains; cancel-aware with 10 s timeout fallback.gcs/ros_ws/src/gcs_visualizer/): multi-robot markers in one 3D namespace, per-robot/gcs/<robot>/locationrepublisher withmapframe, save markers for waypoints/polygons,sim_groundTRIANGLE_LISTfrom the sim overhead camera.common/ros_packages/coordination/): gossip node +PeerProfile+ configurable typed payloads (gossip_payloads.yaml).simulation/isaac-sim/utils/scene_prep.py):add_orthographic_camera+add_overhead_camera_publisher(publishes/sim/overhead/{image,spec});robot/ros_ws/src/global/planners/random_walk/): point-in-polygon search bounds, auto-navigate to nearest inside point pre-flight.gcs/saves/mounted into the GCS container.Which issue number does this address?
Video can be found here
Videos + photos in the updated docs
How did you implement it?
relay_node.py): a single Python process spins up actx0(GCS, domain 0) executor and onectxN(per-robot, domain N) executor; reads JSON goal/cancel from/<robot>/tasks/<task>String topics, builds the typed action goal,forwards to the robot-domain action client, and re-publishes feedback/result as JSON.
NUM_ROBOTSenv spawns the right set of relays.install.sh, which copies each unpacked extension into~/.foxglove-studio/extensions/<publisher>.<name>-<version>/at container start (mounted read-only fromgcs/foxglove_extensions/)./<robot>/odometry_conversion/odometrytopics; per-robot color from a fixed palette; world→map static TF published once on the GCS side.OVERHEAD_ALTITUDE_Mover (0,0); OmniGraphROS2CameraHelperpublishes a JPEG to/sim/overhead/imageand aFloat32coverage spec to/sim/overhead/spec. GCS side downsamples to aMarker.TRIANGLE_LISTgrid (overhead_grid_per_m, capped atoverhead_max_grid_resolution) so it stays cheap in Foxglove's 3D panel.random_walk_logic.cpp::point_in_search_bounds; nearest-inside-point pre-flight dispatched via the navigate action client.Testing
How do you run the tests?
peer_profileterminal viewer.gossip_payloads.yamland a VDB map payload to confirm the gossip layer handles arbitrary user-declared types end-to-end.What do the tests do?
Cover the GCS-side critical paths added by this PR: action relay (goal / feedback / result / cancel), polygon + waypoint editor + saves persistence, multi-robot visualizer, top-down sim map publisher, and the gossip payload pipeline.
What are the expected results of the tests?
gcs/savesmount.sim_groundrenders without dropping frames in Foxglove 3D across all tested scenes.PeerProfilereaches every other robot with all declared payloads attached, regardless of payload type.Did you update the docs (and under what path)?
New pages:
docs/gcs/foxglove.md— GCS Foxglove visualization (multi-robot markers, payload republishing, sim ground)docs/gcs/waypoints_and_geofences.md— click-to-place Waypoint and Polygon editor workflow + saves persistencedocs/simulation/isaac_sim/spawning_drones.md— multi-drone scene authoring withgps_utils.set_gps_originsdocs/simulation/isaac_sim/overhead_camera.md— 2D world map in Foxglove (real-world satellite tiles + simulated overheadcamera)
Updated:
docs/robot/autonomy/coordination/index.md— gossip protocol overview (already wired in nav)docs/robot/autonomy/coordination/payloads.md— how to add a custom payload + Foxglove handlermkdocs.yml— nav entries for the four new pages, underGround Control Station → FoxgloveandSimulation → Isaac SimSkills (
.agents/skills/):attach-gossip-payload/— agent workflow for adding a payload end-to-endvisualize-in-foxglove/— agent workflow for adding a topic to the GCS visualizer