From a06bb25e14fde2c8a5ea7d4a2fc6b14b17aee7df Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Fri, 13 Feb 2026 14:12:43 -0500 Subject: [PATCH 01/55] Fixed multi-drone global plan --- common/ros_packages/desktop_bringup/rviz/robot.rviz | 1 - robot/ros_ws/src/global/global_bringup/launch/global.launch.xml | 1 + .../global/planners/random_walk/config/random_walk_config.yaml | 2 ++ 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/common/ros_packages/desktop_bringup/rviz/robot.rviz b/common/ros_packages/desktop_bringup/rviz/robot.rviz index 183df82e..d3c3c312 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot.rviz @@ -688,7 +688,6 @@ Visualization Manager: Name: Traj Vis Namespaces: traj_controller: true - traj_controller_extra_text: true Topic: Depth: 5 Durability Policy: Volatile diff --git a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml index 6b153253..490570ff 100644 --- a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml +++ b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml @@ -14,6 +14,7 @@ + diff --git a/robot/ros_ws/src/global/planners/random_walk/config/random_walk_config.yaml b/robot/ros_ws/src/global/planners/random_walk/config/random_walk_config.yaml index ac5da3ad..25101979 100644 --- a/robot/ros_ws/src/global/planners/random_walk/config/random_walk_config.yaml +++ b/robot/ros_ws/src/global/planners/random_walk/config/random_walk_config.yaml @@ -6,6 +6,8 @@ pub_trajectory_viz_topic: "~/traj_viz" sub_map_topic: "vdb_map_visualization" sub_odometry_topic: "odometry" + sub_robot_tf_topic: "/tf" + srv_random_walk_toggle_topic: "~/global_plan_toggle" publish_visualizations: false # should trajectory visualizations be published num_paths_to_generate: 5 # how many random walk paths to string together From 3b993b7d881a9f83b2988639e923e9b2986fe875 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Tue, 17 Feb 2026 17:07:13 -0500 Subject: [PATCH 02/55] added sep files for fire and retro --- .../desktop_bringup/CMakeLists.txt | 5 + .../desktop_bringup/robot_1_odom_bridge.py | 28 ++ .../robot_2_relative_position.py | 0 .../robot_descriptions/CMakeLists.txt | 5 + .../src/robot_2_relative_position.py | 61 ++++ .../src/robot_2_relative_position.py | 79 +++++ scenes/fire_academy_faro_with_sky.scene.usd | Bin 0 -> 24731 bytes scenes/two_drone_RetroNeighborhood.usd | Bin 175503 -> 0 bytes scenes/two_drone_fire_new.usd | Bin 785787 -> 0 bytes .../two_drone_RetroNeighbourhood.py | 284 ++++++++++++++++++ .../launch_scripts/two_drone_fire_academy.py | 284 ++++++++++++++++++ .../launch_scripts/two_drone_scene_import.py | 8 +- 12 files changed, 750 insertions(+), 4 deletions(-) create mode 100755 common/ros_packages/desktop_bringup/robot_1_odom_bridge.py create mode 100755 common/ros_packages/desktop_bringup/robot_2_relative_position.py create mode 100644 gcs/gcs_bringup/src/robot_2_relative_position.py create mode 100755 gcs/ros_ws/src/gcs_bringup/src/robot_2_relative_position.py create mode 100644 scenes/fire_academy_faro_with_sky.scene.usd delete mode 100644 scenes/two_drone_RetroNeighborhood.usd delete mode 100644 scenes/two_drone_fire_new.usd create mode 100644 simulation/isaac-sim/launch_scripts/two_drone_RetroNeighbourhood.py create mode 100644 simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py diff --git a/common/ros_packages/desktop_bringup/CMakeLists.txt b/common/ros_packages/desktop_bringup/CMakeLists.txt index 159bf518..4af7f60f 100644 --- a/common/ros_packages/desktop_bringup/CMakeLists.txt +++ b/common/ros_packages/desktop_bringup/CMakeLists.txt @@ -19,4 +19,9 @@ install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) install(DIRECTORY rviz DESTINATION share/${PROJECT_NAME}) install(DIRECTORY params DESTINATION share/${PROJECT_NAME}) +install(PROGRAMS + robot_2_relative_position.py + DESTINATION lib/${PROJECT_NAME} +) + ament_package() diff --git a/common/ros_packages/desktop_bringup/robot_1_odom_bridge.py b/common/ros_packages/desktop_bringup/robot_1_odom_bridge.py new file mode 100755 index 00000000..0c9b228f --- /dev/null +++ b/common/ros_packages/desktop_bringup/robot_1_odom_bridge.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +import rclpy +from rclpy.node import Node +from nav_msgs.msg import Odometry + +class OdomBridgeNode(Node): + def __init__(self): + super().__init__('robot_1_odom_bridge') + self.pub = self.create_publisher(Odometry, '/robot_1/odom_bridge', 10) + self.sub = self.create_subscription( + Odometry, + '/robot_1/odometry_conversion/odometry', + self.odom_callback, + 10 + ) + + def odom_callback(self, msg): + self.pub.publish(msg) + +def main(args=None): + rclpy.init(args=args) + node = OdomBridgeNode() + rclpy.spin(node) + node.destroy_node() + rclpy.shutdown() + +if __name__ == '__main__': + main() diff --git a/common/ros_packages/desktop_bringup/robot_2_relative_position.py b/common/ros_packages/desktop_bringup/robot_2_relative_position.py new file mode 100755 index 00000000..e69de29b diff --git a/common/ros_packages/robot_descriptions/CMakeLists.txt b/common/ros_packages/robot_descriptions/CMakeLists.txt index e06c17c9..6d26a041 100644 --- a/common/ros_packages/robot_descriptions/CMakeLists.txt +++ b/common/ros_packages/robot_descriptions/CMakeLists.txt @@ -24,4 +24,9 @@ endif() install(DIRECTORY iris DESTINATION share/${PROJECT_NAME}) install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) +install(PROGRAMS + src/robot_2_relative_position.py + DESTINATION lib/${PROJECT_NAME} +) + ament_package() diff --git a/gcs/gcs_bringup/src/robot_2_relative_position.py b/gcs/gcs_bringup/src/robot_2_relative_position.py new file mode 100644 index 00000000..064cf31f --- /dev/null +++ b/gcs/gcs_bringup/src/robot_2_relative_position.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +import rclpy +from rclpy.node import Node +from nav_msgs.msg import Odometry + +class RelativePositionNode(Node): + def __init__(self, robot_1_init): + super().__init__('robot_2_relative_position') + self.robot_1_init = robot_1_init # (x, y, z) + self.robot_1_pos = None + self.robot_2_pos = None + self.rel_pub = self.create_publisher(Odometry, '/robot_2/relative_position', 10) + self.create_subscription( + Odometry, + '/robot_1/odometry_conversion/odometry', + self.robot_1_callback, + 10 + ) + self.create_subscription( + Odometry, + '/robot_2/odometry_conversion/odometry', + self.robot_2_callback, + 10 + ) + + def robot_1_callback(self, msg): + self.robot_1_pos = ( + msg.pose.pose.position.x, + msg.pose.pose.position.y, + msg.pose.pose.position.z + ) + + def robot_2_callback(self, msg): + self.robot_2_pos = ( + msg.pose.pose.position.x, + msg.pose.pose.position.y, + msg.pose.pose.position.z + ) + self.publish_relative(msg) + + def publish_relative(self, msg): + if self.robot_1_pos is None or self.robot_2_pos is None: + return + rel = [self.robot_2_pos[i] - self.robot_1_pos[i] for i in range(3)] + rel_msg = Odometry() + rel_msg.header = msg.header + rel_msg.pose.pose.position.x = rel[0] + rel_msg.pose.pose.position.y = rel[1] + rel_msg.pose.pose.position.z = rel[2] + self.rel_pub.publish(rel_msg) + +def main(args=None): + rclpy.init(args=args) + robot_1_init = [35.0, -19, 0.0015] + node = RelativePositionNode(robot_1_init) + rclpy.spin(node) + node.destroy_node() + rclpy.shutdown() + +if __name__ == '__main__': + main() diff --git a/gcs/ros_ws/src/gcs_bringup/src/robot_2_relative_position.py b/gcs/ros_ws/src/gcs_bringup/src/robot_2_relative_position.py new file mode 100755 index 00000000..687b9533 --- /dev/null +++ b/gcs/ros_ws/src/gcs_bringup/src/robot_2_relative_position.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +import rclpy +from rclpy.node import Node +from nav_msgs.msg import Odometry + + +class Robot2RelToRobot1Start(Node): + """ + Publishes robot_2 position expressed in a frame whose origin is robot_1's + INITIAL world position. + + Inputs: + /robot_2/odometry_conversion/odometry (robot2 LOCAL odom; starts near 0,0,0) + + Known constants (world): + robot_1_init, robot_2_init + + Output: + /robot_2/relative_position (Odometry) where: + p_rel = (robot_2_init - robot_1_init) + p2_local + """ + + def __init__(self, robot_1_init, robot_2_init): + super().__init__('robot_2_relative_to_robot_1_start') + + self.robot_1_init = tuple(robot_1_init) # (x,y,z) in world + self.robot_2_init = tuple(robot_2_init) # (x,y,z) in world + + # Constant offset from robot1 start to robot2 start in world + self.offset = ( + self.robot_2_init[0] - self.robot_1_init[0], + self.robot_2_init[1] - self.robot_1_init[1], + self.robot_2_init[2] - self.robot_1_init[2], + ) + + self.rel_pub = self.create_publisher(Odometry, '/robot_2/relative_position', 10) + + self.create_subscription( + Odometry, + '/robot_2/odometry_conversion/odometry', + self.robot_2_callback, + 10 + ) + + def robot_2_callback(self, msg: Odometry): + p2 = msg.pose.pose.position # robot2 LOCAL (0,0,0 at its start) + + rel_msg = Odometry() + rel_msg.header = msg.header + + # Make the frame semantics explicit (optional but helpful) + rel_msg.header.frame_id = 'robot_1_start' + rel_msg.child_frame_id = 'robot_2_relative' + + rel_msg.pose.pose.position.x = self.offset[0] + p2.x + rel_msg.pose.pose.position.y = self.offset[1] + p2.y + rel_msg.pose.pose.position.z = self.offset[2] + p2.z + + # If you only care about position, set identity orientation + rel_msg.pose.pose.orientation.w = 1.0 + + self.rel_pub.publish(rel_msg) + + +def main(args=None): + rclpy.init(args=args) + + robot_1_init = (-3.0, 3.5, 0.15) + robot_2_init = ( 3.0, 3.0, 0.15) + + node = Robot2RelToRobot1Start(robot_1_init, robot_2_init) + rclpy.spin(node) + + node.destroy_node() + rclpy.shutdown() + + +if __name__ == '__main__': + main() diff --git a/scenes/fire_academy_faro_with_sky.scene.usd b/scenes/fire_academy_faro_with_sky.scene.usd new file mode 100644 index 0000000000000000000000000000000000000000..622e7a360040a1320b8e5675bd7f2f475e36ddea GIT binary patch literal 24731 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 Z@r#pj2kTrlRr>lz@U1*gL*lFZzX1s1=(+#^ literal 0 HcmV?d00001 diff --git a/scenes/two_drone_RetroNeighborhood.usd b/scenes/two_drone_RetroNeighborhood.usd deleted file mode 100644 index 18bfb335885b9c147afcb192015a8e6015f7a450..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175503 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¬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

Hmp3;j}ybopK+f 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 W}W|uc?juMCWm)cA%1K+U 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�ug=YH}UD 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

&t0uxpSwEXqiuTLK6-4PyV^LiUK-~SRyfK0 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

r?Tld37+A)`&S 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 US7|LP`S0+)3zx&+`*RffUkzjk9{>OV diff --git a/simulation/isaac-sim/launch_scripts/two_drone_RetroNeighbourhood.py b/simulation/isaac-sim/launch_scripts/two_drone_RetroNeighbourhood.py new file mode 100644 index 00000000..2b83b76c --- /dev/null +++ b/simulation/isaac-sim/launch_scripts/two_drone_RetroNeighbourhood.py @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import carb +from isaacsim import SimulationApp + +# Start Isaac Sim's simulation environment (Must start this before importing omni modules) +simulation_app = SimulationApp({"headless": False}) + +import omni.kit.app +import omni.timeline +import omni.usd +import omni.client +import asyncio +import time + +from omni.isaac.core.world import World +from omni.isaac.core.objects import GroundPlane +from pxr import Gf, UsdGeom, UsdLux, Sdf, UsdPhysics + +# Pegasus imports +from pegasus.simulator.logic.interface.pegasus_interface import PegasusInterface +from pegasus.simulator.ogn.api.spawn_multirotor import spawn_px4_multirotor_node +from pegasus.simulator.ogn.api.spawn_zed_camera import add_zed_stereo_camera_subgraph +from pegasus.simulator.ogn.api.spawn_ouster_lidar import add_ouster_lidar_subgraph + + +# --------------------- CONFIGURATION --------------------- +NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" + +#env/stage path and scale +ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Stages/RetroNeighborhood/RetroNeighborhood.stage.usd" +#f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_faro.usd" +#f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" +#f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" +STAGE_SCALE = 0.01 + + +DRONE_USD = "/root/Documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" + +# Lighting +ADD_DOME_LIGHT = True +DOME_LIGHT_PATH = "/World/DomeLight" +DOME_LIGHT_INTENSITY = 3500.0 +DOME_LIGHT_EXPOSURE = -3.0 + +#Drone offset +SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 + +DRONE1_XY_M = (35.0, -19) +DRONE2_XY_M = (30, -19) +# --------------------------------------------------------- + + +ext_manager = omni.kit.app.get_app().get_extension_manager() +for ext in [ + "omni.physx.forcefields", + "omni.graph.core", # Core runtime for OmniGraph engine + "omni.graph.action", # Action Graph framework + "omni.graph.action_nodes", # Built-in Action Graph node library + "omni.graph.ui", # UI scaffolding for graph tools + "omni.graph.visualization.nodes", # Visualization helper nodes + "omni.graph.scriptnode", # Python script node support + "omni.graph.window.action", # Action Graph editor window + "omni.graph.window.generic", # Generic graph UI tools + "omni.graph.ui_nodes", # UI node building helpers + "airlab.pegasus", # Airlab extension Pegasus core extension + "pegasus.simulator", +]: + if not ext_manager.is_extension_enabled(ext): + # Try immediate enable if available (more robust across Kit versions), fall back otherwise + try: + ext_manager.set_extension_enabled_immediate(ext, True) + except Exception: + ext_manager.set_extension_enabled(ext, True) + + +def nucleus_stat(url: str) -> bool: + result, info = omni.client.stat(url) + return result == omni.client.Result.OK + + +def add_dome_light(stage): + if stage.GetPrimAtPath(DOME_LIGHT_PATH).IsValid(): + dome = UsdLux.DomeLight.Get(stage, DOME_LIGHT_PATH) + else: + dome = UsdLux.DomeLight.Define(stage, Sdf.Path(DOME_LIGHT_PATH)) + + dome.CreateIntensityAttr(DOME_LIGHT_INTENSITY) + dome.CreateExposureAttr(DOME_LIGHT_EXPOSURE) + + +def get_stage_scale(stage): + mpu = UsdGeom.GetStageMetersPerUnit(stage) + if mpu is None or mpu <= 0: + mpu = 1.0 + s = 1.0 / mpu + return mpu, s + + +def add_collision_to_prim(prim): + if prim.IsA(UsdGeom.Mesh): + if not prim.HasAPI(UsdPhysics.CollisionAPI): + UsdPhysics.CollisionAPI.Apply(prim) + print(f"Added collision to: {prim.GetPath()}") + + # Recursively process children + for child in prim.GetChildren(): + add_collision_to_prim(child) + + +class PegasusApp: + + def __init__(self): + omni.client.initialize() + nucleus_stat(f"omniverse://{NUCLEUS_SERVER}") + nucleus_stat(ENV_URL) + + # Timeline for controlling play/stop + self.timeline = omni.timeline.get_timeline_interface() + + # Start Pegasus interface + world + self.pg = PegasusInterface() + self.pg._world = World(**self.pg._world_settings) + self.world = self.pg.world + + # Load environment + self.pg.load_environment(ENV_URL) + + stage = omni.usd.get_context().get_stage() + if stage is None: + raise RuntimeError("Stage failed to load") + + # Wait for the stage to fully load + for _ in range(100): # Wait up to ~10 seconds + omni.kit.app.get_app().update() + world_prim = stage.GetPrimAtPath("/World") + if world_prim.IsValid(): + children = list(world_prim.GetChildren()) + # Check if we have more than just PhysicsScene + non_physics_children = [c for c in children if c.GetName() != "PhysicsScene"] + if len(non_physics_children) > 0: + break + time.sleep(0.1) + + world_prim = stage.GetPrimAtPath("/World") + + # Scale the /World/stage prim + stage_prim = stage.GetPrimAtPath("/World/stage") + if stage_prim.IsValid(): + xformable = UsdGeom.Xformable(stage_prim) + xformable.ClearXformOpOrder() + + translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) + translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) + + scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionDouble) + scale_op.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + + add_collision_to_prim(stage_prim) + print("Finished adding collisions.") + + # Let the app process the changes + for _ in range(10): + omni.kit.app.get_app().update() + + # Optionally save the stage + # stage.GetRootLayer().Export("/path/to/save/scene.usd") + + else: + print("Warning: /World/stage not found, environment not scaled") + + # Lighting + if ADD_DOME_LIGHT: + add_dome_light(stage) + + # Units + mpu, s = get_stage_scale(stage) + + drone1_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M + drone2_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M + + drone1_pos = [DRONE1_XY_M[0] * s, DRONE1_XY_M[1] * s, drone1_z_m * s] + drone2_pos = [DRONE2_XY_M[0] * s, DRONE2_XY_M[1] * s, drone2_z_m * s] + + #################################################################################################### + # Spawn vehicle 1 + #################################################################################################### + graph_handle1 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_1", + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + vehicle_id=1, # defines MAVLink port offset + domain_id=1, # defines ROS2 domain ID + usd_file=DRONE_USD, + init_pos=drone1_pos, + init_orient=[0.0, 0.0, 0.0, 1.0], + ) + + # Add a ZED stereo camera (with an associated subgraph) to the drone + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle1, + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + camera_name="ZEDCamera", + camera_offset=[0.1, 0.0, 0.0], # X, Y, Z offset from drone base_link + camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + ) + + # Add an Ouster lidar (with an associated subgraph) to the drone + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle1, + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link + lidar_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + lidar_min_range = 0.75, # Minimum detection range (m) to avoid propeller hits + ) + + #################################################################################################### + # Spawn vehicle 2 + #################################################################################################### + graph_handle2 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_2", + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + vehicle_id=2, # defines MAVLink port offset. Define as 2 for second vehicle + domain_id=2, # defines ROS2 domain ID. Define as 2 for second vehicle + usd_file=DRONE_USD, + init_pos=drone2_pos, + init_orient=[0.0, 0.0, 0.0, 1.0], + ) + + # Add a ZED stereo camera (with an associated subgraph) to the drone + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle2, + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + camera_name="ZEDCamera", + camera_offset=[0.1, 0.0, 0.0], # X, Y, Z offset from drone base_link + camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + ) + + # Add an Ouster lidar (with an associated subgraph) to the drone + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle2, + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range = 0.75 + ) + + # Reset so physics/articulations are ready + self.world.reset() + + self.stop_sim = False + + def run(self): + # Start sim timeline + self.timeline.play() + + # Main loop + while simulation_app.is_running() and not self.stop_sim: + try: + self.world.step(render=True) + except Exception as e: + carb.log_error(f"Error during simulation step: {e}") + break + + # Cleanup + carb.log_warn("PegasusApp Simulation App is closing.") + self.timeline.stop() + simulation_app.close() + + +def main(): + pg_app = PegasusApp() + pg_app.run() + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py b/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py new file mode 100644 index 00000000..30f7e508 --- /dev/null +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 + +import carb +from isaacsim import SimulationApp + +# Start Isaac Sim's simulation environment (Must start this before importing omni modules) +simulation_app = SimulationApp({"headless": False}) + +import omni.kit.app +import omni.timeline +import omni.usd +import omni.client +import asyncio +import time + +from omni.isaac.core.world import World +from omni.isaac.core.objects import GroundPlane +from pxr import Gf, UsdGeom, UsdLux, Sdf, UsdPhysics + +# Pegasus imports +from pegasus.simulator.logic.interface.pegasus_interface import PegasusInterface +from pegasus.simulator.ogn.api.spawn_multirotor import spawn_px4_multirotor_node +from pegasus.simulator.ogn.api.spawn_zed_camera import add_zed_stereo_camera_subgraph +from pegasus.simulator.ogn.api.spawn_ouster_lidar import add_ouster_lidar_subgraph + + +# --------------------- CONFIGURATION --------------------- +NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" + +#env/stage path and scale +ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" +#f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_faro.usd" +#f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" +#f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" +STAGE_SCALE = 2.0 + + +DRONE_USD = "/root/Documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" + +# Lighting +ADD_DOME_LIGHT = True +DOME_LIGHT_PATH = "/World/DomeLight" +DOME_LIGHT_INTENSITY = 3500.0 +DOME_LIGHT_EXPOSURE = -3.0 + +#Drone offset +SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 + +DRONE1_XY_M = (20.0, -7) +DRONE2_XY_M = (17, 1.5) +# --------------------------------------------------------- + + +ext_manager = omni.kit.app.get_app().get_extension_manager() +for ext in [ + "omni.physx.forcefields", + "omni.graph.core", # Core runtime for OmniGraph engine + "omni.graph.action", # Action Graph framework + "omni.graph.action_nodes", # Built-in Action Graph node library + "omni.graph.ui", # UI scaffolding for graph tools + "omni.graph.visualization.nodes", # Visualization helper nodes + "omni.graph.scriptnode", # Python script node support + "omni.graph.window.action", # Action Graph editor window + "omni.graph.window.generic", # Generic graph UI tools + "omni.graph.ui_nodes", # UI node building helpers + "airlab.pegasus", # Airlab extension Pegasus core extension + "pegasus.simulator", +]: + if not ext_manager.is_extension_enabled(ext): + # Try immediate enable if available (more robust across Kit versions), fall back otherwise + try: + ext_manager.set_extension_enabled_immediate(ext, True) + except Exception: + ext_manager.set_extension_enabled(ext, True) + + +def nucleus_stat(url: str) -> bool: + result, info = omni.client.stat(url) + return result == omni.client.Result.OK + + +def add_dome_light(stage): + if stage.GetPrimAtPath(DOME_LIGHT_PATH).IsValid(): + dome = UsdLux.DomeLight.Get(stage, DOME_LIGHT_PATH) + else: + dome = UsdLux.DomeLight.Define(stage, Sdf.Path(DOME_LIGHT_PATH)) + + dome.CreateIntensityAttr(DOME_LIGHT_INTENSITY) + dome.CreateExposureAttr(DOME_LIGHT_EXPOSURE) + + +def get_stage_scale(stage): + mpu = UsdGeom.GetStageMetersPerUnit(stage) + if mpu is None or mpu <= 0: + mpu = 1.0 + s = 1.0 / mpu + return mpu, s + + +def add_collision_to_prim(prim): + if prim.IsA(UsdGeom.Mesh): + if not prim.HasAPI(UsdPhysics.CollisionAPI): + UsdPhysics.CollisionAPI.Apply(prim) + print(f"Added collision to: {prim.GetPath()}") + + # Recursively process children + for child in prim.GetChildren(): + add_collision_to_prim(child) + + +class PegasusApp: + + def __init__(self): + omni.client.initialize() + nucleus_stat(f"omniverse://{NUCLEUS_SERVER}") + nucleus_stat(ENV_URL) + + # Timeline for controlling play/stop + self.timeline = omni.timeline.get_timeline_interface() + + # Start Pegasus interface + world + self.pg = PegasusInterface() + self.pg._world = World(**self.pg._world_settings) + self.world = self.pg.world + + # Load environment + self.pg.load_environment(ENV_URL) + + stage = omni.usd.get_context().get_stage() + if stage is None: + raise RuntimeError("Stage failed to load") + + # Wait for the stage to fully load + for _ in range(100): # Wait up to ~10 seconds + omni.kit.app.get_app().update() + world_prim = stage.GetPrimAtPath("/World") + if world_prim.IsValid(): + children = list(world_prim.GetChildren()) + # Check if we have more than just PhysicsScene + non_physics_children = [c for c in children if c.GetName() != "PhysicsScene"] + if len(non_physics_children) > 0: + break + time.sleep(0.1) + + world_prim = stage.GetPrimAtPath("/World") + + # Scale the /World/stage prim + stage_prim = stage.GetPrimAtPath("/World/stage") + if stage_prim.IsValid(): + xformable = UsdGeom.Xformable(stage_prim) + xformable.ClearXformOpOrder() + + translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) + translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) + + scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionDouble) + scale_op.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + + add_collision_to_prim(stage_prim) + print("Finished adding collisions.") + + # Let the app process the changes + for _ in range(10): + omni.kit.app.get_app().update() + + # Optionally save the stage + # stage.GetRootLayer().Export("/path/to/save/scene.usd") + + else: + print("Warning: /World/stage not found, environment not scaled") + + # Lighting + if ADD_DOME_LIGHT: + add_dome_light(stage) + + # Units + mpu, s = get_stage_scale(stage) + + drone1_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M + drone2_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M + + drone1_pos = [DRONE1_XY_M[0] * s, DRONE1_XY_M[1] * s, drone1_z_m * s] + drone2_pos = [DRONE2_XY_M[0] * s, DRONE2_XY_M[1] * s, drone2_z_m * s] + + #################################################################################################### + # Spawn vehicle 1 + #################################################################################################### + graph_handle1 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_1", + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + vehicle_id=1, # defines MAVLink port offset + domain_id=1, # defines ROS2 domain ID + usd_file=DRONE_USD, + init_pos=drone1_pos, + init_orient=[0.0, 0.0, 0.0, 1.0], + ) + + # Add a ZED stereo camera (with an associated subgraph) to the drone + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle1, + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + camera_name="ZEDCamera", + camera_offset=[0.1, 0.0, 0.0], # X, Y, Z offset from drone base_link + camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + ) + + # Add an Ouster lidar (with an associated subgraph) to the drone + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle1, + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link + lidar_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + lidar_min_range = 1.0, # Minimum detection range (m) to avoid propeller hits + ) + + #################################################################################################### + # Spawn vehicle 2 + #################################################################################################### + graph_handle2 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_2", + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + vehicle_id=2, # defines MAVLink port offset. Define as 2 for second vehicle + domain_id=2, # defines ROS2 domain ID. Define as 2 for second vehicle + usd_file=DRONE_USD, + init_pos=drone2_pos, + init_orient=[0.0, 0.0, 0.0, 1.0], + ) + + # Add a ZED stereo camera (with an associated subgraph) to the drone + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle2, + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + camera_name="ZEDCamera", + camera_offset=[0.1, 0.0, 0.0], # X, Y, Z offset from drone base_link + camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + ) + + # Add an Ouster lidar (with an associated subgraph) to the drone + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle2, + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range = 1.0 + ) + + # Reset so physics/articulations are ready + self.world.reset() + + self.stop_sim = False + + def run(self): + # Start sim timeline + self.timeline.play() + + # Main loop + while simulation_app.is_running() and not self.stop_sim: + try: + self.world.step(render=True) + except Exception as e: + carb.log_error(f"Error during simulation step: {e}") + break + + # Cleanup + carb.log_warn("PegasusApp Simulation App is closing.") + self.timeline.stop() + simulation_app.close() + + +def main(): + pg_app = PegasusApp() + pg_app.run() + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py index 70ff96f4..e5c911e2 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py @@ -28,11 +28,11 @@ NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" #env/stage path and scale -ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Stages/RetroNeighborhood/RetroNeighborhood.stage.usd" +ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_faro.usd" #f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" -STAGE_SCALE = 0.01 +STAGE_SCALE = 2.0 DRONE_USD = "~/.local/share/ov/data/documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" @@ -46,8 +46,8 @@ #Drone offset SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 -DRONE1_XY_M = (-3.0, 3.5) -DRONE2_XY_M = (3.0, 3.0) +DRONE1_XY_M = (20.0, -7) +DRONE2_XY_M = (17, 1.5) # --------------------------------------------------------- From b68bd9b1faddc109e62046171f632cb06d513180 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 18 Feb 2026 16:27:54 -0500 Subject: [PATCH 03/55] added robot2 relative pos; diff rviz files; bridge for rayfronts topics --- .../desktop_bringup/params/domain_bridge.yaml | 27 + .../desktop_bringup/rviz/robot_1.rviz | 1045 +++++++++++++++++ .../desktop_bringup/rviz/robot_2.rviz | 1045 +++++++++++++++++ .../src/robot_2_relative_position.py | 2 +- .../src/robot_2_relative_position.py | 79 -- robot/ros_ws/src/input_prompt.py | 64 + .../config/takeoff_landing_planner.yaml | 2 +- .../two_drone_RetroNeighbourhood.py | 2 +- .../launch_scripts/two_drone_fire_academy.py | 8 +- 9 files changed, 2188 insertions(+), 86 deletions(-) create mode 100644 common/ros_packages/desktop_bringup/rviz/robot_1.rviz create mode 100644 common/ros_packages/desktop_bringup/rviz/robot_2.rviz delete mode 100755 gcs/ros_ws/src/gcs_bringup/src/robot_2_relative_position.py create mode 100644 robot/ros_ws/src/input_prompt.py diff --git a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml index c07a5acb..6f6ce4c2 100644 --- a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml +++ b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml @@ -18,6 +18,33 @@ topics: from_domain: 1 to_domain: 0 type: nav_msgs/msg/Odometry + + + #rayfronts topics to bridge + /robot_1/odometry_conversion/odometry: + from_domain: 1 + to_domain: 2 + type: nav_msgs/msg/Odometry + + /robot_2/odometry_conversion/odometry: + from_domain: 2 + to_domain: 1 + type: nav_msgs/msg/Odometry + + /robot_2/relative_position: + from_domain: 2 + to_domain: 1 + type: nav_msgs/msg/Odometry + + /robot_1/filtered_rays: + from_domain: 1 + to_domain: 2 + type: visualization_msgs/msg/Marker + + /robot_2/filtered_rays: + from_domain: 2 + to_domain: 1 + type: visualization_msgs/msg/Marker /robot_2/vdb_mapping/vdb_map_visualization: from_domain: 2 diff --git a/common/ros_packages/desktop_bringup/rviz/robot_1.rviz b/common/ros_packages/desktop_bringup/rviz/robot_1.rviz new file mode 100644 index 00000000..3a224bad --- /dev/null +++ b/common/ros_packages/desktop_bringup/rviz/robot_1.rviz @@ -0,0 +1,1045 @@ +Panels: + - Class: rviz_common/Displays + Help Height: 70 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /TF1/Frames1 + - /RobotModel1 + - /Sensors1 + - /Sensors1/Lidar1 + - /Perception1 + - /Local1 + - /Local1/DROAN1 + - /Local1/DROAN1/Trimmed Global Plan for DROAN1/Topic1 + - /Local1/DROAN1/Droan GPU1/Traj Debug1/Namespaces1 + - /Global1 + - /Global1/Global Plan1 + - /PointCloud21 + - /PointCloud22 + - /PointCloud23 + - /MarkerArray1 + - /MarkerArray1/Topic1 + - /MarkerArray2 + - /MarkerArray2/Topic1 + Splitter Ratio: 0.590062141418457 + Tree Height: 224 + - Class: rviz_common/Selection + Name: Selection + - Class: rviz_common/Tool Properties + Expanded: + - /2D Goal Pose1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz_common/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz_common/Time + Experimental: false + Name: Time + SyncMode: 0 + SyncSource: "" + - Class: rviz_behavior_tree_panel::BehaviorTreePanel + Name: BehaviorTreePanel + topic: /robot_1/behavior/behavior_tree_graphviz + zoom_factor: 0.1919851303100586 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz_default_plugins/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 100 + Reference Frame: + Value: true + - Class: rviz_default_plugins/TF + Enabled: true + Frame Timeout: 15 + Frames: + All Enabled: false + OS1_REV6_128_10hz___512_resolution: + Value: false + base_link: + Value: true + base_link_ZED_X: + Value: false + base_link_body_body_link: + Value: false + base_link_frd: + Value: true + base_link_stabilized: + Value: false + camera_left: + Value: true + camera_right: + Value: true + imu: + Value: false + lidar: + Value: false + look_ahead_point: + Value: false + look_ahead_point_stabilized: + Value: false + macvo_ned: + Value: false + map: + Value: true + map_ned: + Value: false + odom: + Value: true + odom_ned: + Value: true + rotor0: + Value: true + rotor1: + Value: true + rotor2: + Value: true + rotor3: + Value: true + tracking_point: + Value: false + tracking_point_stabilized: + Value: false + world: + Value: false + Marker Scale: 0.30000001192092896 + Name: TF + Show Arrows: false + Show Axes: true + Show Names: true + Tree: + world: + map: + base_link: + base_link_body_body_link: + OS1_REV6_128_10hz___512_resolution: + lidar: + {} + base_link_ZED_X: + camera_left: + macvo_ned: + {} + camera_right: + {} + imu: + {} + rotor0: + {} + rotor1: + {} + rotor2: + {} + rotor3: + {} + base_link_frd: + {} + base_link_stabilized: + {} + look_ahead_point: + {} + look_ahead_point_stabilized: + {} + map_ned: + {} + tracking_point: + {} + tracking_point_stabilized: + {} + Update Interval: 0 + Value: true + - Alpha: 0.5 + Class: rviz_default_plugins/RobotModel + Collision Enabled: false + Description File: "" + Description Source: Topic + Description Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: robot_description + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + OS1_REV6_128_10hz___512_resolution: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + base_link_ZED_X: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_link_body_body_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera_left: + Alpha: 1 + Show Axes: false + Show Trail: false + camera_right: + Alpha: 1 + Show Axes: false + Show Trail: false + imu: + Alpha: 1 + Show Axes: false + Show Trail: false + lidar: + Alpha: 1 + Show Axes: false + Show Trail: false + rotor0: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + rotor1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + rotor2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + rotor3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Mass Properties: + Inertia: false + Mass: false + Name: RobotModel + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Image + Enabled: true + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Front Right RGB + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/sensors/front_stereo/right/image_rect + Value: true + - Class: rviz_default_plugins/Image + Enabled: false + Max Value: 100 + Median window: 5 + Min Value: 0 + Name: Front Right Depth + Normalize Range: false + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: sensors/front_stereo/right/depth_ground_truth + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 4.254574298858643 + Min Value: -0.06456756591796875 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 170; 170; 255 + Color Transformer: AxisColor + Decay Time: 1 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: Lidar + Position Transformer: XYZ + Selectable: true + Size (Pixels): 5 + Size (m): 0.009999999776482582 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: sensors/lidar/point_cloud + Use Fixed Frame: true + Use rainbow: true + Value: false + - Angle Tolerance: 0 + Class: rviz_default_plugins/Odometry + Covariance: + Orientation: + Alpha: 0.5 + Color: 255; 255; 127 + Color Style: Unique + Frame: Local + Offset: 1 + Scale: 1 + Value: true + Position: + Alpha: 0.30000001192092896 + Color: 204; 51; 204 + Scale: 1 + Value: true + Value: true + Enabled: false + Keep: 1 + Name: Odometry + Position Tolerance: 0 + Shape: + Alpha: 1 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Color: 255; 25; 0 + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 + Shaft Length: 1 + Shaft Radius: 0.05000000074505806 + Value: Axes + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: odometry_conversion/odometry + Value: false + - Class: rviz_default_plugins/Image + Enabled: false + Max Value: 100 + Median window: 5 + Min Value: 0 + Name: Front Right Depth + Normalize Range: false + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/sensors/front_stereo/right/depth_ground_truth + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 18.48733139038086 + Min Value: -5.648834705352783 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 170; 170; 255 + Color Transformer: RGB8 + Decay Time: 1 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: Disparity + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.10000000149011612 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/sensors/front_stereo/pointcloud + Use Fixed Frame: true + Use rainbow: true + Value: false + Enabled: true + Name: Sensors + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Image + Enabled: true + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: MACVO Disparity + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/perception/macvo/disparity + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud + Color: 255; 255; 255 + Color Transformer: RGBF32 + Decay Time: 5 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: MACVO PointCloud + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/perception/macvo/point_cloud + Use Fixed Frame: true + Use rainbow: true + Value: false + - Angle Tolerance: 0.10000000149011612 + Class: rviz_default_plugins/Odometry + Covariance: + Orientation: + Alpha: 0.5 + Color: 255; 255; 127 + Color Style: Unique + Frame: Local + Offset: 1 + Scale: 1 + Value: true + Position: + Alpha: 0.30000001192092896 + Color: 204; 51; 204 + Scale: 1 + Value: true + Value: true + Enabled: true + Keep: 100 + Name: MACVO Odometry + Position Tolerance: 0.10000000149011612 + Shape: + Alpha: 1 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Color: 255; 25; 0 + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 + Shaft Length: 1 + Shaft Radius: 0.05000000074505806 + Value: Arrow + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/macvo/odometry + Value: true + Enabled: false + Name: Perception + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Trimmed Global Plan for DROAN + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/local_planner_global_plan_vis + Value: true + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: ExpansionPoly + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/expansion_poly + Value: false + - Class: rviz_default_plugins/Marker + Enabled: false + Name: Disparity Frustum + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/droan/frustum + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Disparity Map Collision Checking + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/droan/disparity_map_debug + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: Intensity + Decay Time: 0 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 220 + Min Color: 0; 0; 0 + Min Intensity: 120 + Name: Expansion Cloud + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/expansion_cloud + Use Fixed Frame: true + Use rainbow: true + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Traj Library + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/trajectory_library_vis + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Disparity Graph Poses + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/droan/disparity_graph + Value: true + Enabled: false + Name: Droan CPU + - Class: rviz_common/Group + Displays: + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: Intensity + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 45 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: Foreground Background Cloud + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/droan/fg_bg_cloud + Use Fixed Frame: true + Use rainbow: false + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Traj Debug + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/droan/traj_debug + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Graph Vis + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/droan/graph_vis + Value: true + Enabled: false + Name: Droan GPU + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Virtual Obstacles + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/virtual_obstacles + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Global Plan Vis + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/droan/local_planner_global_plan_vis + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Rewind Info + Namespaces: + rewind_info: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/droan/rewind_info + Value: true + Enabled: true + Name: DROAN + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Traj Vis + Namespaces: + traj_controller: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: trajectory_controller/trajectory_vis + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Traj Debug + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: trajectory_controller/trajectory_controller_debug_markers + Value: false + Enabled: true + Name: Trajectory Controller + Enabled: true + Name: Local + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Marker + Enabled: false + Name: VDB Mapping Marker + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: vdb_mapping/vdb_map_visualization + Value: false + - Alpha: 1 + Buffer Length: 1 + Class: rviz_default_plugins/Path + Color: 0; 255; 255 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Billboards + Line Width: 0.30000001192092896 + Name: Global Plan + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/global_plan + Value: true + Enabled: true + Name: Global + - Class: rviz_default_plugins/Image + Enabled: true + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Image + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/sensors/front_stereo/left/image_rect + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 0 + Color Transformer: Intensity + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.5 + Style: Boxes + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/frontier_viewpoints + Use Fixed Frame: true + Use rainbow: true + Value: true + - Class: rviz_default_plugins/Image + Enabled: false + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Image + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/sensors/front_stereo/left/image_rect + Value: false + - Class: rviz_default_plugins/Image + Enabled: false + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Image + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/sensors/front_stereo/left/image_rect + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: RGB8 + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.5 + Style: Boxes + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/rayfronts/voxel_rgb + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: RGB8 + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.20000000298023224 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/rayfronts/frontiers + Use Fixed Frame: true + Use rainbow: true + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MarkerArray + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/rayfronts/semantic_ray_frontiers + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MarkerArray + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/filtered_rays + Value: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Fixed Frame: map + Frame Rate: 30 + Name: root + Tools: + - Class: rviz_default_plugins/Interact + Hide Inactive Objects: true + - Class: rviz_default_plugins/MoveCamera + - Class: rviz_default_plugins/Select + - Class: rviz_default_plugins/FocusCamera + - Class: rviz_default_plugins/Measure + Line color: 128; 128; 0 + - Class: rviz_default_plugins/SetInitialPose + Covariance x: 0.25 + Covariance y: 0.25 + Covariance yaw: 0.06853891909122467 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /initialpose + - Class: rviz_default_plugins/SetGoal + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /goal_pose + - Class: rviz_default_plugins/PublishPoint + Single click: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /clicked_point + Transformation: + Current: + Class: rviz_default_plugins/TF + Value: true + Views: + Current: + Class: rviz_default_plugins/Orbit + Distance: 75.61663818359375 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: 7.733954906463623 + Y: 3.460301399230957 + Z: -13.681711196899414 + Focal Shape Fixed Size: false + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 1.0847973823547363 + Target Frame: base_link + Value: Orbit (rviz) + Yaw: 5.58674430847168 + Saved: ~ +Window Geometry: + BehaviorTreePanel: + collapsed: false + Displays: + collapsed: false + Front Right Depth: + collapsed: false + Front Right RGB: + collapsed: false + Height: 1376 + Hide Left Dock: false + Hide Right Dock: false + Image: + collapsed: false + MACVO Disparity: + collapsed: false + QMainWindow State: 000000ff00000000fd00000004000000000000030400000356fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000001ef000000a000fffffffb000000100044006900730070006c006100790073010000026d00000161000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000356fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420100000078000003560000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000008e100000037fc0100000002fb0000000800540069006d00650100000000000008e10000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000008e100000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c0100000000000008e1000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000003db0000035600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: false + Width: 2273 + X: 1072 + Y: 27 diff --git a/common/ros_packages/desktop_bringup/rviz/robot_2.rviz b/common/ros_packages/desktop_bringup/rviz/robot_2.rviz new file mode 100644 index 00000000..73af31cb --- /dev/null +++ b/common/ros_packages/desktop_bringup/rviz/robot_2.rviz @@ -0,0 +1,1045 @@ +Panels: + - Class: rviz_common/Displays + Help Height: 70 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /TF1/Frames1 + - /RobotModel1 + - /Sensors1 + - /Sensors1/Lidar1 + - /Perception1 + - /Local1 + - /Local1/DROAN1 + - /Local1/DROAN1/Trimmed Global Plan for DROAN1/Topic1 + - /Local1/DROAN1/Droan GPU1/Traj Debug1/Namespaces1 + - /Global1 + - /Global1/Global Plan1 + - /PointCloud21 + - /PointCloud22 + - /PointCloud23 + - /MarkerArray1 + - /MarkerArray1/Topic1 + - /MarkerArray2 + - /MarkerArray2/Topic1 + Splitter Ratio: 0.590062141418457 + Tree Height: 224 + - Class: rviz_common/Selection + Name: Selection + - Class: rviz_common/Tool Properties + Expanded: + - /2D Goal Pose1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz_common/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz_common/Time + Experimental: false + Name: Time + SyncMode: 0 + SyncSource: "" + - Class: rviz_behavior_tree_panel::BehaviorTreePanel + Name: BehaviorTreePanel + topic: /robot_2/behavior/behavior_tree_graphviz + zoom_factor: 0.1919851303100586 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz_default_plugins/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 100 + Reference Frame: + Value: true + - Class: rviz_default_plugins/TF + Enabled: true + Frame Timeout: 15 + Frames: + All Enabled: false + OS1_REV6_128_10hz___512_resolution: + Value: false + base_link: + Value: true + base_link_ZED_X: + Value: false + base_link_body_body_link: + Value: false + base_link_frd: + Value: true + base_link_stabilized: + Value: false + camera_left: + Value: true + camera_right: + Value: true + imu: + Value: false + lidar: + Value: false + look_ahead_point: + Value: false + look_ahead_point_stabilized: + Value: false + macvo_ned: + Value: false + map: + Value: true + map_ned: + Value: false + odom: + Value: true + odom_ned: + Value: true + rotor0: + Value: true + rotor1: + Value: true + rotor2: + Value: true + rotor3: + Value: true + tracking_point: + Value: false + tracking_point_stabilized: + Value: false + world: + Value: false + Marker Scale: 0.30000001192092896 + Name: TF + Show Arrows: false + Show Axes: true + Show Names: true + Tree: + world: + map: + base_link: + base_link_body_body_link: + OS1_REV6_128_10hz___512_resolution: + lidar: + {} + base_link_ZED_X: + camera_left: + macvo_ned: + {} + camera_right: + {} + imu: + {} + rotor0: + {} + rotor1: + {} + rotor2: + {} + rotor3: + {} + base_link_frd: + {} + base_link_stabilized: + {} + look_ahead_point: + {} + look_ahead_point_stabilized: + {} + map_ned: + {} + tracking_point: + {} + tracking_point_stabilized: + {} + Update Interval: 0 + Value: true + - Alpha: 0.5 + Class: rviz_default_plugins/RobotModel + Collision Enabled: false + Description File: "" + Description Source: Topic + Description Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: robot_description + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + OS1_REV6_128_10hz___512_resolution: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + base_link_ZED_X: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_link_body_body_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera_left: + Alpha: 1 + Show Axes: false + Show Trail: false + camera_right: + Alpha: 1 + Show Axes: false + Show Trail: false + imu: + Alpha: 1 + Show Axes: false + Show Trail: false + lidar: + Alpha: 1 + Show Axes: false + Show Trail: false + rotor0: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + rotor1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + rotor2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + rotor3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Mass Properties: + Inertia: false + Mass: false + Name: RobotModel + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Image + Enabled: true + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Front Right RGB + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/sensors/front_stereo/right/image_rect + Value: true + - Class: rviz_default_plugins/Image + Enabled: false + Max Value: 100 + Median window: 5 + Min Value: 0 + Name: Front Right Depth + Normalize Range: false + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: sensors/front_stereo/right/depth_ground_truth + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 4.254574298858643 + Min Value: -0.06456756591796875 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 170; 170; 255 + Color Transformer: AxisColor + Decay Time: 1 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: Lidar + Position Transformer: XYZ + Selectable: true + Size (Pixels): 5 + Size (m): 0.009999999776482582 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: sensors/lidar/point_cloud + Use Fixed Frame: true + Use rainbow: true + Value: false + - Angle Tolerance: 0 + Class: rviz_default_plugins/Odometry + Covariance: + Orientation: + Alpha: 0.5 + Color: 255; 255; 127 + Color Style: Unique + Frame: Local + Offset: 1 + Scale: 1 + Value: true + Position: + Alpha: 0.30000001192092896 + Color: 204; 51; 204 + Scale: 1 + Value: true + Value: true + Enabled: false + Keep: 1 + Name: Odometry + Position Tolerance: 0 + Shape: + Alpha: 1 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Color: 255; 25; 0 + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 + Shaft Length: 1 + Shaft Radius: 0.05000000074505806 + Value: Axes + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: odometry_conversion/odometry + Value: false + - Class: rviz_default_plugins/Image + Enabled: false + Max Value: 100 + Median window: 5 + Min Value: 0 + Name: Front Right Depth + Normalize Range: false + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/sensors/front_stereo/right/depth_ground_truth + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 18.48733139038086 + Min Value: -5.648834705352783 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 170; 170; 255 + Color Transformer: RGB8 + Decay Time: 1 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: Disparity + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.10000000149011612 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/sensors/front_stereo/pointcloud + Use Fixed Frame: true + Use rainbow: true + Value: false + Enabled: true + Name: Sensors + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Image + Enabled: true + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: MACVO Disparity + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/perception/macvo/disparity + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud + Color: 255; 255; 255 + Color Transformer: RGBF32 + Decay Time: 5 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: MACVO PointCloud + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/perception/macvo/point_cloud + Use Fixed Frame: true + Use rainbow: true + Value: false + - Angle Tolerance: 0.10000000149011612 + Class: rviz_default_plugins/Odometry + Covariance: + Orientation: + Alpha: 0.5 + Color: 255; 255; 127 + Color Style: Unique + Frame: Local + Offset: 1 + Scale: 1 + Value: true + Position: + Alpha: 0.30000001192092896 + Color: 204; 51; 204 + Scale: 1 + Value: true + Value: true + Enabled: true + Keep: 100 + Name: MACVO Odometry + Position Tolerance: 0.10000000149011612 + Shape: + Alpha: 1 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Color: 255; 25; 0 + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 + Shaft Length: 1 + Shaft Radius: 0.05000000074505806 + Value: Arrow + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/macvo/odometry + Value: true + Enabled: false + Name: Perception + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Trimmed Global Plan for DROAN + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/local_planner_global_plan_vis + Value: true + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: ExpansionPoly + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/expansion_poly + Value: false + - Class: rviz_default_plugins/Marker + Enabled: false + Name: Disparity Frustum + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/droan/frustum + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Disparity Map Collision Checking + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/droan/disparity_map_debug + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: Intensity + Decay Time: 0 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 220 + Min Color: 0; 0; 0 + Min Intensity: 120 + Name: Expansion Cloud + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/expansion_cloud + Use Fixed Frame: true + Use rainbow: true + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Traj Library + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/trajectory_library_vis + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Disparity Graph Poses + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/droan/disparity_graph + Value: true + Enabled: false + Name: Droan CPU + - Class: rviz_common/Group + Displays: + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: Intensity + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 45 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: Foreground Background Cloud + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/droan/fg_bg_cloud + Use Fixed Frame: true + Use rainbow: false + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Traj Debug + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/droan/traj_debug + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Graph Vis + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/droan/graph_vis + Value: true + Enabled: false + Name: Droan GPU + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Virtual Obstacles + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: droan/virtual_obstacles + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Global Plan Vis + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/droan/local_planner_global_plan_vis + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Rewind Info + Namespaces: + rewind_info: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/droan/rewind_info + Value: true + Enabled: true + Name: DROAN + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Traj Vis + Namespaces: + traj_controller: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: trajectory_controller/trajectory_vis + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Traj Debug + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: trajectory_controller/trajectory_controller_debug_markers + Value: false + Enabled: true + Name: Trajectory Controller + Enabled: true + Name: Local + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Marker + Enabled: false + Name: VDB Mapping Marker + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: vdb_mapping/vdb_map_visualization + Value: false + - Alpha: 1 + Buffer Length: 1 + Class: rviz_default_plugins/Path + Color: 0; 255; 255 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Billboards + Line Width: 0.30000001192092896 + Name: Global Plan + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/global_plan + Value: true + Enabled: true + Name: Global + - Class: rviz_default_plugins/Image + Enabled: true + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Image + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/sensors/front_stereo/left/image_rect + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 0 + Color Transformer: Intensity + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.5 + Style: Boxes + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/frontier_viewpoints + Use Fixed Frame: true + Use rainbow: true + Value: true + - Class: rviz_default_plugins/Image + Enabled: false + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Image + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/sensors/front_stereo/left/image_rect + Value: false + - Class: rviz_default_plugins/Image + Enabled: false + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Image + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/sensors/front_stereo/left/image_rect + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: RGB8 + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.5 + Style: Boxes + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/rayfronts/voxel_rgb + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: RGB8 + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.20000000298023224 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/rayfronts/frontiers + Use Fixed Frame: true + Use rainbow: true + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MarkerArray + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/rayfronts/semantic_ray_frontiers + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MarkerArray + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/filtered_rays + Value: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Fixed Frame: map + Frame Rate: 30 + Name: root + Tools: + - Class: rviz_default_plugins/Interact + Hide Inactive Objects: true + - Class: rviz_default_plugins/MoveCamera + - Class: rviz_default_plugins/Select + - Class: rviz_default_plugins/FocusCamera + - Class: rviz_default_plugins/Measure + Line color: 128; 128; 0 + - Class: rviz_default_plugins/SetInitialPose + Covariance x: 0.25 + Covariance y: 0.25 + Covariance yaw: 0.06853891909122467 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /initialpose + - Class: rviz_default_plugins/SetGoal + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /goal_pose + - Class: rviz_default_plugins/PublishPoint + Single click: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /clicked_point + Transformation: + Current: + Class: rviz_default_plugins/TF + Value: true + Views: + Current: + Class: rviz_default_plugins/Orbit + Distance: 75.61663818359375 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: 7.733954906463623 + Y: 3.460301399230957 + Z: -13.681711196899414 + Focal Shape Fixed Size: false + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 1.0847973823547363 + Target Frame: base_link + Value: Orbit (rviz) + Yaw: 5.58674430847168 + Saved: ~ +Window Geometry: + BehaviorTreePanel: + collapsed: false + Displays: + collapsed: false + Front Right Depth: + collapsed: false + Front Right RGB: + collapsed: false + Height: 1376 + Hide Left Dock: false + Hide Right Dock: false + Image: + collapsed: false + MACVO Disparity: + collapsed: false + QMainWindow State: 000000ff00000000fd00000004000000000000030400000356fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000001ef000000a000fffffffb000000100044006900730070006c006100790073010000026d00000161000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000356fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420100000078000003560000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000008e100000037fc0100000002fb0000000800540069006d00650100000000000008e10000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000008e100000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c0100000000000008e1000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000003db0000035600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: false + Width: 2273 + X: 1072 + Y: 27 diff --git a/gcs/gcs_bringup/src/robot_2_relative_position.py b/gcs/gcs_bringup/src/robot_2_relative_position.py index 064cf31f..f85ad2ed 100644 --- a/gcs/gcs_bringup/src/robot_2_relative_position.py +++ b/gcs/gcs_bringup/src/robot_2_relative_position.py @@ -51,7 +51,7 @@ def publish_relative(self, msg): def main(args=None): rclpy.init(args=args) - robot_1_init = [35.0, -19, 0.0015] + robot_1_init = [20.0, -7, 0.0015] node = RelativePositionNode(robot_1_init) rclpy.spin(node) node.destroy_node() diff --git a/gcs/ros_ws/src/gcs_bringup/src/robot_2_relative_position.py b/gcs/ros_ws/src/gcs_bringup/src/robot_2_relative_position.py deleted file mode 100755 index 687b9533..00000000 --- a/gcs/ros_ws/src/gcs_bringup/src/robot_2_relative_position.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python3 -import rclpy -from rclpy.node import Node -from nav_msgs.msg import Odometry - - -class Robot2RelToRobot1Start(Node): - """ - Publishes robot_2 position expressed in a frame whose origin is robot_1's - INITIAL world position. - - Inputs: - /robot_2/odometry_conversion/odometry (robot2 LOCAL odom; starts near 0,0,0) - - Known constants (world): - robot_1_init, robot_2_init - - Output: - /robot_2/relative_position (Odometry) where: - p_rel = (robot_2_init - robot_1_init) + p2_local - """ - - def __init__(self, robot_1_init, robot_2_init): - super().__init__('robot_2_relative_to_robot_1_start') - - self.robot_1_init = tuple(robot_1_init) # (x,y,z) in world - self.robot_2_init = tuple(robot_2_init) # (x,y,z) in world - - # Constant offset from robot1 start to robot2 start in world - self.offset = ( - self.robot_2_init[0] - self.robot_1_init[0], - self.robot_2_init[1] - self.robot_1_init[1], - self.robot_2_init[2] - self.robot_1_init[2], - ) - - self.rel_pub = self.create_publisher(Odometry, '/robot_2/relative_position', 10) - - self.create_subscription( - Odometry, - '/robot_2/odometry_conversion/odometry', - self.robot_2_callback, - 10 - ) - - def robot_2_callback(self, msg: Odometry): - p2 = msg.pose.pose.position # robot2 LOCAL (0,0,0 at its start) - - rel_msg = Odometry() - rel_msg.header = msg.header - - # Make the frame semantics explicit (optional but helpful) - rel_msg.header.frame_id = 'robot_1_start' - rel_msg.child_frame_id = 'robot_2_relative' - - rel_msg.pose.pose.position.x = self.offset[0] + p2.x - rel_msg.pose.pose.position.y = self.offset[1] + p2.y - rel_msg.pose.pose.position.z = self.offset[2] + p2.z - - # If you only care about position, set identity orientation - rel_msg.pose.pose.orientation.w = 1.0 - - self.rel_pub.publish(rel_msg) - - -def main(args=None): - rclpy.init(args=args) - - robot_1_init = (-3.0, 3.5, 0.15) - robot_2_init = ( 3.0, 3.0, 0.15) - - node = Robot2RelToRobot1Start(robot_1_init, robot_2_init) - rclpy.spin(node) - - node.destroy_node() - rclpy.shutdown() - - -if __name__ == '__main__': - main() diff --git a/robot/ros_ws/src/input_prompt.py b/robot/ros_ws/src/input_prompt.py new file mode 100644 index 00000000..8bcc56cb --- /dev/null +++ b/robot/ros_ws/src/input_prompt.py @@ -0,0 +1,64 @@ +import rclpy +from rclpy.node import Node +from std_msgs.msg import String +import threading +import time + +class InputPublisher(Node): + def __init__(self): + super().__init__('input_publisher') + self.publisher_ = self.create_publisher(String, '/input_prompt', 10) + self.current_input = "" + self.running = True + self.publish_thread = threading.Thread(target=self.publish_loop) + self.publish_thread.start() + + def publish_loop(self): + msg = String() + while self.running: + msg.data = self.current_input + self.publisher_.publish(msg) + time.sleep(0.2) # 5Hz + + def set_input(self, new_input): + self.current_input = new_input + + def clear_input(self): + self.current_input = "" + + def stop(self): + self.running = False + self.publish_thread.join() + +def main(): + rclpy.init() + node = InputPublisher() + + try: + while True: + print("\n=== Input Publisher ===") + print(f"Current input: '{node.current_input}'") + print("1. Set new input") + print("2. Clear input") + print("3. Exit") + choice = input("Choose option: ").strip() + if choice == '1': + new_input = input("Enter new input: ") + node.set_input(new_input) + elif choice == '2': + node.clear_input() + print("Input cleared.") + elif choice == '3': + break + else: + print("Invalid choice.") + except KeyboardInterrupt: + pass + finally: + node.stop() + node.destroy_node() + rclpy.shutdown() + +if __name__ == '__main__': + main() + diff --git a/robot/ros_ws/src/local/planners/takeoff_landing_planner/config/takeoff_landing_planner.yaml b/robot/ros_ws/src/local/planners/takeoff_landing_planner/config/takeoff_landing_planner.yaml index 1a7fc8ed..557efa3c 100644 --- a/robot/ros_ws/src/local/planners/takeoff_landing_planner/config/takeoff_landing_planner.yaml +++ b/robot/ros_ws/src/local/planners/takeoff_landing_planner/config/takeoff_landing_planner.yaml @@ -1,6 +1,6 @@ /**: ros__parameters: - takeoff_height: 8.0 + takeoff_height: 5.0 high_takeoff_height: 8.0 takeoff_velocity: 1.0 landing_velocity: 0.3 diff --git a/simulation/isaac-sim/launch_scripts/two_drone_RetroNeighbourhood.py b/simulation/isaac-sim/launch_scripts/two_drone_RetroNeighbourhood.py index 2b83b76c..34073e52 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_RetroNeighbourhood.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_RetroNeighbourhood.py @@ -214,7 +214,7 @@ def __init__(self): lidar_name="OS1_REV6_128_10hz___512_resolution", lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link lidar_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - lidar_min_range = 0.75, # Minimum detection range (m) to avoid propeller hits + lidar_min_range = 1.5, # Minimum detection range (m) to avoid propeller hits ) #################################################################################################### diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py b/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py index 30f7e508..a218956b 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py @@ -193,7 +193,7 @@ def __init__(self): domain_id=1, # defines ROS2 domain ID usd_file=DRONE_USD, init_pos=drone1_pos, - init_orient=[0.0, 0.0, 0.0, 1.0], + init_orient=[0.0, 0.0, 1.0, 0.0], ) # Add a ZED stereo camera (with an associated subgraph) to the drone @@ -214,7 +214,7 @@ def __init__(self): lidar_name="OS1_REV6_128_10hz___512_resolution", lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link lidar_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - lidar_min_range = 1.0, # Minimum detection range (m) to avoid propeller hits + lidar_min_range = 1.5, # Minimum detection range (m) to avoid propeller hits ) #################################################################################################### @@ -228,7 +228,7 @@ def __init__(self): domain_id=2, # defines ROS2 domain ID. Define as 2 for second vehicle usd_file=DRONE_USD, init_pos=drone2_pos, - init_orient=[0.0, 0.0, 0.0, 1.0], + init_orient=[0.0, 0.0, 1.0, 0.0], ) # Add a ZED stereo camera (with an associated subgraph) to the drone @@ -249,7 +249,7 @@ def __init__(self): lidar_name="OS1_REV6_128_10hz___512_resolution", lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range = 1.0 + lidar_min_range = 0.75 ) # Reset so physics/articulations are ready From 5d32861dfc5e7856dff8e2b88f2e40c66db85cd0 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 18 Feb 2026 22:45:58 -0500 Subject: [PATCH 04/55] added sharing of semantic rays --- .../desktop_bringup/CMakeLists.txt | 2 + .../ros_packages/desktop_bringup/package.xml | 2 + .../desktop_bringup/params/domain_bridge.yaml | 14 ++- .../robot_1_semantic_ray_transposer.py | 90 +++++++++++++ .../robot_2_filtered_ray_transposer.py | 91 ++++++++++++++ .../desktop_bringup/rviz/robot_1.rviz | 118 ++++++++++++++---- .../desktop_bringup/rviz/robot_2.rviz | 65 +++++++--- 7 files changed, 338 insertions(+), 44 deletions(-) create mode 100644 common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py create mode 100644 common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py diff --git a/common/ros_packages/desktop_bringup/CMakeLists.txt b/common/ros_packages/desktop_bringup/CMakeLists.txt index 4af7f60f..6fc2bfb3 100644 --- a/common/ros_packages/desktop_bringup/CMakeLists.txt +++ b/common/ros_packages/desktop_bringup/CMakeLists.txt @@ -21,6 +21,8 @@ install(DIRECTORY params DESTINATION share/${PROJECT_NAME}) install(PROGRAMS robot_2_relative_position.py + robot_1_semantic_ray_transposer.py + robot_2_filtered_ray_transposer.py DESTINATION lib/${PROJECT_NAME} ) diff --git a/common/ros_packages/desktop_bringup/package.xml b/common/ros_packages/desktop_bringup/package.xml index c5555107..8476f6ae 100644 --- a/common/ros_packages/desktop_bringup/package.xml +++ b/common/ros_packages/desktop_bringup/package.xml @@ -13,6 +13,8 @@ tf2_ros xacro urdf + rclpy + visualization_msgs ament_lint_auto ament_lint_common diff --git a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml index 6f6ce4c2..417c6488 100644 --- a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml +++ b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml @@ -39,12 +39,22 @@ topics: /robot_1/filtered_rays: from_domain: 1 to_domain: 2 - type: visualization_msgs/msg/Marker + type: visualization_msgs/msg/MarkerArray /robot_2/filtered_rays: from_domain: 2 to_domain: 1 - type: visualization_msgs/msg/Marker + type: visualization_msgs/msg/MarkerArray + + /robot_2/rayfronts/semantic_ray_frontiers: + from_domain: 2 + to_domain: 1 + type: visualization_msgs/msg/MarkerArray + + /robot_1/rayfronts/semantic_ray_frontiers: + from_domain: 1 + to_domain: 2 + type: visualization_msgs/msg/MarkerArray /robot_2/vdb_mapping/vdb_map_visualization: from_domain: 2 diff --git a/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py b/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py new file mode 100644 index 00000000..5da3a1d1 --- /dev/null +++ b/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +import copy + +import rclpy +from rclpy.node import Node +from visualization_msgs.msg import MarkerArray + + +class SemanticRayTransposer(Node): + def __init__(self): + super().__init__('robot_1_semantic_ray_transposer') + + # Taken from simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py + robot_1_init = (20.0, -7.0, 0.15) + robot_2_init = (17.0, 1.5, 0.15) + + dx = robot_2_init[0] - robot_1_init[0] + dy = robot_2_init[1] - robot_1_init[1] + dz = robot_2_init[2] - robot_1_init[2] + + self.declare_parameter('translation_x', dx) + self.declare_parameter('translation_y', dy) + self.declare_parameter('translation_z', dz) + self.declare_parameter('color_r', 0.0) + self.declare_parameter('color_g', 0.6) + self.declare_parameter('color_b', 1.0) + self.declare_parameter('color_a', 1.0) + + self.translation_x = float(self.get_parameter('translation_x').value) + self.translation_y = float(self.get_parameter('translation_y').value) + self.translation_z = float(self.get_parameter('translation_z').value) + self.color_r = float(self.get_parameter('color_r').value) + self.color_g = float(self.get_parameter('color_g').value) + self.color_b = float(self.get_parameter('color_b').value) + self.color_a = float(self.get_parameter('color_a').value) + + self.subscription = self.create_subscription( + MarkerArray, + '/robot_1/filtered_rays', + self.callback, + 10, + ) + self.publisher = self.create_publisher( + MarkerArray, + '/robot_1/filtered_rays/transposed', + 10, + ) + + self.get_logger().info( + f'Publishing transposed rays with translation ' + f'({self.translation_x:.3f}, {self.translation_y:.3f}, {self.translation_z:.3f})' + ) + + def callback(self, msg: MarkerArray): + out = copy.deepcopy(msg) + + for marker in out.markers: + marker.pose.position.x -= self.translation_x/2 + marker.pose.position.y -= self.translation_y/2 + marker.pose.position.z -= self.translation_z/2 + marker.color.r = self.color_r + marker.color.g = self.color_g + marker.color.b = self.color_b + marker.color.a = self.color_a + + for point in marker.points: + point.x -= self.translation_x/2 + point.y -= self.translation_y/2 + point.z -= self.translation_z/2 + + # If marker uses per-point colors, force those to bright blue too. + for color in marker.colors: + color.r = self.color_r + color.g = self.color_g + color.b = self.color_b + color.a = self.color_a + + self.publisher.publish(out) + + +def main(args=None): + rclpy.init(args=args) + node = SemanticRayTransposer() + rclpy.spin(node) + node.destroy_node() + rclpy.shutdown() + + +if __name__ == '__main__': + main() diff --git a/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py b/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py new file mode 100644 index 00000000..918982d0 --- /dev/null +++ b/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python3 +import copy + +import rclpy +from rclpy.node import Node +from visualization_msgs.msg import MarkerArray + + +class Robot2FilteredRayTransposer(Node): + def __init__(self): + super().__init__('robot_2_filtered_ray_transposer') + + # Taken from simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py + robot_1_init = (20.0, -7.0, 0.15) + robot_2_init = (17.0, 1.5, 0.15) + + dx = robot_2_init[0] - robot_1_init[0] + dy = robot_2_init[1] - robot_1_init[1] + dz = robot_2_init[2] - robot_1_init[2] + + self.declare_parameter('translation_x', dx) + self.declare_parameter('translation_y', dy) + self.declare_parameter('translation_z', dz) + self.declare_parameter('color_r', 0.0) + self.declare_parameter('color_g', 0.6) + self.declare_parameter('color_b', 1.0) + self.declare_parameter('color_a', 1.0) + + self.translation_x = float(self.get_parameter('translation_x').value) + self.translation_y = float(self.get_parameter('translation_y').value) + self.translation_z = float(self.get_parameter('translation_z').value) + self.color_r = float(self.get_parameter('color_r').value) + self.color_g = float(self.get_parameter('color_g').value) + self.color_b = float(self.get_parameter('color_b').value) + self.color_a = float(self.get_parameter('color_a').value) + + self.subscription = self.create_subscription( + MarkerArray, + '/robot_2/filtered_rays', + self.callback, + 10, + ) + self.publisher = self.create_publisher( + MarkerArray, + '/robot_2/filtered_rays/transposed', + 10, + ) + + self.get_logger().info( + f'Publishing robot_2 transposed rays with translation ' + f'({self.translation_x:.3f}, {self.translation_y:.3f}, {self.translation_z:.3f})' + ) + + def callback(self, msg: MarkerArray): + out = copy.deepcopy(msg) + + for marker in out.markers: + # Opposite direction from robot_1_semantic_ray_transposer.py: + # apply +translation instead of -translation. + marker.pose.position.x += self.translation_x/2 + marker.pose.position.y += self.translation_y/2 + marker.pose.position.z += self.translation_z/2 + marker.color.r = self.color_r + marker.color.g = self.color_g + marker.color.b = self.color_b + marker.color.a = self.color_a + + for point in marker.points: + point.x += self.translation_x/2 + point.y += self.translation_y/2 + point.z += self.translation_z/2 + + for color in marker.colors: + color.r = self.color_r + color.g = self.color_g + color.b = self.color_b + color.a = self.color_a + + self.publisher.publish(out) + + +def main(args=None): + rclpy.init(args=args) + node = Robot2FilteredRayTransposer() + rclpy.spin(node) + node.destroy_node() + rclpy.shutdown() + + +if __name__ == '__main__': + main() diff --git a/common/ros_packages/desktop_bringup/rviz/robot_1.rviz b/common/ros_packages/desktop_bringup/rviz/robot_1.rviz index 3a224bad..561af051 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot_1.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot_1.rviz @@ -23,8 +23,12 @@ Panels: - /MarkerArray1/Topic1 - /MarkerArray2 - /MarkerArray2/Topic1 + - /Odometry1 + - /MarkerArray3 + - /MarkerArray4 + - /MarkerArray4/Topic1 Splitter Ratio: 0.590062141418457 - Tree Height: 224 + Tree Height: 220 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties @@ -42,7 +46,7 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: "" + SyncSource: PointCloud2 - Class: rviz_behavior_tree_panel::BehaviorTreePanel Name: BehaviorTreePanel topic: /robot_1/behavior/behavior_tree_graphviz @@ -250,7 +254,7 @@ Visualization Manager: - Class: rviz_common/Group Displays: - Class: rviz_default_plugins/Image - Enabled: true + Enabled: false Max Value: 1 Median window: 5 Min Value: 0 @@ -262,7 +266,7 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: /robot_1/sensors/front_stereo/right/image_rect - Value: true + Value: false - Class: rviz_default_plugins/Image Enabled: false Max Value: 100 @@ -499,7 +503,8 @@ Visualization Manager: Enabled: true Name: Trimmed Global Plan for DROAN Namespaces: - {} + global_plan: true + global_plan_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -684,7 +689,8 @@ Visualization Manager: Enabled: true Name: Global Plan Vis Namespaces: - {} + global_plan: true + global_plan_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -713,6 +719,7 @@ Visualization Manager: Name: Traj Vis Namespaces: traj_controller: true + traj_controller_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -869,7 +876,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: RGB8 Decay Time: 0 - Enabled: true + Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -890,7 +897,7 @@ Visualization Manager: Value: /robot_1/rayfronts/voxel_rgb Use Fixed Frame: true Use rainbow: true - Value: true + Value: false - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -903,7 +910,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: RGB8 Decay Time: 0 - Enabled: true + Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -924,9 +931,9 @@ Visualization Manager: Value: /robot_1/rayfronts/frontiers Use Fixed Frame: true Use rainbow: true - Value: true + Value: false - Class: rviz_default_plugins/MarkerArray - Enabled: true + Enabled: false Name: MarkerArray Namespaces: {} @@ -936,12 +943,12 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: /robot_1/rayfronts/semantic_ray_frontiers - Value: true + Value: false - Class: rviz_default_plugins/MarkerArray Enabled: true Name: MarkerArray Namespaces: - {} + arrows: true Topic: Depth: 5 Durability Policy: Volatile @@ -949,6 +956,69 @@ Visualization Manager: Reliability Policy: Reliable Value: /robot_1/filtered_rays Value: true + - Angle Tolerance: 0.10000000149011612 + Class: rviz_default_plugins/Odometry + Covariance: + Orientation: + Alpha: 0.5 + Color: 255; 255; 127 + Color Style: Unique + Frame: Local + Offset: 1 + Scale: 1 + Value: true + Position: + Alpha: 0.30000001192092896 + Color: 204; 51; 204 + Scale: 1 + Value: true + Value: true + Enabled: true + Keep: 100 + Name: Odometry + Position Tolerance: 0.10000000149011612 + Shape: + Alpha: 1 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Color: 255; 25; 0 + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 + Shaft Length: 1 + Shaft Radius: 0.05000000074505806 + Value: Axes + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/relative_position + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: MarkerArray + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/rayfronts/semantic_ray_frontiers + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MarkerArray + Namespaces: + arrows: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_2/filtered_rays/transposed + Value: true Enabled: true Global Options: Background Color: 48; 48; 48 @@ -995,25 +1065,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 75.61663818359375 + Distance: 49.394229888916016 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 7.733954906463623 - Y: 3.460301399230957 - Z: -13.681711196899414 + X: -19.787370681762695 + Y: 5.465390682220459 + Z: -1.4304490089416504 Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 1.0847973823547363 + Pitch: 1.2752116918563843 Target Frame: base_link Value: Orbit (rviz) - Yaw: 5.58674430847168 + Yaw: 6.239780426025391 Saved: ~ Window Geometry: BehaviorTreePanel: @@ -1024,14 +1094,14 @@ Window Geometry: collapsed: false Front Right RGB: collapsed: false - Height: 1376 + Height: 1037 Hide Left Dock: false Hide Right Dock: false Image: collapsed: false MACVO Disparity: collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000030400000356fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000001ef000000a000fffffffb000000100044006900730070006c006100790073010000026d00000161000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000356fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420100000078000003560000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000008e100000037fc0100000002fb0000000800540069006d00650100000000000008e10000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000008e100000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c0100000000000008e1000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000003db0000035600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd0000000400000000000002df00000203fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000000a0000000a000fffffffb000000100044006900730070006c006100790073010000011e0000015d000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000203fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420000000078000002030000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078a00000037fc0100000002fb0000000800540069006d006501000000000000078a0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078a00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078a000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000004a50000020300000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -1040,6 +1110,6 @@ Window Geometry: collapsed: false Views: collapsed: false - Width: 2273 - X: 1072 - Y: 27 + Width: 1930 + X: 70 + Y: 169 diff --git a/common/ros_packages/desktop_bringup/rviz/robot_2.rviz b/common/ros_packages/desktop_bringup/rviz/robot_2.rviz index 73af31cb..74ff8a44 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot_2.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot_2.rviz @@ -23,8 +23,12 @@ Panels: - /MarkerArray1/Topic1 - /MarkerArray2 - /MarkerArray2/Topic1 + - /MarkerArray3 + - /MarkerArray3/Topic1 + - /MarkerArray3/Namespaces1 + - /MarkerArray4 Splitter Ratio: 0.590062141418457 - Tree Height: 224 + Tree Height: 305 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties @@ -42,7 +46,7 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: "" + SyncSource: PointCloud2 - Class: rviz_behavior_tree_panel::BehaviorTreePanel Name: BehaviorTreePanel topic: /robot_2/behavior/behavior_tree_graphviz @@ -250,7 +254,7 @@ Visualization Manager: - Class: rviz_common/Group Displays: - Class: rviz_default_plugins/Image - Enabled: true + Enabled: false Max Value: 1 Median window: 5 Min Value: 0 @@ -262,7 +266,7 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: /robot_2/sensors/front_stereo/right/image_rect - Value: true + Value: false - Class: rviz_default_plugins/Image Enabled: false Max Value: 100 @@ -713,6 +717,7 @@ Visualization Manager: Name: Traj Vis Namespaces: traj_controller: true + traj_controller_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -926,7 +931,7 @@ Visualization Manager: Use rainbow: true Value: true - Class: rviz_default_plugins/MarkerArray - Enabled: true + Enabled: false Name: MarkerArray Namespaces: {} @@ -936,9 +941,9 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: /robot_2/rayfronts/semantic_ray_frontiers - Value: true + Value: false - Class: rviz_default_plugins/MarkerArray - Enabled: true + Enabled: false Name: MarkerArray Namespaces: {} @@ -948,6 +953,30 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: /robot_2/filtered_rays + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MarkerArray + Namespaces: + arrows: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/filtered_rays/transposed + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MarkerArray + Namespaces: + arrows: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/filtered_rays Value: true Enabled: true Global Options: @@ -995,25 +1024,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 75.61663818359375 + Distance: 58.59126281738281 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 7.733954906463623 - Y: 3.460301399230957 - Z: -13.681711196899414 + X: -8.417328834533691 + Y: 3.635751724243164 + Z: -0.462860107421875 Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 1.0847973823547363 + Pitch: 1.3097960948944092 Target Frame: base_link Value: Orbit (rviz) - Yaw: 5.58674430847168 + Yaw: 0.09855291247367859 Saved: ~ Window Geometry: BehaviorTreePanel: @@ -1024,14 +1053,14 @@ Window Geometry: collapsed: false Front Right RGB: collapsed: false - Height: 1376 + Height: 1122 Hide Left Dock: false Hide Right Dock: false Image: collapsed: false MACVO Disparity: collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000030400000356fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000001ef000000a000fffffffb000000100044006900730070006c006100790073010000026d00000161000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000356fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420100000078000003560000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000008e100000037fc0100000002fb0000000800540069006d00650100000000000008e10000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000008e100000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c0100000000000008e1000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000003db0000035600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000030400000258fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000000a0000000a000fffffffb000000100044006900730070006c006100790073010000011e000001b2000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000356fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420000000078000003560000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078b00000037fc0100000002fb0000000800540069006d006501000000000000078b0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078b00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078b000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000004810000025800000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -1040,6 +1069,6 @@ Window Geometry: collapsed: false Views: collapsed: false - Width: 2273 - X: 1072 - Y: 27 + Width: 1931 + X: 1509 + Y: 96 From e68e2695426b86ce5951c0e7dcd07d4fb375917c Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 18 Feb 2026 23:27:39 -0500 Subject: [PATCH 05/55] changed rviz for both drones --- .../desktop_bringup/rviz/robot_1.rviz | 101 +++++++++--------- .../desktop_bringup/rviz/robot_2.rviz | 38 +++---- 2 files changed, 70 insertions(+), 69 deletions(-) diff --git a/common/ros_packages/desktop_bringup/rviz/robot_1.rviz b/common/ros_packages/desktop_bringup/rviz/robot_1.rviz index 561af051..603036ae 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot_1.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot_1.rviz @@ -131,43 +131,44 @@ Visualization Manager: Show Axes: true Show Names: true Tree: - world: - map: - base_link: - base_link_body_body_link: - OS1_REV6_128_10hz___512_resolution: - lidar: - {} - base_link_ZED_X: - camera_left: - macvo_ned: - {} - camera_right: - {} - imu: - {} - rotor0: - {} - rotor1: + map: + base_link: + base_link_body_body_link: + OS1_REV6_128_10hz___512_resolution: + lidar: {} - rotor2: + base_link_ZED_X: + camera_left: + macvo_ned: + {} + camera_right: {} - rotor3: + imu: {} - base_link_frd: + rotor0: {} - base_link_stabilized: - {} - look_ahead_point: - {} - look_ahead_point_stabilized: - {} - map_ned: - {} - tracking_point: - {} - tracking_point_stabilized: + rotor1: + {} + rotor2: + {} + rotor3: + {} + base_link_frd: {} + base_link_stabilized: + {} + look_ahead_point: + {} + look_ahead_point_stabilized: + {} + map_ned: + {} + tracking_point: + {} + tracking_point_stabilized: + {} + world: + {} Update Interval: 0 Value: true - Alpha: 0.5 @@ -503,8 +504,7 @@ Visualization Manager: Enabled: true Name: Trimmed Global Plan for DROAN Namespaces: - global_plan: true - global_plan_extra_text: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -689,8 +689,7 @@ Visualization Manager: Enabled: true Name: Global Plan Vis Namespaces: - global_plan: true - global_plan_extra_text: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -876,7 +875,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: RGB8 Decay Time: 0 - Enabled: false + Enabled: true Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -897,7 +896,7 @@ Visualization Manager: Value: /robot_1/rayfronts/voxel_rgb Use Fixed Frame: true Use rainbow: true - Value: false + Value: true - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -910,7 +909,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: RGB8 Decay Time: 0 - Enabled: false + Enabled: true Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -931,7 +930,7 @@ Visualization Manager: Value: /robot_1/rayfronts/frontiers Use Fixed Frame: true Use rainbow: true - Value: false + Value: true - Class: rviz_default_plugins/MarkerArray Enabled: false Name: MarkerArray @@ -948,7 +947,7 @@ Visualization Manager: Enabled: true Name: MarkerArray Namespaces: - arrows: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -1072,36 +1071,36 @@ Visualization Manager: Swap Stereo Eyes: false Value: false Focal Point: - X: -19.787370681762695 - Y: 5.465390682220459 - Z: -1.4304490089416504 + X: -16.599695205688477 + Y: 7.076057434082031 + Z: 1.1929526329040527 Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 1.2752116918563843 + Pitch: 0.41521188616752625 Target Frame: base_link Value: Orbit (rviz) - Yaw: 6.239780426025391 + Yaw: 6.209778785705566 Saved: ~ Window Geometry: BehaviorTreePanel: collapsed: false Displays: - collapsed: false + collapsed: true Front Right Depth: collapsed: false Front Right RGB: collapsed: false Height: 1037 - Hide Left Dock: false + Hide Left Dock: true Hide Right Dock: false Image: collapsed: false MACVO Disparity: collapsed: false - QMainWindow State: 000000ff00000000fd0000000400000000000002df00000203fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000000a0000000a000fffffffb000000100044006900730070006c006100790073010000011e0000015d000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000203fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420000000078000002030000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078a00000037fc0100000002fb0000000800540069006d006501000000000000078a0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078a00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078a000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000004a50000020300000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd0000000400000000000002df00000203fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730000000078000000a0000000a000fffffffb000000100044006900730070006c006100790073000000011e0000015d000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000203fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420000000078000002030000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078a00000037fc0100000002fb0000000800540069006d006501000000000000078a0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078a00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078a000001fa00fffffffb0000000800540069006d006501000000000000045000000000000000000000078a0000020300000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -1109,7 +1108,7 @@ Window Geometry: Tool Properties: collapsed: false Views: - collapsed: false + collapsed: true Width: 1930 X: 70 - Y: 169 + Y: 58 diff --git a/common/ros_packages/desktop_bringup/rviz/robot_2.rviz b/common/ros_packages/desktop_bringup/rviz/robot_2.rviz index 74ff8a44..68dfffaa 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot_2.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot_2.rviz @@ -503,7 +503,8 @@ Visualization Manager: Enabled: true Name: Trimmed Global Plan for DROAN Namespaces: - {} + global_plan: true + global_plan_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -688,7 +689,8 @@ Visualization Manager: Enabled: true Name: Global Plan Vis Namespaces: - {} + global_plan: true + global_plan_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -943,22 +945,22 @@ Visualization Manager: Value: /robot_2/rayfronts/semantic_ray_frontiers Value: false - Class: rviz_default_plugins/MarkerArray - Enabled: false + Enabled: true Name: MarkerArray Namespaces: - {} + arrows: true Topic: Depth: 5 Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable Value: /robot_2/filtered_rays - Value: false + Value: true - Class: rviz_default_plugins/MarkerArray Enabled: true Name: MarkerArray Namespaces: - arrows: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -970,7 +972,7 @@ Visualization Manager: Enabled: true Name: MarkerArray Namespaces: - arrows: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -1024,43 +1026,43 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 58.59126281738281 + Distance: 35.13690948486328 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: -8.417328834533691 - Y: 3.635751724243164 - Z: -0.462860107421875 + X: -9.02755069732666 + Y: 1.401604175567627 + Z: 0.6234289407730103 Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 1.3097960948944092 + Pitch: 0.4097968637943268 Target Frame: base_link Value: Orbit (rviz) - Yaw: 0.09855291247367859 + Yaw: 6.221737861633301 Saved: ~ Window Geometry: BehaviorTreePanel: collapsed: false Displays: - collapsed: false + collapsed: true Front Right Depth: collapsed: false Front Right RGB: collapsed: false Height: 1122 - Hide Left Dock: false + Hide Left Dock: true Hide Right Dock: false Image: collapsed: false MACVO Disparity: collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000030400000258fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730100000078000000a0000000a000fffffffb000000100044006900730070006c006100790073010000011e000001b2000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000356fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420000000078000003560000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078b00000037fc0100000002fb0000000800540069006d006501000000000000078b0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078b00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078b000001fa00fffffffb0000000800540069006d00650100000000000004500000000000000000000004810000025800000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000030400000258fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730000000078000000a0000000a000fffffffb000000100044006900730070006c006100790073000000011e000001b2000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000356fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420000000078000003560000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078b00000037fc0100000002fb0000000800540069006d006501000000000000078b0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078b00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078b000001fa00fffffffb0000000800540069006d006501000000000000045000000000000000000000078b0000025800000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -1068,7 +1070,7 @@ Window Geometry: Tool Properties: collapsed: false Views: - collapsed: false + collapsed: true Width: 1931 X: 1509 - Y: 96 + Y: 65 From f5a5c9ef3498bcc090a163f72a5e3433a388cfdc Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 23 Feb 2026 22:56:44 -0500 Subject: [PATCH 06/55] added target sharing --- .../desktop_bringup/params/domain_bridge.yaml | 11 +++ .../robot_1_semantic_ray_transposer.py | 24 +++-- .../robot_2_filtered_ray_transposer.py | 23 +++-- .../desktop_bringup/rviz/robot_1.rviz | 96 +++++++++---------- .../desktop_bringup/rviz/robot_2.rviz | 33 +++---- .../launch_scripts/two_drone_fire_academy.py | 49 +++++++--- 6 files changed, 138 insertions(+), 98 deletions(-) diff --git a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml index 417c6488..491728e2 100644 --- a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml +++ b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml @@ -21,6 +21,17 @@ topics: #rayfronts topics to bridge + + /robot_1/current_target: + from_domain: 1 + to_domain: 2 + type: std_msgs/msg/String + + /robot_2/current_target: + from_domain: 2 + to_domain: 1 + type: std_msgs/msg/String + /robot_1/odometry_conversion/odometry: from_domain: 1 to_domain: 2 diff --git a/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py b/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py index 5da3a1d1..3c4e1b73 100644 --- a/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py +++ b/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py @@ -11,8 +11,16 @@ def __init__(self): super().__init__('robot_1_semantic_ray_transposer') # Taken from simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py - robot_1_init = (20.0, -7.0, 0.15) - robot_2_init = (17.0, 1.5, 0.15) + #old fire academy init: + # robot_1_init = (20.0, -7.0, 0.15) + # robot_2_init = (17.0, 1.5, 0.15) + #RetroNeighborhood init: + # robot_1_init = (35.0, -19.0, 0.15) + # robot_2_init = (30.0, -19.0, 0.15) + + robot_1_init = (25.0, 7.6, 0.15) + robot_2_init = (23.4, 9.8, 0.15) + dx = robot_2_init[0] - robot_1_init[0] dy = robot_2_init[1] - robot_1_init[1] @@ -55,18 +63,18 @@ def callback(self, msg: MarkerArray): out = copy.deepcopy(msg) for marker in out.markers: - marker.pose.position.x -= self.translation_x/2 - marker.pose.position.y -= self.translation_y/2 - marker.pose.position.z -= self.translation_z/2 + marker.pose.position.x -= self.translation_x + marker.pose.position.y -= self.translation_y + marker.pose.position.z -= self.translation_z marker.color.r = self.color_r marker.color.g = self.color_g marker.color.b = self.color_b marker.color.a = self.color_a for point in marker.points: - point.x -= self.translation_x/2 - point.y -= self.translation_y/2 - point.z -= self.translation_z/2 + point.x -= self.translation_x + point.y -= self.translation_y + point.z -= self.translation_z # If marker uses per-point colors, force those to bright blue too. for color in marker.colors: diff --git a/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py b/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py index 918982d0..3544346e 100644 --- a/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py +++ b/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py @@ -11,8 +11,15 @@ def __init__(self): super().__init__('robot_2_filtered_ray_transposer') # Taken from simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py - robot_1_init = (20.0, -7.0, 0.15) - robot_2_init = (17.0, 1.5, 0.15) + #old fire academy init: + # robot_1_init = (20.0, -7.0, 0.15) + # robot_2_init = (17.0, 1.5, 0.15) + #RetroNeighborhood init: + # robot_1_init = (35.0, -19.0, 0.15) + # robot_2_init = (30.0, -19.0, 0.15) + + robot_1_init = (25.0, 7.6, 0.15) + robot_2_init = (23.4, 9.8, 0.15) dx = robot_2_init[0] - robot_1_init[0] dy = robot_2_init[1] - robot_1_init[1] @@ -57,18 +64,18 @@ def callback(self, msg: MarkerArray): for marker in out.markers: # Opposite direction from robot_1_semantic_ray_transposer.py: # apply +translation instead of -translation. - marker.pose.position.x += self.translation_x/2 - marker.pose.position.y += self.translation_y/2 - marker.pose.position.z += self.translation_z/2 + marker.pose.position.x += self.translation_x + marker.pose.position.y += self.translation_y + marker.pose.position.z += self.translation_z marker.color.r = self.color_r marker.color.g = self.color_g marker.color.b = self.color_b marker.color.a = self.color_a for point in marker.points: - point.x += self.translation_x/2 - point.y += self.translation_y/2 - point.z += self.translation_z/2 + point.x += self.translation_x + point.y += self.translation_y + point.z += self.translation_z for color in marker.colors: color.r = self.color_r diff --git a/common/ros_packages/desktop_bringup/rviz/robot_1.rviz b/common/ros_packages/desktop_bringup/rviz/robot_1.rviz index 603036ae..955e9351 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot_1.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot_1.rviz @@ -28,7 +28,7 @@ Panels: - /MarkerArray4 - /MarkerArray4/Topic1 Splitter Ratio: 0.590062141418457 - Tree Height: 220 + Tree Height: 373 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties @@ -46,7 +46,7 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: PointCloud2 + SyncSource: "" - Class: rviz_behavior_tree_panel::BehaviorTreePanel Name: BehaviorTreePanel topic: /robot_1/behavior/behavior_tree_graphviz @@ -131,44 +131,43 @@ Visualization Manager: Show Axes: true Show Names: true Tree: - map: - base_link: - base_link_body_body_link: - OS1_REV6_128_10hz___512_resolution: - lidar: - {} - base_link_ZED_X: - camera_left: - macvo_ned: + world: + map: + base_link: + base_link_body_body_link: + OS1_REV6_128_10hz___512_resolution: + lidar: + {} + base_link_ZED_X: + camera_left: + macvo_ned: + {} + camera_right: {} - camera_right: + imu: + {} + rotor0: {} - imu: + rotor1: {} - rotor0: - {} - rotor1: - {} - rotor2: - {} - rotor3: + rotor2: + {} + rotor3: + {} + base_link_frd: {} - base_link_frd: + base_link_stabilized: + {} + look_ahead_point: + {} + look_ahead_point_stabilized: + {} + map_ned: + {} + tracking_point: + {} + tracking_point_stabilized: {} - base_link_stabilized: - {} - look_ahead_point: - {} - look_ahead_point_stabilized: - {} - map_ned: - {} - tracking_point: - {} - tracking_point_stabilized: - {} - world: - {} Update Interval: 0 Value: true - Alpha: 0.5 @@ -255,7 +254,7 @@ Visualization Manager: - Class: rviz_common/Group Displays: - Class: rviz_default_plugins/Image - Enabled: false + Enabled: true Max Value: 1 Median window: 5 Min Value: 0 @@ -267,7 +266,7 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: /robot_1/sensors/front_stereo/right/image_rect - Value: false + Value: true - Class: rviz_default_plugins/Image Enabled: false Max Value: 100 @@ -718,7 +717,6 @@ Visualization Manager: Name: Traj Vis Namespaces: traj_controller: true - traj_controller_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -1010,7 +1008,7 @@ Visualization Manager: Enabled: true Name: MarkerArray Namespaces: - arrows: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -1064,25 +1062,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 49.394229888916016 + Distance: 30.03053092956543 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: -16.599695205688477 - Y: 7.076057434082031 - Z: 1.1929526329040527 + X: -5.642820358276367 + Y: -0.14288032054901123 + Z: -2.2876358032226562 Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.41521188616752625 + Pitch: 0.5275139212608337 Target Frame: base_link Value: Orbit (rviz) - Yaw: 6.209778785705566 + Yaw: 6.182468891143799 Saved: ~ Window Geometry: BehaviorTreePanel: @@ -1093,14 +1091,14 @@ Window Geometry: collapsed: false Front Right RGB: collapsed: false - Height: 1037 + Height: 911 Hide Left Dock: true Hide Right Dock: false Image: collapsed: false MACVO Disparity: collapsed: false - QMainWindow State: 000000ff00000000fd0000000400000000000002df00000203fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730000000078000000a0000000a000fffffffb000000100044006900730070006c006100790073000000011e0000015d000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000203fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420000000078000002030000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078a00000037fc0100000002fb0000000800540069006d006501000000000000078a0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078a00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078a000001fa00fffffffb0000000800540069006d006501000000000000045000000000000000000000078a0000020300000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd0000000400000000000002df00000185fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730000000078000000a0000000a000fffffffb000000100044006900730070006c006100790073000000011e000000df000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000185fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420100000078000001850000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078a00000037fc0100000002fb0000000800540069006d006501000000000000078a0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078a00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078a000001fa00fffffffb0000000800540069006d006501000000000000045000000000000000000000058e0000018500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -1110,5 +1108,5 @@ Window Geometry: Views: collapsed: true Width: 1930 - X: 70 - Y: 58 + X: 1510 + Y: 631 diff --git a/common/ros_packages/desktop_bringup/rviz/robot_2.rviz b/common/ros_packages/desktop_bringup/rviz/robot_2.rviz index 68dfffaa..1b953c8e 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot_2.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot_2.rviz @@ -28,7 +28,7 @@ Panels: - /MarkerArray3/Namespaces1 - /MarkerArray4 Splitter Ratio: 0.590062141418457 - Tree Height: 305 + Tree Height: 373 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties @@ -46,7 +46,7 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: PointCloud2 + SyncSource: "" - Class: rviz_behavior_tree_panel::BehaviorTreePanel Name: BehaviorTreePanel topic: /robot_2/behavior/behavior_tree_graphviz @@ -254,7 +254,7 @@ Visualization Manager: - Class: rviz_common/Group Displays: - Class: rviz_default_plugins/Image - Enabled: false + Enabled: true Max Value: 1 Median window: 5 Min Value: 0 @@ -266,7 +266,7 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: /robot_2/sensors/front_stereo/right/image_rect - Value: false + Value: true - Class: rviz_default_plugins/Image Enabled: false Max Value: 100 @@ -503,8 +503,7 @@ Visualization Manager: Enabled: true Name: Trimmed Global Plan for DROAN Namespaces: - global_plan: true - global_plan_extra_text: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -689,8 +688,7 @@ Visualization Manager: Enabled: true Name: Global Plan Vis Namespaces: - global_plan: true - global_plan_extra_text: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -719,7 +717,6 @@ Visualization Manager: Name: Traj Vis Namespaces: traj_controller: true - traj_controller_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -948,7 +945,7 @@ Visualization Manager: Enabled: true Name: MarkerArray Namespaces: - arrows: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -1026,25 +1023,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 35.13690948486328 + Distance: 26.823678970336914 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: -9.02755069732666 - Y: 1.401604175567627 - Z: 0.6234289407730103 + X: -8.390859603881836 + Y: 3.887568235397339 + Z: 0.3204301595687866 Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.4097968637943268 + Pitch: 0.23979705572128296 Target Frame: base_link Value: Orbit (rviz) - Yaw: 6.221737861633301 + Yaw: 6.241737365722656 Saved: ~ Window Geometry: BehaviorTreePanel: @@ -1062,7 +1059,7 @@ Window Geometry: collapsed: false MACVO Disparity: collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000030400000258fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730000000078000000a0000000a000fffffffb000000100044006900730070006c006100790073000000011e000001b2000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000356fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420000000078000003560000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078b00000037fc0100000002fb0000000800540069006d006501000000000000078b0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078b00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078b000001fa00fffffffb0000000800540069006d006501000000000000045000000000000000000000078b0000025800000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000030400000258fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000000a005600690065007700730000000078000000a0000000a000fffffffb000000100044006900730070006c006100790073000000011e000001b2000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002eb000000c90000002800fffffffb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca0000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000259000001290000002800fffffffb0000000a0049006d006100670065000000029c000001320000002800fffffffb0000000a0049006d0061006700650000000217000001b70000002800fffffffb0000000a0049006d00610067006500000003610000006d000000000000000000000001000001f600000258fc0200000008fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001e00460072006f006e007400200052006900670068007400200052004700420100000078000002580000002800fffffffc000001ac000002220000000000fffffffa000000010100000002fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000000ffffffff0000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000007c4000001f60000000000000000fb0000002200460072006f006e0074002000520069006700680074002000440065007000740068010000014a000001cc0000000000000000fb0000001e004d004100430056004f002000440069007300700061007200690074007900000002ca000001040000002800fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078b00000037fc0100000002fb0000000800540069006d006501000000000000078b0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e100000197000000030000078b00000171fc0100000002fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c01000000000000078b000001fa00fffffffb0000000800540069006d006501000000000000045000000000000000000000058f0000025800000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -1073,4 +1070,4 @@ Window Geometry: collapsed: true Width: 1931 X: 1509 - Y: 65 + Y: 27 diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py b/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py index a218956b..d800d480 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py @@ -28,11 +28,11 @@ NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" #env/stage path and scale -ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" +ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_fixed_textures.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_faro.usd" #f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" -STAGE_SCALE = 2.0 +STAGE_SCALE = 0.01 DRONE_USD = "/root/Documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" @@ -46,8 +46,12 @@ #Drone offset SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 -DRONE1_XY_M = (20.0, -7) -DRONE2_XY_M = (17, 1.5) +# spawn location for /Assets/Fire_Academy_Digital_Twin/fire_academy.usd +# DRONE1_XY_M = (20.0, -7.0) +# DRONE2_XY_M = (17, 1.5) + +DRONE1_XY_M = (25.0, 7.6) +DRONE2_XY_M = (23.4, 9.8) # --------------------------------------------------------- @@ -148,13 +152,28 @@ def __init__(self): stage_prim = stage.GetPrimAtPath("/World/stage") if stage_prim.IsValid(): xformable = UsdGeom.Xformable(stage_prim) - xformable.ClearXformOpOrder() - - translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) - translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) - - scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionDouble) - scale_op.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + + translate_attr = stage_prim.GetAttribute("xformOp:translate") + if translate_attr.IsValid(): + if str(translate_attr.GetTypeName()) == "float3": + translate_attr.Set(Gf.Vec3f(0.0, 0.0, 0.0)) + else: + translate_attr.Set(Gf.Vec3d(0.0, 0.0, 0.0)) + else: + # If missing, create a new translate op. + translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) + translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) + + scale_attr = stage_prim.GetAttribute("xformOp:scale") + if scale_attr.IsValid(): + if str(scale_attr.GetTypeName()) == "double3": + scale_attr.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + else: + scale_attr.Set(Gf.Vec3f(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + else: + # If missing, create a new scale op. + scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionFloat) + scale_op.Set(Gf.Vec3f(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) add_collision_to_prim(stage_prim) print("Finished adding collisions.") @@ -193,7 +212,7 @@ def __init__(self): domain_id=1, # defines ROS2 domain ID usd_file=DRONE_USD, init_pos=drone1_pos, - init_orient=[0.0, 0.0, 1.0, 0.0], + init_orient=[0.0, 0.0, -0.937, 0.35], #[0,0,1,0] ) # Add a ZED stereo camera (with an associated subgraph) to the drone @@ -228,7 +247,7 @@ def __init__(self): domain_id=2, # defines ROS2 domain ID. Define as 2 for second vehicle usd_file=DRONE_USD, init_pos=drone2_pos, - init_orient=[0.0, 0.0, 1.0, 0.0], + init_orient=[0.0, 0.0, -0.937, 0.35], #[0,0,1,0] ) # Add a ZED stereo camera (with an associated subgraph) to the drone @@ -249,7 +268,7 @@ def __init__(self): lidar_name="OS1_REV6_128_10hz___512_resolution", lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range = 0.75 + lidar_min_range = 1.5 ) # Reset so physics/articulations are ready @@ -281,4 +300,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() From efb2e55db496d0a2b1d2d39bb720c5488759e05e Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 23 Feb 2026 23:34:39 -0500 Subject: [PATCH 07/55] changed drone start pos --- .../isaac-sim/launch_scripts/two_drone_fire_academy.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py b/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py index d800d480..33c1082a 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py @@ -44,14 +44,14 @@ DOME_LIGHT_EXPOSURE = -3.0 #Drone offset -SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 +SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.07 # spawn location for /Assets/Fire_Academy_Digital_Twin/fire_academy.usd # DRONE1_XY_M = (20.0, -7.0) # DRONE2_XY_M = (17, 1.5) -DRONE1_XY_M = (25.0, 7.6) -DRONE2_XY_M = (23.4, 9.8) +DRONE1_XY_M = (27.0, 7.6) +DRONE2_XY_M = (23, 9.8) # --------------------------------------------------------- @@ -233,7 +233,7 @@ def __init__(self): lidar_name="OS1_REV6_128_10hz___512_resolution", lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link lidar_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - lidar_min_range = 1.5, # Minimum detection range (m) to avoid propeller hits + lidar_min_range = 4.0, # Minimum detection range (m) to avoid propeller hits ) #################################################################################################### @@ -268,7 +268,7 @@ def __init__(self): lidar_name="OS1_REV6_128_10hz___512_resolution", lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range = 1.5 + lidar_min_range = 3.5 ) # Reset so physics/articulations are ready From 435837c47e401e17f38ef7902336dd4a935add41 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Sun, 15 Mar 2026 23:05:11 -0400 Subject: [PATCH 08/55] gossip layer w/o relay --- .env | 6 +- .../launch/robot_state_publisher.launch.py | 6 +- .../autonomy_bringup/launch/robot.launch.xml | 18 +- .../config/gossip_dds_router.yaml | 18 ++ .../coordination_bringup/__init__.py | 0 .../coordination_bringup/gossip_node.py | 177 ++++++++++ .../coordination_bringup/peer_profile.py | 184 +++++++++++ .../launch/gossip.launch.xml | 21 ++ .../coordination_bringup/package.xml | 23 ++ .../resource/coordination_bringup | 0 .../coordination_bringup/scripts/gossip_node | 3 + .../scripts/peer_registry_monitor.py | 152 +++++++++ .../coordination_bringup/setup.py | 29 ++ .../coordination_msgs/CMakeLists.txt | 15 + .../coordination_msgs/msg/PeerProfile.msg | 22 ++ .../msg/PeerProfilePayload.msg | 6 + .../coordination_msgs/package.xml | 22 ++ .../three_drone_scene_import.py | 304 ++++++++++++++++++ 18 files changed, 998 insertions(+), 8 deletions(-) create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/config/gossip_dds_router.yaml create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/__init__.py create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/package.xml create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/resource/coordination_bringup create mode 100755 robot/ros_ws/src/coordination/coordination_bringup/scripts/gossip_node create mode 100755 robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/setup.py create mode 100644 robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt create mode 100644 robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg create mode 100644 robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg create mode 100644 robot/ros_ws/src/coordination/coordination_msgs/package.xml create mode 100644 simulation/isaac-sim/launch_scripts/three_drone_scene_import.py diff --git a/.env b/.env index 07eb9c74..3ca9b121 100644 --- a/.env +++ b/.env @@ -26,15 +26,15 @@ COMPOSE_PROFILES="desktop" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="1" # Number of robot containers to launch. +NUM_ROBOTS="3" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== ISAAC SIM ===================== ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_pegasus.scene.usd" # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file -ISAAC_SIM_USE_STANDALONE="false" # "true" or "false" +ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" # Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/) -ISAAC_SIM_SCRIPT_NAME="example_one_px4_pegasus_launch_script.py" +ISAAC_SIM_SCRIPT_NAME="three_drone_scene_import.py" PLAY_SIM_ON_START="false" # =============================================== diff --git a/common/ros_packages/robot_descriptions/launch/robot_state_publisher.launch.py b/common/ros_packages/robot_descriptions/launch/robot_state_publisher.launch.py index 474614cb..1737a603 100644 --- a/common/ros_packages/robot_descriptions/launch/robot_state_publisher.launch.py +++ b/common/ros_packages/robot_descriptions/launch/robot_state_publisher.launch.py @@ -49,9 +49,9 @@ def launch_setup(context, *args, **kwargs): relative_path ]) else: - # Use relative path within robot_bringup package + # Use relative path within autonomy_bringup package urdf_file = PathJoinSubstitution([ - FindPackageShare('robot_bringup'), + FindPackageShare('autonomy_bringup'), 'urdf', urdf_file_path ]) @@ -95,7 +95,7 @@ def generate_launch_description(): urdf_file_path_arg = DeclareLaunchArgument( 'urdf_file_path', default_value='robot.urdf.xacro', - description='Path to the URDF/xacro file. Can be relative to robot_bringup/urdf/ or an absolute path' + description='Path to the URDF/xacro file. Can be relative to autonomy_bringup/urdf/ or an absolute path' ) publish_frequency_arg = DeclareLaunchArgument( diff --git a/robot/ros_ws/src/autonomy_bringup/launch/robot.launch.xml b/robot/ros_ws/src/autonomy_bringup/launch/robot.launch.xml index 802a07a1..e3e21061 100644 --- a/robot/ros_ws/src/autonomy_bringup/launch/robot.launch.xml +++ b/robot/ros_ws/src/autonomy_bringup/launch/robot.launch.xml @@ -10,6 +10,8 @@ lite, desktop_split sim) + + @@ -35,12 +37,18 @@ lite, desktop_split sim) - + + + + + + + @@ -48,13 +56,19 @@ lite, desktop_split sim) - + + + + + + + diff --git a/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_dds_router.yaml b/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_dds_router.yaml new file mode 100644 index 00000000..4da27561 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_dds_router.yaml @@ -0,0 +1,18 @@ +# Gossip DDS Router configuration +# Bridges /gossip/peers between the robot's own ROS_DOMAIN_ID and the +# shared gossip domain so all robots can see each other's PeerProfile +# broadcasts without any per-robot enumeration. +# +# Every robot runs this identical config. Adding a new robot only +# requires incrementing NUM_ROBOTS – no changes here needed. + +participants: + - name: "robot" + kind: "local" + domain: $(env ROS_DOMAIN_ID) + - name: "gossip_bus" + kind: "local" + domain: $(var gossip_domain) + +allowlist: + - name: "rt/gossip/peers" diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/__init__.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py new file mode 100644 index 00000000..1c8c258d --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py @@ -0,0 +1,177 @@ +""" +gossip_node.py +============== +ROS 2 node that implements the gossip-protocol coordination layer. + +Each robot: + - Subscribes to its own odometry and global plan + - Publishes its own PeerProfile to /gossip/peers (shared gossip domain via DDS Router) + - Subscribes to /gossip/peers to receive all peer profiles + - Maintains a registry of known peers (latest-wins, no expiry) + - Republishes the full registry as a latched topic for planners to consume + +Publish rate: + - Fixed 1 Hz wall-clock timer (publish_rate parameter) — always fires regardless of + sim time, so heartbeating works even when the robot is stationary. + - A new waypoint also triggers an immediate extra publish. +""" + +import os + +import rclpy +from rclpy.node import Node +from rclpy.clock import ROSClock +from rclpy.qos import ( + QoSDurabilityPolicy, + QoSHistoryPolicy, + QoSProfile, + QoSReliabilityPolicy, +) + +from nav_msgs.msg import Odometry, Path +from coordination_msgs.msg import PeerProfile as PeerProfileMsg + +from coordination_bringup.peer_profile import PeerProfile + + +# QoS for gossip topic: best-effort, keep last 1 (low-overhead, high-freq) +GOSSIP_QOS = QoSProfile( + reliability=QoSReliabilityPolicy.BEST_EFFORT, + history=QoSHistoryPolicy.KEEP_LAST, + depth=1, +) + +# QoS for the registry topic: reliable + transient-local so late subscribers +# immediately receive the latest snapshot +REGISTRY_QOS = QoSProfile( + reliability=QoSReliabilityPolicy.RELIABLE, + durability=QoSDurabilityPolicy.TRANSIENT_LOCAL, + history=QoSHistoryPolicy.KEEP_LAST, + depth=1, +) + + +class GossipNode(Node): + + def __init__(self): + super().__init__("gossip_node") + + # ── Parameters ────────────────────────────────────────────────── + self.declare_parameter("robot_name", os.environ.get("ROBOT_NAME", "unknown_robot")) + self.declare_parameter("publish_rate", 1.0) # Hz — wall-clock timer + + self._robot_name = self.get_parameter("robot_name").get_parameter_value().string_value + publish_rate = self.get_parameter("publish_rate").get_parameter_value().double_value + + # ── State ──────────────────────────────────────────────────────── + self._profile = PeerProfile(robot_name=self._robot_name) + + # Registry: robot_name → latest PeerProfile ROS msg + self._registry: dict[str, PeerProfileMsg] = {} + + # ── Subscriptions ──────────────────────────────────────────────── + self._odom_sub = self.create_subscription( + Odometry, + f"/{self._robot_name}/odometry_conversion/odometry", + self._on_odom, + GOSSIP_QOS, + ) + self._path_sub = self.create_subscription( + Path, + f"/{self._robot_name}/random_walk/global_plan", + self._on_global_plan, + GOSSIP_QOS, + ) + self._peer_sub = self.create_subscription( + PeerProfileMsg, + "/gossip/peers", + self._on_peer_msg, + GOSSIP_QOS, + ) + + # ── Publishers ─────────────────────────────────────────────────── + self._gossip_pub = self.create_publisher( + PeerProfileMsg, + "/gossip/peers", + GOSSIP_QOS, + ) + # Registry snapshot – latched so planners that start late still get it + self._registry_pub = self.create_publisher( + PeerProfileMsg, + f"/{self._robot_name}/coordination/peer_registry", + REGISTRY_QOS, + ) + + # ── Publish timer (wall clock — unaffected by sim time) ────────── + # Use a wall-clock timer so heartbeating works even when sim is paused + # or use_sim_time is set. + period = 1.0 / max(publish_rate, 0.01) + self._publish_timer = self.create_timer( + period, + self._publish_tick, + clock=ROSClock(), + ) + + self.get_logger().info( + f"GossipNode started for '{self._robot_name}' " + f"(publish_rate={publish_rate:.1f} Hz wall-clock)" + ) + + # ------------------------------------------------------------------ # + # Subscription callbacks # + # ------------------------------------------------------------------ # + + def _on_odom(self, msg: Odometry) -> None: + self._profile.set_pose_from_odom(msg) + + def _on_global_plan(self, msg: Path) -> None: + self._profile.set_waypoint_from_path(msg) + + def _on_peer_msg(self, msg: PeerProfileMsg) -> None: + if msg.robot_name == self._robot_name: + return # discard own messages echoed back from the gossip domain + self._update_registry(msg) + + # ------------------------------------------------------------------ # + # Publish logic # + # ------------------------------------------------------------------ # + + def _publish_tick(self) -> None: + """Wall-clock timer callback — publish own profile at fixed rate.""" + self._publish_own() + + def _publish_own(self) -> None: + self._gossip_pub.publish(self._profile.to_ros_msg()) + + # ------------------------------------------------------------------ # + # Registry management # + # ------------------------------------------------------------------ # + + def _update_registry(self, msg: PeerProfileMsg) -> None: + """Update registry with latest-wins semantics, then republish snapshot.""" + existing = self._registry.get(msg.robot_name) + if existing is not None: + # Only update if the incoming message is newer + new_stamp = msg.pose.header.stamp.sec + msg.pose.header.stamp.nanosec * 1e-9 + old_stamp = existing.pose.header.stamp.sec + existing.pose.header.stamp.nanosec * 1e-9 + if new_stamp <= old_stamp: + return + + self._registry[msg.robot_name] = msg + self._registry_pub.publish(msg) + + +def main(args=None): + rclpy.init(args=args) + node = GossipNode() + try: + rclpy.spin(node) + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + rclpy.shutdown() + + +if __name__ == "__main__": + main() diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py new file mode 100644 index 00000000..a7c4bbe3 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py @@ -0,0 +1,184 @@ +""" +peer_profile.py +=============== +Base class for gossip-protocol peer state. Subclass this to attach +task-specific data as typed ROS payloads. + +Usage +----- +# Basic – just use the base class +profile = PeerProfile("robot_1") +profile.set_pose_from_odom(odom_msg) +profile.set_waypoint_from_path(path_msg) +ros_msg = profile.to_ros_msg() + +# Extended – subclass and add payloads +class SearchProfile(PeerProfile): + def attach_frontier(self, frontier_msg): + self.add_payload(frontier_msg) + +profile = SearchProfile("robot_1") +profile.attach_frontier(my_frontier) +ros_msg = profile.to_ros_msg() + +# Receiving side +profile = PeerProfile.from_ros_msg(ros_msg) +grid = profile.get_payload("nav_msgs/msg/OccupancyGrid") +""" + +from __future__ import annotations + +from dataclasses import dataclass, field +from enum import IntEnum +from typing import Any, Dict, List, Optional + +from rclpy.serialization import deserialize_message, serialize_message +import rosidl_runtime_py.utilities as rosidl_utils + +from geometry_msgs.msg import PoseStamped +from nav_msgs.msg import Odometry, Path + +from coordination_msgs.msg import PeerProfile as PeerProfileMsg +from coordination_msgs.msg import PeerProfilePayload as PeerProfilePayloadMsg + + +class Source(IntEnum): + DIRECT = 0 + RELAYED = 1 + + +@dataclass +class PeerProfile: + """ + Base peer state broadcast over the gossip bus. + + Subclass and override ``extra_payloads_to_attach()`` to automatically + include task-specific ROS messages every time ``to_ros_msg()`` is called, + or call ``add_payload()`` / ``clear_payloads()`` manually. + """ + + robot_name: str + pose: PoseStamped = field(default_factory=PoseStamped) + waypoint: PoseStamped = field(default_factory=PoseStamped) + source: Source = Source.DIRECT + relay_hops: int = 0 + + # Internal payload store: list of dicts with keys "type" and "data" + _payloads: List[Dict[str, Any]] = field(default_factory=list, repr=False) + + # ------------------------------------------------------------------ # + # Pose / waypoint helpers # + # ------------------------------------------------------------------ # + + def set_pose_from_odom(self, odom: Odometry) -> None: + """Extract pose (position + orientation) from an Odometry message.""" + stamped = PoseStamped() + stamped.header = odom.header + stamped.pose = odom.pose.pose + self.pose = stamped + + def set_waypoint_from_path(self, path: Optional[Path]) -> None: + """ + Extract the goal (last pose) from a nav_msgs/Path. + Passing None or an empty path leaves waypoint as all-zeros, + which signals 'no plan available' to receivers. + """ + if path is not None and len(path.poses) > 0: + self.waypoint = path.poses[-1] + else: + self.waypoint = PoseStamped() + + def has_waypoint(self) -> bool: + """Return True if a valid waypoint has been set (non-zero stamp).""" + s = self.waypoint.header.stamp + return s.sec != 0 or s.nanosec != 0 + + # ------------------------------------------------------------------ # + # Payload management # + # ------------------------------------------------------------------ # + + def add_payload(self, msg: Any) -> None: + """Serialize and attach any ROS message as an additional payload.""" + type_str = _ros_type_string(msg) + self._payloads.append({ + "type": type_str, + "data": serialize_message(msg), + }) + + def clear_payloads(self) -> None: + self._payloads.clear() + + def get_payload(self, payload_type: str) -> Optional[Any]: + """ + Deserialize and return the first payload matching *payload_type*. + *payload_type* is the fully-qualified ROS type string, + e.g. ``"nav_msgs/msg/OccupancyGrid"``. + Returns None if not found. + """ + for p in self._payloads: + if p["type"] == payload_type: + msg_class = rosidl_utils.get_message(payload_type) + return deserialize_message(p["data"], msg_class) + return None + + def get_all_payloads(self) -> List[Any]: + """Deserialize and return all payloads in order.""" + result = [] + for p in self._payloads: + msg_class = rosidl_utils.get_message(p["type"]) + result.append(deserialize_message(p["data"], msg_class)) + return result + + def payload_types(self) -> List[str]: + """Return the type strings of all attached payloads.""" + return [p["type"] for p in self._payloads] + + # ------------------------------------------------------------------ # + # Serialisation # + # ------------------------------------------------------------------ # + + def to_ros_msg(self) -> PeerProfileMsg: + msg = PeerProfileMsg() + msg.robot_name = self.robot_name + msg.pose = self.pose + msg.waypoint = self.waypoint + msg.source = int(self.source) + msg.relay_hops = self.relay_hops + msg.payloads = [ + PeerProfilePayloadMsg(payload_type=p["type"], payload_data=list(p["data"])) + for p in self._payloads + ] + return msg + + @classmethod + def from_ros_msg(cls, msg: PeerProfileMsg) -> "PeerProfile": + profile = cls(robot_name=msg.robot_name) + profile.pose = msg.pose + profile.waypoint = msg.waypoint + profile.source = Source(msg.source) + profile.relay_hops = msg.relay_hops + profile._payloads = [ + {"type": p.payload_type, "data": bytes(p.payload_data)} + for p in msg.payloads + ] + return profile + + +# ------------------------------------------------------------------ # +# Internal helpers # +# ------------------------------------------------------------------ # + +def _ros_type_string(msg: Any) -> str: + """Return the fully-qualified ROS type string for a message instance. + + E.g. nav_msgs.msg.OccupancyGrid → "nav_msgs/msg/OccupancyGrid" + """ + module = type(msg).__module__ # e.g. "nav_msgs.msg._occupancy_grid" + name = type(msg).__name__ # e.g. "OccupancyGrid" + # Convert "nav_msgs.msg._occupancy_grid" → "nav_msgs/msg" + parts = module.split(".") + if len(parts) >= 2: + pkg = parts[0] + sub = parts[1] + return f"{pkg}/{sub}/{name}" + return f"{module}/{name}" diff --git a/robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml b/robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml new file mode 100644 index 00000000..f405c4be --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + diff --git a/robot/ros_ws/src/coordination/coordination_bringup/package.xml b/robot/ros_ws/src/coordination/coordination_bringup/package.xml new file mode 100644 index 00000000..46666053 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/package.xml @@ -0,0 +1,23 @@ + + + + coordination_bringup + 0.0.0 + Gossip-protocol multi-agent coordination layer for AirStack + AirLab + BSD-3-Clause + + rclpy + nav_msgs + geometry_msgs + coordination_msgs + + ament_copyright + ament_flake8 + ament_pep257 + python3-pytest + + + ament_python + + diff --git a/robot/ros_ws/src/coordination/coordination_bringup/resource/coordination_bringup b/robot/ros_ws/src/coordination/coordination_bringup/resource/coordination_bringup new file mode 100644 index 00000000..e69de29b diff --git a/robot/ros_ws/src/coordination/coordination_bringup/scripts/gossip_node b/robot/ros_ws/src/coordination/coordination_bringup/scripts/gossip_node new file mode 100755 index 00000000..8f7d7d46 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/scripts/gossip_node @@ -0,0 +1,3 @@ +#!/usr/bin/env python3 +from coordination_bringup.gossip_node import main +main() diff --git a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py new file mode 100755 index 00000000..a0fa038e --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py @@ -0,0 +1,152 @@ +#!/usr/bin/env python3 +""" +peer_registry_monitor.py +======================== +CLI diagnostic tool – subscribe to /gossip/peers on the gossip domain +and pretty-print the live peer registry. + +Run on any robot or from a machine joined to domain 99: + + ROS_DOMAIN_ID=99 python3 peer_registry_monitor.py + +Or on a specific robot's domain to see what *that* robot receives: + + ROS_DOMAIN_ID=1 python3 peer_registry_monitor.py + +Options +------- + --robot Only show entries for this robot name (partial match) + --rate Refresh rate in Hz (default: 2) +""" + +import argparse +import os +import sys +import time + +import rclpy +from rclpy.node import Node +from rclpy.qos import QoSHistoryPolicy, QoSProfile, QoSReliabilityPolicy + +from coordination_msgs.msg import PeerProfile as PeerProfileMsg + +GOSSIP_QOS = QoSProfile( + reliability=QoSReliabilityPolicy.BEST_EFFORT, + history=QoSHistoryPolicy.KEEP_LAST, + depth=10, +) + +RESET = "\033[0m" +BOLD = "\033[1m" +CYAN = "\033[36m" +YELLOW = "\033[33m" +GREEN = "\033[32m" +DIM = "\033[2m" + + +def _fmt_pose(pose_stamped) -> str: + p = pose_stamped.pose.position + o = pose_stamped.pose.orientation + return f"pos=({p.x:7.2f}, {p.y:7.2f}, {p.z:7.2f}) orient=({o.x:.3f}, {o.y:.3f}, {o.z:.3f}, {o.w:.3f})" + + +def _fmt_waypoint(pose_stamped) -> str: + s = pose_stamped.header.stamp + if s.sec == 0 and s.nanosec == 0: + return f"{DIM}(no plan yet){RESET}" + p = pose_stamped.pose.position + o = pose_stamped.pose.orientation + return f"pos=({p.x:7.2f}, {p.y:7.2f}, {p.z:7.2f}) orient=({o.x:.3f}, {o.y:.3f}, {o.z:.3f}, {o.w:.3f})" + + +def _fmt_stamp(pose_stamped) -> str: + s = pose_stamped.header.stamp + if s.sec == 0 and s.nanosec == 0: + return "n/a" + t = s.sec + s.nanosec * 1e-9 + return time.strftime("%H:%M:%S", time.localtime(t)) + f".{s.nanosec // 1_000_000:03d}" + + +def _clear(): + sys.stdout.write("\033[2J\033[H") + sys.stdout.flush() + + +class RegistryMonitor(Node): + + def __init__(self, filter_name: str = ""): + super().__init__("peer_registry_monitor") + self._registry: dict[str, PeerProfileMsg] = {} + self._filter = filter_name.lower() + + self._sub = self.create_subscription( + PeerProfileMsg, + "/gossip/peers", + self._on_msg, + GOSSIP_QOS, + ) + + def _on_msg(self, msg: PeerProfileMsg) -> None: + existing = self._registry.get(msg.robot_name) + if existing is not None: + new_t = msg.pose.header.stamp.sec + msg.pose.header.stamp.nanosec * 1e-9 + old_t = existing.pose.header.stamp.sec + existing.pose.header.stamp.nanosec * 1e-9 + if new_t <= old_t: + return + self._registry[msg.robot_name] = msg + + def print_registry(self) -> None: + _clear() + domain = os.environ.get("ROS_DOMAIN_ID", "?") + now = time.strftime("%H:%M:%S") + print(f"{BOLD}Peer Registry {DIM}[domain={domain} {now}]{RESET}") + print("─" * 80) + + entries = sorted(self._registry.values(), key=lambda m: m.robot_name) + if self._filter: + entries = [e for e in entries if self._filter in e.robot_name.lower()] + + if not entries: + print(f" {DIM}(no peers seen yet){RESET}") + else: + for msg in entries: + src = "direct" if msg.source == 0 else f"relayed({msg.relay_hops}h)" + payload_summary = ( + f"{len(msg.payloads)} payload(s): " + + ", ".join(p.payload_type for p in msg.payloads) + if msg.payloads + else "no payloads" + ) + stamp_str = _fmt_stamp(msg.pose) + print(f" {CYAN}{BOLD}{msg.robot_name}{RESET} {DIM}[{src} stamp={stamp_str}]{RESET}") + print(f" {GREEN}pose {RESET} {_fmt_pose(msg.pose)}") + print(f" {YELLOW}waypoint{RESET} {_fmt_waypoint(msg.waypoint)}") + print(f" {DIM}payloads{RESET} {payload_summary}") + print() + + print(f"{DIM}Listening on /gossip/peers — Ctrl+C to quit{RESET}") + + +def main(): + parser = argparse.ArgumentParser(description="Live peer registry monitor") + parser.add_argument("--robot", default="", help="Filter by robot name (partial)") + parser.add_argument("--rate", type=float, default=2.0, help="Refresh rate Hz (default 2)") + args = parser.parse_args() + + rclpy.init() + node = RegistryMonitor(filter_name=args.robot) + interval = 1.0 / max(args.rate, 0.1) + + try: + while rclpy.ok(): + rclpy.spin_once(node, timeout_sec=interval) + node.print_registry() + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + rclpy.shutdown() + + +if __name__ == "__main__": + main() diff --git a/robot/ros_ws/src/coordination/coordination_bringup/setup.py b/robot/ros_ws/src/coordination/coordination_bringup/setup.py new file mode 100644 index 00000000..aa8c7c93 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/setup.py @@ -0,0 +1,29 @@ +from setuptools import find_packages, setup + +package_name = 'coordination_bringup' + +setup( + name=package_name, + version='0.0.0', + packages=find_packages(exclude=['test']), + data_files=[ + ('share/ament_index/resource_index/packages', + ['resource/' + package_name]), + ('share/' + package_name, ['package.xml']), + ('share/' + package_name + '/launch', ['launch/gossip.launch.xml']), + ('share/' + package_name + '/config', ['config/gossip_dds_router.yaml']), + ('lib/' + package_name, ['scripts/gossip_node', 'scripts/peer_registry_monitor.py']), + ], + install_requires=['setuptools'], + zip_safe=True, + maintainer='AirLab', + maintainer_email='airlab@andrew.cmu.edu', + description='Gossip-protocol multi-agent coordination layer for AirStack', + license='BSD-3-Clause', + tests_require=['pytest'], + entry_points={ + 'console_scripts': [ + 'gossip_node = coordination_bringup.gossip_node:main', + ], + }, +) diff --git a/robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt b/robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt new file mode 100644 index 00000000..b5f015f6 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.8) +project(coordination_msgs) + +find_package(ament_cmake REQUIRED) +find_package(rosidl_default_generators REQUIRED) +find_package(geometry_msgs REQUIRED) + +rosidl_generate_interfaces(${PROJECT_NAME} + "msg/PeerProfilePayload.msg" + "msg/PeerProfile.msg" + DEPENDENCIES geometry_msgs +) + +ament_export_dependencies(rosidl_default_runtime) +ament_package() diff --git a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg new file mode 100644 index 00000000..c8f78240 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg @@ -0,0 +1,22 @@ +# Gossip-protocol peer state broadcast. +# Each robot publishes one of these on /gossip/peers at its own rate. + +# Identity +string robot_name + +# Current pose (position + orientation) extracted from odometry_conversion/odometry +# pose.header.stamp carries the odometry timestamp +geometry_msgs/PoseStamped pose + +# Current navigation goal – last pose in the global planner's published path. +# All-zero header stamp signals that no plan is available yet (null waypoint). +geometry_msgs/PoseStamped waypoint + +# Gossip metadata +uint8 SOURCE_DIRECT = 0 +uint8 SOURCE_RELAYED = 1 +uint8 source # how this message reached us (unused in Phase 1, reserved) +uint8 relay_hops # number of relay hops (unused in Phase 1, reserved) + +# Arbitrary typed payloads – any number, any ROS message type +PeerProfilePayload[] payloads diff --git a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg new file mode 100644 index 00000000..4f0b909b --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg @@ -0,0 +1,6 @@ +# A single typed payload carried inside a PeerProfile. +# payload_type holds the fully-qualified ROS message type string, +# e.g. "nav_msgs/msg/OccupancyGrid". payload_data holds the +# serialized bytes produced by rclpy.serialization.serialize_message(). +string payload_type +uint8[] payload_data diff --git a/robot/ros_ws/src/coordination/coordination_msgs/package.xml b/robot/ros_ws/src/coordination/coordination_msgs/package.xml new file mode 100644 index 00000000..64d1236f --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_msgs/package.xml @@ -0,0 +1,22 @@ + + + + coordination_msgs + 0.0.0 + Custom message definitions for multi-agent gossip coordination layer + AirLab + BSD-3-Clause + + ament_cmake + rosidl_default_generators + + geometry_msgs + + rosidl_interface_packages + + rosidl_default_runtime + + + ament_cmake + + diff --git a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py new file mode 100644 index 00000000..38ba88bd --- /dev/null +++ b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py @@ -0,0 +1,304 @@ +#!/usr/bin/env python3 + +import carb +from isaacsim import SimulationApp + +# Start Isaac Sim's simulation environment (Must start this before importing omni modules) +simulation_app = SimulationApp({"headless": False}) + +import omni.kit.app +import omni.timeline +import omni.usd +import omni.client +import asyncio +import time + +from omni.isaac.core.world import World +from omni.isaac.core.objects import GroundPlane +from pxr import Gf, UsdGeom, UsdLux, Sdf, UsdPhysics + +# Pegasus imports +from pegasus.simulator.logic.interface.pegasus_interface import PegasusInterface +from pegasus.simulator.ogn.api.spawn_multirotor import spawn_px4_multirotor_node +from pegasus.simulator.ogn.api.spawn_zed_camera import add_zed_stereo_camera_subgraph +from pegasus.simulator.ogn.api.spawn_ouster_lidar import add_ouster_lidar_subgraph + + +# --------------------- CONFIGURATION --------------------- +NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" + +#env/stage path and scale +ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Stages/RetroNeighborhood/RetroNeighborhood.stage.usd" +STAGE_SCALE = 0.01 + +DRONE_USD = "~/.local/share/ov/data/documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" + +# Lighting +ADD_DOME_LIGHT = True +DOME_LIGHT_PATH = "/World/DomeLight" +DOME_LIGHT_INTENSITY = 3500.0 +DOME_LIGHT_EXPOSURE = -3.0 + +# Drone offset +SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 + +DRONE1_XY_M = (-3.0, 3.5) +DRONE2_XY_M = ( 3.0, 3.0) +DRONE3_XY_M = ( 0.0, -3.0) +# --------------------------------------------------------- + + +ext_manager = omni.kit.app.get_app().get_extension_manager() +for ext in [ + "omni.physx.forcefields", + "omni.graph.core", # Core runtime for OmniGraph engine + "omni.graph.action", # Action Graph framework + "omni.graph.action_nodes", # Built-in Action Graph node library + "omni.graph.ui", # UI scaffolding for graph tools + "omni.graph.visualization.nodes", # Visualization helper nodes + "omni.graph.scriptnode", # Python script node support + "omni.graph.window.action", # Action Graph editor window + "omni.graph.window.generic", # Generic graph UI tools + "omni.graph.ui_nodes", # UI node building helpers + "airlab.pegasus", # Airlab extension Pegasus core extension + "pegasus.simulator", +]: + if not ext_manager.is_extension_enabled(ext): + try: + ext_manager.set_extension_enabled_immediate(ext, True) + except Exception: + ext_manager.set_extension_enabled(ext, True) + + +def nucleus_stat(url: str) -> bool: + result, info = omni.client.stat(url) + return result == omni.client.Result.OK + + +def add_dome_light(stage): + if stage.GetPrimAtPath(DOME_LIGHT_PATH).IsValid(): + dome = UsdLux.DomeLight.Get(stage, DOME_LIGHT_PATH) + else: + dome = UsdLux.DomeLight.Define(stage, Sdf.Path(DOME_LIGHT_PATH)) + + dome.CreateIntensityAttr(DOME_LIGHT_INTENSITY) + dome.CreateExposureAttr(DOME_LIGHT_EXPOSURE) + + +def get_stage_scale(stage): + mpu = UsdGeom.GetStageMetersPerUnit(stage) + if mpu is None or mpu <= 0: + mpu = 1.0 + s = 1.0 / mpu + return mpu, s + + +def add_collision_to_prim(prim): + if prim.IsA(UsdGeom.Mesh): + if not prim.HasAPI(UsdPhysics.CollisionAPI): + UsdPhysics.CollisionAPI.Apply(prim) + print(f"Added collision to: {prim.GetPath()}") + + # Recursively process children + for child in prim.GetChildren(): + add_collision_to_prim(child) + + +class PegasusApp: + + def __init__(self): + omni.client.initialize() + nucleus_stat(f"omniverse://{NUCLEUS_SERVER}") + nucleus_stat(ENV_URL) + + # Timeline for controlling play/stop + self.timeline = omni.timeline.get_timeline_interface() + + # Start Pegasus interface + world + self.pg = PegasusInterface() + self.pg._world = World(**self.pg._world_settings) + self.world = self.pg.world + + # Load environment + self.pg.load_environment(ENV_URL) + + stage = omni.usd.get_context().get_stage() + if stage is None: + raise RuntimeError("Stage failed to load") + + # Wait for the stage to fully load + for _ in range(100): # Wait up to ~10 seconds + omni.kit.app.get_app().update() + world_prim = stage.GetPrimAtPath("/World") + if world_prim.IsValid(): + children = list(world_prim.GetChildren()) + # Check if we have more than just PhysicsScene + non_physics_children = [c for c in children if c.GetName() != "PhysicsScene"] + if len(non_physics_children) > 0: + break + time.sleep(0.1) + + world_prim = stage.GetPrimAtPath("/World") + + # Scale the /World/stage prim + stage_prim = stage.GetPrimAtPath("/World/stage") + if stage_prim.IsValid(): + xformable = UsdGeom.Xformable(stage_prim) + xformable.ClearXformOpOrder() + + translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) + translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) + + scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionDouble) + scale_op.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + + add_collision_to_prim(stage_prim) + print("Finished adding collisions.") + + # Let the app process the changes + for _ in range(10): + omni.kit.app.get_app().update() + + else: + print("Warning: /World/stage not found, environment not scaled") + + # Lighting + if ADD_DOME_LIGHT: + add_dome_light(stage) + + # Units + mpu, s = get_stage_scale(stage) + + drone1_pos = [DRONE1_XY_M[0] * s, DRONE1_XY_M[1] * s, SPAWN_HEIGHT_ABOVE_FLOOR_M * s] + drone2_pos = [DRONE2_XY_M[0] * s, DRONE2_XY_M[1] * s, SPAWN_HEIGHT_ABOVE_FLOOR_M * s] + drone3_pos = [DRONE3_XY_M[0] * s, DRONE3_XY_M[1] * s, SPAWN_HEIGHT_ABOVE_FLOOR_M * s] + + #################################################################################################### + # Spawn vehicle 1 + #################################################################################################### + graph_handle1 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_1", + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + vehicle_id=1, + domain_id=1, + usd_file=DRONE_USD, + init_pos=drone1_pos, + init_orient=[0.0, 0.0, 0.0, 1.0], + ) + + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle1, + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + camera_name="ZEDCamera", + camera_offset=[0.2, 0.0, -0.05], + camera_rotation_offset=[0.0, 0.0, 0.0], + ) + + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle1, + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range=0.75, + ) + + #################################################################################################### + # Spawn vehicle 2 + #################################################################################################### + graph_handle2 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_2", + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + vehicle_id=2, + domain_id=2, + usd_file=DRONE_USD, + init_pos=drone2_pos, + init_orient=[0.0, 0.0, 0.0, 1.0], + ) + + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle2, + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + camera_name="ZEDCamera", + camera_offset=[0.2, 0.0, -0.05], + camera_rotation_offset=[0.0, 0.0, 0.0], + ) + + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle2, + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range=0.75, + ) + + #################################################################################################### + # Spawn vehicle 3 + #################################################################################################### + graph_handle3 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_3", + drone_prim="/World/drone3/base_link", + robot_name="robot_3", + vehicle_id=3, + domain_id=3, + usd_file=DRONE_USD, + init_pos=drone3_pos, + init_orient=[0.0, 0.0, 0.0, 1.0], + ) + + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle3, + drone_prim="/World/drone3/base_link", + robot_name="robot_3", + camera_name="ZEDCamera", + camera_offset=[0.2, 0.0, -0.05], + camera_rotation_offset=[0.0, 0.0, 0.0], + ) + + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle3, + drone_prim="/World/drone3/base_link", + robot_name="robot_3", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range=0.75, + ) + + # Reset so physics/articulations are ready + self.world.reset() + + self.stop_sim = False + + def run(self): + # Start sim timeline + self.timeline.play() + + # Main loop + while simulation_app.is_running() and not self.stop_sim: + try: + self.world.step(render=True) + except Exception as e: + carb.log_error(f"Error during simulation step: {e}") + break + + # Cleanup + carb.log_warn("PegasusApp Simulation App is closing.") + self.timeline.stop() + simulation_app.close() + + +def main(): + pg_app = PegasusApp() + pg_app.run() + + +if __name__ == "__main__": + main() From 45dd5e8211296a09035c7c20b73cbf77dddcf07b Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 16 Mar 2026 00:17:17 -0400 Subject: [PATCH 09/55] added global coords under /{ROBOT_NAME}/interface/mavros/global_position/raw/fix(not my topic, it was already publishing to that) --- .../isaac-sim/launch_scripts/gps_utils.py | 88 +++++++++ .../three_drone_scene_import.py | 170 +++++++----------- 2 files changed, 150 insertions(+), 108 deletions(-) create mode 100644 simulation/isaac-sim/launch_scripts/gps_utils.py diff --git a/simulation/isaac-sim/launch_scripts/gps_utils.py b/simulation/isaac-sim/launch_scripts/gps_utils.py new file mode 100644 index 00000000..4fdac957 --- /dev/null +++ b/simulation/isaac-sim/launch_scripts/gps_utils.py @@ -0,0 +1,88 @@ +""" +GPS origin utilities for AirStack multi-drone simulation. + +Computes per-robot GPS origins from Isaac Sim world-frame spawn positions and +sets them as process environment variables so the OmniGraph PX4 node picks them +up when building each vehicle's PX4MavlinkBackendConfig. + +Usage in a scene script: + from utils.gps_utils import set_gps_origins, DEFAULT_WORLD_ORIGIN + + DRONE_CONFIGS = [ + {"domain_id": 1, "x_m": -3.0, "y_m": 3.5, "z_m": 0.15, "orient": [0, 0, 0, 1]}, + {"domain_id": 2, "x_m": 3.0, "y_m": 3.0, "z_m": 0.15, "orient": [0, 0, 0, 1]}, + ] + set_gps_origins(DRONE_CONFIGS) +""" + +import math +import os + +# GPS coordinates that correspond to world origin (0, 0, 0) in the simulation. +# Zurich default matches the existing px4_config.yaml hardcoded values. +DEFAULT_WORLD_ORIGIN = (47.3667, 8.5500, 408.0) # (lat_deg, lon_deg, alt_m WGS-84) + + +def compute_gps_origin(x_m, y_m, z_m, world_origin=DEFAULT_WORLD_ORIGIN): + """ + Convert a world-frame spawn position (meters) to a GPS geo_origin. + + Axis convention assumed (Isaac Sim stage, Z-up ENU): + +X = East → affects longitude + +Y = North → affects latitude + +Z = Up → affects altitude + + NOTE: If drones appear shifted in the wrong compass direction after testing, + swap the x_m and y_m assignments in delta_lat / delta_lon below. + + Args: + x_m: spawn X position in world-frame meters + y_m: spawn Y position in world-frame meters + z_m: spawn Z position in world-frame meters (height above world origin) + world_origin: (lat_deg, lon_deg, alt_m) that world (0,0,0) maps to + + Returns: + (lat_deg, lon_deg, alt_m) — the GPS home position for this robot + """ + base_lat, base_lon, base_alt = world_origin + delta_lat = y_m / 111320.0 + delta_lon = x_m / (111320.0 * math.cos(math.radians(base_lat))) + return (base_lat + delta_lat, base_lon + delta_lon, base_alt + z_m) + + +def set_gps_origins(drone_configs, world_origin=DEFAULT_WORLD_ORIGIN): + """ + Compute GPS origins for all drones and set them as process environment variables. + + Called once at the start of a scene script before spawning vehicles. + Sets PX4_HOME_LAT_, PX4_HOME_LON_, PX4_HOME_ALT_ + in the current process so the OmniGraph PX4 node reads them when building + PX4MavlinkBackendConfig, which passes them to PX4LaunchTool as PX4_HOME_LAT/LON/ALT + on the PX4 subprocess environment. + + Args: + drone_configs: list of dicts, one per drone: + [ + { + "domain_id": int, # matches vehicle_id passed to spawn_px4_multirotor_node + "x_m": float, # world-frame spawn East (meters) + "y_m": float, # world-frame spawn North (meters) + "z_m": float, # world-frame spawn Up (meters) + "orient": list, # quaternion [x, y, z, w] + }, + ... + ] + world_origin: (lat_deg, lon_deg, alt_m) for world (0, 0, 0). + """ + print(f"[gps_utils] World anchor: lat={world_origin[0]}, lon={world_origin[1]}, alt={world_origin[2]}") + + for cfg in drone_configs: + domain_id = cfg["domain_id"] + lat, lon, alt = compute_gps_origin(cfg["x_m"], cfg["y_m"], cfg["z_m"], world_origin) + + os.environ[f"PX4_HOME_LAT_{domain_id}"] = str(lat) + os.environ[f"PX4_HOME_LON_{domain_id}"] = str(lon) + os.environ[f"PX4_HOME_ALT_{domain_id}"] = str(alt) + + print(f"[gps_utils] domain_id={domain_id}: " + f"lat={lat:.7f}, lon={lon:.7f}, alt={alt:.2f}") diff --git a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py index 38ba88bd..ed5840ec 100644 --- a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py @@ -1,5 +1,8 @@ #!/usr/bin/env python3 +import sys +import os + import carb from isaacsim import SimulationApp @@ -23,11 +26,17 @@ from pegasus.simulator.ogn.api.spawn_zed_camera import add_zed_stereo_camera_subgraph from pegasus.simulator.ogn.api.spawn_ouster_lidar import add_ouster_lidar_subgraph +# gps_utils lives in the same directory as this script +_LAUNCH_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) +if _LAUNCH_SCRIPTS_DIR not in sys.path: + sys.path.insert(0, _LAUNCH_SCRIPTS_DIR) +from gps_utils import set_gps_origins, DEFAULT_WORLD_ORIGIN + # --------------------- CONFIGURATION --------------------- NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" -#env/stage path and scale +# env/stage path and scale ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Stages/RetroNeighborhood/RetroNeighborhood.stage.usd" STAGE_SCALE = 0.01 @@ -39,12 +48,21 @@ DOME_LIGHT_INTENSITY = 3500.0 DOME_LIGHT_EXPOSURE = -3.0 -# Drone offset -SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 +# GPS world anchor: what world (0, 0, 0) maps to in real GPS coordinates. +# Matches the Zürich default in px4_config.yaml — change here to relocate the sim world. +WORLD_GPS_ORIGIN = DEFAULT_WORLD_ORIGIN -DRONE1_XY_M = (-3.0, 3.5) -DRONE2_XY_M = ( 3.0, 3.0) -DRONE3_XY_M = ( 0.0, -3.0) +# Drone spawn configs. +# x_m = East offset from world origin (meters) +# y_m = North offset from world origin (meters) +# z_m = Up offset / height above floor (meters) +# orient = initial quaternion [x, y, z, w] +SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 +DRONE_CONFIGS = [ + {"domain_id": 1, "x_m": -3.0, "y_m": 3.5, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, 0.0, 1.0]}, + {"domain_id": 2, "x_m": 3.0, "y_m": 3.0, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, 0.0, 1.0]}, + {"domain_id": 3, "x_m": 0.0, "y_m": -3.0, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, 0.0, 1.0]}, +] # --------------------------------------------------------- @@ -107,6 +125,10 @@ def add_collision_to_prim(prim): class PegasusApp: def __init__(self): + # Write GPS origins immediately so robot containers can read them + # before this container finishes its heavy USD loading. + set_gps_origins(DRONE_CONFIGS, world_origin=WORLD_GPS_ORIGIN) + omni.client.initialize() nucleus_stat(f"omniverse://{NUCLEUS_SERVER}") nucleus_stat(ENV_URL) @@ -169,108 +191,40 @@ def __init__(self): # Units mpu, s = get_stage_scale(stage) - drone1_pos = [DRONE1_XY_M[0] * s, DRONE1_XY_M[1] * s, SPAWN_HEIGHT_ABOVE_FLOOR_M * s] - drone2_pos = [DRONE2_XY_M[0] * s, DRONE2_XY_M[1] * s, SPAWN_HEIGHT_ABOVE_FLOOR_M * s] - drone3_pos = [DRONE3_XY_M[0] * s, DRONE3_XY_M[1] * s, SPAWN_HEIGHT_ABOVE_FLOOR_M * s] - - #################################################################################################### - # Spawn vehicle 1 - #################################################################################################### - graph_handle1 = spawn_px4_multirotor_node( - pegasus_node_name="PX4Multirotor_1", - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - vehicle_id=1, - domain_id=1, - usd_file=DRONE_USD, - init_pos=drone1_pos, - init_orient=[0.0, 0.0, 0.0, 1.0], - ) - - add_zed_stereo_camera_subgraph( - parent_graph_handle=graph_handle1, - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - camera_name="ZEDCamera", - camera_offset=[0.2, 0.0, -0.05], - camera_rotation_offset=[0.0, 0.0, 0.0], - ) - - add_ouster_lidar_subgraph( - parent_graph_handle=graph_handle1, - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - lidar_name="OS1_REV6_128_10hz___512_resolution", - lidar_offset=[0.0, 0.0, 0.025], - lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range=0.75, - ) - - #################################################################################################### - # Spawn vehicle 2 - #################################################################################################### - graph_handle2 = spawn_px4_multirotor_node( - pegasus_node_name="PX4Multirotor_2", - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - vehicle_id=2, - domain_id=2, - usd_file=DRONE_USD, - init_pos=drone2_pos, - init_orient=[0.0, 0.0, 0.0, 1.0], - ) - - add_zed_stereo_camera_subgraph( - parent_graph_handle=graph_handle2, - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - camera_name="ZEDCamera", - camera_offset=[0.2, 0.0, -0.05], - camera_rotation_offset=[0.0, 0.0, 0.0], - ) - - add_ouster_lidar_subgraph( - parent_graph_handle=graph_handle2, - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - lidar_name="OS1_REV6_128_10hz___512_resolution", - lidar_offset=[0.0, 0.0, 0.025], - lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range=0.75, - ) - - #################################################################################################### - # Spawn vehicle 3 - #################################################################################################### - graph_handle3 = spawn_px4_multirotor_node( - pegasus_node_name="PX4Multirotor_3", - drone_prim="/World/drone3/base_link", - robot_name="robot_3", - vehicle_id=3, - domain_id=3, - usd_file=DRONE_USD, - init_pos=drone3_pos, - init_orient=[0.0, 0.0, 0.0, 1.0], - ) - - add_zed_stereo_camera_subgraph( - parent_graph_handle=graph_handle3, - drone_prim="/World/drone3/base_link", - robot_name="robot_3", - camera_name="ZEDCamera", - camera_offset=[0.2, 0.0, -0.05], - camera_rotation_offset=[0.0, 0.0, 0.0], - ) - - add_ouster_lidar_subgraph( - parent_graph_handle=graph_handle3, - drone_prim="/World/drone3/base_link", - robot_name="robot_3", - lidar_name="OS1_REV6_128_10hz___512_resolution", - lidar_offset=[0.0, 0.0, 0.025], - lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range=0.75, - ) + # Spawn all drones + for cfg in DRONE_CONFIGS: + i = cfg["domain_id"] + pos = [cfg["x_m"] * s, cfg["y_m"] * s, cfg["z_m"] * s] + + graph_handle = spawn_px4_multirotor_node( + pegasus_node_name=f"PX4Multirotor_{i}", + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + vehicle_id=i, + domain_id=i, + usd_file=DRONE_USD, + init_pos=pos, + init_orient=cfg["orient"], + ) + + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle, + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + camera_name="ZEDCamera", + camera_offset=[0.2, 0.0, -0.05], + camera_rotation_offset=[0.0, 0.0, 0.0], + ) + + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle, + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range=0.75, + ) # Reset so physics/articulations are ready self.world.reset() From 8729411a3f6ef0eb4f07d92fcd7bedd1edb5f7cf Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Fri, 20 Mar 2026 17:51:56 -0400 Subject: [PATCH 10/55] gossip, threedrone,peerprofile --- .../coordination_bringup/gossip_node.py | 31 +++++++++++++------ .../coordination_bringup/peer_profile.py | 30 +++++++++++------- .../coordination_bringup/package.xml | 1 + .../scripts/peer_registry_monitor.py | 29 +++++++++++------ .../coordination_msgs/CMakeLists.txt | 3 +- .../coordination_msgs/msg/PeerProfile.msg | 9 ++++-- .../coordination_msgs/package.xml | 1 + .../perception/macvo_ros2/macvo_ros2/macvo | 2 +- .../three_drone_scene_import.py | 2 +- 9 files changed, 70 insertions(+), 38 deletions(-) diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py index 1c8c258d..d979e099 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py @@ -4,7 +4,7 @@ ROS 2 node that implements the gossip-protocol coordination layer. Each robot: - - Subscribes to its own odometry and global plan + - Subscribes to its own GPS fix (NavSatFix) and compass heading, and global plan - Publishes its own PeerProfile to /gossip/peers (shared gossip domain via DDS Router) - Subscribes to /gossip/peers to receive all peer profiles - Maintains a registry of known peers (latest-wins, no expiry) @@ -28,7 +28,9 @@ QoSReliabilityPolicy, ) -from nav_msgs.msg import Odometry, Path +from nav_msgs.msg import Path +from sensor_msgs.msg import NavSatFix +from std_msgs.msg import Float64 from coordination_msgs.msg import PeerProfile as PeerProfileMsg from coordination_bringup.peer_profile import PeerProfile @@ -70,10 +72,16 @@ def __init__(self): self._registry: dict[str, PeerProfileMsg] = {} # ── Subscriptions ──────────────────────────────────────────────── - self._odom_sub = self.create_subscription( - Odometry, - f"/{self._robot_name}/odometry_conversion/odometry", - self._on_odom, + self._navsat_sub = self.create_subscription( + NavSatFix, + f"/{self._robot_name}/interface/mavros/global_position/raw/fix", + self._on_navsat, + GOSSIP_QOS, + ) + self._compass_sub = self.create_subscription( + Float64, + f"/{self._robot_name}/interface/mavros/global_position/compass_hdg", + self._on_compass, GOSSIP_QOS, ) self._path_sub = self.create_subscription( @@ -121,8 +129,11 @@ def __init__(self): # Subscription callbacks # # ------------------------------------------------------------------ # - def _on_odom(self, msg: Odometry) -> None: - self._profile.set_pose_from_odom(msg) + def _on_navsat(self, msg: NavSatFix) -> None: + self._profile.set_gps_from_navsat(msg) + + def _on_compass(self, msg: Float64) -> None: + self._profile.set_heading(msg.data) def _on_global_plan(self, msg: Path) -> None: self._profile.set_waypoint_from_path(msg) @@ -152,8 +163,8 @@ def _update_registry(self, msg: PeerProfileMsg) -> None: existing = self._registry.get(msg.robot_name) if existing is not None: # Only update if the incoming message is newer - new_stamp = msg.pose.header.stamp.sec + msg.pose.header.stamp.nanosec * 1e-9 - old_stamp = existing.pose.header.stamp.sec + existing.pose.header.stamp.nanosec * 1e-9 + new_stamp = msg.gps_fix.header.stamp.sec + msg.gps_fix.header.stamp.nanosec * 1e-9 + old_stamp = existing.gps_fix.header.stamp.sec + existing.gps_fix.header.stamp.nanosec * 1e-9 if new_stamp <= old_stamp: return diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py index a7c4bbe3..b589f37c 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py @@ -8,7 +8,8 @@ ----- # Basic – just use the base class profile = PeerProfile("robot_1") -profile.set_pose_from_odom(odom_msg) +profile.set_gps_from_navsat(navsat_msg) +profile.set_heading(compass_hdg_msg.data) profile.set_waypoint_from_path(path_msg) ros_msg = profile.to_ros_msg() @@ -36,7 +37,8 @@ def attach_frontier(self, frontier_msg): import rosidl_runtime_py.utilities as rosidl_utils from geometry_msgs.msg import PoseStamped -from nav_msgs.msg import Odometry, Path +from nav_msgs.msg import Path +from sensor_msgs.msg import NavSatFix from coordination_msgs.msg import PeerProfile as PeerProfileMsg from coordination_msgs.msg import PeerProfilePayload as PeerProfilePayloadMsg @@ -58,7 +60,8 @@ class PeerProfile: """ robot_name: str - pose: PoseStamped = field(default_factory=PoseStamped) + gps_fix: NavSatFix = field(default_factory=NavSatFix) + heading: float = 0.0 # degrees clockwise from North (0-360) waypoint: PoseStamped = field(default_factory=PoseStamped) source: Source = Source.DIRECT relay_hops: int = 0 @@ -67,15 +70,16 @@ class PeerProfile: _payloads: List[Dict[str, Any]] = field(default_factory=list, repr=False) # ------------------------------------------------------------------ # - # Pose / waypoint helpers # + # GPS / waypoint helpers # # ------------------------------------------------------------------ # - def set_pose_from_odom(self, odom: Odometry) -> None: - """Extract pose (position + orientation) from an Odometry message.""" - stamped = PoseStamped() - stamped.header = odom.header - stamped.pose = odom.pose.pose - self.pose = stamped + def set_gps_from_navsat(self, msg: NavSatFix) -> None: + """Store GPS fix from a sensor_msgs/NavSatFix message.""" + self.gps_fix = msg + + def set_heading(self, degrees: float) -> None: + """Set heading in degrees clockwise from North (0-360).""" + self.heading = float(degrees) def set_waypoint_from_path(self, path: Optional[Path]) -> None: """ @@ -140,7 +144,8 @@ def payload_types(self) -> List[str]: def to_ros_msg(self) -> PeerProfileMsg: msg = PeerProfileMsg() msg.robot_name = self.robot_name - msg.pose = self.pose + msg.gps_fix = self.gps_fix + msg.heading = self.heading msg.waypoint = self.waypoint msg.source = int(self.source) msg.relay_hops = self.relay_hops @@ -153,7 +158,8 @@ def to_ros_msg(self) -> PeerProfileMsg: @classmethod def from_ros_msg(cls, msg: PeerProfileMsg) -> "PeerProfile": profile = cls(robot_name=msg.robot_name) - profile.pose = msg.pose + profile.gps_fix = msg.gps_fix + profile.heading = msg.heading profile.waypoint = msg.waypoint profile.source = Source(msg.source) profile.relay_hops = msg.relay_hops diff --git a/robot/ros_ws/src/coordination/coordination_bringup/package.xml b/robot/ros_ws/src/coordination/coordination_bringup/package.xml index 46666053..f9482e5a 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/package.xml +++ b/robot/ros_ws/src/coordination/coordination_bringup/package.xml @@ -10,6 +10,7 @@ rclpy nav_msgs geometry_msgs + sensor_msgs coordination_msgs ament_copyright diff --git a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py index a0fa038e..8af1b3ee 100755 --- a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py @@ -44,10 +44,19 @@ DIM = "\033[2m" -def _fmt_pose(pose_stamped) -> str: - p = pose_stamped.pose.position - o = pose_stamped.pose.orientation - return f"pos=({p.x:7.2f}, {p.y:7.2f}, {p.z:7.2f}) orient=({o.x:.3f}, {o.y:.3f}, {o.z:.3f}, {o.w:.3f})" +def _fmt_gps(gps_fix, heading: float) -> str: + from sensor_msgs.msg import NavSatStatus + status = gps_fix.status.status + status_str = { + NavSatStatus.STATUS_NO_FIX: "NO_FIX", + NavSatStatus.STATUS_FIX: "FIX", + NavSatStatus.STATUS_SBAS_FIX: "SBAS", + NavSatStatus.STATUS_GBAS_FIX: "GBAS", + }.get(status, f"?{status}") + return ( + f"lat={gps_fix.latitude:11.7f} lon={gps_fix.longitude:11.7f} " + f"alt={gps_fix.altitude:7.2f}m hdg={heading:6.1f}° [{status_str}]" + ) def _fmt_waypoint(pose_stamped) -> str: @@ -59,8 +68,8 @@ def _fmt_waypoint(pose_stamped) -> str: return f"pos=({p.x:7.2f}, {p.y:7.2f}, {p.z:7.2f}) orient=({o.x:.3f}, {o.y:.3f}, {o.z:.3f}, {o.w:.3f})" -def _fmt_stamp(pose_stamped) -> str: - s = pose_stamped.header.stamp +def _fmt_stamp(gps_fix) -> str: + s = gps_fix.header.stamp if s.sec == 0 and s.nanosec == 0: return "n/a" t = s.sec + s.nanosec * 1e-9 @@ -89,8 +98,8 @@ def __init__(self, filter_name: str = ""): def _on_msg(self, msg: PeerProfileMsg) -> None: existing = self._registry.get(msg.robot_name) if existing is not None: - new_t = msg.pose.header.stamp.sec + msg.pose.header.stamp.nanosec * 1e-9 - old_t = existing.pose.header.stamp.sec + existing.pose.header.stamp.nanosec * 1e-9 + new_t = msg.gps_fix.header.stamp.sec + msg.gps_fix.header.stamp.nanosec * 1e-9 + old_t = existing.gps_fix.header.stamp.sec + existing.gps_fix.header.stamp.nanosec * 1e-9 if new_t <= old_t: return self._registry[msg.robot_name] = msg @@ -117,9 +126,9 @@ def print_registry(self) -> None: if msg.payloads else "no payloads" ) - stamp_str = _fmt_stamp(msg.pose) + stamp_str = _fmt_stamp(msg.gps_fix) print(f" {CYAN}{BOLD}{msg.robot_name}{RESET} {DIM}[{src} stamp={stamp_str}]{RESET}") - print(f" {GREEN}pose {RESET} {_fmt_pose(msg.pose)}") + print(f" {GREEN}gps {RESET} {_fmt_gps(msg.gps_fix, msg.heading)}") print(f" {YELLOW}waypoint{RESET} {_fmt_waypoint(msg.waypoint)}") print(f" {DIM}payloads{RESET} {payload_summary}") print() diff --git a/robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt b/robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt index b5f015f6..ffb9e823 100644 --- a/robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt +++ b/robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt @@ -4,11 +4,12 @@ project(coordination_msgs) find_package(ament_cmake REQUIRED) find_package(rosidl_default_generators REQUIRED) find_package(geometry_msgs REQUIRED) +find_package(sensor_msgs REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} "msg/PeerProfilePayload.msg" "msg/PeerProfile.msg" - DEPENDENCIES geometry_msgs + DEPENDENCIES geometry_msgs sensor_msgs ) ament_export_dependencies(rosidl_default_runtime) diff --git a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg index c8f78240..f85b537f 100644 --- a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg +++ b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg @@ -4,9 +4,12 @@ # Identity string robot_name -# Current pose (position + orientation) extracted from odometry_conversion/odometry -# pose.header.stamp carries the odometry timestamp -geometry_msgs/PoseStamped pose +# Current GPS position from interface/mavros/global_position/raw/fix +# gps_fix.header.stamp carries the NavSatFix timestamp +sensor_msgs/NavSatFix gps_fix + +# Heading in degrees clockwise from North (0-360), from compass_hdg +float64 heading # Current navigation goal – last pose in the global planner's published path. # All-zero header stamp signals that no plan is available yet (null waypoint). diff --git a/robot/ros_ws/src/coordination/coordination_msgs/package.xml b/robot/ros_ws/src/coordination/coordination_msgs/package.xml index 64d1236f..27108aa0 100644 --- a/robot/ros_ws/src/coordination/coordination_msgs/package.xml +++ b/robot/ros_ws/src/coordination/coordination_msgs/package.xml @@ -11,6 +11,7 @@ rosidl_default_generators geometry_msgs + sensor_msgs rosidl_interface_packages diff --git a/robot/ros_ws/src/perception/macvo_ros2/macvo_ros2/macvo b/robot/ros_ws/src/perception/macvo_ros2/macvo_ros2/macvo index 92a191dc..8683b532 160000 --- a/robot/ros_ws/src/perception/macvo_ros2/macvo_ros2/macvo +++ b/robot/ros_ws/src/perception/macvo_ros2/macvo_ros2/macvo @@ -1 +1 @@ -Subproject commit 92a191dc601ec71c8d1c1a19b55b3a900103595c +Subproject commit 8683b532d6f6e8981f6b1a646fb5f52f02c1ea61 diff --git a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py index ed5840ec..ef084ab3 100644 --- a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py @@ -223,7 +223,7 @@ def __init__(self): lidar_name="OS1_REV6_128_10hz___512_resolution", lidar_offset=[0.0, 0.0, 0.025], lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range=0.75, + lidar_min_range=2.0, ) # Reset so physics/articulations are ready From 9d66ab82242e5e38dfcd0a7be715278ed06e0e9b Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Sat, 21 Mar 2026 19:08:01 -0400 Subject: [PATCH 11/55] multi drone vis in foxglove, odom doesn't work in foxglove yet --- .../desktop_bringup/launch/gcs.launch.xml | 3 + .../msgs/airstack_msgs/msg/BeliefMapData.msg | 10 + .../gcs_visualizer/gcs_visualizer/__init__.py | 0 .../gcs_visualizer/robot_marker_node.py | 223 ++++++++++++++++++ .../launch/gcs_visualizer.launch.xml | 7 + gcs/ros_ws/src/gcs_visualizer/package.xml | 26 ++ .../gcs_visualizer/resource/gcs_visualizer | 0 gcs/ros_ws/src/gcs_visualizer/setup.cfg | 4 + gcs/ros_ws/src/gcs_visualizer/setup.py | 28 +++ .../onboard_all/config/dds_router.yaml | 2 +- .../isaac-sim/launch_scripts/gps_utils.py | 4 +- 11 files changed, 304 insertions(+), 3 deletions(-) create mode 100644 common/ros_packages/msgs/airstack_msgs/msg/BeliefMapData.msg create mode 100644 gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/__init__.py create mode 100644 gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py create mode 100644 gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml create mode 100644 gcs/ros_ws/src/gcs_visualizer/package.xml create mode 100644 gcs/ros_ws/src/gcs_visualizer/resource/gcs_visualizer create mode 100644 gcs/ros_ws/src/gcs_visualizer/setup.cfg create mode 100644 gcs/ros_ws/src/gcs_visualizer/setup.py diff --git a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml index ac3dd2f2..ee09563f 100644 --- a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml +++ b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml @@ -30,6 +30,9 @@ + + + \ No newline at end of file diff --git a/common/ros_packages/msgs/airstack_msgs/msg/BeliefMapData.msg b/common/ros_packages/msgs/airstack_msgs/msg/BeliefMapData.msg new file mode 100644 index 00000000..22f5162d --- /dev/null +++ b/common/ros_packages/msgs/airstack_msgs/msg/BeliefMapData.msg @@ -0,0 +1,10 @@ +# serialized BeliefMap data +# assumes same origin, same grid resolution + +int16 x_start # cell number relative to the origin. max int16 is 32767, so this is a reasonable assumption +int16 y_start +int32 x_end # if we break things up in the future, could assume always square and remove this +int32 y_end # if we break things up in the future, could assume always square and remove this + +uint16[] map_values # between 0 and 1, 65535 values, precision of 0.000015 + diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/__init__.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py new file mode 100644 index 00000000..4435d5fa --- /dev/null +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py @@ -0,0 +1,223 @@ +import math +import re + +import rclpy +from rclpy.node import Node +from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy +from sensor_msgs.msg import NavSatFix +from nav_msgs.msg import Odometry +from visualization_msgs.msg import Marker, MarkerArray +from builtin_interfaces.msg import Duration +from geometry_msgs.msg import TransformStamped +from tf2_ros import StaticTransformBroadcaster, TransformBroadcaster + +# Lisbon — matches Pegasus configs.yaml and gps_utils.py DEFAULT_WORLD_ORIGIN +ORIGIN_LAT = 38.736832 +ORIGIN_LON = -9.137977 +ORIGIN_ALT = 90.0 + +SENSOR_QOS = QoSProfile( + reliability=ReliabilityPolicy.BEST_EFFORT, + durability=DurabilityPolicy.VOLATILE, + history=HistoryPolicy.KEEP_LAST, + depth=10, +) + +GPS_SUFFIX = '/interface/mavros/global_position/global' +ODOM_SUFFIX = '/odometry_conversion/odometry' + +ROBOT_COLORS = [ + (1.0, 0.2, 0.2), # red + (0.2, 1.0, 0.2), # green + (0.2, 0.2, 1.0), # blue +] + +# OBJ -> ROS axis correction quaternion (belly -Z, nose +X) +AXIS_CORRECTION = (-0.5, -0.5, 0.5, 0.5) # x, y, z, w + + +def gps_to_enu(lat, lon, alt, alt_ground): + """Convert GPS lat/lon/alt to ENU metres relative to Lisbon origin. z is relative to first fix.""" + x = (lon - ORIGIN_LON) * 111320.0 * math.cos(math.radians(ORIGIN_LAT)) + y = (lat - ORIGIN_LAT) * 111320.0 + z = alt - alt_ground + return x, y, z + + +def multiply_quaternions(q1, q2): + """Hamilton product q1 * q2 (apply q2 first, then q1). Both are (x,y,z,w) tuples.""" + x1, y1, z1, w1 = q1 + x2, y2, z2, w2 = q2 + return ( + w1*x2 + x1*w2 + y1*z2 - z1*y2, + w1*y2 - x1*z2 + y1*w2 + z1*x2, + w1*z2 + x1*y2 - y1*x2 + z1*w2, + w1*w2 - x1*x2 - y1*y2 - z1*z2, + ) + + +class RobotMarkerNode(Node): + def __init__(self): + super().__init__('robot_marker_node') + + self.declare_parameter('robot_name_prefix', 'robot') + self._prefix = self.get_parameter('robot_name_prefix').value + self._gps_pattern = re.compile( + rf'^/({re.escape(self._prefix)}_\w+){re.escape(GPS_SUFFIX)}$' + ) + self._odom_pattern = re.compile( + rf'^/({re.escape(self._prefix)}_\w+){re.escape(ODOM_SUFFIX)}$' + ) + + self._gps_positions = {} # robot_name -> (x, y, z) ENU metres + self._orientations = {} # robot_name -> (x, y, z, w) from odometry + self._subscribed_gps = set() + self._subscribed_odom = set() + self._alt_ground = None # altitude of first fix, used as z=0 reference + + self._pub = self.create_publisher(MarkerArray, '/gcs/robot_markers', 10) + + # Broadcast map as root TF frame so Foxglove 3D panel has a display frame + self._static_tf = StaticTransformBroadcaster(self) + self._dynamic_tf = TransformBroadcaster(self) + map_tf = TransformStamped() + map_tf.header.stamp = self.get_clock().now().to_msg() + map_tf.header.frame_id = 'map' + map_tf.child_frame_id = 'enu_origin' + map_tf.transform.rotation.w = 1.0 + self._static_tf.sendTransform(map_tf) + + self.create_timer(5.0, self._discover_robots) + self.create_timer(0.1, self._publish_markers) + self._discover_robots() + + def _discover_robots(self): + for topic, type_list in self.get_topic_names_and_types(): + if topic not in self._subscribed_gps: + m = self._gps_pattern.match(topic) + if m and 'sensor_msgs/msg/NavSatFix' in type_list: + name = m.group(1) + self.create_subscription( + NavSatFix, topic, + lambda msg, n=name: self._gps_callback(msg, n), + SENSOR_QOS, + ) + self._subscribed_gps.add(topic) + self.get_logger().info(f'Subscribed to GPS: {topic}') + + if topic not in self._subscribed_odom: + m = self._odom_pattern.match(topic) + if m and 'nav_msgs/msg/Odometry' in type_list: + name = m.group(1) + self.create_subscription( + Odometry, topic, + lambda msg, n=name: self._odom_callback(msg, n), + SENSOR_QOS, + ) + self._subscribed_odom.add(topic) + self.get_logger().info(f'Subscribed to odom: {topic}') + + def _gps_callback(self, msg: NavSatFix, robot_name: str): + if msg.status.status < 0: + return + if self._alt_ground is None: + self._alt_ground = msg.altitude + self._gps_positions[robot_name] = gps_to_enu(msg.latitude, msg.longitude, msg.altitude, self._alt_ground) + + def _odom_callback(self, msg: Odometry, robot_name: str): + o = msg.pose.pose.orientation + self._orientations[robot_name] = (o.x, o.y, o.z, o.w) + + def _publish_markers(self): + if not self._gps_positions: + return + + array = MarkerArray() + now = self.get_clock().now().to_msg() + lifetime = Duration(sec=1, nanosec=0) + + for i, robot_name in enumerate(sorted(self._gps_positions.keys())): + color = ROBOT_COLORS[i % len(ROBOT_COLORS)] + x, y, z = self._gps_positions[robot_name] + orientation = self._orientations.get(robot_name) # (x,y,z,w) or None + + # --- Mesh marker --- + mesh = Marker() + mesh.header.frame_id = 'map' + mesh.header.stamp = now + mesh.ns = 'robot_meshes' + mesh.id = i * 3 + mesh.type = Marker.MESH_RESOURCE + mesh.action = Marker.ADD + mesh.mesh_resource = 'package://robot_descriptions/iris/meshes/base_link_body_body.obj' + mesh.pose.position.x = x + mesh.pose.position.y = y + mesh.pose.position.z = z + if orientation: + qx, qy, qz, qw = multiply_quaternions(orientation, AXIS_CORRECTION) + else: + qx, qy, qz, qw = AXIS_CORRECTION + mesh.pose.orientation.x = qx + mesh.pose.orientation.y = qy + mesh.pose.orientation.z = qz + mesh.pose.orientation.w = qw + mesh.scale.x = mesh.scale.y = mesh.scale.z = 1.0 + mesh.color.r = color[0] + mesh.color.g = color[1] + mesh.color.b = color[2] + mesh.color.a = 0.9 + mesh.lifetime = lifetime + array.markers.append(mesh) + + # --- Label marker --- + label = Marker() + label.header.frame_id = 'map' + label.header.stamp = now + label.ns = 'robot_labels' + label.id = i * 3 + 1 + label.type = Marker.TEXT_VIEW_FACING + label.action = Marker.ADD + label.pose.position.x = x + label.pose.position.y = y + label.pose.position.z = z + 1.0 + label.pose.orientation.w = 1.0 + label.scale.z = 0.5 + label.color.r = label.color.g = label.color.b = label.color.a = 1.0 + label.text = robot_name + label.lifetime = lifetime + array.markers.append(label) + + # --- TF: map -> robot_N/robot_pose --- + tf = TransformStamped() + tf.header.stamp = now + tf.header.frame_id = 'map' + tf.child_frame_id = f'{robot_name}/robot_pose' + tf.transform.translation.x = x + tf.transform.translation.y = y + tf.transform.translation.z = z + if orientation: + tf.transform.rotation.x = orientation[0] + tf.transform.rotation.y = orientation[1] + tf.transform.rotation.z = orientation[2] + tf.transform.rotation.w = orientation[3] + else: + tf.transform.rotation.w = 1.0 + self._dynamic_tf.sendTransform(tf) + + self._pub.publish(array) + + +def main(args=None): + rclpy.init(args=args) + node = RobotMarkerNode() + try: + rclpy.spin(node) + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + rclpy.shutdown() + + +if __name__ == '__main__': + main() diff --git a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml new file mode 100644 index 00000000..9930c773 --- /dev/null +++ b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/gcs/ros_ws/src/gcs_visualizer/package.xml b/gcs/ros_ws/src/gcs_visualizer/package.xml new file mode 100644 index 00000000..7872ebbc --- /dev/null +++ b/gcs/ros_ws/src/gcs_visualizer/package.xml @@ -0,0 +1,26 @@ + + + + gcs_visualizer + 0.0.1 + GCS visualization node: publishes drone mesh markers in a global ENU frame for Foxglove + AirLab CMU + MIT + + rclpy + sensor_msgs + nav_msgs + visualization_msgs + geometry_msgs + builtin_interfaces + tf2_ros + + ament_copyright + ament_flake8 + ament_pep257 + python3-pytest + + + ament_python + + diff --git a/gcs/ros_ws/src/gcs_visualizer/resource/gcs_visualizer b/gcs/ros_ws/src/gcs_visualizer/resource/gcs_visualizer new file mode 100644 index 00000000..e69de29b diff --git a/gcs/ros_ws/src/gcs_visualizer/setup.cfg b/gcs/ros_ws/src/gcs_visualizer/setup.cfg new file mode 100644 index 00000000..44287497 --- /dev/null +++ b/gcs/ros_ws/src/gcs_visualizer/setup.cfg @@ -0,0 +1,4 @@ +[develop] +script_dir=$base/lib/gcs_visualizer +[install] +install_scripts=$base/lib/gcs_visualizer diff --git a/gcs/ros_ws/src/gcs_visualizer/setup.py b/gcs/ros_ws/src/gcs_visualizer/setup.py new file mode 100644 index 00000000..8b189726 --- /dev/null +++ b/gcs/ros_ws/src/gcs_visualizer/setup.py @@ -0,0 +1,28 @@ +from setuptools import find_packages, setup +import os +from glob import glob + +package_name = 'gcs_visualizer' + +setup( + name=package_name, + version='0.0.1', + packages=find_packages(exclude=['test']), + data_files=[ + ('share/ament_index/resource_index/packages', ['resource/' + package_name]), + ('share/' + package_name, ['package.xml']), + (os.path.join('share', package_name, 'launch'), glob('launch/*.xml')), + ], + install_requires=['setuptools'], + zip_safe=True, + maintainer='AirLab CMU', + maintainer_email='airlab@cmu.edu', + description='GCS visualization node for drone mesh markers in Foxglove', + license='MIT', + tests_require=['pytest'], + entry_points={ + 'console_scripts': [ + 'robot_marker_node = gcs_visualizer.robot_marker_node:main', + ], + }, +) diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml index 426d8ea3..bc01a4ef 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml @@ -23,7 +23,7 @@ participants: allowlist: # state information - name: "rt/$(env ROBOT_NAME)/odometry_conversion/odometry" - - name: "rt/$(env ROBOT_NAME)/interface/mavros/global_position/raw/fix" + - name: "rt/$(env ROBOT_NAME)/interface/mavros/global_position/global" # behavior tree - name: "rt/$(env ROBOT_NAME)/behavior/behavior_tree_commands" diff --git a/simulation/isaac-sim/launch_scripts/gps_utils.py b/simulation/isaac-sim/launch_scripts/gps_utils.py index 4fdac957..d17e8516 100644 --- a/simulation/isaac-sim/launch_scripts/gps_utils.py +++ b/simulation/isaac-sim/launch_scripts/gps_utils.py @@ -19,8 +19,8 @@ import os # GPS coordinates that correspond to world origin (0, 0, 0) in the simulation. -# Zurich default matches the existing px4_config.yaml hardcoded values. -DEFAULT_WORLD_ORIGIN = (47.3667, 8.5500, 408.0) # (lat_deg, lon_deg, alt_m WGS-84) +# Lisbon default matches the Pegasus configs.yaml default. +DEFAULT_WORLD_ORIGIN = (38.736832, -9.137977, 90.0) # (lat_deg, lon_deg, alt_m WGS-84) — Lisbon, matches Pegasus configs.yaml def compute_gps_origin(x_m, y_m, z_m, world_origin=DEFAULT_WORLD_ORIGIN): From cabf9ae0b77c126e59c7568a2a1c4b78ee9b074d Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Sat, 21 Mar 2026 19:18:51 -0400 Subject: [PATCH 12/55] multi drone vis in foxglove works with odom --- .../gcs_visualizer/robot_marker_node.py | 78 +++++++++++++------ 1 file changed, 54 insertions(+), 24 deletions(-) diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py index 4435d5fa..2c77e258 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py @@ -8,8 +8,8 @@ from nav_msgs.msg import Odometry from visualization_msgs.msg import Marker, MarkerArray from builtin_interfaces.msg import Duration -from geometry_msgs.msg import TransformStamped -from tf2_ros import StaticTransformBroadcaster, TransformBroadcaster +from geometry_msgs.msg import TransformStamped, Point +from tf2_ros import StaticTransformBroadcaster # Lisbon — matches Pegasus configs.yaml and gps_utils.py DEFAULT_WORLD_ORIGIN ORIGIN_LAT = 38.736832 @@ -56,6 +56,22 @@ def multiply_quaternions(q1, q2): ) +def rotate_vector(v, q): + """Rotate vector v=(vx,vy,vz) by quaternion q=(x,y,z,w). Returns (x,y,z).""" + vx, vy, vz = v + qx, qy, qz, qw = q + # v' = q * pure_quat(v) * q_conj + # Using optimised formula: v' = v + 2*qw*(q×v) + 2*(q×(q×v)) + cx = qy * vz - qz * vy + cy = qz * vx - qx * vz + cz = qx * vy - qy * vx + return ( + vx + 2.0 * (qw * cx + qy * cz - qz * cy), + vy + 2.0 * (qw * cy + qz * cx - qx * cz), + vz + 2.0 * (qw * cz + qx * cy - qy * cx), + ) + + class RobotMarkerNode(Node): def __init__(self): super().__init__('robot_marker_node') @@ -79,7 +95,6 @@ def __init__(self): # Broadcast map as root TF frame so Foxglove 3D panel has a display frame self._static_tf = StaticTransformBroadcaster(self) - self._dynamic_tf = TransformBroadcaster(self) map_tf = TransformStamped() map_tf.header.stamp = self.get_clock().now().to_msg() map_tf.header.frame_id = 'map' @@ -162,10 +177,10 @@ def _publish_markers(self): mesh.pose.orientation.z = qz mesh.pose.orientation.w = qw mesh.scale.x = mesh.scale.y = mesh.scale.z = 1.0 - mesh.color.r = color[0] - mesh.color.g = color[1] - mesh.color.b = color[2] - mesh.color.a = 0.9 + mesh.color.r = 0.0 + mesh.color.g = 0.0 + mesh.color.b = 0.0 + mesh.color.a = 1.0 mesh.lifetime = lifetime array.markers.append(mesh) @@ -181,28 +196,43 @@ def _publish_markers(self): label.pose.position.y = y label.pose.position.z = z + 1.0 label.pose.orientation.w = 1.0 - label.scale.z = 0.5 + label.scale.z = 0.2 label.color.r = label.color.g = label.color.b = label.color.a = 1.0 label.text = robot_name label.lifetime = lifetime array.markers.append(label) - # --- TF: map -> robot_N/robot_pose --- - tf = TransformStamped() - tf.header.stamp = now - tf.header.frame_id = 'map' - tf.child_frame_id = f'{robot_name}/robot_pose' - tf.transform.translation.x = x - tf.transform.translation.y = y - tf.transform.translation.z = z - if orientation: - tf.transform.rotation.x = orientation[0] - tf.transform.rotation.y = orientation[1] - tf.transform.rotation.z = orientation[2] - tf.transform.rotation.w = orientation[3] - else: - tf.transform.rotation.w = 1.0 - self._dynamic_tf.sendTransform(tf) + # --- Axes markers (X=red, Y=green, Z=blue) --- + axes = [ + ((1.0, 0.0, 0.0), (1.0, 0.0, 0.0)), # X axis, red + ((0.0, 1.0, 0.0), (0.0, 1.0, 0.0)), # Y axis, green + ((0.0, 0.0, 1.0), (0.0, 0.0, 1.0)), # Z axis, blue + ] + q = orientation if orientation else (0.0, 0.0, 0.0, 1.0) + axis_len = 0.6 + for j, (unit_vec, axis_color) in enumerate(axes): + tip = rotate_vector(unit_vec, q) + arrow = Marker() + arrow.header.frame_id = 'map' + arrow.header.stamp = now + arrow.ns = f'{robot_name}_axes' + arrow.id = i * 3 + 2 + j # unique id per axis per robot (offset past mesh+label) + arrow.type = Marker.ARROW + arrow.action = Marker.ADD + start = Point(x=x, y=y, z=z) + end = Point(x=x + tip[0] * axis_len, + y=y + tip[1] * axis_len, + z=z + tip[2] * axis_len) + arrow.points = [start, end] + arrow.scale.x = 0.04 # shaft diameter + arrow.scale.y = 0.08 # head diameter + arrow.scale.z = 0.0 # head length (0 = auto) + arrow.color.r = axis_color[0] + arrow.color.g = axis_color[1] + arrow.color.b = axis_color[2] + arrow.color.a = 1.0 + arrow.lifetime = lifetime + array.markers.append(arrow) self._pub.publish(array) From ffd1ff6ebbadd35906e4871fe3a57f8315c6a024 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Sat, 21 Mar 2026 20:24:06 -0400 Subject: [PATCH 13/55] global plan added --- .agents/skills/visualize-in-foxglove/SKILL.md | 174 ++++++++++++++++++ .env | 1 + AGENTS.md | 1 + .../gcs_visualizer/robot_marker_node.py | 133 ++++++++++--- robot/docker/docker-compose.yaml | 1 + .../onboard_all/config/dds_router.yaml | 2 + .../global_bringup/config/vdb_params.yaml | 2 - .../global_bringup/launch/global.launch.xml | 2 +- .../three_drone_scene_import.py | 4 +- 9 files changed, 287 insertions(+), 33 deletions(-) create mode 100644 .agents/skills/visualize-in-foxglove/SKILL.md diff --git a/.agents/skills/visualize-in-foxglove/SKILL.md b/.agents/skills/visualize-in-foxglove/SKILL.md new file mode 100644 index 00000000..232e5f4f --- /dev/null +++ b/.agents/skills/visualize-in-foxglove/SKILL.md @@ -0,0 +1,174 @@ +--- +name: visualize-in-foxglove +description: Add visualization of a ROS 2 topic to Foxglove/GCS. Use when you want a new topic (path, markers, odometry, etc.) to appear in the Foxglove dashboard on the GCS. Covers DDS router bridging, robot_marker_node integration, and coordinate frame translation. +license: Apache-2.0 +metadata: + author: AirLab CMU + repository: AirStack +--- + +# Skill: Visualize a Topic in Foxglove / GCS + +## When to Use + +You want a topic published by a robot container to be visible in the Foxglove dashboard +running in the GCS container. + +## Architecture Overview + +``` +Robot container (domain: ROS_DOMAIN_ID) + └─ publishes topics + +DDS Router (onboard_all) + └─ bridges allowlisted topics to GCS domain + +GCS container (domain: 0) + ├─ Foxglove bridge → streams to browser + └─ robot_marker_node → transforms & republishes as /gcs/robot_markers MarkerArray +``` + +**Key insight:** A topic must appear in the DDS router allowlist AND be subscribed to +in the GCS before it will appear in Foxglove. Missing either step = nothing shows up. + +--- + +## Step 1 — Bridge the Topic in DDS Router + +**File:** `robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml` + +Add an entry to the `allowlist` for every topic you want on the GCS: + +```yaml +allowlist: + - name: "rt/$(env ROBOT_NAME)/your/topic/here" +``` + +**Rules:** +- All ROS 2 topics must be prefixed with `rt/` (ROS Topic). +- Services use `rq/` (request) and `rr/` (reply). +- The router runs per-robot (one instance per robot container), so `$(env ROBOT_NAME)` + expands to `robot_1`, `robot_2`, etc. automatically. +- Topics are bidirectional by default. +- Without this entry the topic simply does not cross domain boundaries — the GCS node + will never see it regardless of how it subscribes. + +After editing this file, **restart the robot containers** for the change to take effect. + +--- + +## Step 2 — Subscribe and Visualize on the GCS + +There are two paths depending on what you want to display: + +### Path A — Display the raw topic directly in Foxglove + +If the topic message type is natively supported by Foxglove (e.g. `nav_msgs/Path`, +`sensor_msgs/PointCloud2`, `visualization_msgs/MarkerArray`), just bridge it and add +a panel in Foxglove pointing at the topic. No extra GCS code needed. + +**Limitation:** The topic arrives in the robot's local odom frame (`map` frame origin = +drone boot position). If you need it georeferenced (aligned with GPS/ENU), you must +translate it — see Path B. + +### Path B — Translate and republish via robot_marker_node + +**File:** `gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py` + +This node auto-discovers robot topics, applies a GPS boot offset to convert from the +robot's local odom frame to ENU (map frame), and republishes everything as a single +`/gcs/robot_markers` MarkerArray. + +**Coordinate frame context:** +- Robot odometry uses a local `map` frame whose origin is the drone's position at boot. +- GPS coordinates are converted to ENU relative to `ORIGIN_LAT/LON/ALT` (Lisbon by default). +- `_gps_boot[robot_name]` = ENU position of the odom origin = offset to add to all + odom-frame coordinates. +- Trajectory and global plan markers are in odom frame → add boot offset to `points`. +- Do NOT also offset `pose.position` for LINE_STRIP/ARROW markers — their points are + already in the header frame; double-offsetting the pose causes wrong positions. + +**To add a new topic type, follow this pattern (shown for `nav_msgs/Path`):** + +1. **Add suffix constant and regex pattern:** +```python +PLAN_SUFFIX = '/global_plan' +self._plan_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(PLAN_SUFFIX)}$') +``` + +2. **Add state dicts and subscribed set:** +```python +self._global_plans = {} # robot_name -> latest nav_msgs/Path +self._subscribed_plan = set() +``` + +3. **Discover and subscribe in `_discover_robots`:** +```python +if topic not in self._subscribed_plan: + m = self._plan_pattern.match(topic) + if m and 'nav_msgs/msg/Path' in type_list: + name = m.group(1) + self.create_subscription( + Path, topic, + lambda msg, n=name: self._plan_callback(msg, n), + 10, # use default RELIABLE QoS for planning topics + # use SENSOR_QOS for high-rate sensor streams + ) + self._subscribed_plan.add(topic) +``` + +4. **Add callback:** +```python +def _plan_callback(self, msg: Path, robot_name: str): + self._global_plans[robot_name] = msg +``` + +5. **Render in `_publish_markers` (skip silently if not yet received):** +```python +plan = self._global_plans.get(robot_name) +if plan is not None and boot is not None: + line = Marker() + line.header.frame_id = 'map' + line.ns = f'{robot_name}_global_plan' + line.type = Marker.LINE_STRIP + ... + for pose_stamped in plan.poses: + p = pose_stamped.pose.position + line.points.append(Point(x=p.x + bx, y=p.y + by, z=p.z + bz)) + array.markers.append(line) +``` + +**QoS guidance:** +- High-rate sensor/visualization streams (odom, trajectory_vis): use `SENSOR_QOS` (BEST_EFFORT) +- Infrequently-published planning topics (global_plan): use `10` (default RELIABLE) + +--- + +## Step 3 — Verify + +```bash +# Check topic is crossing the domain bridge +docker exec airstack-robot-desktop-1 bash -c "ros2 topic echo /robot_1/your_topic --once" + +# Check GCS is receiving it +docker exec airstack-gcs-1 bash -c "ros2 topic echo /robot_1/your_topic --once" + +# Check GCS node subscribed (look for log line) +docker logs airstack-gcs-1 2>&1 | grep "Subscribed to" + +# Check the combined marker output +docker exec airstack-gcs-1 bash -c "ros2 topic echo /gcs/robot_markers --once" +``` + +--- + +## Common Pitfalls + +| Symptom | Cause | Fix | +|---------|-------|-----| +| Topic visible on robot, not on GCS | Not in dds_router allowlist | Add `rt/$(env ROBOT_NAME)/topic` to allowlist | +| Topic on GCS but not in Foxglove | Not subscribed in robot_marker_node or Foxglove panel missing | Add subscription or add panel | +| Marker appears at wrong position | Missing boot GPS offset | Apply `bx, by, bz` from `_gps_boot` to all points | +| Marker double-offset | Added boot to both `pose.position` AND `points` | Only offset `points` for LINE_STRIP/ARROW markers | +| Planning topic missed after late publish | Using BEST_EFFORT QoS | Use `10` (RELIABLE) for planning topics | +| New robot not discovered | Topic appeared before discovery timer fired | Discovery runs every 5s; wait or trigger manually | diff --git a/.env b/.env index 3ca9b121..e2947f19 100644 --- a/.env +++ b/.env @@ -45,6 +45,7 @@ MS_AIRSIM_BINARY_PATH="/ms-airsim-env/AbandonedPark/LinuxNoEditor/AbandonedPark. # ================= ROBOT ===================== ROBOT_NAME_MAP_CONFIG_FILE="default_robot_name_map.yaml" # Determines how to set ROBOT_NAME and ROS_DOMAIN_ID. See robot/docker/robot_name_map/ +VDB_SOURCE="lidar" # "lidar" (Ouster, sensors/ouster/point_cloud) or "stereo" (stereo_image_proc/point_cloud) URDF_FILE="robot_descriptions/iris/urdf/iris_with_sensors.pegasus.robot.urdf" diff --git a/AGENTS.md b/AGENTS.md index c3852bfa..11d6c245 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -83,6 +83,7 @@ For detailed step-by-step instructions, refer to the **`.agents/skills/`** direc | [add-task-executor](.agents/skills/add-task-executor) | Implementing a task executor as a ROS 2 action server | | [integrate-module-into-layer](.agents/skills/integrate-module-into-layer) | Adding module to layer bringup | | [write-isaac-sim-scene](.agents/skills/write-isaac-sim-scene) | Creating custom simulation scenes | +| [visualize-in-foxglove](.agents/skills/visualize-in-foxglove) | Adding topic visualization to Foxglove/GCS | | [debug-module](.agents/skills/debug-module) | Autonomous debugging of ROS 2 modules | | [update-documentation](.agents/skills/update-documentation) | Documenting new modules and updating mkdocs | | [test-in-simulation](.agents/skills/test-in-simulation) | End-to-end simulation testing | diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py index 2c77e258..07d158bb 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py @@ -1,3 +1,4 @@ +import copy import math import re @@ -5,7 +6,7 @@ from rclpy.node import Node from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy from sensor_msgs.msg import NavSatFix -from nav_msgs.msg import Odometry +from nav_msgs.msg import Odometry, Path from visualization_msgs.msg import Marker, MarkerArray from builtin_interfaces.msg import Duration from geometry_msgs.msg import TransformStamped, Point @@ -23,8 +24,10 @@ depth=10, ) -GPS_SUFFIX = '/interface/mavros/global_position/global' +GPS_SUFFIX = '/interface/mavros/global_position/global' ODOM_SUFFIX = '/odometry_conversion/odometry' +TRAJ_SUFFIX = '/trajectory_controller/trajectory_vis' +PLAN_SUFFIX = '/global_plan' ROBOT_COLORS = [ (1.0, 0.2, 0.2), # red @@ -60,8 +63,6 @@ def rotate_vector(v, q): """Rotate vector v=(vx,vy,vz) by quaternion q=(x,y,z,w). Returns (x,y,z).""" vx, vy, vz = v qx, qy, qz, qw = q - # v' = q * pure_quat(v) * q_conj - # Using optimised formula: v' = v + 2*qw*(q×v) + 2*(q×(q×v)) cx = qy * vz - qz * vy cy = qz * vx - qx * vz cz = qx * vy - qy * vx @@ -78,22 +79,24 @@ def __init__(self): self.declare_parameter('robot_name_prefix', 'robot') self._prefix = self.get_parameter('robot_name_prefix').value - self._gps_pattern = re.compile( - rf'^/({re.escape(self._prefix)}_\w+){re.escape(GPS_SUFFIX)}$' - ) - self._odom_pattern = re.compile( - rf'^/({re.escape(self._prefix)}_\w+){re.escape(ODOM_SUFFIX)}$' - ) - - self._gps_positions = {} # robot_name -> (x, y, z) ENU metres - self._orientations = {} # robot_name -> (x, y, z, w) from odometry - self._subscribed_gps = set() - self._subscribed_odom = set() - self._alt_ground = None # altitude of first fix, used as z=0 reference + self._gps_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(GPS_SUFFIX)}$') + self._odom_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(ODOM_SUFFIX)}$') + self._traj_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(TRAJ_SUFFIX)}$') + self._plan_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(PLAN_SUFFIX)}$') + + self._gps_positions = {} # robot_name -> (x, y, z) ENU metres current position + self._gps_boot = {} # robot_name -> (x, y, z) ENU metres at first fix (odom origin) + self._orientations = {} # robot_name -> (x, y, z, w) from odometry + self._trajectories = {} # robot_name -> latest MarkerArray + self._global_plans = {} # robot_name -> latest nav_msgs/Path + self._subscribed_gps = set() + self._subscribed_odom = set() + self._subscribed_traj = set() + self._subscribed_plan = set() + self._alt_ground = None self._pub = self.create_publisher(MarkerArray, '/gcs/robot_markers', 10) - # Broadcast map as root TF frame so Foxglove 3D panel has a display frame self._static_tf = StaticTransformBroadcaster(self) map_tf = TransformStamped() map_tf.header.stamp = self.get_clock().now().to_msg() @@ -132,17 +135,50 @@ def _discover_robots(self): self._subscribed_odom.add(topic) self.get_logger().info(f'Subscribed to odom: {topic}') + if topic not in self._subscribed_traj: + m = self._traj_pattern.match(topic) + if m and 'visualization_msgs/msg/MarkerArray' in type_list: + name = m.group(1) + self.create_subscription( + MarkerArray, topic, + lambda msg, n=name: self._traj_callback(msg, n), + SENSOR_QOS, + ) + self._subscribed_traj.add(topic) + self.get_logger().info(f'Subscribed to trajectory_vis: {topic}') + + if topic not in self._subscribed_plan: + m = self._plan_pattern.match(topic) + if m and 'nav_msgs/msg/Path' in type_list: + name = m.group(1) + self.create_subscription( + Path, topic, + lambda msg, n=name: self._plan_callback(msg, n), + 10, + ) + self._subscribed_plan.add(topic) + self.get_logger().info(f'Subscribed to global_plan: {topic}') + def _gps_callback(self, msg: NavSatFix, robot_name: str): if msg.status.status < 0: return if self._alt_ground is None: self._alt_ground = msg.altitude - self._gps_positions[robot_name] = gps_to_enu(msg.latitude, msg.longitude, msg.altitude, self._alt_ground) + pos = gps_to_enu(msg.latitude, msg.longitude, msg.altitude, self._alt_ground) + self._gps_positions[robot_name] = pos + if robot_name not in self._gps_boot: + self._gps_boot[robot_name] = pos def _odom_callback(self, msg: Odometry, robot_name: str): o = msg.pose.pose.orientation self._orientations[robot_name] = (o.x, o.y, o.z, o.w) + def _traj_callback(self, msg: MarkerArray, robot_name: str): + self._trajectories[robot_name] = msg + + def _plan_callback(self, msg: Path, robot_name: str): + self._global_plans[robot_name] = msg + def _publish_markers(self): if not self._gps_positions: return @@ -152,7 +188,6 @@ def _publish_markers(self): lifetime = Duration(sec=1, nanosec=0) for i, robot_name in enumerate(sorted(self._gps_positions.keys())): - color = ROBOT_COLORS[i % len(ROBOT_COLORS)] x, y, z = self._gps_positions[robot_name] orientation = self._orientations.get(robot_name) # (x,y,z,w) or None @@ -161,7 +196,7 @@ def _publish_markers(self): mesh.header.frame_id = 'map' mesh.header.stamp = now mesh.ns = 'robot_meshes' - mesh.id = i * 3 + mesh.id = i * 10 mesh.type = Marker.MESH_RESOURCE mesh.action = Marker.ADD mesh.mesh_resource = 'package://robot_descriptions/iris/meshes/base_link_body_body.obj' @@ -189,7 +224,7 @@ def _publish_markers(self): label.header.frame_id = 'map' label.header.stamp = now label.ns = 'robot_labels' - label.id = i * 3 + 1 + label.id = i * 10 + 1 label.type = Marker.TEXT_VIEW_FACING label.action = Marker.ADD label.pose.position.x = x @@ -204,9 +239,9 @@ def _publish_markers(self): # --- Axes markers (X=red, Y=green, Z=blue) --- axes = [ - ((1.0, 0.0, 0.0), (1.0, 0.0, 0.0)), # X axis, red - ((0.0, 1.0, 0.0), (0.0, 1.0, 0.0)), # Y axis, green - ((0.0, 0.0, 1.0), (0.0, 0.0, 1.0)), # Z axis, blue + ((1.0, 0.0, 0.0), (1.0, 0.0, 0.0)), + ((0.0, 1.0, 0.0), (0.0, 1.0, 0.0)), + ((0.0, 0.0, 1.0), (0.0, 0.0, 1.0)), ] q = orientation if orientation else (0.0, 0.0, 0.0, 1.0) axis_len = 0.6 @@ -216,7 +251,7 @@ def _publish_markers(self): arrow.header.frame_id = 'map' arrow.header.stamp = now arrow.ns = f'{robot_name}_axes' - arrow.id = i * 3 + 2 + j # unique id per axis per robot (offset past mesh+label) + arrow.id = i * 10 + 2 + j arrow.type = Marker.ARROW arrow.action = Marker.ADD start = Point(x=x, y=y, z=z) @@ -224,9 +259,9 @@ def _publish_markers(self): y=y + tip[1] * axis_len, z=z + tip[2] * axis_len) arrow.points = [start, end] - arrow.scale.x = 0.04 # shaft diameter - arrow.scale.y = 0.08 # head diameter - arrow.scale.z = 0.0 # head length (0 = auto) + arrow.scale.x = 0.04 + arrow.scale.y = 0.08 + arrow.scale.z = 0.0 arrow.color.r = axis_color[0] arrow.color.g = axis_color[1] arrow.color.b = axis_color[2] @@ -234,6 +269,48 @@ def _publish_markers(self): arrow.lifetime = lifetime array.markers.append(arrow) + # --- Trajectory markers (offset by boot GPS position = odom origin, skip if not ready) --- + traj = self._trajectories.get(robot_name) + boot = self._gps_boot.get(robot_name) + if traj is not None and boot is not None: + bx, by, bz = boot + for k, orig in enumerate(traj.markers): + m = copy.deepcopy(orig) + m.header.frame_id = 'map' + m.header.stamp = now + m.ns = f'{robot_name}_traj' + m.id = i * 10000 + k + m.lifetime = lifetime + for pt in m.points: + pt.x += bx + pt.y += by + pt.z += bz + array.markers.append(m) + + # --- Global plan (offset from odom origin to ENU, same as trajectory) --- + plan = self._global_plans.get(robot_name) + if plan is not None and boot is not None: + bx, by, bz = boot + color = ROBOT_COLORS[i % len(ROBOT_COLORS)] + line = Marker() + line.header.frame_id = 'map' + line.header.stamp = now + line.ns = f'{robot_name}_global_plan' + line.id = i * 10000 + 9999 + line.type = Marker.LINE_STRIP + line.action = Marker.ADD + line.pose.orientation.w = 1.0 + line.scale.x = 0.1 + line.color.r = color[0] + line.color.g = color[1] + line.color.b = color[2] + line.color.a = 0.8 + line.lifetime = Duration(sec=2, nanosec=0) + for pose_stamped in plan.poses: + p = pose_stamped.pose.position + line.points.append(Point(x=p.x + bx, y=p.y + by, z=p.z + bz)) + array.markers.append(line) + self._pub.publish(array) diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index abfef1cb..de5de536 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -24,6 +24,7 @@ services: - LAUNCH_PACKAGE=desktop_bringup # desktop_bringup adds RViz; real robots use autonomy_bringup - AUTONOMY_ROLE=full - SIM_IP=${SIM_IP:-172.31.0.200} + - VDB_SOURCE=${VDB_SOURCE:-lidar} # "lidar" or "stereo", set in .env # FCU_URL and TGT_SYSTEM not set, dynamically calculated in interface.launch.py # 'command' uses variables so that it can be shared across robot-desktop and robot-l4t, with different launch packages and roles. command: > diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml index bc01a4ef..73a70ed4 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml @@ -24,6 +24,8 @@ allowlist: # state information - name: "rt/$(env ROBOT_NAME)/odometry_conversion/odometry" - name: "rt/$(env ROBOT_NAME)/interface/mavros/global_position/global" + - name: "rt/$(env ROBOT_NAME)/trajectory_controller/trajectory_vis" + - name: "rt/$(env ROBOT_NAME)/global_plan" # behavior tree - name: "rt/$(env ROBOT_NAME)/behavior/behavior_tree_commands" diff --git a/robot/ros_ws/src/global/global_bringup/config/vdb_params.yaml b/robot/ros_ws/src/global/global_bringup/config/vdb_params.yaml index 41275589..5071d182 100644 --- a/robot/ros_ws/src/global/global_bringup/config/vdb_params.yaml +++ b/robot/ros_ws/src/global/global_bringup/config/vdb_params.yaml @@ -46,5 +46,3 @@ x: 10.0 y: 10.0 z: 10.0 - - diff --git a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml index 490570ff..45d5973d 100644 --- a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml +++ b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml @@ -16,5 +16,5 @@ - + diff --git a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py index ef084ab3..988cecd9 100644 --- a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py @@ -218,12 +218,12 @@ def __init__(self): add_ouster_lidar_subgraph( parent_graph_handle=graph_handle, - drone_prim=f"/World/drone{i}/base_link", + drone_prim=f"/World/drone{i}/abase_link", robot_name=f"robot_{i}", lidar_name="OS1_REV6_128_10hz___512_resolution", lidar_offset=[0.0, 0.0, 0.025], lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range=2.0, + lidar_min_range=3.0, ) # Reset so physics/articulations are ready From 9fdf0455f3933d612e6e27eadf709d92900d700a Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Sun, 22 Mar 2026 16:17:02 -0400 Subject: [PATCH 14/55] added image, vdb markers(not transformed yet) --- .../desktop_bringup/launch/gcs.launch.xml | 1 + ...arker_node.py => foxglove_visualizer_node.py} | 16 ++++++++++------ .../launch/gcs_visualizer.launch.xml | 2 +- gcs/ros_ws/src/gcs_visualizer/setup.py | 2 +- .../onboard_all/config/dds_router.yaml | 13 +++++++++++++ .../global/global_bringup/config/vdb_params.yaml | 2 ++ .../global_bringup/launch/global.launch.xml | 2 +- 7 files changed, 29 insertions(+), 9 deletions(-) rename gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/{robot_marker_node.py => foxglove_visualizer_node.py} (97%) diff --git a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml index ee09563f..9e286ad9 100644 --- a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml +++ b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml @@ -24,6 +24,7 @@ + ?> diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py similarity index 97% rename from gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py rename to gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index 07d158bb..8df71833 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/robot_marker_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -73,9 +73,9 @@ def rotate_vector(v, q): ) -class RobotMarkerNode(Node): +class FoxgloveVisualizerNode(Node): def __init__(self): - super().__init__('robot_marker_node') + super().__init__('foxglove_visualizer_node') self.declare_parameter('robot_name_prefix', 'robot') self._prefix = self.get_parameter('robot_name_prefix').value @@ -212,9 +212,9 @@ def _publish_markers(self): mesh.pose.orientation.z = qz mesh.pose.orientation.w = qw mesh.scale.x = mesh.scale.y = mesh.scale.z = 1.0 - mesh.color.r = 0.0 - mesh.color.g = 0.0 - mesh.color.b = 0.0 + mesh.color.r = 0.6 + mesh.color.g = 0.6 + mesh.color.b = 0.6 mesh.color.a = 1.0 mesh.lifetime = lifetime array.markers.append(mesh) @@ -285,6 +285,10 @@ def _publish_markers(self): pt.x += bx pt.y += by pt.z += bz + if m.color.a > 0: + m.color.r = 0.8 + m.color.g = 0.5 + m.color.b = 0.0 array.markers.append(m) # --- Global plan (offset from odom origin to ENU, same as trajectory) --- @@ -316,7 +320,7 @@ def _publish_markers(self): def main(args=None): rclpy.init(args=args) - node = RobotMarkerNode() + node = FoxgloveVisualizerNode() try: rclpy.spin(node) except KeyboardInterrupt: diff --git a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml index 9930c773..4957e391 100644 --- a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml +++ b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml @@ -1,7 +1,7 @@ - + diff --git a/gcs/ros_ws/src/gcs_visualizer/setup.py b/gcs/ros_ws/src/gcs_visualizer/setup.py index 8b189726..55b055f6 100644 --- a/gcs/ros_ws/src/gcs_visualizer/setup.py +++ b/gcs/ros_ws/src/gcs_visualizer/setup.py @@ -22,7 +22,7 @@ tests_require=['pytest'], entry_points={ 'console_scripts': [ - 'robot_marker_node = gcs_visualizer.robot_marker_node:main', + 'foxglove_visualizer_node = gcs_visualizer.foxglove_visualizer_node:main', ], }, ) diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml index 73a70ed4..bd17a09c 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml @@ -21,6 +21,19 @@ participants: domain: $(var gcs_domain) allowlist: + # TF (needed for Foxglove to transform point clouds between frames) + - name: "rt/tf" + - name: "rt/tf_static" + + # lidar and world model + - name: "rt/$(env ROBOT_NAME)/sensors/ouster/point_cloud" + - name: "rt/$(env ROBOT_NAME)/vdb_mapping/vdb_map_visualization" + + # camera streams + - name: "rt/$(env ROBOT_NAME)/sensors/front_stereo/left/image_rect" + - name: "rt/$(env ROBOT_NAME)/sensors/front_stereo/right/image_rect" + - name: "rt/$(env ROBOT_NAME)/perception/stereo_image_proc/point_cloud" + # state information - name: "rt/$(env ROBOT_NAME)/odometry_conversion/odometry" - name: "rt/$(env ROBOT_NAME)/interface/mavros/global_position/global" diff --git a/robot/ros_ws/src/global/global_bringup/config/vdb_params.yaml b/robot/ros_ws/src/global/global_bringup/config/vdb_params.yaml index 5071d182..41275589 100644 --- a/robot/ros_ws/src/global/global_bringup/config/vdb_params.yaml +++ b/robot/ros_ws/src/global/global_bringup/config/vdb_params.yaml @@ -46,3 +46,5 @@ x: 10.0 y: 10.0 z: 10.0 + + diff --git a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml index 45d5973d..490570ff 100644 --- a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml +++ b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml @@ -16,5 +16,5 @@ - + From 22322124d3afe85fde396ac30e85eff6b97f5cb1 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Sun, 22 Mar 2026 16:32:17 -0400 Subject: [PATCH 15/55] fixed state estimation flickering and vdb transform --- .../foxglove_visualizer_node.py | 35 +++++++++++++++++++ .../onboard_all/config/dds_router.yaml | 4 --- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index 8df71833..3e33d859 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -28,6 +28,7 @@ ODOM_SUFFIX = '/odometry_conversion/odometry' TRAJ_SUFFIX = '/trajectory_controller/trajectory_vis' PLAN_SUFFIX = '/global_plan' +VDB_SUFFIX = '/vdb_mapping/vdb_map_visualization' ROBOT_COLORS = [ (1.0, 0.2, 0.2), # red @@ -83,16 +84,19 @@ def __init__(self): self._odom_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(ODOM_SUFFIX)}$') self._traj_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(TRAJ_SUFFIX)}$') self._plan_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(PLAN_SUFFIX)}$') + self._vdb_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(VDB_SUFFIX)}$') self._gps_positions = {} # robot_name -> (x, y, z) ENU metres current position self._gps_boot = {} # robot_name -> (x, y, z) ENU metres at first fix (odom origin) self._orientations = {} # robot_name -> (x, y, z, w) from odometry self._trajectories = {} # robot_name -> latest MarkerArray self._global_plans = {} # robot_name -> latest nav_msgs/Path + self._vdb_markers = {} # robot_name -> latest VDB Marker self._subscribed_gps = set() self._subscribed_odom = set() self._subscribed_traj = set() self._subscribed_plan = set() + self._subscribed_vdb = set() self._alt_ground = None self._pub = self.create_publisher(MarkerArray, '/gcs/robot_markers', 10) @@ -159,6 +163,18 @@ def _discover_robots(self): self._subscribed_plan.add(topic) self.get_logger().info(f'Subscribed to global_plan: {topic}') + if topic not in self._subscribed_vdb: + m = self._vdb_pattern.match(topic) + if m and 'visualization_msgs/msg/Marker' in type_list: + name = m.group(1) + self.create_subscription( + Marker, topic, + lambda msg, n=name: self._vdb_callback(msg, n), + SENSOR_QOS, + ) + self._subscribed_vdb.add(topic) + self.get_logger().info(f'Subscribed to vdb_map_visualization: {topic}') + def _gps_callback(self, msg: NavSatFix, robot_name: str): if msg.status.status < 0: return @@ -179,6 +195,9 @@ def _traj_callback(self, msg: MarkerArray, robot_name: str): def _plan_callback(self, msg: Path, robot_name: str): self._global_plans[robot_name] = msg + def _vdb_callback(self, msg: Marker, robot_name: str): + self._vdb_markers[robot_name] = msg + def _publish_markers(self): if not self._gps_positions: return @@ -315,6 +334,22 @@ def _publish_markers(self): line.points.append(Point(x=p.x + bx, y=p.y + by, z=p.z + bz)) array.markers.append(line) + # --- VDB map (offset from odom origin to ENU) --- + vdb = self._vdb_markers.get(robot_name) + if vdb is not None and boot is not None: + bx, by, bz = boot + m = copy.deepcopy(vdb) + m.header.frame_id = 'map' + m.header.stamp = now + m.ns = f'{robot_name}_vdb' + m.id = i * 10000 + 9998 + m.lifetime = Duration(sec=2, nanosec=0) + for pt in m.points: + pt.x += bx + pt.y += by + pt.z += bz + array.markers.append(m) + self._pub.publish(array) diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml index bd17a09c..a04a886e 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml @@ -21,10 +21,6 @@ participants: domain: $(var gcs_domain) allowlist: - # TF (needed for Foxglove to transform point clouds between frames) - - name: "rt/tf" - - name: "rt/tf_static" - # lidar and world model - name: "rt/$(env ROBOT_NAME)/sensors/ouster/point_cloud" - name: "rt/$(env ROBOT_NAME)/vdb_mapping/vdb_map_visualization" From 66f044a9bceeec79218e6228579ac6ea0904836d Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Sun, 22 Mar 2026 18:07:11 -0400 Subject: [PATCH 16/55] added custom foxglove buttons for commands --- gcs/docker/gcs-base-docker-compose.yaml | 3 + gcs/foxglove_extensions/install.sh | 15 ++ gcs/foxglove_extensions/robot-commands.foxe | Bin 0 -> 2010 bytes .../robot-commands/dist/extension.js | 167 ++++++++++++++++++ .../robot-commands/package.json | 9 + .../robot-commands/robot-commands.foxe | Bin 0 -> 2006 bytes .../robot-commands/robot-commands.foxe.bak | Bin 0 -> 3355 bytes 7 files changed, 194 insertions(+) create mode 100644 gcs/foxglove_extensions/install.sh create mode 100644 gcs/foxglove_extensions/robot-commands.foxe create mode 100644 gcs/foxglove_extensions/robot-commands/dist/extension.js create mode 100644 gcs/foxglove_extensions/robot-commands/package.json create mode 100644 gcs/foxglove_extensions/robot-commands/robot-commands.foxe create mode 100644 gcs/foxglove_extensions/robot-commands/robot-commands.foxe.bak diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index c1ec4b3f..26b7830f 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -10,6 +10,7 @@ services: command: > bash -c " ssh service restart; + python3 /root/AirStack/gcs/foxglove_extensions/install.sh; tmux new -d -s bringup; if [ $$AUTOLAUNCH = 'true' ]; then tmux send-keys -t bringup:0.0 'bws && sws; ros2 launch desktop_bringup gcs.launch.xml' ENTER; @@ -50,6 +51,8 @@ services: - ../../.devcontainer/gcs/launch.json:/root/AirStack/.vscode/launch.json:rw - ../../.devcontainer/gcs/tasks.json:/root/AirStack/.vscode/tasks.json:rw - ./Foxglove:/root/.config/Foxglove:rw + # foxglove extensions + - ../foxglove_extensions:/root/AirStack/gcs/foxglove_extensions:ro # autonomy stack stuff - ../../common/ros_packages:/root/AirStack/gcs/ros_ws/src/common:rw - ../../common/fastdds.xml:/root/AirStack/gcs/ros_ws/src/fastdds.xml diff --git a/gcs/foxglove_extensions/install.sh b/gcs/foxglove_extensions/install.sh new file mode 100644 index 00000000..fdeb6edb --- /dev/null +++ b/gcs/foxglove_extensions/install.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 +import json, os, shutil + +src = '/root/AirStack/gcs/foxglove_extensions' +dst = '/root/.foxglove-studio/extensions' +os.makedirs(dst, exist_ok=True) + +for ext in os.listdir(src): + pkg_path = os.path.join(src, ext, 'package.json') + if not os.path.exists(pkg_path): + continue + pkg = json.load(open(pkg_path)) + name = '{}.{}-{}'.format(pkg['publisher'], pkg['name'], pkg['version']) + shutil.copytree(os.path.join(src, ext), os.path.join(dst, name), dirs_exist_ok=True) + print('Installed Foxglove extension:', name) diff --git a/gcs/foxglove_extensions/robot-commands.foxe b/gcs/foxglove_extensions/robot-commands.foxe new file mode 100644 index 0000000000000000000000000000000000000000..f14869ba22ccea2efe5bcc24fb94a4f55c0ee6d8 GIT binary patch literal 2010 zcmaKtc|6qn8pnSV5~G8$G>qIV+1HYN*Y&dJF!m7|YuVQXg1aH$ zyxgNMeRJqa%I=1B#tsA8SC6JpQ*NsR!G~MO=z>U`T6>Bf!9r*U6)K3U{8Ne)9n&Rc z-t|For)wOJF%zX4R*M!{_Chqv<#5BZrgPqh?|d86TH3PsRXPbVs|R&?Vf_|IDx>X_ zeoK9YgeO6%9Q)|dAy&yt#0H-?zCMc%U^~b%Hup1ekJ0?t3g+YG0YE7^6mgpT9vF_T zaPhj?shlW%{R!)&-d8S|0ng{ zcH9@H#D?0jc{UEVu9ULVkzJJeh1^`k8gQ$7Nsk@M+-Pi=EFP#6h^l(7twnGem0e7q zfZ5bbHHUxEgm4n>luENtLFzTCe0QBrnw2K9##+MQt`-U6Iul z&$BeU_TXa4BZtT_bv~j&ET-Fo#*f10wNCErSX+jOUG7Lq&r$gzdS4wm+oWa%Ct_E7 zwpYGpW{k2Y=%Wh97OQy9?Po7hZbyL*?ekRJ6F0|IM>F)dxoyho2CceM0uO&PY*ST6 zY~S8dQ9+@0zdnAwc}9JnbAlo!(PQE{N@;qR@qlc@BElLZO{I5Ym&cbtq-JRObM|xs zT~}YRlp%`OBt{f<1as51*S8jE3s|f>{>*Ityt+J0faUGA55mID`Th)gy_h=-n@_SP zhta~|YK4sXTn=v4r0iE6O8IaLf)EMiWrs8)3F^AIk40pDAvS*E8SaCk0o^rsya9pH zR{RBR8a2Elzg(h-MQ?Er$Slv;5UD88sFF!QglTDcVkt+)aCf)QAhd{P5T~~}G!^}l z5!a?B>4g8a0^ZwN!0DV+$C|lPaHU=lVY3T;fgTAfHBAc2WaI#tZ8xO5sUO*;6_4J=kn3| zNWWX`!xma;)D%{^tTpi-<`aOL@-K*~)@OvI3>2*VOWFGB%aPHZ@wX8F#7u<5f-A<} zwxOHNSY%l+V>)(8Em#gJUJ_lxOb&@SpV%SqLV3s%lYKucD-m{1gmWx`35Ju@M{@G9 z-1{cKuodc@UE`)jPQFG2OmIho zjcxA$(+n@wOf7pawA@(V0eTy|R+l7C{)PWhOz0VHyjDq(dH~X|?0GMXs0~;=Px5eOj8KXB)kbT`m5p?hd9mg41|kL7OPYV5^w`j6e}hRabTGWV zn$&TjIfpBfRn9ZVp=$relO(nJGH4N|nx+3`O7>mSO=)$|N6XIa3IXwL#mI=y1$B^4 z=^Jhwm8NSSjTAlL(G6(`AD-e1l`Y;@)N#Tz#`Ao*g+_({0!6nFJ!eq%@WM|WBsRVC3*$$RUtV}AP!seT>6Zc?lDrjY-Ky9X zWl6W9Ov(AA8EAbu=nX$^wMR01htBeI`3yraPE7q#Vua zf9|kNqy`&)or5nGG^H&y%~>BNRO3KI2XBp0($DSuL#Ag9ifTWHTN4#3tn83VeX9jy zM|!u2BN6OMN1jle_Ty}WAThDmJ|d;opF5NHW$E?4$(kF3&hXRyh-lE$5B(T!Km+{ +"use strict"; + +const BT_COMMANDS_DATATYPES = new Map([ + [ + "behavior_tree_msgs/msg/BehaviorTreeCommands", + { + definitions: [ + { + name: "commands", + type: "behavior_tree_msgs/msg/BehaviorTreeCommand", + isArray: true, + isComplex: true, + }, + ], + }, + ], + [ + "behavior_tree_msgs/msg/BehaviorTreeCommand", + { + definitions: [ + { name: "condition_name", type: "string", isArray: false, isComplex: false }, + { name: "status", type: "int8", isArray: false, isComplex: false }, + ], + }, + ], +]); + +const PRESET_COMMANDS = [ + { label: "Arm & Takeoff", value: "Auto Takeoff Commanded" }, + { label: "Global Plan", value: "Global Plan Commanded" }, + { label: "Fixed Trajectory", value: "Fixed Trajectory Commanded" }, + { label: "Autonomously Explore", value: "Autonomously Explore Commanded" }, + { label: "Pause", value: "Pause Commanded" }, + { label: "Rewind", value: "Rewind Commanded" }, + { label: "Land", value: "Land Commanded" }, + { label: "Disarm", value: "Disarm Commanded" }, + { label: "Custom", value: "__custom__" }, +]; + +const DEFAULT_STATE = { + robot: "robot_1", + command: "Auto Takeoff Commanded", + custom_command: "", + button_label: "Arm & Takeoff", + button_color: "#10B981", +}; + +function getConditionName(state) { + return state.command === "__custom__" ? state.custom_command : state.command; +} + +function activate(extensionContext) { + extensionContext.registerPanel({ + name: "Robot Command Button", + initPanel: (panelContext) => { + let state = Object.assign({}, DEFAULT_STATE, panelContext.initialState ?? {}); + let advertisedTopic = null; + + const root = panelContext.panelElement; + root.style.cssText = + "display:flex;align-items:center;justify-content:center;height:100%;padding:12px;box-sizing:border-box;"; + + const btn = document.createElement("button"); + btn.style.cssText = + "width:100%;height:100%;min-height:48px;border:none;border-radius:6px;" + + "font-size:16px;font-weight:bold;color:white;cursor:pointer;transition:opacity 0.1s;"; + btn.addEventListener("mousedown", () => (btn.style.opacity = "0.75")); + btn.addEventListener("mouseup", () => (btn.style.opacity = "1")); + btn.addEventListener("mouseleave", () => (btn.style.opacity = "1")); + btn.addEventListener("click", handleClick); + root.appendChild(btn); + + function render() { + btn.textContent = state.button_label || "Button"; + btn.style.backgroundColor = state.button_color || "#10B981"; + panelContext.setDefaultPanelTitle(state.button_label || "Robot Command Button"); + } + + function handleClick() { + const conditionName = getConditionName(state); + if (!conditionName) return; + const topic = `/${state.robot}/behavior/behavior_tree_commands`; + + if (advertisedTopic !== topic) { + if (advertisedTopic != null) { + panelContext.unadvertise(advertisedTopic); + } + panelContext.advertise(topic, "behavior_tree_msgs/msg/BehaviorTreeCommands", { + datatypes: BT_COMMANDS_DATATYPES, + }); + advertisedTopic = topic; + } + + panelContext.publish(topic, { + commands: [{ condition_name: conditionName, status: 2 }], + }); + } + + function updateSettings() { + const isCustom = state.command === "__custom__"; + const fields = { + button_label: { + label: "Label", + input: "string", + value: state.button_label, + }, + button_color: { + label: "Color", + input: "rgb", + value: state.button_color, + }, + robot: { + label: "Robot Name", + input: "string", + value: state.robot, + placeholder: "robot_1", + }, + command: { + label: "Command", + input: "select", + value: state.command, + options: PRESET_COMMANDS, + }, + }; + + if (isCustom) { + fields.custom_command = { + label: "Custom Command Name", + input: "string", + value: state.custom_command, + placeholder: "e.g. My Custom Commanded", + }; + } + + panelContext.updatePanelSettingsEditor({ + actionHandler: (action) => { + if (action.action !== "update") return; + const key = action.payload.path[1]; + state[key] = action.payload.value; + panelContext.saveState(state); + render(); + updateSettings(); + }, + nodes: { + general: { + label: "Button", + fields, + }, + }, + }); + } + + render(); + updateSettings(); + + return () => { + if (advertisedTopic != null) { + panelContext.unadvertise(advertisedTopic); + } + }; + }, + }); +} + +module.exports = { activate }; +})(); diff --git a/gcs/foxglove_extensions/robot-commands/package.json b/gcs/foxglove_extensions/robot-commands/package.json new file mode 100644 index 00000000..ea84a6c2 --- /dev/null +++ b/gcs/foxglove_extensions/robot-commands/package.json @@ -0,0 +1,9 @@ +{ + "name": "robot-commands", + "displayName": "Robot Command Button", + "description": "Configurable button that publishes a behavior_tree_msgs/BehaviorTreeCommands condition to a robot.", + "publisher": "AirLab CMU", + "version": "1.0.0", + "license": "Apache-2.0", + "main": "./dist/extension.js" +} diff --git a/gcs/foxglove_extensions/robot-commands/robot-commands.foxe b/gcs/foxglove_extensions/robot-commands/robot-commands.foxe new file mode 100644 index 0000000000000000000000000000000000000000..858ec6a58156576fdedee391a1b73a78588a4382 GIT binary patch literal 2006 zcmZ{lc{tnI8pnS@sv6pnU@)~8)mm$-J&bKcq!W7u)lkwQ$q@UrCYGXF%A}}eQn4=` zOzgYbiM?v?)M!cZ(A-k3a82mUeeT>lea`co^PWH6?{nVIALnxg!ObHC0KiGW?h%+uXp4qlOvZoxQmeek#S}^nN2{8FnuSb0>iCl6$ZmRLAmO6f`^wyW z(wD{GjwpF*!`x#Q3XB}zpea}7UfOSje{%x)+W%k@Uz^gQE0rI4uW(SD;tUS};T#ml#h)9P zgTfmZL{d9u@Sei}^#2Tw+CPyzYJUd#8lejY07Do62>#XX6GrmE2jK{K4$%KZ{R7S^ zmwEiM&KI{vovYTsm)2%jv4)mW2teqjSP~t zP5OC*^bPb5^;s`kT1~U!9<#ZenMynwDX~5d_HUZSSKq?&}$l z7nil$91|OPS}qaGP&4a{Ww2C)11scZmgBNYjrZS3rBBLb8bOo5E2XEJLWc4WlCIbk zQS6aR-6gM{V|32+L7;ikEU^YF6Ym=V?02n;4ieUhQnCd;cKcxIQPD<%n()+WExQWK zKDd6aj)&$%Ee;9ySBSAoZ z*=MOO1|JScT5UX|dZ2oZyEYnv;>p!ptPZo67f&SdHj4Pg5)v})zU347o`?*5LVmEs z=XD3IIu`^QL{;dAp*Fo@ps`2~#V|eDwJ!1R7m^VBuBUdwcOX58>Km&5XKoyq2O-w-GAeH zVKVlzp&FWvst?kayzLAS%_G%hApPIE16Gm(Dp?Y5tt>&+2nMdHF4 zIQ-Q*gEbtu0Kstr?%IZsO&5L#vUyc3+d7mG@u*PT@saI2VmD@#=`Td8Cu1VD6JW;F8= z0ZqzqDfVxM`V0OCYI~0KXS>ZsWs~fN?eOzO_Cj@tIp?mtNAqgVi4z z%Uj!Fx^=<^DD{$hx6&rHjU=~U3q>DC|H41lS(_V1_f#-*wX1vIqF7qXXl z6^N$@M(yGl_V)7;XLwX=(~<~1ryFIJ5nYChbj;85Qo|J}_clWGO zqQG(i=Qz*C7BI)^#0wonW~xZ!KOoErtYf&g(za(~WdqQ{>(M{Gb1`KbK6+rXdP z_CH?xl=wL*d`bj>FMtD62q*YYMR1~y6!DKypA*D?KhEZ_sK4vtbFttPN7Ha~);8y4 H9N+!``Iuls literal 0 HcmV?d00001 diff --git a/gcs/foxglove_extensions/robot-commands/robot-commands.foxe.bak b/gcs/foxglove_extensions/robot-commands/robot-commands.foxe.bak new file mode 100644 index 0000000000000000000000000000000000000000..fc818d4640f396891ae11c051591cb8d08011fd4 GIT binary patch literal 3355 zcmeH~X*ApU8pr=Zsv6oW!Nt^GRBNrR_As^)k>1!VsD_dbks=iEDU@ASoeao;(=bAG?)Ip=r2FTO86&-1;4;N=qm z0N^Cxb~ha3+j}>06-8p3lMy;U;Fs`sox9@#ydL+0KAQuPTWP$PFz?d1OV}| zcmd$oOEoTV84(LEXv+9LZ3$Y9Op>SY+TFm4W%(u($7!q%SH{ELEq2=80+5qT zVnTBAF_RRO+_lYKV>Pd_OZPv#bII5Plki`@)Tu0SGlx>6(CQYT77??Ldj3QOl83=K zNVH_`zACSP>}AQfqblCIFwgkKA`|B~X!2EsmyVlJU!6d{4m_N~*QYnOlBEqgXz^PI zwT~i(&_@QdZA-!H13%EJLepUTr0}sb7iFvKf`;)yZ#*FG(9P_e)#{J@SN>&16xWJp zkS`JXU;r?N{bq$e$<{i{g~jnAIJ!ya;$xW!jm>PLtzFi6qqM0lM8Y}f;4)#A`A{Il>cM2D zl3{X0IJE1bby6XF;^W+07iVRd&F*4d+v)EeRFsr=*cz7@eOf7%z|^qlN?@|pL_?|+ zw`n!|?+4^yw$m5?2g%RObUo@4aR^h2NpvTTV)8#CV< zL7aDOOHNX@DKhd!ehvp<*)j2^U=7jfwR%nsmUDRh9D|SMLM;uC3RH^27dO{RQoAC{ znIhU&%}A+Dd$pMO%1O7iidE~T7qP6SRFFRSbNYSrs=T^TzZ7PaFjPKNmHZI|2aeN?p6S_t|(wL7Nv;e@9H zaRkq0EGyd1Omh-JmIO&is$&&w%ZJ1-ABh~8^a%#mB6Qu$&V$4(`=}wsZ+3k2wUh~- z$T0!RNSMy-0!MF@kZa*&9j`xk%UF1?Qg#y>-_z|^ zDZ5FOo#?EZTc%)jg;no+wl0l;N-qx<$C)dYC0Zc_Yki-pLnR!_Zo^~RNSF3!Dgcaf z!(&#tfVP9LxGEpH$Z64BvtZoX-faV;B}uzhz4tENyp#^68^_$4zGh^4@1@7zJKPoT zDd~6moyNsyC}^)oZl%!gz1<0LaKAaqs!CZr1BbubfV@Cw_!(xoq}NQ9?Vr$rwcDuo z0gid+Vn%qrGmW)2fAkGDxRl<{r>w875(1xS^v_G$bssLQfa=0D;?L942SwJHe(!{* z?5Q|gLLOD~Z{?|)6|2?E#TMmBB)svF2niR*l;oMP-EYj{%o(Mq+*KG zxD$20#8HHSn0M_iSXpB4_wE)k4n8KR8LfTWRN2-6(`Sepp)|`HJj$CjHd8%*Di(hn z_oLu^S3M50AfB^)rkPWi{eIBPSx&;TDKA!=sQzdk^@Ys5CY&fB5bg>lQJL8xKf-zf+g*?k>* zJ=kXVrtyrZEU7(rZ7!sA(8Vv^Q=ugccXTGP?ZSo?=E$a-#W(+eV{iK;diqFcXw%x52n^zp=KWk25a*@>0N};~ppNvZ`eQNx z|CS8?BNbdh{9EzASL)v@Lb$?z#5-5<(}Mj!C<+6=S4=(u{Mpp_oGh689RPT_hr@kO I34ZGS3E@)%)c^nh literal 0 HcmV?d00001 From 7e344f10e58af392f47202379a1be1b940ce15b3 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Sun, 22 Mar 2026 22:21:53 -0400 Subject: [PATCH 17/55] added modular payloads to peerprofile, foxglove reads the payloads and vizualizes it,currently works for rayfronts --- .agents/skills/attach-gossip-payload/SKILL.md | 105 +++++++++ AGENTS.md | 1 + gcs/docker/gcs-base-docker-compose.yaml | 1 + .../robot-commands/dist/extension.js | 17 +- .../foxglove_visualizer_node.py | 116 ++++------ .../gcs_visualizer/gcs_utils.py | 135 +++++++++++ .../gcs_visualizer/payload_visualizer_node.py | 215 ++++++++++++++++++ .../launch/gcs_visualizer.launch.xml | 5 + gcs/ros_ws/src/gcs_visualizer/setup.py | 1 + .../onboard_all/config/dds_router.yaml | 3 + .../config/gossip_payloads.yaml | 42 ++++ .../coordination_bringup/gossip_node.py | 87 ++++++- .../coordination_bringup/peer_profile.py | 31 ++- .../launch/gossip.launch.xml | 5 +- .../coordination_bringup/setup.py | 2 +- .../msg/PeerProfilePayload.msg | 3 + 16 files changed, 688 insertions(+), 81 deletions(-) create mode 100644 .agents/skills/attach-gossip-payload/SKILL.md create mode 100644 gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py create mode 100644 gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml diff --git a/.agents/skills/attach-gossip-payload/SKILL.md b/.agents/skills/attach-gossip-payload/SKILL.md new file mode 100644 index 00000000..0cbaf873 --- /dev/null +++ b/.agents/skills/attach-gossip-payload/SKILL.md @@ -0,0 +1,105 @@ +# Skill: Attach Custom Payload to PeerProfile (Gossip Protocol) + +## When to use +When you want to broadcast any ROS message to all peer robots via the gossip +protocol — for example, a frontier map, sensor summary, or task status. + +## Background + +Each robot runs a `gossip_node` that periodically broadcasts a `PeerProfile` +to all other robots on the gossip domain (default domain 99). The profile +carries structured fields (GPS, heading, waypoint) plus an open-ended +`payloads` array of serialized ROS messages. + +**Key files:** +| File | Purpose | +|------|---------| +| `robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml` | Lists topics to attach as payloads — **edit this to add payloads** | +| `coordination_bringup/coordination_bringup/gossip_node.py` | Reads config, subscribes, attaches payloads on each publish tick | +| `coordination_bringup/coordination_bringup/peer_profile.py` | `PeerProfile` helper class with `add_payload` / `get_payload` API | +| `coordination_msgs/msg/PeerProfile.msg` | Wire format — `payloads` is `PeerProfilePayload[]` | +| `coordination_msgs/msg/PeerProfilePayload.msg` | `string payload_type` + `uint8[] payload_data` | + +## How to add a payload (config-driven — no code changes) + +### Step 1 — Edit `gossip_payloads.yaml` + +```yaml +payload_topics: + # existing entries ... + + # Your new payload: + - topic: "/{robot_name}/your/topic" + type: "your_msgs/msg/YourType" +``` + +- `{robot_name}` is automatically substituted at runtime (e.g. → `/robot_1/your/topic`) +- If the topic hasn't published yet, the payload is silently skipped — no crash +- `type` must be the fully-qualified ROS 2 type string + +### Step 2 — Rebuild and restart gossip_node + +```bash +bws --packages-select coordination_bringup +ros2 launch coordination_bringup gossip.launch.xml +``` + +### Step 3 — Verify + +Check that the payload is being attached: +```bash +ros2 topic echo /gossip/peers --field payloads +# should show entries with your payload_type string +``` + +Or use the registry monitor: +```bash +ros2 run coordination_bringup peer_registry_monitor +# shows payload_types per peer +``` + +## How to read a payload on the receiving side + +```python +from coordination_bringup.peer_profile import PeerProfile + +def on_peer_msg(self, msg): + profile = PeerProfile.from_ros_msg(msg) + + # Get a specific payload by type string + rays = profile.get_payload("visualization_msgs/msg/MarkerArray") + if rays is not None: + # use rays as visualization_msgs/msg/MarkerArray + pass + + # List all payload types present + print(profile.payload_types()) + + # Get all payloads deserialized + for payload in profile.get_all_payloads(): + print(type(payload)) +``` + +## Current payloads (Rayfronts example) + +| Topic | Type | Purpose | +|-------|------|---------| +| `/{robot_name}/filtered_rays` | `visualization_msgs/msg/MarkerArray` | Semantic filtered rays — peers avoid re-exploring these areas | +| `/{robot_name}/frontier_viewpoints` | `sensor_msgs/msg/PointCloud2` | Candidate exploration targets | + +## Architecture notes + +- `gossip_node` runs on the **robot's domain** (e.g. domain 1 for `robot_1`) + and can subscribe directly to any topic on that domain, including Rayfronts +- The gossip DDS Router bridges `/gossip/peers` to the shared gossip domain + (default 99) — the payload bytes travel inside the PeerProfile message, + so payload topics do **not** need their own DDS router entries +- Payloads are re-serialized every publish tick from the latest cached message; + stale data is never cleared between ticks (latest-wins per topic) +- Payload size matters for gossip bandwidth — avoid attaching large point clouds + at high rates; 1 Hz (the default gossip rate) is usually fine + +## QoS note + +Payload subscriptions use `GOSSIP_QOS` (BEST_EFFORT, KEEP_LAST 1). If your +source topic uses RELIABLE QoS you may need to adjust — see `gossip_node.py`. diff --git a/AGENTS.md b/AGENTS.md index 11d6c245..0ec02b29 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -84,6 +84,7 @@ For detailed step-by-step instructions, refer to the **`.agents/skills/`** direc | [integrate-module-into-layer](.agents/skills/integrate-module-into-layer) | Adding module to layer bringup | | [write-isaac-sim-scene](.agents/skills/write-isaac-sim-scene) | Creating custom simulation scenes | | [visualize-in-foxglove](.agents/skills/visualize-in-foxglove) | Adding topic visualization to Foxglove/GCS | +| [attach-gossip-payload](.agents/skills/attach-gossip-payload) | Broadcasting custom ROS messages to peers via PeerProfile gossip payloads | | [debug-module](.agents/skills/debug-module) | Autonomous debugging of ROS 2 modules | | [update-documentation](.agents/skills/update-documentation) | Documenting new modules and updating mkdocs | | [test-in-simulation](.agents/skills/test-in-simulation) | End-to-end simulation testing | diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index 26b7830f..26485565 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -55,6 +55,7 @@ services: - ../foxglove_extensions:/root/AirStack/gcs/foxglove_extensions:ro # autonomy stack stuff - ../../common/ros_packages:/root/AirStack/gcs/ros_ws/src/common:rw + - ../../robot/ros_ws/src/coordination:/root/AirStack/gcs/ros_ws/src/coordination:ro - ../../common/fastdds.xml:/root/AirStack/gcs/ros_ws/src/fastdds.xml - ../ros_ws:/root/AirStack/gcs/ros_ws:rw # bags diff --git a/gcs/foxglove_extensions/robot-commands/dist/extension.js b/gcs/foxglove_extensions/robot-commands/dist/extension.js index 1dfa6208..20e47441 100644 --- a/gcs/foxglove_extensions/robot-commands/dist/extension.js +++ b/gcs/foxglove_extensions/robot-commands/dist/extension.js @@ -92,9 +92,20 @@ function activate(extensionContext) { advertisedTopic = topic; } - panelContext.publish(topic, { - commands: [{ condition_name: conditionName, status: 2 }], - }); + // Send 2 (SUCCESS) for the selected command, 0 (IDLE) for all others. + // Matches rqt behaviour exactly. + const commands = []; + for (const preset of PRESET_COMMANDS) { + if (preset.value === "__custom__") continue; + commands.push({ + condition_name: preset.value, + status: preset.value === conditionName ? 2 : 0, + }); + } + if (state.command === "__custom__" && conditionName) { + commands.push({ condition_name: conditionName, status: 2 }); + } + panelContext.publish(topic, { commands }); } function updateSettings() { diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index 3e33d859..a634fafc 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -1,5 +1,23 @@ +""" +foxglove_visualizer_node.py +=========================== +Standard GCS visualization node. Handles data common to every project: + - Robot mesh markers (with orientation) + - Robot name labels + - Body-frame axes (X/Y/Z arrows) + - Local trajectory (trajectory_controller/trajectory_vis) + - Global plan (global_plan) + - VDB occupancy map (vdb_mapping/vdb_map_visualization) + +All markers are published to /gcs/robot_markers as a MarkerArray in the +global ENU 'map' frame. + +Project-specific data (e.g. Rayfronts) should go in a separate node that +also publishes to its own MarkerArray or PointCloud2 topic. See +payload_visualizer_node.py as an example. +""" + import copy -import math import re import rclpy @@ -12,10 +30,9 @@ from geometry_msgs.msg import TransformStamped, Point from tf2_ros import StaticTransformBroadcaster -# Lisbon — matches Pegasus configs.yaml and gps_utils.py DEFAULT_WORLD_ORIGIN -ORIGIN_LAT = 38.736832 -ORIGIN_LON = -9.137977 -ORIGIN_ALT = 90.0 +from gcs_visualizer.gcs_utils import ( + gps_to_enu, multiply_quaternions, rotate_vector, transform_marker_array, +) SENSOR_QOS = QoSProfile( reliability=ReliabilityPolicy.BEST_EFFORT, @@ -40,40 +57,6 @@ AXIS_CORRECTION = (-0.5, -0.5, 0.5, 0.5) # x, y, z, w -def gps_to_enu(lat, lon, alt, alt_ground): - """Convert GPS lat/lon/alt to ENU metres relative to Lisbon origin. z is relative to first fix.""" - x = (lon - ORIGIN_LON) * 111320.0 * math.cos(math.radians(ORIGIN_LAT)) - y = (lat - ORIGIN_LAT) * 111320.0 - z = alt - alt_ground - return x, y, z - - -def multiply_quaternions(q1, q2): - """Hamilton product q1 * q2 (apply q2 first, then q1). Both are (x,y,z,w) tuples.""" - x1, y1, z1, w1 = q1 - x2, y2, z2, w2 = q2 - return ( - w1*x2 + x1*w2 + y1*z2 - z1*y2, - w1*y2 - x1*z2 + y1*w2 + z1*x2, - w1*z2 + x1*y2 - y1*x2 + z1*w2, - w1*w2 - x1*x2 - y1*y2 - z1*z2, - ) - - -def rotate_vector(v, q): - """Rotate vector v=(vx,vy,vz) by quaternion q=(x,y,z,w). Returns (x,y,z).""" - vx, vy, vz = v - qx, qy, qz, qw = q - cx = qy * vz - qz * vy - cy = qz * vx - qx * vz - cz = qx * vy - qy * vx - return ( - vx + 2.0 * (qw * cx + qy * cz - qz * cy), - vy + 2.0 * (qw * cy + qz * cx - qx * cz), - vz + 2.0 * (qw * cz + qx * cy - qy * cx), - ) - - class FoxgloveVisualizerNode(Node): def __init__(self): super().__init__('foxglove_visualizer_node') @@ -86,18 +69,18 @@ def __init__(self): self._plan_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(PLAN_SUFFIX)}$') self._vdb_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(VDB_SUFFIX)}$') - self._gps_positions = {} # robot_name -> (x, y, z) ENU metres current position - self._gps_boot = {} # robot_name -> (x, y, z) ENU metres at first fix (odom origin) - self._orientations = {} # robot_name -> (x, y, z, w) from odometry - self._trajectories = {} # robot_name -> latest MarkerArray - self._global_plans = {} # robot_name -> latest nav_msgs/Path - self._vdb_markers = {} # robot_name -> latest VDB Marker - self._subscribed_gps = set() - self._subscribed_odom = set() - self._subscribed_traj = set() - self._subscribed_plan = set() - self._subscribed_vdb = set() - self._alt_ground = None + self._gps_positions = {} # robot_name -> (x, y, z) ENU metres current position + self._gps_boot = {} # robot_name -> (x, y, z) ENU metres at first fix (odom origin) + self._orientations = {} # robot_name -> (x, y, z, w) from odometry + self._trajectories = {} # robot_name -> latest MarkerArray + self._global_plans = {} # robot_name -> latest nav_msgs/Path + self._vdb_markers = {} # robot_name -> latest VDB Marker + self._subscribed_gps = set() + self._subscribed_odom = set() + self._subscribed_traj = set() + self._subscribed_plan = set() + self._subscribed_vdb = set() + self._alt_ground = None self._pub = self.create_publisher(MarkerArray, '/gcs/robot_markers', 10) @@ -288,29 +271,29 @@ def _publish_markers(self): arrow.lifetime = lifetime array.markers.append(arrow) - # --- Trajectory markers (offset by boot GPS position = odom origin, skip if not ready) --- - traj = self._trajectories.get(robot_name) boot = self._gps_boot.get(robot_name) + + # --- Trajectory markers (offset by boot GPS position = odom origin) --- + traj = self._trajectories.get(robot_name) if traj is not None and boot is not None: bx, by, bz = boot - for k, orig in enumerate(traj.markers): - m = copy.deepcopy(orig) - m.header.frame_id = 'map' - m.header.stamp = now - m.ns = f'{robot_name}_traj' - m.id = i * 10000 + k - m.lifetime = lifetime - for pt in m.points: - pt.x += bx - pt.y += by - pt.z += bz + for m in transform_marker_array( + traj, bx, by, bz, + ns=f'{robot_name}_traj', + id_base=i * 10000, + stamp=now, lifetime=lifetime): if m.color.a > 0: m.color.r = 0.8 m.color.g = 0.5 m.color.b = 0.0 + # skip markers that require points but have none + needs_points = m.type in (Marker.LINE_STRIP, Marker.LINE_LIST, + Marker.POINTS, Marker.ARROW) + if needs_points and len(m.points) == 0: + continue array.markers.append(m) - # --- Global plan (offset from odom origin to ENU, same as trajectory) --- + # --- Global plan (offset from odom origin to ENU) --- plan = self._global_plans.get(robot_name) if plan is not None and boot is not None: bx, by, bz = boot @@ -332,7 +315,8 @@ def _publish_markers(self): for pose_stamped in plan.poses: p = pose_stamped.pose.position line.points.append(Point(x=p.x + bx, y=p.y + by, z=p.z + bz)) - array.markers.append(line) + if len(line.points) >= 2: + array.markers.append(line) # --- VDB map (offset from odom origin to ENU) --- vdb = self._vdb_markers.get(robot_name) diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py new file mode 100644 index 00000000..27500576 --- /dev/null +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py @@ -0,0 +1,135 @@ +""" +gcs_utils.py +============ +Shared utilities for GCS visualizer nodes. + +Coordinate system +----------------- +All visualizers transform data from each robot's local odometry frame into +a common ENU (East-North-Up) frame anchored at the first GPS fix seen on the +ground (``alt_ground``). This ENU frame is published as the ``map`` frame in +Foxglove. + +The key concept is the **boot offset**: the ENU coordinates of a robot's first +GPS fix, which equals that robot's odometry frame origin. Any data expressed in +the robot's local odometry frame must be translated by this boot offset to +display correctly alongside other robots in the global map frame. +""" + +import math +import copy +import struct + +# ── Origin ──────────────────────────────────────────────────────────────────── +# Matches Pegasus configs.yaml and gps_utils.py DEFAULT_WORLD_ORIGIN (Lisbon). +# Update this if your simulation/field site uses a different origin. +ORIGIN_LAT = 38.736832 +ORIGIN_LON = -9.137977 +ORIGIN_ALT = 90.0 + + +# ── GPS / coordinate helpers ────────────────────────────────────────────────── + +def gps_to_enu(lat, lon, alt, alt_ground): + """Convert GPS lat/lon/alt to ENU metres relative to the world origin. + + z is relative to ``alt_ground`` (the altitude of the first GPS fix seen). + """ + x = (lon - ORIGIN_LON) * 111320.0 * math.cos(math.radians(ORIGIN_LAT)) + y = (lat - ORIGIN_LAT) * 111320.0 + z = alt - alt_ground + return x, y, z + + +def multiply_quaternions(q1, q2): + """Hamilton product q1 * q2 (apply q2 first, then q1). Both are (x,y,z,w).""" + x1, y1, z1, w1 = q1 + x2, y2, z2, w2 = q2 + return ( + w1*x2 + x1*w2 + y1*z2 - z1*y2, + w1*y2 - x1*z2 + y1*w2 + z1*x2, + w1*z2 + x1*y2 - y1*x2 + z1*w2, + w1*w2 - x1*x2 - y1*y2 - z1*z2, + ) + + +def rotate_vector(v, q): + """Rotate vector v=(vx,vy,vz) by quaternion q=(x,y,z,w). Returns (x,y,z).""" + vx, vy, vz = v + qx, qy, qz, qw = q + cx = qy * vz - qz * vy + cy = qz * vx - qx * vz + cz = qx * vy - qy * vx + return ( + vx + 2.0 * (qw * cx + qy * cz - qz * cy), + vy + 2.0 * (qw * cy + qz * cx - qx * cz), + vz + 2.0 * (qw * cz + qx * cy - qy * cx), + ) + + +# ── Marker / PointCloud2 transform helpers ──────────────────────────────────── + +def transform_marker_array(marker_array, bx, by, bz, ns, id_base, stamp, lifetime): + """Deep-copy a MarkerArray and translate all point coordinates by (bx, by, bz). + + Sets frame_id='map', the given namespace, sequential IDs starting at + ``id_base``, and the provided stamp and lifetime on every marker. + + Only translates ``points[]`` — does NOT touch ``pose.position``, which is + intentional: LINE_STRIP and ARROW markers encode geometry in ``points``. + Returns a list of Marker messages. + """ + from geometry_msgs.msg import Point + + result = [] + for k, orig in enumerate(marker_array.markers): + m = copy.deepcopy(orig) + m.header.frame_id = 'map' + m.header.stamp = stamp + m.ns = ns + m.id = id_base + k + m.lifetime = lifetime + for pt in m.points: + pt.x += bx + pt.y += by + pt.z += bz + result.append(m) + return result + + +def transform_point_cloud2(cloud, bx, by, bz): + """Return a copy of a PointCloud2 with all x,y,z values offset by (bx, by, bz). + + Assumes the cloud has float32 x, y, z fields (standard ROS convention). + Reads field offsets from the message so non-standard field orderings work. + Sets frame_id='map' on the returned message. + """ + # Find byte offsets for x, y, z fields + field_offsets = {} + for f in cloud.fields: + if f.name in ('x', 'y', 'z'): + field_offsets[f.name] = f.offset + + if not all(k in field_offsets for k in ('x', 'y', 'z')): + return cloud # can't transform without x,y,z fields + + ox = field_offsets['x'] + oy = field_offsets['y'] + oz = field_offsets['z'] + + new_cloud = copy.copy(cloud) + new_cloud.header = copy.copy(cloud.header) + new_cloud.header.frame_id = 'map' + data = bytearray(cloud.data) + n_points = cloud.width * cloud.height + ps = cloud.point_step + for i in range(n_points): + base = i * ps + x, = struct.unpack_from('(self, robot_name, msg, boot, i, now, array): + # msg — deserialized ROS message + # boot — (bx, by, bz) ENU translation from robot odom frame to global map + # i — stable robot index (use for marker IDs to avoid collisions) + # now — current ROS timestamp + # array — MarkerArray to append Marker messages to + # For non-Marker outputs (e.g. PointCloud2), publish a separate topic directly. + +Coordinate frame note +--------------------- +Payload data is in each robot's local odometry frame (origin = robot's first +GPS fix in ENU). Apply the boot offset to translate into the global 'map' frame. + +Use transform_marker_array() for MarkerArray payloads. +Use transform_point_cloud2() for PointCloud2 payloads. +Both helpers are in gcs_utils.py. +""" + +import rclpy +from rclpy.node import Node +from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy + +import struct + +from sensor_msgs.msg import NavSatFix +from visualization_msgs.msg import MarkerArray, Marker +from geometry_msgs.msg import Point +from std_msgs.msg import ColorRGBA +from builtin_interfaces.msg import Duration + +from coordination_msgs.msg import PeerProfile as PeerProfileMsg +from coordination_bringup.peer_profile import PeerProfile + +from gcs_visualizer.gcs_utils import gps_to_enu, transform_marker_array + +GOSSIP_QOS = QoSProfile( + reliability=ReliabilityPolicy.RELIABLE, + durability=DurabilityPolicy.VOLATILE, + history=HistoryPolicy.KEEP_LAST, + depth=10, +) + +GPS_SUFFIX = '/interface/mavros/global_position/global' + + +class PayloadVisualizerNode(Node): + def __init__(self): + super().__init__('payload_visualizer_node') + + self._gps_boot = {} # robot_name -> (bx, by, bz) ENU at first GPS fix + self._alt_ground = None + self._payload_cache = {} # (robot_name, type_str) -> last deserialized payload msg + + self._markers_pub = self.create_publisher( + MarkerArray, '/gcs/payload_markers', 10) + + # Subscribe to /gossip/peers — PeerProfiles arrive here from all robots + self.create_subscription( + PeerProfileMsg, '/gossip/peers', + self._on_peer_profile, GOSSIP_QOS) + + self.get_logger().info('PayloadVisualizerNode started') + + # ── Colour palette for per-robot point clouds ───────────────────────────── + + _ROBOT_COLORS = [ + (0.0, 1.0, 1.0, 1.0), # cyan + (1.0, 0.5, 0.0, 1.0), # orange + (0.5, 1.0, 0.0, 1.0), # lime + (1.0, 0.0, 0.5, 1.0), # pink + (0.5, 0.0, 1.0, 1.0), # purple + ] + + # ── Boot offset tracking ─────────────────────────────────────────────── + + def _update_boot_from_gps(self, robot_name: str, gps_fix) -> None: + """Track the first GPS fix seen per robot as the boot (odom origin) offset.""" + if gps_fix.status.status < 0: + return + if self._alt_ground is None: + self._alt_ground = gps_fix.altitude + if robot_name not in self._gps_boot: + pos = gps_to_enu( + gps_fix.latitude, gps_fix.longitude, + gps_fix.altitude, self._alt_ground) + self._gps_boot[robot_name] = pos + + # ── Peer profile callback ───────────────────────────────────────────── + + def _on_peer_profile(self, msg: PeerProfileMsg) -> None: + robot_name = msg.robot_name + self._update_boot_from_gps(robot_name, msg.gps_fix) + + boot = self._gps_boot.get(robot_name) + if boot is None: + return # no GPS fix yet, skip + + profile = PeerProfile.from_ros_msg(msg) + now = self.get_clock().now().to_msg() + array = MarkerArray() + + robot_index = self._robot_index(robot_name) + + for type_str, handler in self.PAYLOAD_HANDLERS.items(): + payload = profile.get_payload(type_str) + if payload is not None: + self._payload_cache[(robot_name, type_str)] = payload + cached = self._payload_cache.get((robot_name, type_str)) + if cached is not None: + handler(self, robot_name, cached, boot, robot_index, now, array) + + if array.markers: + self._markers_pub.publish(array) + + def _robot_index(self, robot_name: str) -> int: + """Stable integer index for a robot name (alphabetical order).""" + known = sorted(self._gps_boot.keys()) + return known.index(robot_name) if robot_name in known else 0 + + # ── Payload handlers ────────────────────────────────────────────────── + # Each handler receives: + # robot_name – e.g. "robot_1" + # msg – deserialized ROS message + # boot – (bx, by, bz) ENU translation for this robot's odom frame + # i – stable robot index (for marker IDs) + # now – current ROS timestamp + # array – MarkerArray to append Marker messages to + # + # For non-marker outputs (e.g. PointCloud2), publish directly from here. + + def _handle_filtered_rays(self, robot_name, msg, boot, i, now, array): + """Translate filtered_rays MarkerArray from odom frame to ENU map frame.""" + bx, by, bz = boot + lifetime = Duration(sec=2, nanosec=0) + markers = transform_marker_array( + msg, bx, by, bz, + ns=f'{robot_name}_filtered_rays', + id_base=i * 100000, + stamp=now, lifetime=lifetime) + array.markers.extend(markers) + + def _handle_frontier_viewpoints(self, robot_name, msg, boot, i, now, array): + """Convert frontier_viewpoints PointCloud2 to a POINTS Marker in the map frame.""" + bx, by, bz = boot + r, g, b, a = self._ROBOT_COLORS[i % len(self._ROBOT_COLORS)] + + # Extract xyz from the PointCloud2 and apply boot offset + field_offsets = {f.name: f.offset for f in msg.fields if f.name in ('x', 'y', 'z')} + if not all(k in field_offsets for k in ('x', 'y', 'z')): + return + ox, oy, oz = field_offsets['x'], field_offsets['y'], field_offsets['z'] + ps = msg.point_step + n_points = msg.width * msg.height + data = bytes(msg.data) + + m = Marker() + m.header.frame_id = 'map' + m.header.stamp = now + m.ns = f'{robot_name}_frontier_viewpoints' + m.id = i * 100000 + 90000 + m.type = Marker.SPHERE_LIST + m.action = Marker.ADD + m.scale.x = 1.0 + m.scale.y = 1.0 + m.scale.z = 1.0 + m.lifetime = Duration(sec=2, nanosec=0) + m.color = ColorRGBA(r=r, g=g, b=b, a=a) + + for idx in range(n_points): + base = idx * ps + x, = struct.unpack_from(' handler method. + # Add or remove entries here to change what gets visualized. + PAYLOAD_HANDLERS = { + 'visualization_msgs/msg/MarkerArray': _handle_filtered_rays, + 'sensor_msgs/msg/PointCloud2': _handle_frontier_viewpoints, + } + + +def main(args=None): + rclpy.init(args=args) + node = PayloadVisualizerNode() + try: + rclpy.spin(node) + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + rclpy.shutdown() + + +if __name__ == '__main__': + main() diff --git a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml index 4957e391..d8f6478d 100644 --- a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml +++ b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml @@ -1,7 +1,12 @@ + + + + + diff --git a/gcs/ros_ws/src/gcs_visualizer/setup.py b/gcs/ros_ws/src/gcs_visualizer/setup.py index 55b055f6..5d89b2bb 100644 --- a/gcs/ros_ws/src/gcs_visualizer/setup.py +++ b/gcs/ros_ws/src/gcs_visualizer/setup.py @@ -23,6 +23,7 @@ entry_points={ 'console_scripts': [ 'foxglove_visualizer_node = gcs_visualizer.foxglove_visualizer_node:main', + 'payload_visualizer_node = gcs_visualizer.payload_visualizer_node:main', ], }, ) diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml index a04a886e..776be121 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml @@ -65,3 +65,6 @@ allowlist: # control commands - name: "rt/$(env ROBOT_NAME)/fixed_trajectory_generator/fixed_trajectory_command" + + # gossip peer profiles (carries all robot payloads — no need to bridge individual topics) + - name: "rt/gossip/peers" diff --git a/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml b/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml new file mode 100644 index 00000000..32134c30 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml @@ -0,0 +1,42 @@ +# ───────────────────────────────────────────────────────────────────────────── +# Gossip Payload Topics +# ───────────────────────────────────────────────────────────────────────────── +# List ROS topics here to have them automatically included as typed payloads +# in this robot's PeerProfile and distributed to all peers via gossip. +# +# Each entry requires: +# topic: topic name — use {robot_name} as a placeholder for the robot namespace +# type: fully-qualified ROS message type (package/msg/Type) +# +# If a topic has never published, the payload is silently skipped — the node +# will not crash or block waiting for it. +# +# ── How to add your own payload ────────────────────────────────────────────── +# 1. Add an entry below with the topic + type. +# 2. On the receiving end, call peer_profile.get_payload("") to get the +# deserialized message, or peer_profile.payload_types() to list what's there. +# +# Example (receiving side in Python): +# from coordination_bringup.peer_profile import PeerProfile +# profile = PeerProfile.from_ros_msg(peer_msg) +# rays = profile.get_payload("visualization_msgs/msg/MarkerArray") +# if rays is not None: +# # use rays as a visualization_msgs/msg/MarkerArray +# ───────────────────────────────────────────────────────────────────────────── + +payload_topics: + + # ── Rayfronts ────────────────────────────────────────────────────────────── + # Filtered semantic rays — peer robots consume this as filtered_rays/transposed + # to avoid revisiting already-explored areas. + - topic: "/{robot_name}/filtered_rays" + type: "visualization_msgs/msg/MarkerArray" + + # Frontier viewpoints — candidate exploration targets computed by Rayfronts. + # Peers can use these to select non-overlapping goals. + - topic: "/{robot_name}/frontier_viewpoints" + type: "sensor_msgs/msg/PointCloud2" + + # ── Add more payloads below ──────────────────────────────────────────────── + # - topic: "/{robot_name}/your/topic" + # type: "your_msgs/msg/YourType" diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py index d979e099..d0951a0d 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py @@ -17,6 +17,7 @@ """ import os +import yaml import rclpy from rclpy.node import Node @@ -27,6 +28,7 @@ QoSProfile, QoSReliabilityPolicy, ) +import rosidl_runtime_py.utilities as rosidl_utils from nav_msgs.msg import Path from sensor_msgs.msg import NavSatFix @@ -38,9 +40,16 @@ # QoS for gossip topic: best-effort, keep last 1 (low-overhead, high-freq) GOSSIP_QOS = QoSProfile( + reliability=QoSReliabilityPolicy.RELIABLE, + history=QoSHistoryPolicy.KEEP_LAST, + depth=10, +) + +# MAVROS and other sensor topics publish as BEST_EFFORT +SENSOR_QOS = QoSProfile( reliability=QoSReliabilityPolicy.BEST_EFFORT, history=QoSHistoryPolicy.KEEP_LAST, - depth=1, + depth=10, ) # QoS for the registry topic: reliable + transient-local so late subscribers @@ -61,9 +70,11 @@ def __init__(self): # ── Parameters ────────────────────────────────────────────────── self.declare_parameter("robot_name", os.environ.get("ROBOT_NAME", "unknown_robot")) self.declare_parameter("publish_rate", 1.0) # Hz — wall-clock timer + self.declare_parameter("payload_topics_config", "") # path to gossip_payloads.yaml self._robot_name = self.get_parameter("robot_name").get_parameter_value().string_value publish_rate = self.get_parameter("publish_rate").get_parameter_value().double_value + payload_config_path = self.get_parameter("payload_topics_config").get_parameter_value().string_value # ── State ──────────────────────────────────────────────────────── self._profile = PeerProfile(robot_name=self._robot_name) @@ -71,24 +82,32 @@ def __init__(self): # Registry: robot_name → latest PeerProfile ROS msg self._registry: dict[str, PeerProfileMsg] = {} + # Payload cache: topic → latest message (None until first message arrives) + self._payload_cache: dict[str, object] = {} + self._payload_subs: list = [] + + # ── Payload topic subscriptions (config-driven) ────────────────── + if payload_config_path: + self._setup_payload_subscriptions(payload_config_path) + # ── Subscriptions ──────────────────────────────────────────────── self._navsat_sub = self.create_subscription( NavSatFix, f"/{self._robot_name}/interface/mavros/global_position/raw/fix", self._on_navsat, - GOSSIP_QOS, + SENSOR_QOS, ) self._compass_sub = self.create_subscription( Float64, f"/{self._robot_name}/interface/mavros/global_position/compass_hdg", self._on_compass, - GOSSIP_QOS, + SENSOR_QOS, ) self._path_sub = self.create_subscription( Path, f"/{self._robot_name}/random_walk/global_plan", self._on_global_plan, - GOSSIP_QOS, + SENSOR_QOS, ) self._peer_sub = self.create_subscription( PeerProfileMsg, @@ -122,9 +141,59 @@ def __init__(self): self.get_logger().info( f"GossipNode started for '{self._robot_name}' " - f"(publish_rate={publish_rate:.1f} Hz wall-clock)" + f"(publish_rate={publish_rate:.1f} Hz wall-clock, " + f"{len(self._payload_cache)} payload topic(s))" ) + # ------------------------------------------------------------------ # + # Config-driven payload subscriptions # + # ------------------------------------------------------------------ # + + def _setup_payload_subscriptions(self, config_path: str) -> None: + """ + Parse gossip_payloads.yaml and create a subscription for each entry. + + Each subscription caches the latest message in self._payload_cache. + Messages are only added to the profile at publish time, so a topic + that hasn't published yet simply contributes no payload. + """ + try: + with open(config_path, "r") as f: + cfg = yaml.safe_load(f) + except Exception as e: + self.get_logger().warn(f"Could not load payload config '{config_path}': {e}") + return + + for entry in cfg.get("payload_topics", []): + topic_template = entry.get("topic", "") + type_str = entry.get("type", "") + if not topic_template or not type_str: + continue + + topic = topic_template.replace("{robot_name}", self._robot_name) + + try: + msg_class = rosidl_utils.get_message(type_str) + except Exception as e: + self.get_logger().warn(f"Unknown payload type '{type_str}': {e}") + continue + + # Cache stores (msg, stamp) tuples. stamp is extracted from the + # message header if present, otherwise the current ROS clock time. + self._payload_cache[topic] = None # None = not received yet + + def _make_callback(t): + def cb(msg): + stamp = getattr(getattr(msg, 'header', None), 'stamp', None) + if stamp is None: + stamp = self.get_clock().now().to_msg() + self._payload_cache[t] = (msg, stamp) + return cb + + sub = self.create_subscription(msg_class, topic, _make_callback(topic), SENSOR_QOS) + self._payload_subs.append(sub) + self.get_logger().info(f"Payload subscription: {topic} ({type_str})") + # ------------------------------------------------------------------ # # Subscription callbacks # # ------------------------------------------------------------------ # @@ -152,6 +221,14 @@ def _publish_tick(self) -> None: self._publish_own() def _publish_own(self) -> None: + # Rebuild payloads from cache on every tick. The cache retains the last + # received message per topic indefinitely, so peers always get the most + # recent known data even if the source publishes slower than gossip rate. + self._profile.clear_payloads() + for topic, entry in self._payload_cache.items(): + if entry is not None: + msg, stamp = entry + self._profile.add_payload(msg, stamp=stamp) self._gossip_pub.publish(self._profile.to_ros_msg()) # ------------------------------------------------------------------ # diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py index b589f37c..9e854b8f 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py @@ -101,12 +101,19 @@ def has_waypoint(self) -> bool: # Payload management # # ------------------------------------------------------------------ # - def add_payload(self, msg: Any) -> None: - """Serialize and attach any ROS message as an additional payload.""" + def add_payload(self, msg: Any, stamp=None) -> None: + """Serialize and attach any ROS message as an additional payload. + + ``stamp`` is a builtin_interfaces/Time (or None to use zero time). + Pass the header stamp of the source message so receivers can judge + how fresh the data is independently of the gossip message timestamp. + """ + from builtin_interfaces.msg import Time type_str = _ros_type_string(msg) self._payloads.append({ "type": type_str, "data": serialize_message(msg), + "stamp": stamp if stamp is not None else Time(), }) def clear_payloads(self) -> None: @@ -125,6 +132,18 @@ def get_payload(self, payload_type: str) -> Optional[Any]: return deserialize_message(p["data"], msg_class) return None + def get_payload_with_stamp(self, payload_type: str): + """ + Like get_payload() but returns (msg, stamp) tuple so the caller can + check when the source data was last produced. + Returns (None, None) if not found. + """ + for p in self._payloads: + if p["type"] == payload_type: + msg_class = rosidl_utils.get_message(payload_type) + return deserialize_message(p["data"], msg_class), p.get("stamp") + return None, None + def get_all_payloads(self) -> List[Any]: """Deserialize and return all payloads in order.""" result = [] @@ -150,7 +169,11 @@ def to_ros_msg(self) -> PeerProfileMsg: msg.source = int(self.source) msg.relay_hops = self.relay_hops msg.payloads = [ - PeerProfilePayloadMsg(payload_type=p["type"], payload_data=list(p["data"])) + PeerProfilePayloadMsg( + stamp=p.get("stamp") or PeerProfilePayloadMsg().stamp, + payload_type=p["type"], + payload_data=list(p["data"]), + ) for p in self._payloads ] return msg @@ -164,7 +187,7 @@ def from_ros_msg(cls, msg: PeerProfileMsg) -> "PeerProfile": profile.source = Source(msg.source) profile.relay_hops = msg.relay_hops profile._payloads = [ - {"type": p.payload_type, "data": bytes(p.payload_data)} + {"type": p.payload_type, "data": bytes(p.payload_data), "stamp": p.stamp} for p in msg.payloads ] return profile diff --git a/robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml b/robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml index f405c4be..c293be26 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml +++ b/robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml @@ -15,7 +15,8 @@ - - + + + diff --git a/robot/ros_ws/src/coordination/coordination_bringup/setup.py b/robot/ros_ws/src/coordination/coordination_bringup/setup.py index aa8c7c93..381b0fe0 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/setup.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/setup.py @@ -11,7 +11,7 @@ ['resource/' + package_name]), ('share/' + package_name, ['package.xml']), ('share/' + package_name + '/launch', ['launch/gossip.launch.xml']), - ('share/' + package_name + '/config', ['config/gossip_dds_router.yaml']), + ('share/' + package_name + '/config', ['config/gossip_dds_router.yaml', 'config/gossip_payloads.yaml']), ('lib/' + package_name, ['scripts/gossip_node', 'scripts/peer_registry_monitor.py']), ], install_requires=['setuptools'], diff --git a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg index 4f0b909b..02ba1f31 100644 --- a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg +++ b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg @@ -2,5 +2,8 @@ # payload_type holds the fully-qualified ROS message type string, # e.g. "nav_msgs/msg/OccupancyGrid". payload_data holds the # serialized bytes produced by rclpy.serialization.serialize_message(). +# stamp is the time the source topic was last received — receivers can use +# this to detect stale payloads independently of the gossip message timestamp. +builtin_interfaces/Time stamp string payload_type uint8[] payload_data From ae062e5191be8668cddadaf782b15a7aa15bf359 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 25 Mar 2026 17:20:18 -0400 Subject: [PATCH 18/55] fixing the rotation of payload --- .agents/skills/attach-gossip-payload/SKILL.md | 97 +++++- .../gcs_visualizer/gcs_utils.py | 61 ++++ .../gcs_visualizer/payload_visualizer_node.py | 158 ++++----- .../onboard_all/config/dds_router.yaml | 1 - .../config/gossip_payloads.yaml | 3 + .../launch_scripts/two_drone_fire.py | 303 ++++++++++++++++++ 6 files changed, 526 insertions(+), 97 deletions(-) create mode 100644 simulation/isaac-sim/launch_scripts/two_drone_fire.py diff --git a/.agents/skills/attach-gossip-payload/SKILL.md b/.agents/skills/attach-gossip-payload/SKILL.md index 0cbaf873..351f8a9f 100644 --- a/.agents/skills/attach-gossip-payload/SKILL.md +++ b/.agents/skills/attach-gossip-payload/SKILL.md @@ -80,12 +80,99 @@ def on_peer_msg(self, msg): print(type(payload)) ``` -## Current payloads (Rayfronts example) +## Step 4 — Add GCS visualization -| Topic | Type | Purpose | -|-------|------|---------| -| `/{robot_name}/filtered_rays` | `visualization_msgs/msg/MarkerArray` | Semantic filtered rays — peers avoid re-exploring these areas | -| `/{robot_name}/frontier_viewpoints` | `sensor_msgs/msg/PointCloud2` | Candidate exploration targets | +After adding a payload to `gossip_payloads.yaml`, add a handler so it appears in +Foxglove. Each payload is published to its own topic: +`/gcs/payload/{robot_name}/{payload_name}` + +This means Foxglove exposes full visualization controls (point size, color mapping, +marker type, etc.) for each payload independently. + +**File:** `gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py` + +### 4a — Read the payload type from `gossip_payloads.yaml` + +Open `robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml` +and note the `type:` field for your new entry. This determines how to deserialize it. + +If your type is **unique** (not already in `PAYLOAD_HANDLERS`), go to step 4b. +If your type **already exists** (e.g. a second `sensor_msgs/msg/PointCloud2`), go to step 4c. + +### 4b — Unique type: add to `PAYLOAD_HANDLERS` + +Add a handler and register it: + +```python +PAYLOAD_HANDLERS = { + 'visualization_msgs/msg/MarkerArray': _handle_filtered_rays, + 'sensor_msgs/msg/PointCloud2': _handle_frontier_viewpoints, + 'your_msgs/msg/YourType': _handle_your_payload, # ← add +} +``` + +Handler signature — all handlers must match exactly: +```python +def _handle_your_payload(self, robot_name, msg, boot, i, now): + # msg — deserialized ROS message + # boot — (bx, by, bz) ENU offset; add to all positions to go odom→map frame + # i — stable robot index (use for marker IDs: i * 100000 + unique_offset) + # now — current ROS timestamp (builtin_interfaces/Time) + bx, by, bz = boot + # transform and publish to the payload's dedicated topic: + self._pub_for(f'/gcs/payload/{robot_name}/your_name', YourMsgType).publish(out) +``` + +### 4c — Duplicate type: dispatch by index in `_on_peer_profile` + +`PAYLOAD_HANDLERS` is a dict and cannot hold duplicate keys. After the +`PAYLOAD_HANDLERS` loop in `_on_peer_profile`, access payloads by their position +among same-type entries — order matches `gossip_payloads.yaml`: + +```python +# Example: 2nd sensor_msgs/msg/PointCloud2 (index 1) +pc2_list = [p for p in profile._payloads if p["type"] == "sensor_msgs/msg/PointCloud2"] +if len(pc2_list) >= 2: + msg = deserialize_message(bytes(pc2_list[1]["data"]), PointCloud2) + self._payload_cache[(robot_name, 'my_cache_key')] = msg +cached = self._payload_cache.get((robot_name, 'my_cache_key')) +if cached is not None: + self._handle_my_payload(robot_name, cached, boot, robot_index, now) +``` + +### 4d — Available transform helpers (`gcs_utils.py`) + +Check `gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py` before writing +transform logic. Add a new helper there if none fits. + +| Helper | Use for | +|--------|---------| +| `transform_marker_array(ma, bx, by, bz, ns, id_base, stamp, lifetime)` | `MarkerArray` → translated `MarkerArray` | +| `transform_point_cloud2(cloud, bx, by, bz)` | `PointCloud2` → translated `PointCloud2` (preserves all fields including `rgb`) | + +Publish raw `PointCloud2` when you want Foxglove's viz controls (point size, color +mapping, etc.). Publish `MarkerArray` when the shape/color is fixed by the publisher. + +### 4e — Rebuild GCS + +```bash +docker exec airstack-gcs-1 bash -c "bws --packages-select gcs_visualizer && sws" +``` + +Verify topics exist: +```bash +docker exec airstack-gcs-1 bash -c "ros2 topic list | grep /gcs/payload" +``` + +--- + +## Current payloads + +| Topic in `gossip_payloads.yaml` | Type | GCS topic | Foxglove controls | +|--------------------------------|------|-----------|-------------------| +| `/{robot_name}/filtered_rays` | `visualization_msgs/msg/MarkerArray` | `/gcs/payload/{robot}/filtered_rays` | Fixed (MarkerArray) | +| `/{robot_name}/frontier_viewpoints` | `sensor_msgs/msg/PointCloud2` | `/gcs/payload/{robot}/frontier_viewpoints` | Full (raw PointCloud2) | +| `/{robot_name}/rayfronts/voxel_rgb` | `sensor_msgs/msg/PointCloud2` | `/gcs/payload/{robot}/rgb_voxels` | Full (raw PointCloud2 with RGB) | ## Architecture notes diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py index 27500576..5321c0cb 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py @@ -97,6 +97,67 @@ def transform_marker_array(marker_array, bx, by, bz, ns, id_base, stamp, lifetim return result +def point_cloud2_to_cube_marker(cloud, bx, by, bz, ns, marker_id, stamp, lifetime, + fallback_color=None, scale=0.2): + """Convert a PointCloud2 to a CUBE_LIST Marker translated into the map frame. + + Extracts x, y, z fields and applies the boot offset (bx, by, bz). + If the cloud has an ``rgb`` field (PCL-packed uint32: 0x00RRGGBB stored as + float32 bytes), per-point colors are written to ``colors[]``. + Otherwise ``fallback_color`` (r, g, b, a) is used as a uniform color. + + pose.orientation.w is set to 1.0 — required for CUBE_LIST so the per-point + positions are not distorted by an invalid default quaternion. + + Returns a Marker, or None if the cloud has no x/y/z fields. + """ + from visualization_msgs.msg import Marker + from geometry_msgs.msg import Point as GPoint + from std_msgs.msg import ColorRGBA + + field_map = {f.name: f.offset for f in cloud.fields} + if not all(k in field_map for k in ('x', 'y', 'z')): + return None + + ox, oy, oz = field_map['x'], field_map['y'], field_map['z'] + o_rgb = field_map.get('rgb') + ps = cloud.point_step + n_points = cloud.width * cloud.height + data = bytes(cloud.data) + + m = Marker() + m.header.frame_id = 'map' + m.header.stamp = stamp + m.ns = ns + m.id = marker_id + m.pose.orientation.w = 1.0 # identity — must be set or CUBE_LIST distorts positions + m.type = Marker.CUBE_LIST + m.action = Marker.ADD + m.scale.x = scale + m.scale.y = scale + m.scale.z = scale + m.lifetime = lifetime + + for idx in range(n_points): + base = idx * ps + x, = struct.unpack_from('> 16) & 0xFF) / 255.0 + g = ((packed >> 8) & 0xFF) / 255.0 + b = (packed & 0xFF) / 255.0 + m.colors.append(ColorRGBA(r=r, g=g, b=b, a=1.0)) + + if not m.colors: + fc = fallback_color or (1.0, 1.0, 1.0, 1.0) + m.color = ColorRGBA(r=fc[0], g=fc[1], b=fc[2], a=fc[3]) + + return m + + def transform_point_cloud2(cloud, bx, by, bz): """Return a copy of a PointCloud2 with all x,y,z values offset by (bx, by, bz). diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py index 561a7e53..68911ee8 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py @@ -2,51 +2,54 @@ payload_visualizer_node.py ========================== Project-specific GCS visualization node. Reads PeerProfile payloads from -/gossip/peers, applies coordinate frame translation, and publishes for Foxglove. +/gossip/peers, applies coordinate frame translation, and publishes each payload +to its own topic: /gcs/payload/{robot_name}/{payload_name} + +Publishing per-topic (rather than a single MarkerArray) lets Foxglove expose +its full visualization controls (point size, color mapping, etc.) for each payload. Payloads are defined in gossip_payloads.yaml on the robot side — no DDS router changes are needed when adding new payload types. -How to adapt for your project ------------------------------- -1. On the robot: add entries to gossip_payloads.yaml (topic + ROS type). -2. Here: add a handler method and register it in PAYLOAD_HANDLERS. +How to add a new payload for visualization +------------------------------------------ +1. Read gossip_payloads.yaml and find the `type:` field of the new entry. +2. Add a handler method here (see signature below). +3. If the type is unique (not already in PAYLOAD_HANDLERS), add it to the dict. + If the type already exists (e.g. a second PointCloud2), dispatch by index in + _on_peer_profile after the PAYLOAD_HANDLERS loop (order matches yaml order). Handler signature: - def _handle_(self, robot_name, msg, boot, i, now, array): - # msg — deserialized ROS message - # boot — (bx, by, bz) ENU translation from robot odom frame to global map - # i — stable robot index (use for marker IDs to avoid collisions) - # now — current ROS timestamp - # array — MarkerArray to append Marker messages to - # For non-Marker outputs (e.g. PointCloud2), publish a separate topic directly. + def _handle_(self, robot_name, msg, boot, i, now): + # msg — deserialized ROS message + # boot — (bx, by, bz) ENU offset: add to all positions to go odom→map frame + # i — stable robot index (for marker IDs: i * 100000 + unique_offset) + # now — current ROS timestamp + # Publish to self._pub_for('/gcs/payload/{robot_name}/{name}', MsgType) Coordinate frame note --------------------- -Payload data is in each robot's local odometry frame (origin = robot's first -GPS fix in ENU). Apply the boot offset to translate into the global 'map' frame. +Payload data is in each robot's local odometry frame. Apply the boot offset to +translate into the global 'map' frame before publishing. Use transform_marker_array() for MarkerArray payloads. -Use transform_point_cloud2() for PointCloud2 payloads. -Both helpers are in gcs_utils.py. +Use transform_point_cloud2() for PointCloud2 payloads (preserves all fields + rgb). +Both are in gcs_utils.py. """ import rclpy from rclpy.node import Node from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy -import struct - -from sensor_msgs.msg import NavSatFix -from visualization_msgs.msg import MarkerArray, Marker -from geometry_msgs.msg import Point -from std_msgs.msg import ColorRGBA +from rclpy.serialization import deserialize_message +from sensor_msgs.msg import PointCloud2 +from visualization_msgs.msg import MarkerArray from builtin_interfaces.msg import Duration from coordination_msgs.msg import PeerProfile as PeerProfileMsg from coordination_bringup.peer_profile import PeerProfile -from gcs_visualizer.gcs_utils import gps_to_enu, transform_marker_array +from gcs_visualizer.gcs_utils import gps_to_enu, transform_marker_array, transform_point_cloud2 GOSSIP_QOS = QoSProfile( reliability=ReliabilityPolicy.RELIABLE, @@ -55,19 +58,14 @@ def _handle_(self, robot_name, msg, boot, i, now, array): depth=10, ) -GPS_SUFFIX = '/interface/mavros/global_position/global' - - class PayloadVisualizerNode(Node): def __init__(self): super().__init__('payload_visualizer_node') self._gps_boot = {} # robot_name -> (bx, by, bz) ENU at first GPS fix self._alt_ground = None - self._payload_cache = {} # (robot_name, type_str) -> last deserialized payload msg - - self._markers_pub = self.create_publisher( - MarkerArray, '/gcs/payload_markers', 10) + self._payload_cache = {} # (robot_name, cache_key) -> last deserialized payload msg + self._pubs = {} # topic -> Publisher (created lazily) # Subscribe to /gossip/peers — PeerProfiles arrive here from all robots self.create_subscription( @@ -76,15 +74,12 @@ def __init__(self): self.get_logger().info('PayloadVisualizerNode started') - # ── Colour palette for per-robot point clouds ───────────────────────────── + # ── Lazy publisher helper ────────────────────────────────────────────── - _ROBOT_COLORS = [ - (0.0, 1.0, 1.0, 1.0), # cyan - (1.0, 0.5, 0.0, 1.0), # orange - (0.5, 1.0, 0.0, 1.0), # lime - (1.0, 0.0, 0.5, 1.0), # pink - (0.5, 0.0, 1.0, 1.0), # purple - ] + def _pub_for(self, topic, msg_type): + if topic not in self._pubs: + self._pubs[topic] = self.create_publisher(msg_type, topic, 10) + return self._pubs[topic] # ── Boot offset tracking ─────────────────────────────────────────────── @@ -112,8 +107,6 @@ def _on_peer_profile(self, msg: PeerProfileMsg) -> None: profile = PeerProfile.from_ros_msg(msg) now = self.get_clock().now().to_msg() - array = MarkerArray() - robot_index = self._robot_index(robot_name) for type_str, handler in self.PAYLOAD_HANDLERS.items(): @@ -122,10 +115,16 @@ def _on_peer_profile(self, msg: PeerProfileMsg) -> None: self._payload_cache[(robot_name, type_str)] = payload cached = self._payload_cache.get((robot_name, type_str)) if cached is not None: - handler(self, robot_name, cached, boot, robot_index, now, array) + handler(self, robot_name, cached, boot, robot_index, now) - if array.markers: - self._markers_pub.publish(array) + # voxel_rgb is the 2nd PointCloud2 payload (frontier_viewpoints is 1st) + pc2_list = [p for p in profile._payloads if p["type"] == "sensor_msgs/msg/PointCloud2"] + if len(pc2_list) >= 2: + voxel_rgb = deserialize_message(bytes(pc2_list[1]["data"]), PointCloud2) + self._payload_cache[(robot_name, 'rgb_voxels')] = voxel_rgb + cached_voxels = self._payload_cache.get((robot_name, 'rgb_voxels')) + if cached_voxels is not None: + self._handle_rgb_voxels(robot_name, cached_voxels, boot, robot_index, now) def _robot_index(self, robot_name: str) -> int: """Stable integer index for a robot name (alphabetical order).""" @@ -134,61 +133,38 @@ def _robot_index(self, robot_name: str) -> int: # ── Payload handlers ────────────────────────────────────────────────── # Each handler receives: - # robot_name – e.g. "robot_1" - # msg – deserialized ROS message - # boot – (bx, by, bz) ENU translation for this robot's odom frame - # i – stable robot index (for marker IDs) - # now – current ROS timestamp - # array – MarkerArray to append Marker messages to - # - # For non-marker outputs (e.g. PointCloud2), publish directly from here. - - def _handle_filtered_rays(self, robot_name, msg, boot, i, now, array): - """Translate filtered_rays MarkerArray from odom frame to ENU map frame.""" + # robot_name – e.g. "robot_1" + # msg – deserialized ROS message + # boot – (bx, by, bz) ENU translation for this robot's odom frame + # i – stable robot index (for marker IDs) + # now – current ROS timestamp + # Publish to self._pub_for('/gcs/payload/{robot_name}/{name}', MsgType) + + def _handle_filtered_rays(self, robot_name, msg, boot, i, now): + """Publish filtered_rays MarkerArray translated into the map frame.""" bx, by, bz = boot - lifetime = Duration(sec=2, nanosec=0) - markers = transform_marker_array( + out = MarkerArray() + out.markers.extend(transform_marker_array( msg, bx, by, bz, ns=f'{robot_name}_filtered_rays', id_base=i * 100000, - stamp=now, lifetime=lifetime) - array.markers.extend(markers) + stamp=now, + lifetime=Duration(sec=2, nanosec=0))) + self._pub_for(f'/gcs/payload/{robot_name}/filtered_rays', MarkerArray).publish(out) - def _handle_frontier_viewpoints(self, robot_name, msg, boot, i, now, array): - """Convert frontier_viewpoints PointCloud2 to a POINTS Marker in the map frame.""" + def _handle_frontier_viewpoints(self, robot_name, msg, boot, i, now): + """Publish frontier_viewpoints PointCloud2 translated into the map frame.""" bx, by, bz = boot - r, g, b, a = self._ROBOT_COLORS[i % len(self._ROBOT_COLORS)] + transformed = transform_point_cloud2(msg, bx, by, bz) + transformed.header.stamp = now + self._pub_for(f'/gcs/payload/{robot_name}/frontier_viewpoints', PointCloud2).publish(transformed) - # Extract xyz from the PointCloud2 and apply boot offset - field_offsets = {f.name: f.offset for f in msg.fields if f.name in ('x', 'y', 'z')} - if not all(k in field_offsets for k in ('x', 'y', 'z')): - return - ox, oy, oz = field_offsets['x'], field_offsets['y'], field_offsets['z'] - ps = msg.point_step - n_points = msg.width * msg.height - data = bytes(msg.data) - - m = Marker() - m.header.frame_id = 'map' - m.header.stamp = now - m.ns = f'{robot_name}_frontier_viewpoints' - m.id = i * 100000 + 90000 - m.type = Marker.SPHERE_LIST - m.action = Marker.ADD - m.scale.x = 1.0 - m.scale.y = 1.0 - m.scale.z = 1.0 - m.lifetime = Duration(sec=2, nanosec=0) - m.color = ColorRGBA(r=r, g=g, b=b, a=a) - - for idx in range(n_points): - base = idx * ps - x, = struct.unpack_from(' handler method. diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml index 776be121..5b2cea84 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml @@ -19,7 +19,6 @@ participants: - name: "gcs" kind: "local" domain: $(var gcs_domain) - allowlist: # lidar and world model - name: "rt/$(env ROBOT_NAME)/sensors/ouster/point_cloud" diff --git a/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml b/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml index 32134c30..ac7dc162 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml +++ b/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml @@ -36,6 +36,9 @@ payload_topics: # Peers can use these to select non-overlapping goals. - topic: "/{robot_name}/frontier_viewpoints" type: "sensor_msgs/msg/PointCloud2" + + - topic : "/{robot_name}/rayfronts/voxel_rgb" + type: "sensor_msgs/msg/PointCloud2" # ── Add more payloads below ──────────────────────────────────────────────── # - topic: "/{robot_name}/your/topic" diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py new file mode 100644 index 00000000..f8fe702c --- /dev/null +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -0,0 +1,303 @@ +#!/usr/bin/env python3 + +import carb +from isaacsim import SimulationApp + +# Start Isaac Sim's simulation environment (Must start this before importing omni modules) +simulation_app = SimulationApp({"headless": False}) + +import omni.kit.app +import omni.timeline +import omni.usd +import omni.client +import asyncio +import time + +from omni.isaac.core.world import World +from omni.isaac.core.objects import GroundPlane +from pxr import Gf, UsdGeom, UsdLux, Sdf, UsdPhysics + +# Pegasus imports +from pegasus.simulator.logic.interface.pegasus_interface import PegasusInterface +from pegasus.simulator.ogn.api.spawn_multirotor import spawn_px4_multirotor_node +from pegasus.simulator.ogn.api.spawn_zed_camera import add_zed_stereo_camera_subgraph +from pegasus.simulator.ogn.api.spawn_ouster_lidar import add_ouster_lidar_subgraph + + +# --------------------- CONFIGURATION --------------------- +NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" + +#env/stage path and scale +ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/ACFA/FireAcademyFaro/fire_academy_fixed_textures.usd" +#f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_faro.usd" +#f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" +#f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" +STAGE_SCALE = 0.01 + + +DRONE_USD = "/root/Documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" + +# Lighting +ADD_DOME_LIGHT = True +DOME_LIGHT_PATH = "/World/DomeLight" +DOME_LIGHT_INTENSITY = 3500.0 +DOME_LIGHT_EXPOSURE = -3.0 + +#Drone offset +SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.07 + +# spawn location for /Assets/Fire_Academy_Digital_Twin/fire_academy.usd +# DRONE1_XY_M = (20.0, -7.0) +# DRONE2_XY_M = (17, 1.5) + +DRONE1_XY_M = (27.0, 7.6) +DRONE2_XY_M = (23, 9.8) +# --------------------------------------------------------- + + +ext_manager = omni.kit.app.get_app().get_extension_manager() +for ext in [ + "omni.physx.forcefields", + "omni.graph.core", # Core runtime for OmniGraph engine + "omni.graph.action", # Action Graph framework + "omni.graph.action_nodes", # Built-in Action Graph node library + "omni.graph.ui", # UI scaffolding for graph tools + "omni.graph.visualization.nodes", # Visualization helper nodes + "omni.graph.scriptnode", # Python script node support + "omni.graph.window.action", # Action Graph editor window + "omni.graph.window.generic", # Generic graph UI tools + "omni.graph.ui_nodes", # UI node building helpers + "airlab.pegasus", # Airlab extension Pegasus core extension + "pegasus.simulator", +]: + if not ext_manager.is_extension_enabled(ext): + # Try immediate enable if available (more robust across Kit versions), fall back otherwise + try: + ext_manager.set_extension_enabled_immediate(ext, True) + except Exception: + ext_manager.set_extension_enabled(ext, True) + + +def nucleus_stat(url: str) -> bool: + result, info = omni.client.stat(url) + return result == omni.client.Result.OK + + +def add_dome_light(stage): + if stage.GetPrimAtPath(DOME_LIGHT_PATH).IsValid(): + dome = UsdLux.DomeLight.Get(stage, DOME_LIGHT_PATH) + else: + dome = UsdLux.DomeLight.Define(stage, Sdf.Path(DOME_LIGHT_PATH)) + + dome.CreateIntensityAttr(DOME_LIGHT_INTENSITY) + dome.CreateExposureAttr(DOME_LIGHT_EXPOSURE) + + +def get_stage_scale(stage): + mpu = UsdGeom.GetStageMetersPerUnit(stage) + if mpu is None or mpu <= 0: + mpu = 1.0 + s = 1.0 / mpu + return mpu, s + + +def add_collision_to_prim(prim): + if prim.IsA(UsdGeom.Mesh): + if not prim.HasAPI(UsdPhysics.CollisionAPI): + UsdPhysics.CollisionAPI.Apply(prim) + print(f"Added collision to: {prim.GetPath()}") + + # Recursively process children + for child in prim.GetChildren(): + add_collision_to_prim(child) + + +class PegasusApp: + + def __init__(self): + omni.client.initialize() + nucleus_stat(f"omniverse://{NUCLEUS_SERVER}") + nucleus_stat(ENV_URL) + + # Timeline for controlling play/stop + self.timeline = omni.timeline.get_timeline_interface() + + # Start Pegasus interface + world + self.pg = PegasusInterface() + self.pg._world = World(**self.pg._world_settings) + self.world = self.pg.world + + # Load environment + self.pg.load_environment(ENV_URL) + + stage = omni.usd.get_context().get_stage() + if stage is None: + raise RuntimeError("Stage failed to load") + + # Wait for the stage to fully load + for _ in range(100): # Wait up to ~10 seconds + omni.kit.app.get_app().update() + world_prim = stage.GetPrimAtPath("/World") + if world_prim.IsValid(): + children = list(world_prim.GetChildren()) + # Check if we have more than just PhysicsScene + non_physics_children = [c for c in children if c.GetName() != "PhysicsScene"] + if len(non_physics_children) > 0: + break + time.sleep(0.1) + + world_prim = stage.GetPrimAtPath("/World") + + # Scale the /World/stage prim + stage_prim = stage.GetPrimAtPath("/World/stage") + if stage_prim.IsValid(): + xformable = UsdGeom.Xformable(stage_prim) + + translate_attr = stage_prim.GetAttribute("xformOp:translate") + if translate_attr.IsValid(): + if str(translate_attr.GetTypeName()) == "float3": + translate_attr.Set(Gf.Vec3f(0.0, 0.0, 0.0)) + else: + translate_attr.Set(Gf.Vec3d(0.0, 0.0, 0.0)) + else: + # If missing, create a new translate op. + translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) + translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) + + scale_attr = stage_prim.GetAttribute("xformOp:scale") + if scale_attr.IsValid(): + if str(scale_attr.GetTypeName()) == "double3": + scale_attr.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + else: + scale_attr.Set(Gf.Vec3f(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + else: + # If missing, create a new scale op. + scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionFloat) + scale_op.Set(Gf.Vec3f(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) + + add_collision_to_prim(stage_prim) + print("Finished adding collisions.") + + # Let the app process the changes + for _ in range(10): + omni.kit.app.get_app().update() + + # Optionally save the stage + # stage.GetRootLayer().Export("/path/to/save/scene.usd") + + else: + print("Warning: /World/stage not found, environment not scaled") + + # Lighting + if ADD_DOME_LIGHT: + add_dome_light(stage) + + # Units + mpu, s = get_stage_scale(stage) + + drone1_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M + drone2_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M + + drone1_pos = [DRONE1_XY_M[0] * s, DRONE1_XY_M[1] * s, drone1_z_m * s] + drone2_pos = [DRONE2_XY_M[0] * s, DRONE2_XY_M[1] * s, drone2_z_m * s] + + #################################################################################################### + # Spawn vehicle 1 + #################################################################################################### + graph_handle1 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_1", + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + vehicle_id=1, # defines MAVLink port offset + domain_id=1, # defines ROS2 domain ID + usd_file=DRONE_USD, + init_pos=drone1_pos, + init_orient=[0.0, 0.0, -0.937, 0.35], #[0,0,1,0] + ) + + # Add a ZED stereo camera (with an associated subgraph) to the drone + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle1, + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + camera_name="ZEDCamera", + camera_offset=[0.1, 0.0, 0.0], # X, Y, Z offset from drone base_link + camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + ) + + # Add an Ouster lidar (with an associated subgraph) to the drone + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle1, + drone_prim="/World/drone1/base_link", + robot_name="robot_1", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link + lidar_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + lidar_min_range = 4.0, # Minimum detection range (m) to avoid propeller hits + ) + + #################################################################################################### + # Spawn vehicle 2 + #################################################################################################### + graph_handle2 = spawn_px4_multirotor_node( + pegasus_node_name="PX4Multirotor_2", + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + vehicle_id=2, # defines MAVLink port offset. Define as 2 for second vehicle + domain_id=2, # defines ROS2 domain ID. Define as 2 for second vehicle + usd_file=DRONE_USD, + init_pos=drone2_pos, + init_orient=[0.0, 0.0, -0.937, 0.35], #[0,0,1,0] + ) + + # Add a ZED stereo camera (with an associated subgraph) to the drone + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle2, + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + camera_name="ZEDCamera", + camera_offset=[0.1, 0.0, 0.0], # X, Y, Z offset from drone base_link + camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) + ) + + # Add an Ouster lidar (with an associated subgraph) to the drone + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle2, + drone_prim="/World/drone2/base_link", + robot_name="robot_2", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range = 3.5 + ) + + # Reset so physics/articulations are ready + self.world.reset() + + self.stop_sim = False + + def run(self): + # Start sim timeline + self.timeline.play() + + # Main loop + while simulation_app.is_running() and not self.stop_sim: + try: + self.world.step(render=True) + except Exception as e: + carb.log_error(f"Error during simulation step: {e}") + break + + # Cleanup + carb.log_warn("PegasusApp Simulation App is closing.") + self.timeline.stop() + simulation_app.close() + + +def main(): + pg_app = PegasusApp() + pg_app.run() + + +if __name__ == "__main__": + main() \ No newline at end of file From ce32a224e39c029714055a0ebf52dab86061b88b Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 25 Mar 2026 17:50:42 -0400 Subject: [PATCH 19/55] syncing devices --- .env | 4 +- .../foxglove_visualizer_node.py | 11 +- .../gcs_visualizer/gcs_utils.py | 94 +------ .../gcs_visualizer/payload_visualizer_node.py | 131 +++++---- .../coordination_bringup/frame_utils.py | 122 ++++++++ .../coordination_bringup/gossip_node.py | 134 +++++++-- .../scripts/peer_registry_monitor.py | 65 ++++- .../three_drone_scene_import.py | 88 ++---- .../launch_scripts/two_drone_fire.py | 265 +++++++----------- .../launch_scripts/two_drone_scene_import.py | 246 +++++++--------- simulation/isaac-sim/utils/scene_prep.py | 24 +- 11 files changed, 618 insertions(+), 566 deletions(-) create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py diff --git a/.env b/.env index e2947f19..c58dd6b7 100644 --- a/.env +++ b/.env @@ -26,7 +26,7 @@ COMPOSE_PROFILES="desktop" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="3" # Number of robot containers to launch. +NUM_ROBOTS="2" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== ISAAC SIM ===================== @@ -34,7 +34,7 @@ ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_peg # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" # Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/) -ISAAC_SIM_SCRIPT_NAME="three_drone_scene_import.py" +ISAAC_SIM_SCRIPT_NAME="two_drone_fire.py" PLAY_SIM_ON_START="false" # =============================================== diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index a634fafc..5ab9106b 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -277,11 +277,12 @@ def _publish_markers(self): traj = self._trajectories.get(robot_name) if traj is not None and boot is not None: bx, by, bz = boot - for m in transform_marker_array( - traj, bx, by, bz, - ns=f'{robot_name}_traj', - id_base=i * 10000, - stamp=now, lifetime=lifetime): + transformed = transform_marker_array(traj, bx, by, bz) + for k, m in enumerate(transformed.markers): + m.ns = f'{robot_name}_traj' + m.id = i * 10000 + k + m.header.stamp = now + m.lifetime = lifetime if m.color.a > 0: m.color.r = 0.8 m.color.g = 0.5 diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py index 5321c0cb..760e4ab2 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py @@ -20,9 +20,17 @@ import copy import struct +# Shared frame utilities live in coordination_bringup so both robot and GCS +# packages can import them. Re-export the ones callers expect from here. +from coordination_bringup.frame_utils import ( + gps_to_enu as _gps_to_enu_abs, + heading_to_quat, + rotate_vector, + transform_marker_array, + transform_point_cloud2 as _transform_pc2, +) + # ── Origin ──────────────────────────────────────────────────────────────────── -# Matches Pegasus configs.yaml and gps_utils.py DEFAULT_WORLD_ORIGIN (Lisbon). -# Update this if your simulation/field site uses a different origin. ORIGIN_LAT = 38.736832 ORIGIN_LON = -9.137977 ORIGIN_ALT = 90.0 @@ -53,50 +61,6 @@ def multiply_quaternions(q1, q2): ) -def rotate_vector(v, q): - """Rotate vector v=(vx,vy,vz) by quaternion q=(x,y,z,w). Returns (x,y,z).""" - vx, vy, vz = v - qx, qy, qz, qw = q - cx = qy * vz - qz * vy - cy = qz * vx - qx * vz - cz = qx * vy - qy * vx - return ( - vx + 2.0 * (qw * cx + qy * cz - qz * cy), - vy + 2.0 * (qw * cy + qz * cx - qx * cz), - vz + 2.0 * (qw * cz + qx * cy - qy * cx), - ) - - -# ── Marker / PointCloud2 transform helpers ──────────────────────────────────── - -def transform_marker_array(marker_array, bx, by, bz, ns, id_base, stamp, lifetime): - """Deep-copy a MarkerArray and translate all point coordinates by (bx, by, bz). - - Sets frame_id='map', the given namespace, sequential IDs starting at - ``id_base``, and the provided stamp and lifetime on every marker. - - Only translates ``points[]`` — does NOT touch ``pose.position``, which is - intentional: LINE_STRIP and ARROW markers encode geometry in ``points``. - Returns a list of Marker messages. - """ - from geometry_msgs.msg import Point - - result = [] - for k, orig in enumerate(marker_array.markers): - m = copy.deepcopy(orig) - m.header.frame_id = 'map' - m.header.stamp = stamp - m.ns = ns - m.id = id_base + k - m.lifetime = lifetime - for pt in m.points: - pt.x += bx - pt.y += by - pt.z += bz - result.append(m) - return result - - def point_cloud2_to_cube_marker(cloud, bx, by, bz, ns, marker_id, stamp, lifetime, fallback_color=None, scale=0.2): """Convert a PointCloud2 to a CUBE_LIST Marker translated into the map frame. @@ -158,39 +122,5 @@ def point_cloud2_to_cube_marker(cloud, bx, by, bz, ns, marker_id, stamp, lifetim return m -def transform_point_cloud2(cloud, bx, by, bz): - """Return a copy of a PointCloud2 with all x,y,z values offset by (bx, by, bz). - - Assumes the cloud has float32 x, y, z fields (standard ROS convention). - Reads field offsets from the message so non-standard field orderings work. - Sets frame_id='map' on the returned message. - """ - # Find byte offsets for x, y, z fields - field_offsets = {} - for f in cloud.fields: - if f.name in ('x', 'y', 'z'): - field_offsets[f.name] = f.offset - - if not all(k in field_offsets for k in ('x', 'y', 'z')): - return cloud # can't transform without x,y,z fields - - ox = field_offsets['x'] - oy = field_offsets['y'] - oz = field_offsets['z'] - - new_cloud = copy.copy(cloud) - new_cloud.header = copy.copy(cloud.header) - new_cloud.header.frame_id = 'map' - data = bytearray(cloud.data) - n_points = cloud.width * cloud.height - ps = cloud.point_step - for i in range(n_points): - base = i * ps - x, = struct.unpack_from('(self, robot_name, msg, boot, i, now): - # msg — deserialized ROS message - # boot — (bx, by, bz) ENU offset: add to all positions to go odom→map frame + def _handle_(self, robot_name, msg, i, now): + # msg — deserialized ROS message (already in global ENU / 'map' frame) # i — stable robot index (for marker IDs: i * 100000 + unique_offset) # now — current ROS timestamp # Publish to self._pub_for('/gcs/payload/{robot_name}/{name}', MsgType) - -Coordinate frame note ---------------------- -Payload data is in each robot's local odometry frame. Apply the boot offset to -translate into the global 'map' frame before publishing. - -Use transform_marker_array() for MarkerArray payloads. -Use transform_point_cloud2() for PointCloud2 payloads (preserves all fields + rgb). -Both are in gcs_utils.py. """ import rclpy @@ -48,8 +44,12 @@ def _handle_(self, robot_name, msg, boot, i, now): from coordination_msgs.msg import PeerProfile as PeerProfileMsg from coordination_bringup.peer_profile import PeerProfile +from gcs_visualizer.gcs_utils import transform_marker_array, transform_point_cloud2 + +# ENU origin altitude used by gossip_node when transforming payloads at source. +# Must match frame_utils.DEFAULT_ORIGIN_ALT. +_GOSSIP_ORIGIN_ALT = 90.0 -from gcs_visualizer.gcs_utils import gps_to_enu, transform_marker_array, transform_point_cloud2 GOSSIP_QOS = QoSProfile( reliability=ReliabilityPolicy.RELIABLE, @@ -62,8 +62,9 @@ class PayloadVisualizerNode(Node): def __init__(self): super().__init__('payload_visualizer_node') - self._gps_boot = {} # robot_name -> (bx, by, bz) ENU at first GPS fix - self._alt_ground = None + self._gps_boot = {} # robot_name -> True once a valid GPS fix has been seen + self._last_stamp = {} # robot_name -> float: ROS stamp of last accepted message + self._alt_ground = None # altitude (m) of first GPS fix — display z datum self._payload_cache = {} # (robot_name, cache_key) -> last deserialized payload msg self._pubs = {} # topic -> Publisher (created lazily) @@ -81,28 +82,50 @@ def _pub_for(self, topic, msg_type): self._pubs[topic] = self.create_publisher(msg_type, topic, 10) return self._pubs[topic] - # ── Boot offset tracking ─────────────────────────────────────────────── + # ── GPS boot tracking (for robot index, not transforms) ─────────────── - def _update_boot_from_gps(self, robot_name: str, gps_fix) -> None: - """Track the first GPS fix seen per robot as the boot (odom origin) offset.""" + def _update_boot(self, robot_name: str, gps_fix) -> None: + """Record that a valid GPS fix has been seen for this robot. + + Also tracks alt_ground (first GPS altitude seen across all robots) so + payload z values can be shifted to match the foxglove_visualizer datum. + """ if gps_fix.status.status < 0: return if self._alt_ground is None: self._alt_ground = gps_fix.altitude if robot_name not in self._gps_boot: - pos = gps_to_enu( - gps_fix.latitude, gps_fix.longitude, - gps_fix.altitude, self._alt_ground) - self._gps_boot[robot_name] = pos + self._gps_boot[robot_name] = True + + def _display_z_offset(self) -> float: + """Z shift to apply to payload positions before display. + + gossip_node transforms payloads with a fixed ENU origin_alt of 90 m. + foxglove_visualizer uses alt_ground (first GPS fix altitude) as its datum. + If those two differ, payloads appear above or below the drone. + This correction aligns them without touching the peer-profile data. + """ + if self._alt_ground is None: + return 0.0 + return _GOSSIP_ORIGIN_ALT - self._alt_ground # ── Peer profile callback ───────────────────────────────────────────── def _on_peer_profile(self, msg: PeerProfileMsg) -> None: robot_name = msg.robot_name - self._update_boot_from_gps(robot_name, msg.gps_fix) - boot = self._gps_boot.get(robot_name) - if boot is None: + # Per-robot ordering: accept only if this message is newer than the last + # accepted one for THIS robot. robot_1 and robot_2 are tracked independently + # so neither can block the other. + new_t = (msg.gps_fix.header.stamp.sec + + msg.gps_fix.header.stamp.nanosec * 1e-9) + if new_t < self._last_stamp.get(robot_name, 0.0): + return + self._last_stamp[robot_name] = new_t + + self._update_boot(robot_name, msg.gps_fix) + + if robot_name not in self._gps_boot: return # no GPS fix yet, skip profile = PeerProfile.from_ros_msg(msg) @@ -115,7 +138,7 @@ def _on_peer_profile(self, msg: PeerProfileMsg) -> None: self._payload_cache[(robot_name, type_str)] = payload cached = self._payload_cache.get((robot_name, type_str)) if cached is not None: - handler(self, robot_name, cached, boot, robot_index, now) + handler(self, robot_name, cached, robot_index, now) # voxel_rgb is the 2nd PointCloud2 payload (frontier_viewpoints is 1st) pc2_list = [p for p in profile._payloads if p["type"] == "sensor_msgs/msg/PointCloud2"] @@ -124,7 +147,7 @@ def _on_peer_profile(self, msg: PeerProfileMsg) -> None: self._payload_cache[(robot_name, 'rgb_voxels')] = voxel_rgb cached_voxels = self._payload_cache.get((robot_name, 'rgb_voxels')) if cached_voxels is not None: - self._handle_rgb_voxels(robot_name, cached_voxels, boot, robot_index, now) + self._handle_rgb_voxels(robot_name, cached_voxels, robot_index, now) def _robot_index(self, robot_name: str) -> int: """Stable integer index for a robot name (alphabetical order).""" @@ -134,37 +157,33 @@ def _robot_index(self, robot_name: str) -> int: # ── Payload handlers ────────────────────────────────────────────────── # Each handler receives: # robot_name – e.g. "robot_1" - # msg – deserialized ROS message - # boot – (bx, by, bz) ENU translation for this robot's odom frame + # msg – deserialized ROS message (already in global ENU / 'map' frame) # i – stable robot index (for marker IDs) # now – current ROS timestamp # Publish to self._pub_for('/gcs/payload/{robot_name}/{name}', MsgType) - def _handle_filtered_rays(self, robot_name, msg, boot, i, now): - """Publish filtered_rays MarkerArray translated into the map frame.""" - bx, by, bz = boot - out = MarkerArray() - out.markers.extend(transform_marker_array( - msg, bx, by, bz, - ns=f'{robot_name}_filtered_rays', - id_base=i * 100000, - stamp=now, - lifetime=Duration(sec=2, nanosec=0))) - self._pub_for(f'/gcs/payload/{robot_name}/filtered_rays', MarkerArray).publish(out) - - def _handle_frontier_viewpoints(self, robot_name, msg, boot, i, now): - """Publish frontier_viewpoints PointCloud2 translated into the map frame.""" - bx, by, bz = boot - transformed = transform_point_cloud2(msg, bx, by, bz) - transformed.header.stamp = now - self._pub_for(f'/gcs/payload/{robot_name}/frontier_viewpoints', PointCloud2).publish(transformed) - - def _handle_rgb_voxels(self, robot_name, msg, boot, i, now): - """Publish voxel_rgb PointCloud2 translated into the map frame.""" - bx, by, bz = boot - transformed = transform_point_cloud2(msg, bx, by, bz) - transformed.header.stamp = now - self._pub_for(f'/gcs/payload/{robot_name}/rgb_voxels', PointCloud2).publish(transformed) + def _handle_filtered_rays(self, robot_name, msg, i, now): + """Republish filtered_rays MarkerArray shifted to the GCS display datum.""" + bz = self._display_z_offset() + out_ma = transform_marker_array(msg, 0.0, 0.0, bz) + for k, m in enumerate(out_ma.markers): + m.header.stamp = now + m.ns = f'{robot_name}_filtered_rays' + m.id = i * 100000 + k + m.lifetime = Duration(sec=2, nanosec=0) + self._pub_for(f'/gcs/payload/{robot_name}/filtered_rays', MarkerArray).publish(out_ma) + + def _handle_frontier_viewpoints(self, robot_name, msg, i, now): + """Republish frontier_viewpoints PointCloud2 shifted to the GCS display datum.""" + out = transform_point_cloud2(msg, 0.0, 0.0, self._display_z_offset()) + out.header.stamp = now + self._pub_for(f'/gcs/payload/{robot_name}/frontier_viewpoints', PointCloud2).publish(out) + + def _handle_rgb_voxels(self, robot_name, msg, i, now): + """Republish voxel_rgb PointCloud2 shifted to the GCS display datum.""" + out = transform_point_cloud2(msg, 0.0, 0.0, self._display_z_offset()) + out.header.stamp = now + self._pub_for(f'/gcs/payload/{robot_name}/rgb_voxels', PointCloud2).publish(out) # ── Handler registry ────────────────────────────────────────────────── # Maps ROS type string -> handler method. diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py new file mode 100644 index 00000000..19fd75d6 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py @@ -0,0 +1,122 @@ +""" +frame_utils.py +============== +Coordinate frame utilities shared between gossip_node (robot) and +gcs_visualizer (GCS). + +Robots transform their payloads into global ENU before attaching them to +PeerProfile, so every consumer receives world-frame data directly. + +ENU world origin (what GPS (0,0,0) maps to in metres): + Must match gcs_utils.py ORIGIN_* and the simulation's GPS home position. + Override via the 'enu_origin_lat/lon/alt' ROS parameters in gossip_node, + or leave at the Lisbon default used everywhere else in AirStack. +""" + +import copy +import math +import struct + +# Default world origin — Lisbon (matches gcs_utils.py and gps_utils.py) +DEFAULT_ORIGIN_LAT = 38.736832 +DEFAULT_ORIGIN_LON = -9.137977 +DEFAULT_ORIGIN_ALT = 90.0 + + +def gps_to_enu(lat, lon, alt, + origin_lat=DEFAULT_ORIGIN_LAT, + origin_lon=DEFAULT_ORIGIN_LON, + origin_alt=DEFAULT_ORIGIN_ALT): + """Convert GPS lat/lon/alt to ENU metres relative to the world origin.""" + x = (lon - origin_lon) * 111320.0 * math.cos(math.radians(origin_lat)) + y = (lat - origin_lat) * 111320.0 + z = alt - origin_alt + return x, y, z + + +def heading_to_quat(heading_deg): + """Compass heading (degrees CW from North) → ENU yaw quaternion (x,y,z,w). + + ENU: yaw=0 → East (+x), yaw=90° → North (+y). + heading=0 (North) → yaw=90° → q=(0,0,sin45,cos45) + heading=90 (East) → yaw=0° → q=(0,0,0,1) + """ + yaw_enu = math.radians(90.0 - heading_deg) + return (0.0, 0.0, math.sin(yaw_enu / 2.0), math.cos(yaw_enu / 2.0)) + + +def rotate_vector(v, q): + """Rotate vector v=(vx,vy,vz) by quaternion q=(x,y,z,w). Returns (x,y,z).""" + vx, vy, vz = v + qx, qy, qz, qw = q + cx = qy * vz - qz * vy + cy = qz * vx - qx * vz + cz = qx * vy - qy * vx + return ( + vx + 2.0 * (qw * cx + qy * cz - qz * cy), + vy + 2.0 * (qw * cy + qz * cx - qx * cz), + vz + 2.0 * (qw * cz + qx * cy - qy * cx), + ) + + +def transform_marker_array(marker_array, bx, by, bz, q=(0.0, 0.0, 0.0, 1.0)): + """Deep-copy a MarkerArray and transform all points: p_map = R(q)*p + (bx,by,bz). + + Transforms every point in points[] (LINE_LIST, LINE_STRIP, CUBE_LIST, + SPHERE_LIST, POINTS, ARROW-with-2-points, TRIANGLE_LIST). + + Note: pose.position is intentionally NOT translated here. In the ROS + marker convention, points[] are expressed in the marker's local frame + (defined by pose). These markers typically use an identity pose so that + points[] are already in the parent frame; translating pose.position as + well would double-apply the offset. If you have single-geometry markers + (SPHERE, CUBE, TEXT, MESH_RESOURCE) whose position lives in pose.position + rather than points[], translate pose.position at the call site instead. + + Sets frame_id='map'. Returns a new MarkerArray (does not modify in-place). + """ + from visualization_msgs.msg import MarkerArray as MA + out = MA() + for orig in marker_array.markers: + m = copy.deepcopy(orig) + m.header.frame_id = 'map' + for pt in m.points: + rx, ry, rz = rotate_vector((pt.x, pt.y, pt.z), q) + pt.x = rx + bx + pt.y = ry + by + pt.z = rz + bz + out.markers.append(m) + return out + + +def transform_point_cloud2(cloud, bx, by, bz, q=(0.0, 0.0, 0.0, 1.0)): + """Return a copy of PointCloud2 with all xyz transformed: p_map = R(q)*p + (bx,by,bz). + + Sets frame_id='map'. Reads field offsets from the message header so + non-standard field orderings work. + """ + field_offsets = {f.name: f.offset for f in cloud.fields if f.name in ('x', 'y', 'z')} + if not all(k in field_offsets for k in ('x', 'y', 'z')): + return cloud + + ox, oy, oz = field_offsets['x'], field_offsets['y'], field_offsets['z'] + ps = cloud.point_step + n_points = cloud.width * cloud.height + if ps == 0 or len(cloud.data) < n_points * ps: + return cloud # malformed cloud — skip rather than raise + + new_cloud = copy.copy(cloud) + new_cloud.header = copy.copy(cloud.header) + new_cloud.header.frame_id = 'map' + data = bytearray(cloud.data) + for i in range(n_points): + base = i * ps + x, = struct.unpack_from(' None: + # Only store valid fixes — ignore NO_FIX so GPS never zeros out. + if msg.status.status < 0: + return self._profile.set_gps_from_navsat(msg) + # Record boot position on first valid GPS fix + if self._boot_pos is None: + self._boot_pos = gps_to_enu(msg.latitude, msg.longitude, msg.altitude) + # Only set boot_quat now if heading has already been received + # (profile.heading != 0.0 means a compass reading arrived first). + # If heading hasn't arrived yet, _on_compass will set boot_quat + # once the first reading comes in. + if self._boot_quat is None and self._profile.heading != 0.0: + self._boot_quat = heading_to_quat(self._profile.heading) def _on_compass(self, msg: Float64) -> None: self._profile.set_heading(msg.data) + # Set boot quat on first heading reading once we have GPS + if self._boot_pos is not None and self._boot_quat is None: + self._boot_quat = heading_to_quat(msg.data) def _on_global_plan(self, msg: Path) -> None: self._profile.set_waypoint_from_path(msg) @@ -210,7 +254,26 @@ def _on_global_plan(self, msg: Path) -> None: def _on_peer_msg(self, msg: PeerProfileMsg) -> None: if msg.robot_name == self._robot_name: return # discard own messages echoed back from the gossip domain - self._update_registry(msg) + # Stage in per-robot inbox: keep only the newest message per robot so + # all robots are drained together on the next tick (fair processing). + new_t = (msg.gps_fix.header.stamp.sec + + msg.gps_fix.header.stamp.nanosec * 1e-9) + with self._peer_inbox_lock: + existing = self._peer_inbox.get(msg.robot_name) + if existing is not None: + old_t = (existing.gps_fix.header.stamp.sec + + existing.gps_fix.header.stamp.nanosec * 1e-9) + if new_t < old_t: + return # already buffered a newer message this tick + self._peer_inbox[msg.robot_name] = msg + + def _drain_peer_inbox(self) -> None: + """Process all buffered peer messages at 5 Hz, one per robot per tick.""" + with self._peer_inbox_lock: + inbox = dict(self._peer_inbox) + self._peer_inbox.clear() + for msg in inbox.values(): + self._update_registry(msg) # ------------------------------------------------------------------ # # Publish logic # @@ -221,31 +284,60 @@ def _publish_tick(self) -> None: self._publish_own() def _publish_own(self) -> None: - # Rebuild payloads from cache on every tick. The cache retains the last - # received message per topic indefinitely, so peers always get the most - # recent known data even if the source publishes slower than gossip rate. + # Rebuild payloads from cache on every tick. + # If the boot pose is known, transform each payload into global ENU so + # every receiver (peers and GCS) gets world-frame data directly. + # If boot pose is not yet known, skip payloads this tick — we cannot + # produce a meaningful global-frame transform without GPS. self._profile.clear_payloads() - for topic, entry in self._payload_cache.items(): - if entry is not None: - msg, stamp = entry - self._profile.add_payload(msg, stamp=stamp) + if self._boot_pos is not None and self._boot_quat is not None: + bx, by, bz = self._boot_pos + q = self._boot_quat + for topic, entry in self._payload_cache.items(): + if entry is not None: + msg, stamp = entry + transformed = self._transform_to_global(msg, bx, by, bz, q) + self._profile.add_payload(transformed, stamp=stamp) + + # Stamp the outgoing profile with the current ROS clock time. + # Receivers use this stamp — not the MAVROS GPS stamp — to enforce + # monotonic ordering and discard out-of-order messages. + self._profile.gps_fix.header.stamp = self.get_clock().now().to_msg() + self._gossip_pub.publish(self._profile.to_ros_msg()) + def _transform_to_global(self, msg, bx, by, bz, q): + """Transform a payload message from local odom frame to global ENU.""" + if isinstance(msg, MarkerArray): + return transform_marker_array(msg, bx, by, bz, q) + if isinstance(msg, PointCloud2): + return transform_point_cloud2(msg, bx, by, bz, q) + return msg # unknown type — pass through untransformed + # ------------------------------------------------------------------ # # Registry management # # ------------------------------------------------------------------ # def _update_registry(self, msg: PeerProfileMsg) -> None: - """Update registry with latest-wins semantics, then republish snapshot.""" - existing = self._registry.get(msg.robot_name) - if existing is not None: - # Only update if the incoming message is newer - new_stamp = msg.gps_fix.header.stamp.sec + msg.gps_fix.header.stamp.nanosec * 1e-9 - old_stamp = existing.gps_fix.header.stamp.sec + existing.gps_fix.header.stamp.nanosec * 1e-9 - if new_stamp <= old_stamp: - return - - self._registry[msg.robot_name] = msg + """Update registry, then republish snapshot. + + Accept only if the incoming message is newer (or equal) to what we + already have. gossip_node stamps gps_fix.header with the ROS clock + at publish time, so this gives strict monotonic ordering — stale or + out-of-order messages are silently dropped. + """ + new_t = (msg.gps_fix.header.stamp.sec + + msg.gps_fix.header.stamp.nanosec * 1e-9) + + with self._registry_lock: + existing = self._registry.get(msg.robot_name) + if existing is not None: + old_t = (existing.gps_fix.header.stamp.sec + + existing.gps_fix.header.stamp.nanosec * 1e-9) + if new_t < old_t: + return # out-of-order — discard + self._registry[msg.robot_name] = msg + self._registry_pub.publish(msg) diff --git a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py index 8af1b3ee..1b3ccbac 100755 --- a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py @@ -22,6 +22,7 @@ import argparse import os import sys +import threading import time import rclpy @@ -31,7 +32,7 @@ from coordination_msgs.msg import PeerProfile as PeerProfileMsg GOSSIP_QOS = QoSProfile( - reliability=QoSReliabilityPolicy.BEST_EFFORT, + reliability=QoSReliabilityPolicy.RELIABLE, history=QoSHistoryPolicy.KEEP_LAST, depth=10, ) @@ -86,8 +87,15 @@ class RegistryMonitor(Node): def __init__(self, filter_name: str = ""): super().__init__("peer_registry_monitor") self._registry: dict[str, PeerProfileMsg] = {} + self._recv_times: dict[str, float] = {} # robot_name -> wall time of last received msg + self._registry_lock = threading.Lock() self._filter = filter_name.lower() + # Per-robot inbox: buffer incoming messages so all robots are processed + # together on each drain, regardless of DDS arrival burst order. + self._inbox: dict[str, PeerProfileMsg] = {} + self._inbox_lock = threading.Lock() + self._sub = self.create_subscription( PeerProfileMsg, "/gossip/peers", @@ -96,28 +104,56 @@ def __init__(self, filter_name: str = ""): ) def _on_msg(self, msg: PeerProfileMsg) -> None: - existing = self._registry.get(msg.robot_name) - if existing is not None: - new_t = msg.gps_fix.header.stamp.sec + msg.gps_fix.header.stamp.nanosec * 1e-9 - old_t = existing.gps_fix.header.stamp.sec + existing.gps_fix.header.stamp.nanosec * 1e-9 - if new_t <= old_t: - return - self._registry[msg.robot_name] = msg + """Buffer incoming message; always track receipt time for liveness display.""" + new_t = (msg.gps_fix.header.stamp.sec + + msg.gps_fix.header.stamp.nanosec * 1e-9) + with self._inbox_lock: + existing = self._inbox.get(msg.robot_name) + if existing is not None: + old_t = (existing.gps_fix.header.stamp.sec + + existing.gps_fix.header.stamp.nanosec * 1e-9) + if new_t < old_t: + # Already buffered a newer message — only update recv time + self._recv_times[msg.robot_name] = time.time() + return + self._inbox[msg.robot_name] = msg + self._recv_times[msg.robot_name] = time.time() + + def _drain_inbox(self) -> None: + """Apply registry ordering check for all buffered robots at once.""" + with self._inbox_lock: + inbox = dict(self._inbox) + self._inbox.clear() + for robot_name, msg in inbox.items(): + new_t = (msg.gps_fix.header.stamp.sec + + msg.gps_fix.header.stamp.nanosec * 1e-9) + with self._registry_lock: + existing = self._registry.get(robot_name) + if existing is not None: + old_t = (existing.gps_fix.header.stamp.sec + + existing.gps_fix.header.stamp.nanosec * 1e-9) + if new_t < old_t: + continue # out-of-order — keep existing + self._registry[robot_name] = msg def print_registry(self) -> None: + self._drain_inbox() _clear() domain = os.environ.get("ROS_DOMAIN_ID", "?") - now = time.strftime("%H:%M:%S") - print(f"{BOLD}Peer Registry {DIM}[domain={domain} {now}]{RESET}") + now_str = time.strftime("%H:%M:%S") + print(f"{BOLD}Peer Registry {DIM}[domain={domain} {now_str}]{RESET}") print("─" * 80) - entries = sorted(self._registry.values(), key=lambda m: m.robot_name) + with self._registry_lock: + entries = sorted(self._registry.values(), key=lambda m: m.robot_name) + recv_times = dict(self._recv_times) if self._filter: entries = [e for e in entries if self._filter in e.robot_name.lower()] if not entries: print(f" {DIM}(no peers seen yet){RESET}") else: + now = time.time() for msg in entries: src = "direct" if msg.source == 0 else f"relayed({msg.relay_hops}h)" payload_summary = ( @@ -126,8 +162,11 @@ def print_registry(self) -> None: if msg.payloads else "no payloads" ) - stamp_str = _fmt_stamp(msg.gps_fix) - print(f" {CYAN}{BOLD}{msg.robot_name}{RESET} {DIM}[{src} stamp={stamp_str}]{RESET}") + recv_t = recv_times.get(msg.robot_name) + age = f"{now - recv_t:.1f}s ago" if recv_t is not None else "?" + recv_wall = time.strftime("%H:%M:%S", time.localtime(recv_t)) if recv_t else "?" + stamp_str = f"{recv_wall} ({age})" + print(f" {CYAN}{BOLD}{msg.robot_name}{RESET} {DIM}[{src} last_recv={stamp_str}]{RESET}") print(f" {GREEN}gps {RESET} {_fmt_gps(msg.gps_fix, msg.heading)}") print(f" {YELLOW}waypoint{RESET} {_fmt_waypoint(msg.waypoint)}") print(f" {DIM}payloads{RESET} {payload_summary}") diff --git a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py index 988cecd9..0c0d0f56 100644 --- a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py @@ -9,16 +9,14 @@ # Start Isaac Sim's simulation environment (Must start this before importing omni modules) simulation_app = SimulationApp({"headless": False}) +import time + import omni.kit.app import omni.timeline import omni.usd import omni.client -import asyncio -import time from omni.isaac.core.world import World -from omni.isaac.core.objects import GroundPlane -from pxr import Gf, UsdGeom, UsdLux, Sdf, UsdPhysics # Pegasus imports from pegasus.simulator.logic.interface.pegasus_interface import PegasusInterface @@ -32,6 +30,10 @@ sys.path.insert(0, _LAUNCH_SCRIPTS_DIR) from gps_utils import set_gps_origins, DEFAULT_WORLD_ORIGIN +sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "utils"))) +import scene_prep +from scene_prep import scale_stage_prim, add_colliders, add_dome_light, get_stage_meters_per_unit + # --------------------- CONFIGURATION --------------------- NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" @@ -93,33 +95,17 @@ def nucleus_stat(url: str) -> bool: return result == omni.client.Result.OK -def add_dome_light(stage): - if stage.GetPrimAtPath(DOME_LIGHT_PATH).IsValid(): - dome = UsdLux.DomeLight.Get(stage, DOME_LIGHT_PATH) - else: - dome = UsdLux.DomeLight.Define(stage, Sdf.Path(DOME_LIGHT_PATH)) - - dome.CreateIntensityAttr(DOME_LIGHT_INTENSITY) - dome.CreateExposureAttr(DOME_LIGHT_EXPOSURE) - - -def get_stage_scale(stage): - mpu = UsdGeom.GetStageMetersPerUnit(stage) - if mpu is None or mpu <= 0: - mpu = 1.0 - s = 1.0 / mpu - return mpu, s - - -def add_collision_to_prim(prim): - if prim.IsA(UsdGeom.Mesh): - if not prim.HasAPI(UsdPhysics.CollisionAPI): - UsdPhysics.CollisionAPI.Apply(prim) - print(f"Added collision to: {prim.GetPath()}") - - # Recursively process children - for child in prim.GetChildren(): - add_collision_to_prim(child) +def wait_for_stage(stage, timeout_s: float = 10.0): + """Pump the Kit app loop until /World has content (scene fully loaded).""" + for _ in range(int(timeout_s / 0.1)): + omni.kit.app.get_app().update() + world_prim = stage.GetPrimAtPath("/World") + if world_prim.IsValid(): + non_physics = [c for c in world_prim.GetChildren() if c.GetName() != "PhysicsScene"] + if non_physics: + return True + time.sleep(0.1) + return False class PegasusApp: @@ -148,48 +134,24 @@ def __init__(self): if stage is None: raise RuntimeError("Stage failed to load") - # Wait for the stage to fully load - for _ in range(100): # Wait up to ~10 seconds - omni.kit.app.get_app().update() - world_prim = stage.GetPrimAtPath("/World") - if world_prim.IsValid(): - children = list(world_prim.GetChildren()) - # Check if we have more than just PhysicsScene - non_physics_children = [c for c in children if c.GetName() != "PhysicsScene"] - if len(non_physics_children) > 0: - break - time.sleep(0.1) + if not wait_for_stage(stage): + carb.log_warn("Stage load timed out — continuing anyway.") - world_prim = stage.GetPrimAtPath("/World") - - # Scale the /World/stage prim + # ----- Scene preparation ----- stage_prim = stage.GetPrimAtPath("/World/stage") if stage_prim.IsValid(): - xformable = UsdGeom.Xformable(stage_prim) - xformable.ClearXformOpOrder() - - translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) - translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) - - scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionDouble) - scale_op.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) - - add_collision_to_prim(stage_prim) - print("Finished adding collisions.") - - # Let the app process the changes + scale_stage_prim(stage, "/World/stage", STAGE_SCALE) + add_colliders(stage_prim) for _ in range(10): omni.kit.app.get_app().update() - else: - print("Warning: /World/stage not found, environment not scaled") + carb.log_warn("/World/stage not found — skipping scale and collision.") - # Lighting if ADD_DOME_LIGHT: - add_dome_light(stage) + add_dome_light(stage, DOME_LIGHT_PATH, DOME_LIGHT_INTENSITY, DOME_LIGHT_EXPOSURE) # Units - mpu, s = get_stage_scale(stage) + mpu, s = get_stage_meters_per_unit(stage) # Spawn all drones for cfg in DRONE_CONFIGS: diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index f8fe702c..f6947f9f 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -6,16 +6,16 @@ # Start Isaac Sim's simulation environment (Must start this before importing omni modules) simulation_app = SimulationApp({"headless": False}) +import os +import sys +import time + import omni.kit.app import omni.timeline import omni.usd import omni.client -import asyncio -import time from omni.isaac.core.world import World -from omni.isaac.core.objects import GroundPlane -from pxr import Gf, UsdGeom, UsdLux, Sdf, UsdPhysics # Pegasus imports from pegasus.simulator.logic.interface.pegasus_interface import PegasusInterface @@ -23,6 +23,16 @@ from pegasus.simulator.ogn.api.spawn_zed_camera import add_zed_stereo_camera_subgraph from pegasus.simulator.ogn.api.spawn_ouster_lidar import add_ouster_lidar_subgraph +# gps_utils lives in the same directory as this script +_LAUNCH_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) +if _LAUNCH_SCRIPTS_DIR not in sys.path: + sys.path.insert(0, _LAUNCH_SCRIPTS_DIR) +from gps_utils import set_gps_origins, DEFAULT_WORLD_ORIGIN + +sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "utils"))) +import scene_prep +from scene_prep import scale_stage_prim, add_colliders, add_dome_light, get_stage_meters_per_unit + # --------------------- CONFIGURATION --------------------- NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" @@ -30,12 +40,11 @@ #env/stage path and scale ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/ACFA/FireAcademyFaro/fire_academy_fixed_textures.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_faro.usd" -#f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" +#f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" STAGE_SCALE = 0.01 - -DRONE_USD = "/root/Documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" +DRONE_USD = "~/.local/share/ov/data/documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" # Lighting ADD_DOME_LIGHT = True @@ -43,15 +52,23 @@ DOME_LIGHT_INTENSITY = 3500.0 DOME_LIGHT_EXPOSURE = -3.0 -#Drone offset +# GPS world anchor: what world (0, 0, 0) maps to in real GPS coordinates. +# Matches the Lisbon default in px4_config.yaml — change here to relocate the sim world. +WORLD_GPS_ORIGIN = DEFAULT_WORLD_ORIGIN + +# Drone spawn configs. +# x_m = East offset from world origin (meters) +# y_m = North offset from world origin (meters) +# z_m = Up offset / height above floor (meters) +# orient = initial quaternion [x, y, z, w] +# spawn location for /Assets/Fire_Academy_Digital_Twin/fire_academy.usd: +# {"domain_id": 1, "x_m": 20.0, "y_m": -7.0, ...} +# {"domain_id": 2, "x_m": 17.0, "y_m": 1.5, ...} SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.07 - -# spawn location for /Assets/Fire_Academy_Digital_Twin/fire_academy.usd -# DRONE1_XY_M = (20.0, -7.0) -# DRONE2_XY_M = (17, 1.5) - -DRONE1_XY_M = (27.0, 7.6) -DRONE2_XY_M = (23, 9.8) +DRONE_CONFIGS = [ + {"domain_id": 1, "x_m": 27.0, "y_m": 7.6, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 4.0}, + {"domain_id": 2, "x_m": 23.0, "y_m": 9.8, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 3.5}, +] # --------------------------------------------------------- @@ -83,38 +100,26 @@ def nucleus_stat(url: str) -> bool: return result == omni.client.Result.OK -def add_dome_light(stage): - if stage.GetPrimAtPath(DOME_LIGHT_PATH).IsValid(): - dome = UsdLux.DomeLight.Get(stage, DOME_LIGHT_PATH) - else: - dome = UsdLux.DomeLight.Define(stage, Sdf.Path(DOME_LIGHT_PATH)) - - dome.CreateIntensityAttr(DOME_LIGHT_INTENSITY) - dome.CreateExposureAttr(DOME_LIGHT_EXPOSURE) - - -def get_stage_scale(stage): - mpu = UsdGeom.GetStageMetersPerUnit(stage) - if mpu is None or mpu <= 0: - mpu = 1.0 - s = 1.0 / mpu - return mpu, s - - -def add_collision_to_prim(prim): - if prim.IsA(UsdGeom.Mesh): - if not prim.HasAPI(UsdPhysics.CollisionAPI): - UsdPhysics.CollisionAPI.Apply(prim) - print(f"Added collision to: {prim.GetPath()}") - - # Recursively process children - for child in prim.GetChildren(): - add_collision_to_prim(child) +def wait_for_stage(stage, timeout_s: float = 10.0): + """Pump the Kit app loop until /World has content (scene fully loaded).""" + for _ in range(int(timeout_s / 0.1)): + omni.kit.app.get_app().update() + world_prim = stage.GetPrimAtPath("/World") + if world_prim.IsValid(): + non_physics = [c for c in world_prim.GetChildren() if c.GetName() != "PhysicsScene"] + if non_physics: + return True + time.sleep(0.1) + return False class PegasusApp: def __init__(self): + # Write GPS origins immediately so robot containers can read them + # before this container finishes its heavy USD loading. + set_gps_origins(DRONE_CONFIGS, world_origin=WORLD_GPS_ORIGIN) + omni.client.initialize() nucleus_stat(f"omniverse://{NUCLEUS_SERVER}") nucleus_stat(ENV_URL) @@ -134,142 +139,64 @@ def __init__(self): if stage is None: raise RuntimeError("Stage failed to load") - # Wait for the stage to fully load - for _ in range(100): # Wait up to ~10 seconds - omni.kit.app.get_app().update() - world_prim = stage.GetPrimAtPath("/World") - if world_prim.IsValid(): - children = list(world_prim.GetChildren()) - # Check if we have more than just PhysicsScene - non_physics_children = [c for c in children if c.GetName() != "PhysicsScene"] - if len(non_physics_children) > 0: - break - time.sleep(0.1) - - world_prim = stage.GetPrimAtPath("/World") + if not wait_for_stage(stage): + carb.log_warn("Stage load timed out — continuing anyway.") - # Scale the /World/stage prim + # ----- Scene preparation ----- stage_prim = stage.GetPrimAtPath("/World/stage") if stage_prim.IsValid(): - xformable = UsdGeom.Xformable(stage_prim) - - translate_attr = stage_prim.GetAttribute("xformOp:translate") - if translate_attr.IsValid(): - if str(translate_attr.GetTypeName()) == "float3": - translate_attr.Set(Gf.Vec3f(0.0, 0.0, 0.0)) - else: - translate_attr.Set(Gf.Vec3d(0.0, 0.0, 0.0)) - else: - # If missing, create a new translate op. - translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) - translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) - - scale_attr = stage_prim.GetAttribute("xformOp:scale") - if scale_attr.IsValid(): - if str(scale_attr.GetTypeName()) == "double3": - scale_attr.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) - else: - scale_attr.Set(Gf.Vec3f(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) - else: - # If missing, create a new scale op. - scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionFloat) - scale_op.Set(Gf.Vec3f(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) - - add_collision_to_prim(stage_prim) - print("Finished adding collisions.") - - # Let the app process the changes + scale_stage_prim(stage, "/World/stage", STAGE_SCALE) + add_colliders(stage_prim) for _ in range(10): omni.kit.app.get_app().update() - - # Optionally save the stage - # stage.GetRootLayer().Export("/path/to/save/scene.usd") - else: - print("Warning: /World/stage not found, environment not scaled") + carb.log_warn("/World/stage not found — skipping scale and collision.") - # Lighting if ADD_DOME_LIGHT: - add_dome_light(stage) + add_dome_light(stage, DOME_LIGHT_PATH, DOME_LIGHT_INTENSITY, DOME_LIGHT_EXPOSURE) # Units - mpu, s = get_stage_scale(stage) - - drone1_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M - drone2_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M - - drone1_pos = [DRONE1_XY_M[0] * s, DRONE1_XY_M[1] * s, drone1_z_m * s] - drone2_pos = [DRONE2_XY_M[0] * s, DRONE2_XY_M[1] * s, drone2_z_m * s] - - #################################################################################################### - # Spawn vehicle 1 - #################################################################################################### - graph_handle1 = spawn_px4_multirotor_node( - pegasus_node_name="PX4Multirotor_1", - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - vehicle_id=1, # defines MAVLink port offset - domain_id=1, # defines ROS2 domain ID - usd_file=DRONE_USD, - init_pos=drone1_pos, - init_orient=[0.0, 0.0, -0.937, 0.35], #[0,0,1,0] - ) - - # Add a ZED stereo camera (with an associated subgraph) to the drone - add_zed_stereo_camera_subgraph( - parent_graph_handle=graph_handle1, - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - camera_name="ZEDCamera", - camera_offset=[0.1, 0.0, 0.0], # X, Y, Z offset from drone base_link - camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - ) - - # Add an Ouster lidar (with an associated subgraph) to the drone - add_ouster_lidar_subgraph( - parent_graph_handle=graph_handle1, - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - lidar_name="OS1_REV6_128_10hz___512_resolution", - lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link - lidar_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - lidar_min_range = 4.0, # Minimum detection range (m) to avoid propeller hits - ) - - #################################################################################################### - # Spawn vehicle 2 - #################################################################################################### - graph_handle2 = spawn_px4_multirotor_node( - pegasus_node_name="PX4Multirotor_2", - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - vehicle_id=2, # defines MAVLink port offset. Define as 2 for second vehicle - domain_id=2, # defines ROS2 domain ID. Define as 2 for second vehicle - usd_file=DRONE_USD, - init_pos=drone2_pos, - init_orient=[0.0, 0.0, -0.937, 0.35], #[0,0,1,0] - ) - - # Add a ZED stereo camera (with an associated subgraph) to the drone - add_zed_stereo_camera_subgraph( - parent_graph_handle=graph_handle2, - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - camera_name="ZEDCamera", - camera_offset=[0.1, 0.0, 0.0], # X, Y, Z offset from drone base_link - camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - ) - - # Add an Ouster lidar (with an associated subgraph) to the drone - add_ouster_lidar_subgraph( - parent_graph_handle=graph_handle2, - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - lidar_name="OS1_REV6_128_10hz___512_resolution", - lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link - lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range = 3.5 - ) + mpu, s = get_stage_meters_per_unit(stage) + + # Spawn all drones + for cfg in DRONE_CONFIGS: + i = cfg["domain_id"] + pos = [cfg["x_m"] * s, cfg["y_m"] * s, cfg["z_m"] * s] + + graph_handle = spawn_px4_multirotor_node( + pegasus_node_name=f"PX4Multirotor_{i}", + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + vehicle_id=i, + domain_id=i, + usd_file=DRONE_USD, + init_pos=pos, + init_orient=cfg["orient"], + ) + + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle, + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + camera_name="ZEDCamera", + camera_offset=[0.1, 0.0, 0.0], + camera_rotation_offset=[0.0, 0.0, 0.0], + ) + + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle, + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range=cfg["lidar_min_range"], + ) + + # Give physics time to register the spawned drone prims before reset. + # Complex scenes (e.g. fire academy) need more ticks than simpler ones. + for _ in range(30): + omni.kit.app.get_app().update() # Reset so physics/articulations are ready self.world.reset() @@ -300,4 +227,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py index e5c911e2..2c8b3a94 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py @@ -6,16 +6,16 @@ # Start Isaac Sim's simulation environment (Must start this before importing omni modules) simulation_app = SimulationApp({"headless": False}) +import os +import sys +import time + import omni.kit.app import omni.timeline import omni.usd import omni.client -import asyncio -import time from omni.isaac.core.world import World -from omni.isaac.core.objects import GroundPlane -from pxr import Gf, UsdGeom, UsdLux, Sdf, UsdPhysics # Pegasus imports from pegasus.simulator.logic.interface.pegasus_interface import PegasusInterface @@ -23,17 +23,27 @@ from pegasus.simulator.ogn.api.spawn_zed_camera import add_zed_stereo_camera_subgraph from pegasus.simulator.ogn.api.spawn_ouster_lidar import add_ouster_lidar_subgraph +# gps_utils lives in the same directory as this script +_LAUNCH_SCRIPTS_DIR = os.path.dirname(os.path.abspath(__file__)) +if _LAUNCH_SCRIPTS_DIR not in sys.path: + sys.path.insert(0, _LAUNCH_SCRIPTS_DIR) +from gps_utils import set_gps_origins, DEFAULT_WORLD_ORIGIN + +sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "utils"))) +import scene_prep +from scene_prep import scale_stage_prim, add_colliders, add_dome_light, get_stage_meters_per_unit + # --------------------- CONFIGURATION --------------------- NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" #env/stage path and scale -ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" +#ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Stages/RetroNeighborhood/RetroNeighborhood.stage.usd" +ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/ACFA/FireAcademyFaro/fire_academy_fixed_textures.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_faro.usd" -#f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" +#f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" -STAGE_SCALE = 2.0 - +STAGE_SCALE = 0.01 DRONE_USD = "~/.local/share/ov/data/documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" @@ -43,11 +53,20 @@ DOME_LIGHT_INTENSITY = 3500.0 DOME_LIGHT_EXPOSURE = -3.0 -#Drone offset -SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 +# GPS world anchor: what world (0, 0, 0) maps to in real GPS coordinates. +# Matches the Lisbon default in px4_config.yaml — change here to relocate the sim world. +WORLD_GPS_ORIGIN = DEFAULT_WORLD_ORIGIN -DRONE1_XY_M = (20.0, -7) -DRONE2_XY_M = (17, 1.5) +# Drone spawn configs. +# x_m = East offset from world origin (meters) +# y_m = North offset from world origin (meters) +# z_m = Up offset / height above floor (meters) +# orient = initial quaternion [x, y, z, w] +SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.15 +DRONE_CONFIGS = [ + {"domain_id": 1, "x_m": 27.0, "y_m": 7.6, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, 0.0, 1.0]}, + {"domain_id": 2, "x_m": 23.0, "y_m": 9.8, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, 0.0, 1.0]}, +] # --------------------------------------------------------- @@ -79,38 +98,26 @@ def nucleus_stat(url: str) -> bool: return result == omni.client.Result.OK -def add_dome_light(stage): - if stage.GetPrimAtPath(DOME_LIGHT_PATH).IsValid(): - dome = UsdLux.DomeLight.Get(stage, DOME_LIGHT_PATH) - else: - dome = UsdLux.DomeLight.Define(stage, Sdf.Path(DOME_LIGHT_PATH)) - - dome.CreateIntensityAttr(DOME_LIGHT_INTENSITY) - dome.CreateExposureAttr(DOME_LIGHT_EXPOSURE) - - -def get_stage_scale(stage): - mpu = UsdGeom.GetStageMetersPerUnit(stage) - if mpu is None or mpu <= 0: - mpu = 1.0 - s = 1.0 / mpu - return mpu, s - - -def add_collision_to_prim(prim): - if prim.IsA(UsdGeom.Mesh): - if not prim.HasAPI(UsdPhysics.CollisionAPI): - UsdPhysics.CollisionAPI.Apply(prim) - print(f"Added collision to: {prim.GetPath()}") - - # Recursively process children - for child in prim.GetChildren(): - add_collision_to_prim(child) +def wait_for_stage(stage, timeout_s: float = 10.0): + """Pump the Kit app loop until /World has content (scene fully loaded).""" + for _ in range(int(timeout_s / 0.1)): + omni.kit.app.get_app().update() + world_prim = stage.GetPrimAtPath("/World") + if world_prim.IsValid(): + non_physics = [c for c in world_prim.GetChildren() if c.GetName() != "PhysicsScene"] + if non_physics: + return True + time.sleep(0.1) + return False class PegasusApp: def __init__(self): + # Write GPS origins immediately so robot containers can read them + # before this container finishes its heavy USD loading. + set_gps_origins(DRONE_CONFIGS, world_origin=WORLD_GPS_ORIGIN) + omni.client.initialize() nucleus_stat(f"omniverse://{NUCLEUS_SERVER}") nucleus_stat(ENV_URL) @@ -130,127 +137,64 @@ def __init__(self): if stage is None: raise RuntimeError("Stage failed to load") - # Wait for the stage to fully load - for _ in range(100): # Wait up to ~10 seconds - omni.kit.app.get_app().update() - world_prim = stage.GetPrimAtPath("/World") - if world_prim.IsValid(): - children = list(world_prim.GetChildren()) - # Check if we have more than just PhysicsScene - non_physics_children = [c for c in children if c.GetName() != "PhysicsScene"] - if len(non_physics_children) > 0: - break - time.sleep(0.1) - - world_prim = stage.GetPrimAtPath("/World") + if not wait_for_stage(stage): + carb.log_warn("Stage load timed out — continuing anyway.") - # Scale the /World/stage prim + # ----- Scene preparation ----- stage_prim = stage.GetPrimAtPath("/World/stage") if stage_prim.IsValid(): - xformable = UsdGeom.Xformable(stage_prim) - xformable.ClearXformOpOrder() - - translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) - translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) - - scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionDouble) - scale_op.Set(Gf.Vec3d(STAGE_SCALE, STAGE_SCALE, STAGE_SCALE)) - - add_collision_to_prim(stage_prim) - print("Finished adding collisions.") - - # Let the app process the changes + scale_stage_prim(stage, "/World/stage", STAGE_SCALE) + add_colliders(stage_prim) for _ in range(10): omni.kit.app.get_app().update() - - # Optionally save the stage - # stage.GetRootLayer().Export("/path/to/save/scene.usd") - else: - print("Warning: /World/stage not found, environment not scaled") + carb.log_warn("/World/stage not found — skipping scale and collision.") - # Lighting if ADD_DOME_LIGHT: - add_dome_light(stage) + add_dome_light(stage, DOME_LIGHT_PATH, DOME_LIGHT_INTENSITY, DOME_LIGHT_EXPOSURE) # Units - mpu, s = get_stage_scale(stage) - - drone1_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M - drone2_z_m = SPAWN_HEIGHT_ABOVE_FLOOR_M - - drone1_pos = [DRONE1_XY_M[0] * s, DRONE1_XY_M[1] * s, drone1_z_m * s] - drone2_pos = [DRONE2_XY_M[0] * s, DRONE2_XY_M[1] * s, drone2_z_m * s] - - #################################################################################################### - # Spawn vehicle 1 - #################################################################################################### - graph_handle1 = spawn_px4_multirotor_node( - pegasus_node_name="PX4Multirotor_1", - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - vehicle_id=1, # defines MAVLink port offset - domain_id=1, # defines ROS2 domain ID - usd_file=DRONE_USD, - init_pos=drone1_pos, - init_orient=[0.0, 0.0, 0.0, 1.0], - ) - - # Add a ZED stereo camera (with an associated subgraph) to the drone - add_zed_stereo_camera_subgraph( - parent_graph_handle=graph_handle1, - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - camera_name="ZEDCamera", - camera_offset=[0.2, 0.0, -0.05], # X, Y, Z offset from drone base_link - camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - ) - - # Add an Ouster lidar (with an associated subgraph) to the drone - add_ouster_lidar_subgraph( - parent_graph_handle=graph_handle1, - drone_prim="/World/drone1/base_link", - robot_name="robot_1", - lidar_name="OS1_REV6_128_10hz___512_resolution", - lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link - lidar_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - lidar_min_range = 0.75, # Minimum detection range (m) to avoid propeller hits - ) - - #################################################################################################### - # Spawn vehicle 2 - #################################################################################################### - graph_handle2 = spawn_px4_multirotor_node( - pegasus_node_name="PX4Multirotor_2", - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - vehicle_id=2, # defines MAVLink port offset. Define as 2 for second vehicle - domain_id=2, # defines ROS2 domain ID. Define as 2 for second vehicle - usd_file=DRONE_USD, - init_pos=drone2_pos, - init_orient=[0.0, 0.0, 0.0, 1.0], - ) - - # Add a ZED stereo camera (with an associated subgraph) to the drone - add_zed_stereo_camera_subgraph( - parent_graph_handle=graph_handle2, - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - camera_name="ZEDCamera", - camera_offset=[0.2, 0.0, -0.05], # X, Y, Z offset from drone base_link - camera_rotation_offset=[0.0, 0.0, 0.0], # Rotation in degrees (roll, pitch, yaw) - ) - - # Add an Ouster lidar (with an associated subgraph) to the drone - add_ouster_lidar_subgraph( - parent_graph_handle=graph_handle2, - drone_prim="/World/drone2/base_link", - robot_name="robot_2", - lidar_name="OS1_REV6_128_10hz___512_resolution", - lidar_offset=[0.0, 0.0, 0.025], # X, Y, Z offset from drone base_link - lidar_rotation_offset=[0.0, 0.0, 0.0], - lidar_min_range = 0.75 - ) + mpu, s = get_stage_meters_per_unit(stage) + + # Spawn all drones + for cfg in DRONE_CONFIGS: + i = cfg["domain_id"] + pos = [cfg["x_m"] * s, cfg["y_m"] * s, cfg["z_m"] * s] + + graph_handle = spawn_px4_multirotor_node( + pegasus_node_name=f"PX4Multirotor_{i}", + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + vehicle_id=i, + domain_id=i, + usd_file=DRONE_USD, + init_pos=pos, + init_orient=cfg["orient"], + ) + + add_zed_stereo_camera_subgraph( + parent_graph_handle=graph_handle, + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + camera_name="ZEDCamera", + camera_offset=[0.2, 0.0, -0.05], + camera_rotation_offset=[0.0, 0.0, 0.0], + ) + + add_ouster_lidar_subgraph( + parent_graph_handle=graph_handle, + drone_prim=f"/World/drone{i}/base_link", + robot_name=f"robot_{i}", + lidar_name="OS1_REV6_128_10hz___512_resolution", + lidar_offset=[0.0, 0.0, 0.025], + lidar_rotation_offset=[0.0, 0.0, 0.0], + lidar_min_range=0.75, + ) + + # Give physics time to register the spawned drone prims before reset. + # Complex scenes (e.g. fire academy) need more ticks than simpler ones. + for _ in range(30): + omni.kit.app.get_app().update() # Reset so physics/articulations are ready self.world.reset() @@ -281,4 +225,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/simulation/isaac-sim/utils/scene_prep.py b/simulation/isaac-sim/utils/scene_prep.py index ac03416b..95c49a83 100644 --- a/simulation/isaac-sim/utils/scene_prep.py +++ b/simulation/isaac-sim/utils/scene_prep.py @@ -56,11 +56,27 @@ def scale_stage_prim(stage, prim_path: str, scale_factor: float): xformable = UsdGeom.Xformable(prim) xformable.ClearXformOpOrder() - translate_op = xformable.AddTranslateOp(UsdGeom.XformOp.PrecisionDouble) - translate_op.Set(Gf.Vec3d(0.0, 0.0, 0.0)) + # Match the precision of any existing xform attrs to avoid type-mismatch exceptions. + # ClearXformOpOrder removes attrs from the op order but leaves the attributes on the prim, + # so AddXformOp will fail if the requested precision doesn't match the baked-in type. + def _precision(attr_name, default=UsdGeom.XformOp.PrecisionDouble): + attr = prim.GetAttribute(attr_name) + if attr.IsValid() and str(attr.GetTypeName()) == "float3": + return UsdGeom.XformOp.PrecisionFloat + return default + + translate_prec = _precision("xformOp:translate") + scale_prec = _precision("xformOp:scale") + + if translate_prec == UsdGeom.XformOp.PrecisionFloat: + xformable.AddTranslateOp(translate_prec).Set(Gf.Vec3f(0.0, 0.0, 0.0)) + else: + xformable.AddTranslateOp(translate_prec).Set(Gf.Vec3d(0.0, 0.0, 0.0)) - scale_op = xformable.AddScaleOp(UsdGeom.XformOp.PrecisionDouble) - scale_op.Set(Gf.Vec3d(scale_factor, scale_factor, scale_factor)) + if scale_prec == UsdGeom.XformOp.PrecisionFloat: + xformable.AddScaleOp(scale_prec).Set(Gf.Vec3f(scale_factor, scale_factor, scale_factor)) + else: + xformable.AddScaleOp(scale_prec).Set(Gf.Vec3d(scale_factor, scale_factor, scale_factor)) print(f"[scene_prep] Scaled '{prim_path}' by {scale_factor}") return prim From 61befb94312f6d84f4f6232c4dc78bcfa88bd91c Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 25 Mar 2026 23:04:29 -0400 Subject: [PATCH 20/55] fixed gossip + translate --- .../desktop_bringup/launch/gcs.launch.xml | 3 ++ .../gcs_visualizer/payload_visualizer_node.py | 20 ++++++++++- .../onboard_all/config/dds_router.yaml | 4 +-- .../onboard_all/config/domain_bridge.yaml | 7 +++- .../config/gcs_gossip_dds_router.yaml | 17 +++++++++ .../coordination_bringup/gossip_node.py | 36 ++++++++++++++++--- .../launch/gcs_gossip_bridge.launch.py | 29 +++++++++++++++ .../scripts/peer_registry_monitor.py | 2 +- .../coordination_bringup/setup.py | 4 +-- 9 files changed, 111 insertions(+), 11 deletions(-) create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml create mode 100644 robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py diff --git a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml index 9e286ad9..f912be0c 100644 --- a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml +++ b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml @@ -31,6 +31,9 @@ + + + diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py index 318d1dde..193ffdf7 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py @@ -33,6 +33,8 @@ def _handle_(self, robot_name, msg, i, now): # Publish to self._pub_for('/gcs/payload/{robot_name}/{name}', MsgType) """ +from collections import OrderedDict + import rclpy from rclpy.node import Node from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy @@ -51,8 +53,12 @@ def _handle_(self, robot_name, msg, i, now): _GOSSIP_ORIGIN_ALT = 90.0 +# Seen-set size: same reasoning as gossip_node — covers well beyond the window +# in which DDS Router duplicates arrive. +_GOSSIP_SEEN_SIZE = 50 + GOSSIP_QOS = QoSProfile( - reliability=ReliabilityPolicy.RELIABLE, + reliability=ReliabilityPolicy.BEST_EFFORT, durability=DurabilityPolicy.VOLATILE, history=HistoryPolicy.KEEP_LAST, depth=10, @@ -67,6 +73,7 @@ def __init__(self): self._alt_ground = None # altitude (m) of first GPS fix — display z datum self._payload_cache = {} # (robot_name, cache_key) -> last deserialized payload msg self._pubs = {} # topic -> Publisher (created lazily) + self._seen: OrderedDict = OrderedDict() # seen-set for duplicate suppression # Subscribe to /gossip/peers — PeerProfiles arrive here from all robots self.create_subscription( @@ -114,6 +121,17 @@ def _display_z_offset(self) -> float: def _on_peer_profile(self, msg: PeerProfileMsg) -> None: robot_name = msg.robot_name + # Seen-set deduplication: drop exact duplicates before any other work. + # Key is (robot_name, sec, nanosec) — robot_name prevents cross-robot collisions. + msg_id = (robot_name, + msg.gps_fix.header.stamp.sec, + msg.gps_fix.header.stamp.nanosec) + if msg_id in self._seen: + return + self._seen[msg_id] = None + if len(self._seen) > _GOSSIP_SEEN_SIZE: + self._seen.popitem(last=False) + # Per-robot ordering: accept only if this message is newer than the last # accepted one for THIS robot. robot_1 and robot_2 are tracked independently # so neither can block the other. diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml index 5b2cea84..a6eda979 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml @@ -65,5 +65,5 @@ allowlist: # control commands - name: "rt/$(env ROBOT_NAME)/fixed_trajectory_generator/fixed_trajectory_command" - # gossip peer profiles (carries all robot payloads — no need to bridge individual topics) - - name: "rt/gossip/peers" + # gossip peer profiles are bridged by the dedicated gossip_dds_router (domain 99), + # NOT here — having it in both routers causes message flooding/amplification. diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/domain_bridge.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/domain_bridge.yaml index 326e2225..423554be 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/domain_bridge.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/domain_bridge.yaml @@ -41,4 +41,9 @@ topics: bag_record/set_recording_status: type: std_msgs/msg/Bool from_domain: $(var gcs_domain) - to_domain: $(env ROS_DOMAIN_ID) \ No newline at end of file + to_domain: $(env ROS_DOMAIN_ID) + + /robot_1/current_target: + type: std_msgs/msg/String + from_domain: 1 + to_domain: 2 \ No newline at end of file diff --git a/robot/ros_ws/src/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml b/robot/ros_ws/src/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml new file mode 100644 index 00000000..0b9b80a0 --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml @@ -0,0 +1,17 @@ +# GCS-side gossip DDS Router configuration +# Bridges /gossip/peers between the GCS domain (0) and the shared gossip +# domain (99) so the GCS can receive PeerProfile broadcasts from all robots. +# +# This runs in the GCS container. Each robot runs its own gossip_dds_router +# (robot domain ↔ domain 99). This is the GCS counterpart. + +participants: + - name: "gcs" + kind: "local" + domain: 0 # GCS ROS_DOMAIN_ID + - name: "gossip_bus" + kind: "local" + domain: 99 # shared gossip domain + +allowlist: + - name: "rt/gossip/peers" diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py index d727addb..d5ae6c9b 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py @@ -19,6 +19,7 @@ import os import threading import yaml +from collections import OrderedDict import rclpy from rclpy.node import Node @@ -45,9 +46,16 @@ from sensor_msgs.msg import PointCloud2 -# QoS for gossip topic: best-effort, keep last 1 (low-overhead, high-freq) +# Seen-set size: deduplicates the last N unique (robot_name, stamp) pairs. +# At 1 Hz per robot, 50 entries covers ~25 s for 2 robots or ~5 s for 10 robots — +# well beyond the millisecond window in which DDS Router duplicates arrive. +_GOSSIP_SEEN_SIZE = 50 + +# QoS for gossip topic: BEST_EFFORT — at 1 Hz a dropped message recovers on the +# next tick, so reliability overhead (heartbeats, ACKs across domain bridges) is +# unnecessary and was the main source of DDS-layer amplification. GOSSIP_QOS = QoSProfile( - reliability=QoSReliabilityPolicy.RELIABLE, + reliability=QoSReliabilityPolicy.BEST_EFFORT, history=QoSHistoryPolicy.KEEP_LAST, depth=10, ) @@ -102,6 +110,10 @@ def __init__(self): self._peer_inbox: dict[str, PeerProfileMsg] = {} self._peer_inbox_lock = threading.Lock() + # Seen-set: deduplicates incoming peer messages by (robot_name, sec, nanosec). + # Including robot_name in the key ensures robot_1 and robot_2 never share IDs. + self._seen: OrderedDict = OrderedDict() + # Payload cache: topic → (msg, stamp) or None until first message arrives self._payload_cache: dict[str, object] = {} self._payload_subs: list = [] @@ -254,6 +266,19 @@ def _on_global_plan(self, msg: Path) -> None: def _on_peer_msg(self, msg: PeerProfileMsg) -> None: if msg.robot_name == self._robot_name: return # discard own messages echoed back from the gossip domain + + # Seen-set deduplication: discard if this exact (robot, stamp) was already + # processed. Key includes robot_name so robot_1 and robot_2 can never share + # an ID even when their sequence counters coincide. + msg_id = (msg.robot_name, + msg.gps_fix.header.stamp.sec, + msg.gps_fix.header.stamp.nanosec) + if msg_id in self._seen: + return + self._seen[msg_id] = None + if len(self._seen) > _GOSSIP_SEEN_SIZE: + self._seen.popitem(last=False) # evict oldest entry + # Stage in per-robot inbox: keep only the newest message per robot so # all robots are drained together on the next tick (fair processing). new_t = (msg.gps_fix.header.stamp.sec @@ -290,9 +315,12 @@ def _publish_own(self) -> None: # If boot pose is not yet known, skip payloads this tick — we cannot # produce a meaningful global-frame transform without GPS. self._profile.clear_payloads() - if self._boot_pos is not None and self._boot_quat is not None: + if self._boot_pos is not None: bx, by, bz = self._boot_pos - q = self._boot_quat + # PX4/MAVROS odom frame is ENU-aligned — x=East, y=North, z=Up + # regardless of drone heading. Only translation is needed; applying + # heading rotation would incorrectly rotate the payload data. + q = (0.0, 0.0, 0.0, 1.0) for topic, entry in self._payload_cache.items(): if entry is not None: msg, stamp = entry diff --git a/robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py b/robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py new file mode 100644 index 00000000..03bec2dd --- /dev/null +++ b/robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py @@ -0,0 +1,29 @@ +""" +gcs_gossip_bridge.launch.py +============================ +Launches the GCS-side DDS Router that bridges /gossip/peers between the GCS +domain (0) and the shared gossip bus domain (99). + +Include this from gcs.launch.xml so the GCS can receive PeerProfile messages +from all robots without going through each robot's onboard DDS router. +""" + +import os + +from ament_index_python.packages import get_package_share_directory +from launch import LaunchDescription +from launch.actions import ExecuteProcess + + +def generate_launch_description(): + config = os.path.join( + get_package_share_directory('coordination_bringup'), + 'config', 'gcs_gossip_dds_router.yaml', + ) + return LaunchDescription([ + ExecuteProcess( + cmd=['ddsrouter', '-c', config], + output='screen', + name='gcs_gossip_dds_router', + ), + ]) diff --git a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py index 1b3ccbac..6a140d3e 100755 --- a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py @@ -32,7 +32,7 @@ from coordination_msgs.msg import PeerProfile as PeerProfileMsg GOSSIP_QOS = QoSProfile( - reliability=QoSReliabilityPolicy.RELIABLE, + reliability=QoSReliabilityPolicy.BEST_EFFORT, history=QoSHistoryPolicy.KEEP_LAST, depth=10, ) diff --git a/robot/ros_ws/src/coordination/coordination_bringup/setup.py b/robot/ros_ws/src/coordination/coordination_bringup/setup.py index 381b0fe0..e670cf8d 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/setup.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/setup.py @@ -10,8 +10,8 @@ ('share/ament_index/resource_index/packages', ['resource/' + package_name]), ('share/' + package_name, ['package.xml']), - ('share/' + package_name + '/launch', ['launch/gossip.launch.xml']), - ('share/' + package_name + '/config', ['config/gossip_dds_router.yaml', 'config/gossip_payloads.yaml']), + ('share/' + package_name + '/launch', ['launch/gossip.launch.xml', 'launch/gcs_gossip_bridge.launch.py']), + ('share/' + package_name + '/config', ['config/gossip_dds_router.yaml', 'config/gossip_payloads.yaml', 'config/gcs_gossip_dds_router.yaml']), ('lib/' + package_name, ['scripts/gossip_node', 'scripts/peer_registry_monitor.py']), ], install_requires=['setuptools'], From ed4abfe5e31e049200e1690ee891d5b1e5435c14 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Fri, 27 Mar 2026 14:35:43 -0400 Subject: [PATCH 21/55] added skill for foxglove/coordination --- .agents/skills/attach-gossip-payload/SKILL.md | 34 ++++ .env | 6 +- .../foxglove_visualizer_node.py | 46 ++--- .../gcs_visualizer/gcs_utils.py | 41 +---- .../gcs_visualizer/payload_visualizer_node.py | 102 +++-------- robot/ros_ws/src/coordination/README.md | 76 +++++++++ .../coordination_bringup/frame_utils.py | 38 +---- .../coordination_bringup/gossip_node.py | 159 ++++-------------- .../coordination_bringup/peer_profile.py | 96 ++--------- .../launch/gcs_gossip_bridge.launch.py | 10 +- .../scripts/peer_registry_monitor.py | 27 +-- 11 files changed, 216 insertions(+), 419 deletions(-) create mode 100644 robot/ros_ws/src/coordination/README.md diff --git a/.agents/skills/attach-gossip-payload/SKILL.md b/.agents/skills/attach-gossip-payload/SKILL.md index 351f8a9f..9709995f 100644 --- a/.agents/skills/attach-gossip-payload/SKILL.md +++ b/.agents/skills/attach-gossip-payload/SKILL.md @@ -186,6 +186,40 @@ docker exec airstack-gcs-1 bash -c "ros2 topic list | grep /gcs/payload" - Payload size matters for gossip bandwidth — avoid attaching large point clouds at high rates; 1 Hz (the default gossip rate) is usually fine +## Message deduplication + +Every `PeerProfile` message is identified by the triple: + +``` +(robot_name, gps_fix.header.stamp.sec, gps_fix.header.stamp.nanosec) +``` + +The stamp is set **at publish time** by the originating robot. Each receiver +maintains a seen-set (size 50, FIFO eviction) and drops any message whose ID +has already been processed. + +**Expected behaviour:** every drone will forward/receive a message at least +once — this is intentional. The seen-set prevents infinite re-processing but +does not prevent the initial fan-out that comes from all robots being on the +same shared DDS domain. + +**Relay fields (reserved for future use):** +- `uint8 source` — `SOURCE_DIRECT (0)` or `SOURCE_RELAYED (1)` +- `uint8 relay_hops` — number of hops the message has traversed + +These fields exist in the wire format and Python API but relay logic is not +yet implemented. The seen-set deduplication is already wired to handle it +correctly when relay is activated. + +## Registry behaviour + +- Each robot keeps a **per-robot inbox** (latest message per peer, drained at + 5 Hz) and a **global registry** (latest-wins, monotonic per robot timestamp) +- Registry entries are **never evicted** — a crashed robot stays visible + indefinitely until the node is restarted +- The registry is published to `/{robot_name}/coordination/peer_registry` with + RELIABLE + TRANSIENT_LOCAL QoS so late-joining nodes get the full snapshot + ## QoS note Payload subscriptions use `GOSSIP_QOS` (BEST_EFFORT, KEEP_LAST 1). If your diff --git a/.env b/.env index c58dd6b7..ba32b8aa 100644 --- a/.env +++ b/.env @@ -26,7 +26,7 @@ COMPOSE_PROFILES="desktop" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="2" # Number of robot containers to launch. +NUM_ROBOTS="3" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== ISAAC SIM ===================== @@ -34,7 +34,7 @@ ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_peg # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" # Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/) -ISAAC_SIM_SCRIPT_NAME="two_drone_fire.py" +ISAAC_SIM_SCRIPT_NAME="three_drone_scene_import.py" PLAY_SIM_ON_START="false" # =============================================== @@ -45,7 +45,7 @@ MS_AIRSIM_BINARY_PATH="/ms-airsim-env/AbandonedPark/LinuxNoEditor/AbandonedPark. # ================= ROBOT ===================== ROBOT_NAME_MAP_CONFIG_FILE="default_robot_name_map.yaml" # Determines how to set ROBOT_NAME and ROS_DOMAIN_ID. See robot/docker/robot_name_map/ -VDB_SOURCE="lidar" # "lidar" (Ouster, sensors/ouster/point_cloud) or "stereo" (stereo_image_proc/point_cloud) + URDF_FILE="robot_descriptions/iris/urdf/iris_with_sensors.pegasus.robot.urdf" diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index 5ab9106b..38173345 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -1,20 +1,9 @@ """ -foxglove_visualizer_node.py -=========================== -Standard GCS visualization node. Handles data common to every project: - - Robot mesh markers (with orientation) - - Robot name labels - - Body-frame axes (X/Y/Z arrows) - - Local trajectory (trajectory_controller/trajectory_vis) - - Global plan (global_plan) - - VDB occupancy map (vdb_mapping/vdb_map_visualization) - -All markers are published to /gcs/robot_markers as a MarkerArray in the -global ENU 'map' frame. - -Project-specific data (e.g. Rayfronts) should go in a separate node that -also publishes to its own MarkerArray or PointCloud2 topic. See -payload_visualizer_node.py as an example. +foxglove_visualizer_node.py — Standard GCS visualization node. + +Handles data common to every project: robot mesh markers, name labels, +body-frame axes, local trajectory, global plan, and VDB occupancy map. +All markers are published to /gcs/robot_markers in the global ENU 'map' frame. """ import copy @@ -53,8 +42,8 @@ (0.2, 0.2, 1.0), # blue ] -# OBJ -> ROS axis correction quaternion (belly -Z, nose +X) -AXIS_CORRECTION = (-0.5, -0.5, 0.5, 0.5) # x, y, z, w +# OBJ mesh axis correction quaternion (belly -Z, nose +X) +AXIS_CORRECTION = (-0.5, -0.5, 0.5, 0.5) class FoxgloveVisualizerNode(Node): @@ -69,12 +58,12 @@ def __init__(self): self._plan_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(PLAN_SUFFIX)}$') self._vdb_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(VDB_SUFFIX)}$') - self._gps_positions = {} # robot_name -> (x, y, z) ENU metres current position - self._gps_boot = {} # robot_name -> (x, y, z) ENU metres at first fix (odom origin) - self._orientations = {} # robot_name -> (x, y, z, w) from odometry - self._trajectories = {} # robot_name -> latest MarkerArray - self._global_plans = {} # robot_name -> latest nav_msgs/Path - self._vdb_markers = {} # robot_name -> latest VDB Marker + self._gps_positions = {} + self._gps_boot = {} + self._orientations = {} + self._trajectories = {} + self._global_plans = {} + self._vdb_markers = {} self._subscribed_gps = set() self._subscribed_odom = set() self._subscribed_traj = set() @@ -191,7 +180,7 @@ def _publish_markers(self): for i, robot_name in enumerate(sorted(self._gps_positions.keys())): x, y, z = self._gps_positions[robot_name] - orientation = self._orientations.get(robot_name) # (x,y,z,w) or None + orientation = self._orientations.get(robot_name) # --- Mesh marker --- mesh = Marker() @@ -273,7 +262,7 @@ def _publish_markers(self): boot = self._gps_boot.get(robot_name) - # --- Trajectory markers (offset by boot GPS position = odom origin) --- + # --- Trajectory (offset by boot GPS = odom origin) --- traj = self._trajectories.get(robot_name) if traj is not None and boot is not None: bx, by, bz = boot @@ -287,14 +276,13 @@ def _publish_markers(self): m.color.r = 0.8 m.color.g = 0.5 m.color.b = 0.0 - # skip markers that require points but have none needs_points = m.type in (Marker.LINE_STRIP, Marker.LINE_LIST, Marker.POINTS, Marker.ARROW) if needs_points and len(m.points) == 0: continue array.markers.append(m) - # --- Global plan (offset from odom origin to ENU) --- + # --- Global plan --- plan = self._global_plans.get(robot_name) if plan is not None and boot is not None: bx, by, bz = boot @@ -319,7 +307,7 @@ def _publish_markers(self): if len(line.points) >= 2: array.markers.append(line) - # --- VDB map (offset from odom origin to ENU) --- + # --- VDB map --- vdb = self._vdb_markers.get(robot_name) if vdb is not None and boot is not None: bx, by, bz = boot diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py index 760e4ab2..650d6e1d 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/gcs_utils.py @@ -1,27 +1,9 @@ -""" -gcs_utils.py -============ -Shared utilities for GCS visualizer nodes. - -Coordinate system ------------------ -All visualizers transform data from each robot's local odometry frame into -a common ENU (East-North-Up) frame anchored at the first GPS fix seen on the -ground (``alt_ground``). This ENU frame is published as the ``map`` frame in -Foxglove. - -The key concept is the **boot offset**: the ENU coordinates of a robot's first -GPS fix, which equals that robot's odometry frame origin. Any data expressed in -the robot's local odometry frame must be translated by this boot offset to -display correctly alongside other robots in the global map frame. -""" +"""Shared utilities for GCS visualizer nodes.""" import math import copy import struct -# Shared frame utilities live in coordination_bringup so both robot and GCS -# packages can import them. Re-export the ones callers expect from here. from coordination_bringup.frame_utils import ( gps_to_enu as _gps_to_enu_abs, heading_to_quat, @@ -30,19 +12,13 @@ transform_point_cloud2 as _transform_pc2, ) -# ── Origin ──────────────────────────────────────────────────────────────────── ORIGIN_LAT = 38.736832 ORIGIN_LON = -9.137977 ORIGIN_ALT = 90.0 -# ── GPS / coordinate helpers ────────────────────────────────────────────────── - def gps_to_enu(lat, lon, alt, alt_ground): - """Convert GPS lat/lon/alt to ENU metres relative to the world origin. - - z is relative to ``alt_ground`` (the altitude of the first GPS fix seen). - """ + """Convert GPS lat/lon/alt to ENU metres. z is relative to alt_ground.""" x = (lon - ORIGIN_LON) * 111320.0 * math.cos(math.radians(ORIGIN_LAT)) y = (lat - ORIGIN_LAT) * 111320.0 z = alt - alt_ground @@ -65,13 +41,9 @@ def point_cloud2_to_cube_marker(cloud, bx, by, bz, ns, marker_id, stamp, lifetim fallback_color=None, scale=0.2): """Convert a PointCloud2 to a CUBE_LIST Marker translated into the map frame. - Extracts x, y, z fields and applies the boot offset (bx, by, bz). - If the cloud has an ``rgb`` field (PCL-packed uint32: 0x00RRGGBB stored as - float32 bytes), per-point colors are written to ``colors[]``. - Otherwise ``fallback_color`` (r, g, b, a) is used as a uniform color. - - pose.orientation.w is set to 1.0 — required for CUBE_LIST so the per-point - positions are not distorted by an invalid default quaternion. + Extracts xyz and applies boot offset (bx, by, bz). If the cloud has an 'rgb' + field (PCL-packed uint32 0x00RRGGBB stored as float32 bytes), per-point colors + are written to colors[]; otherwise fallback_color (r,g,b,a) is used. Returns a Marker, or None if the cloud has no x/y/z fields. """ @@ -94,7 +66,7 @@ def point_cloud2_to_cube_marker(cloud, bx, by, bz, ns, marker_id, stamp, lifetim m.header.stamp = stamp m.ns = ns m.id = marker_id - m.pose.orientation.w = 1.0 # identity — must be set or CUBE_LIST distorts positions + m.pose.orientation.w = 1.0 # must be set or CUBE_LIST distorts positions m.type = Marker.CUBE_LIST m.action = Marker.ADD m.scale.x = scale @@ -122,5 +94,4 @@ def point_cloud2_to_cube_marker(cloud, bx, by, bz, ns, marker_id, stamp, lifetim return m -# transform_point_cloud2 is re-exported from coordination_bringup.frame_utils transform_point_cloud2 = _transform_pc2 diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py index 193ffdf7..72f55516 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py @@ -1,36 +1,20 @@ """ -payload_visualizer_node.py -========================== -Project-specific GCS visualization node. Reads PeerProfile payloads from -/gossip/peers and publishes each payload to its own topic: -/gcs/payload/{robot_name}/{payload_name} - -Publishing per-topic (rather than a single MarkerArray) lets Foxglove expose -its full visualization controls (point size, color mapping, etc.) for each payload. - -Payloads are defined in gossip_payloads.yaml on the robot side — no DDS router -changes are needed when adding new payload types. - -Coordinate frame note ---------------------- -Payloads arrive already transformed into the global ENU 'map' frame by -gossip_node on each robot. No coordinate transform is needed here — handlers -just set frame_id='map' and republish. - -How to add a new payload for visualization ------------------------------------------- -1. Read gossip_payloads.yaml and find the `type:` field of the new entry. -2. Add a handler method here (see signature below). -3. If the type is unique (not already in PAYLOAD_HANDLERS), add it to the dict. - If the type already exists (e.g. a second PointCloud2), dispatch by index in - _on_peer_profile after the PAYLOAD_HANDLERS loop (order matches yaml order). +payload_visualizer_node.py — GCS visualization for gossip payloads. + +Reads PeerProfile payloads from /gossip/peers and republishes each to its own +topic (/gcs/payload/{robot_name}/{payload_name}) so Foxglove exposes full +visualization controls per payload independently. + +Payloads arrive already transformed into global ENU by gossip_node — handlers +only need to apply the display z-offset and republish. + +To add a new payload type: add a handler method and register it in PAYLOAD_HANDLERS. +For duplicate types (e.g. a second PointCloud2), dispatch by index after the +PAYLOAD_HANDLERS loop in _on_peer_profile (order matches gossip_payloads.yaml). Handler signature: def _handle_(self, robot_name, msg, i, now): - # msg — deserialized ROS message (already in global ENU / 'map' frame) - # i — stable robot index (for marker IDs: i * 100000 + unique_offset) - # now — current ROS timestamp - # Publish to self._pub_for('/gcs/payload/{robot_name}/{name}', MsgType) + # i — stable robot index (for marker IDs: i * 100000 + offset) """ from collections import OrderedDict @@ -48,13 +32,10 @@ def _handle_(self, robot_name, msg, i, now): from coordination_bringup.peer_profile import PeerProfile from gcs_visualizer.gcs_utils import transform_marker_array, transform_point_cloud2 -# ENU origin altitude used by gossip_node when transforming payloads at source. -# Must match frame_utils.DEFAULT_ORIGIN_ALT. +# Must match frame_utils.DEFAULT_ORIGIN_ALT — used to compute the z-offset between +# gossip_node's fixed ENU origin and the GCS display datum (first GPS altitude seen). _GOSSIP_ORIGIN_ALT = 90.0 - -# Seen-set size: same reasoning as gossip_node — covers well beyond the window -# in which DDS Router duplicates arrive. _GOSSIP_SEEN_SIZE = 50 GOSSIP_QOS = QoSProfile( @@ -68,35 +49,25 @@ class PayloadVisualizerNode(Node): def __init__(self): super().__init__('payload_visualizer_node') - self._gps_boot = {} # robot_name -> True once a valid GPS fix has been seen - self._last_stamp = {} # robot_name -> float: ROS stamp of last accepted message - self._alt_ground = None # altitude (m) of first GPS fix — display z datum - self._payload_cache = {} # (robot_name, cache_key) -> last deserialized payload msg - self._pubs = {} # topic -> Publisher (created lazily) - self._seen: OrderedDict = OrderedDict() # seen-set for duplicate suppression + self._gps_boot = {} + self._last_stamp = {} + self._alt_ground = None + self._payload_cache = {} + self._pubs = {} + self._seen: OrderedDict = OrderedDict() - # Subscribe to /gossip/peers — PeerProfiles arrive here from all robots self.create_subscription( PeerProfileMsg, '/gossip/peers', self._on_peer_profile, GOSSIP_QOS) self.get_logger().info('PayloadVisualizerNode started') - # ── Lazy publisher helper ────────────────────────────────────────────── - def _pub_for(self, topic, msg_type): if topic not in self._pubs: self._pubs[topic] = self.create_publisher(msg_type, topic, 10) return self._pubs[topic] - # ── GPS boot tracking (for robot index, not transforms) ─────────────── - def _update_boot(self, robot_name: str, gps_fix) -> None: - """Record that a valid GPS fix has been seen for this robot. - - Also tracks alt_ground (first GPS altitude seen across all robots) so - payload z values can be shifted to match the foxglove_visualizer datum. - """ if gps_fix.status.status < 0: return if self._alt_ground is None: @@ -105,24 +76,14 @@ def _update_boot(self, robot_name: str, gps_fix) -> None: self._gps_boot[robot_name] = True def _display_z_offset(self) -> float: - """Z shift to apply to payload positions before display. - - gossip_node transforms payloads with a fixed ENU origin_alt of 90 m. - foxglove_visualizer uses alt_ground (first GPS fix altitude) as its datum. - If those two differ, payloads appear above or below the drone. - This correction aligns them without touching the peer-profile data. - """ + """Correct for the altitude datum difference between gossip_node and foxglove_visualizer.""" if self._alt_ground is None: return 0.0 return _GOSSIP_ORIGIN_ALT - self._alt_ground - # ── Peer profile callback ───────────────────────────────────────────── - def _on_peer_profile(self, msg: PeerProfileMsg) -> None: robot_name = msg.robot_name - # Seen-set deduplication: drop exact duplicates before any other work. - # Key is (robot_name, sec, nanosec) — robot_name prevents cross-robot collisions. msg_id = (robot_name, msg.gps_fix.header.stamp.sec, msg.gps_fix.header.stamp.nanosec) @@ -132,9 +93,6 @@ def _on_peer_profile(self, msg: PeerProfileMsg) -> None: if len(self._seen) > _GOSSIP_SEEN_SIZE: self._seen.popitem(last=False) - # Per-robot ordering: accept only if this message is newer than the last - # accepted one for THIS robot. robot_1 and robot_2 are tracked independently - # so neither can block the other. new_t = (msg.gps_fix.header.stamp.sec + msg.gps_fix.header.stamp.nanosec * 1e-9) if new_t < self._last_stamp.get(robot_name, 0.0): @@ -144,7 +102,7 @@ def _on_peer_profile(self, msg: PeerProfileMsg) -> None: self._update_boot(robot_name, msg.gps_fix) if robot_name not in self._gps_boot: - return # no GPS fix yet, skip + return profile = PeerProfile.from_ros_msg(msg) now = self.get_clock().now().to_msg() @@ -172,16 +130,7 @@ def _robot_index(self, robot_name: str) -> int: known = sorted(self._gps_boot.keys()) return known.index(robot_name) if robot_name in known else 0 - # ── Payload handlers ────────────────────────────────────────────────── - # Each handler receives: - # robot_name – e.g. "robot_1" - # msg – deserialized ROS message (already in global ENU / 'map' frame) - # i – stable robot index (for marker IDs) - # now – current ROS timestamp - # Publish to self._pub_for('/gcs/payload/{robot_name}/{name}', MsgType) - def _handle_filtered_rays(self, robot_name, msg, i, now): - """Republish filtered_rays MarkerArray shifted to the GCS display datum.""" bz = self._display_z_offset() out_ma = transform_marker_array(msg, 0.0, 0.0, bz) for k, m in enumerate(out_ma.markers): @@ -192,20 +141,15 @@ def _handle_filtered_rays(self, robot_name, msg, i, now): self._pub_for(f'/gcs/payload/{robot_name}/filtered_rays', MarkerArray).publish(out_ma) def _handle_frontier_viewpoints(self, robot_name, msg, i, now): - """Republish frontier_viewpoints PointCloud2 shifted to the GCS display datum.""" out = transform_point_cloud2(msg, 0.0, 0.0, self._display_z_offset()) out.header.stamp = now self._pub_for(f'/gcs/payload/{robot_name}/frontier_viewpoints', PointCloud2).publish(out) def _handle_rgb_voxels(self, robot_name, msg, i, now): - """Republish voxel_rgb PointCloud2 shifted to the GCS display datum.""" out = transform_point_cloud2(msg, 0.0, 0.0, self._display_z_offset()) out.header.stamp = now self._pub_for(f'/gcs/payload/{robot_name}/rgb_voxels', PointCloud2).publish(out) - # ── Handler registry ────────────────────────────────────────────────── - # Maps ROS type string -> handler method. - # Add or remove entries here to change what gets visualized. PAYLOAD_HANDLERS = { 'visualization_msgs/msg/MarkerArray': _handle_filtered_rays, 'sensor_msgs/msg/PointCloud2': _handle_frontier_viewpoints, diff --git a/robot/ros_ws/src/coordination/README.md b/robot/ros_ws/src/coordination/README.md new file mode 100644 index 00000000..d1cb8bee --- /dev/null +++ b/robot/ros_ws/src/coordination/README.md @@ -0,0 +1,76 @@ +# Coordination + +Multi-robot coordination layer for AirStack. Implements a gossip protocol over a shared DDS domain so drones can share state and payloads without a central broker. + +## Architecture + +``` +Robot (domain N) Shared gossip domain (99) +┌─────────────────────┐ ┌────────────────────────┐ +│ gossip_node │ │ │ +│ ├─ PeerProfile │──DDS Router──▶│ /gossip/peers │◀──▶ GCS +│ │ ├─ GPS/heading │ │ │ +│ │ ├─ waypoint │ └────────────────────────┘ +│ │ └─ payloads[] │ +│ └─ peer_registry │◀── drains inbox, publishes snapshot +└─────────────────────┘ +``` + +Every robot publishes its own `PeerProfile` at 1 Hz (wall-clock) and receives profiles from all peers via the shared domain. + +## Packages + +### `coordination_msgs` +Wire-format message definitions: +- `PeerProfile.msg` — robot identity, GPS, heading, waypoint, and a typed payload array +- `PeerProfilePayload.msg` — a single serialized ROS message (`payload_type` string + `payload_data` bytes) + +### `coordination_bringup` +Runtime nodes and configuration: +- **`gossip_node.py`** — publishes own profile, receives peer profiles, maintains registry +- **`peer_profile.py`** — Python helper class for serializing/deserializing `PeerProfile` and its payloads +- **`frame_utils.py`** — GPS ↔ ENU coordinate conversion helpers +- **`config/gossip_payloads.yaml`** — declares which local topics to attach as payloads (config-driven, no code changes) + +## Message Deduplication + +Each message is identified by `(robot_name, stamp.sec, stamp.nanosec)`, where the stamp is set at publish time by the originating robot. Receivers maintain a seen-set (50 entries, FIFO eviction) and drop already-processed IDs. + +Every drone receives a message at least once — this is expected. The seen-set prevents re-processing, not initial fan-out. + +**Relay fields** (`source`, `relay_hops`) exist in the wire format for future multi-hop use but relay logic is not yet active. + +## Adding a Payload + +Edit `coordination_bringup/config/gossip_payloads.yaml`: + +```yaml +payload_topics: + - topic: "/{robot_name}/your/topic" + type: "your_msgs/msg/YourType" +``` + +`{robot_name}` is substituted at runtime. Topics that haven't published yet are silently skipped. + +See [`.agents/skills/attach-gossip-payload`](../../../.agents/skills/attach-gossip-payload/SKILL.md) for the full workflow including GCS visualization. + +## Topics + +| Topic | Direction | QoS | Purpose | +|-------|-----------|-----|---------| +| `/gossip/peers` | pub/sub | BEST_EFFORT | Shared profile bus across all robots and GCS | +| `/{robot_name}/coordination/peer_registry` | pub | RELIABLE, TRANSIENT_LOCAL | Snapshot of all known peers (latest-wins) | + +## Key Parameters (`gossip_node`) + +| Parameter | Default | Description | +|-----------|---------|-------------| +| `robot_name` | — | Robot identifier, also used as topic namespace | +| `publish_rate` | `1.0` | Hz, wall-clock (fires even when sim time is paused) | +| `gossip_domain` | `99` | Shared DDS domain for the gossip bus | + +## Future Plans + +- **Payload version hashing** — hash `payload_data` bytes and skip re-sending unchanged payloads (e.g. static voxel maps). Reduces gossip bandwidth by up to 90% for slow-changing payloads like PointCloud2 maps. + +- **OLSR Multipoint Relay (MPR)** — when relay forwarding (`SOURCE_RELAYED`, `relay_hops`) is activated, use OLSR MPR selection to elect the minimal set of relay nodes that cover all 2-hop neighbors. Prevents O(n²) message explosion from naive flooding in partial-mesh / long-range deployments. diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py index 19fd75d6..eac7f627 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py @@ -1,17 +1,4 @@ -""" -frame_utils.py -============== -Coordinate frame utilities shared between gossip_node (robot) and -gcs_visualizer (GCS). - -Robots transform their payloads into global ENU before attaching them to -PeerProfile, so every consumer receives world-frame data directly. - -ENU world origin (what GPS (0,0,0) maps to in metres): - Must match gcs_utils.py ORIGIN_* and the simulation's GPS home position. - Override via the 'enu_origin_lat/lon/alt' ROS parameters in gossip_node, - or leave at the Lisbon default used everywhere else in AirStack. -""" +"""Coordinate frame utilities shared between gossip_node (robot) and gcs_visualizer (GCS).""" import copy import math @@ -37,9 +24,7 @@ def gps_to_enu(lat, lon, alt, def heading_to_quat(heading_deg): """Compass heading (degrees CW from North) → ENU yaw quaternion (x,y,z,w). - ENU: yaw=0 → East (+x), yaw=90° → North (+y). - heading=0 (North) → yaw=90° → q=(0,0,sin45,cos45) - heading=90 (East) → yaw=0° → q=(0,0,0,1) + ENU: yaw=0 → East (+x). heading=0 (North) → yaw=90° → q=(0,0,sin45,cos45). """ yaw_enu = math.radians(90.0 - heading_deg) return (0.0, 0.0, math.sin(yaw_enu / 2.0), math.cos(yaw_enu / 2.0)) @@ -62,18 +47,12 @@ def rotate_vector(v, q): def transform_marker_array(marker_array, bx, by, bz, q=(0.0, 0.0, 0.0, 1.0)): """Deep-copy a MarkerArray and transform all points: p_map = R(q)*p + (bx,by,bz). - Transforms every point in points[] (LINE_LIST, LINE_STRIP, CUBE_LIST, - SPHERE_LIST, POINTS, ARROW-with-2-points, TRIANGLE_LIST). - - Note: pose.position is intentionally NOT translated here. In the ROS - marker convention, points[] are expressed in the marker's local frame - (defined by pose). These markers typically use an identity pose so that - points[] are already in the parent frame; translating pose.position as - well would double-apply the offset. If you have single-geometry markers - (SPHERE, CUBE, TEXT, MESH_RESOURCE) whose position lives in pose.position - rather than points[], translate pose.position at the call site instead. + Transforms points[] only — not pose.position. These markers use an identity pose + so points[] are already in the parent frame; translating pose.position would + double-apply the offset. For single-geometry markers (SPHERE, CUBE, MESH) whose + position lives in pose.position, translate at the call site instead. - Sets frame_id='map'. Returns a new MarkerArray (does not modify in-place). + Sets frame_id='map'. Returns a new MarkerArray. """ from visualization_msgs.msg import MarkerArray as MA out = MA() @@ -92,8 +71,7 @@ def transform_marker_array(marker_array, bx, by, bz, q=(0.0, 0.0, 0.0, 1.0)): def transform_point_cloud2(cloud, bx, by, bz, q=(0.0, 0.0, 0.0, 1.0)): """Return a copy of PointCloud2 with all xyz transformed: p_map = R(q)*p + (bx,by,bz). - Sets frame_id='map'. Reads field offsets from the message header so - non-standard field orderings work. + Sets frame_id='map'. Reads field offsets from the message header. """ field_offsets = {f.name: f.offset for f in cloud.fields if f.name in ('x', 'y', 'z')} if not all(k in field_offsets for k in ('x', 'y', 'z')): diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py index d5ae6c9b..3a903ef4 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py @@ -1,19 +1,8 @@ """ -gossip_node.py -============== -ROS 2 node that implements the gossip-protocol coordination layer. - -Each robot: - - Subscribes to its own GPS fix (NavSatFix) and compass heading, and global plan - - Publishes its own PeerProfile to /gossip/peers (shared gossip domain via DDS Router) - - Subscribes to /gossip/peers to receive all peer profiles - - Maintains a registry of known peers (latest-wins, no expiry) - - Republishes the full registry as a latched topic for planners to consume - -Publish rate: - - Fixed 1 Hz wall-clock timer (publish_rate parameter) — always fires regardless of - sim time, so heartbeating works even when the robot is stationary. - - A new waypoint also triggers an immediate extra publish. +gossip_node.py — ROS 2 gossip-protocol coordination layer. + +Each robot publishes its PeerProfile to /gossip/peers at 1 Hz (wall-clock, +unaffected by sim time). A new waypoint triggers an immediate extra publish. """ import os @@ -46,29 +35,25 @@ from sensor_msgs.msg import PointCloud2 -# Seen-set size: deduplicates the last N unique (robot_name, stamp) pairs. -# At 1 Hz per robot, 50 entries covers ~25 s for 2 robots or ~5 s for 10 robots — -# well beyond the millisecond window in which DDS Router duplicates arrive. +# Deduplication seen-set size. At 1 Hz, 50 entries covers ~5 s for 10 robots — +# well beyond the window in which DDS Router duplicates arrive. _GOSSIP_SEEN_SIZE = 50 -# QoS for gossip topic: BEST_EFFORT — at 1 Hz a dropped message recovers on the -# next tick, so reliability overhead (heartbeats, ACKs across domain bridges) is -# unnecessary and was the main source of DDS-layer amplification. +# BEST_EFFORT: at 1 Hz a dropped message recovers on the next tick; reliability +# overhead across domain bridges was the main source of DDS-layer amplification. GOSSIP_QOS = QoSProfile( reliability=QoSReliabilityPolicy.BEST_EFFORT, history=QoSHistoryPolicy.KEEP_LAST, depth=10, ) -# MAVROS and other sensor topics publish as BEST_EFFORT SENSOR_QOS = QoSProfile( reliability=QoSReliabilityPolicy.BEST_EFFORT, history=QoSHistoryPolicy.KEEP_LAST, depth=10, ) -# QoS for the registry topic: reliable + transient-local so late subscribers -# immediately receive the latest snapshot +# RELIABLE + TRANSIENT_LOCAL so late-joining planners get the full snapshot. REGISTRY_QOS = QoSProfile( reliability=QoSReliabilityPolicy.RELIABLE, durability=QoSDurabilityPolicy.TRANSIENT_LOCAL, @@ -82,47 +67,36 @@ class GossipNode(Node): def __init__(self): super().__init__("gossip_node") - # ── Parameters ────────────────────────────────────────────────── self.declare_parameter("robot_name", os.environ.get("ROBOT_NAME", "unknown_robot")) - self.declare_parameter("publish_rate", 1.0) # Hz — wall-clock timer - self.declare_parameter("payload_topics_config", "") # path to gossip_payloads.yaml + self.declare_parameter("publish_rate", 1.0) + self.declare_parameter("payload_topics_config", "") self._robot_name = self.get_parameter("robot_name").get_parameter_value().string_value publish_rate = self.get_parameter("publish_rate").get_parameter_value().double_value payload_config_path = self.get_parameter("payload_topics_config").get_parameter_value().string_value - # ── State ──────────────────────────────────────────────────────── self._profile = PeerProfile(robot_name=self._robot_name) - # Boot pose: set on first valid GPS fix + first heading reading. - # Used to transform payload data from local odom frame → global ENU - # before attaching to PeerProfile, so every receiver gets world-frame data. + # Boot pose: set on first valid GPS fix + first heading. + # Used to transform payload data from local odom → global ENU before broadcast. self._boot_pos: tuple | None = None # (bx, by, bz) ENU metres - self._boot_quat: tuple | None = None # (qx, qy, qz, qw) rotation + self._boot_quat: tuple | None = None # (qx, qy, qz, qw) - # Registry: robot_name → latest accepted PeerProfile (monotonic by stamp) self._registry: dict[str, PeerProfileMsg] = {} self._registry_lock = threading.Lock() - # Per-robot inbox: buffers incoming peer messages so every robot gets - # processed fairly on each drain tick, regardless of DDS arrival order. - # Stores only the latest message per robot (by gossip stamp). + # Per-robot inbox: holds only the latest message per robot so all robots + # are drained together on each tick regardless of DDS arrival order. self._peer_inbox: dict[str, PeerProfileMsg] = {} self._peer_inbox_lock = threading.Lock() - # Seen-set: deduplicates incoming peer messages by (robot_name, sec, nanosec). - # Including robot_name in the key ensures robot_1 and robot_2 never share IDs. self._seen: OrderedDict = OrderedDict() - - # Payload cache: topic → (msg, stamp) or None until first message arrives self._payload_cache: dict[str, object] = {} self._payload_subs: list = [] - # ── Payload topic subscriptions (config-driven) ────────────────── if payload_config_path: self._setup_payload_subscriptions(payload_config_path) - # ── Subscriptions ──────────────────────────────────────────────── self._navsat_sub = self.create_subscription( NavSatFix, f"/{self._robot_name}/interface/mavros/global_position/raw/fix", @@ -148,37 +122,16 @@ def __init__(self): GOSSIP_QOS, ) - # ── Publishers ─────────────────────────────────────────────────── - self._gossip_pub = self.create_publisher( - PeerProfileMsg, - "/gossip/peers", - GOSSIP_QOS, - ) - # Registry snapshot – latched so planners that start late still get it + self._gossip_pub = self.create_publisher(PeerProfileMsg, "/gossip/peers", GOSSIP_QOS) self._registry_pub = self.create_publisher( PeerProfileMsg, f"/{self._robot_name}/coordination/peer_registry", REGISTRY_QOS, ) - # ── Publish timer (wall clock — unaffected by sim time) ────────── - # Use a wall-clock timer so heartbeating works even when sim is paused - # or use_sim_time is set. period = 1.0 / max(publish_rate, 0.01) - self._publish_timer = self.create_timer( - period, - self._publish_tick, - clock=ROSClock(), - ) - - # ── Peer inbox drain timer (5 Hz wall clock) ────────────────────── - # Drains the per-robot inbox at a fixed rate so all robots are - # processed fairly — robot N never blocks robot M from being updated. - self._drain_timer = self.create_timer( - 0.2, - self._drain_peer_inbox, - clock=ROSClock(), - ) + self._publish_timer = self.create_timer(period, self._publish_tick, clock=ROSClock()) + self._drain_timer = self.create_timer(0.2, self._drain_peer_inbox, clock=ROSClock()) self.get_logger().info( f"GossipNode started for '{self._robot_name}' " @@ -186,17 +139,10 @@ def __init__(self): f"{len(self._payload_cache)} payload topic(s))" ) - # ------------------------------------------------------------------ # - # Config-driven payload subscriptions # - # ------------------------------------------------------------------ # - def _setup_payload_subscriptions(self, config_path: str) -> None: - """ - Parse gossip_payloads.yaml and create a subscription for each entry. + """Parse gossip_payloads.yaml and subscribe to each listed topic. - Each subscription caches the latest message in self._payload_cache. - Messages are only added to the profile at publish time, so a topic - that hasn't published yet simply contributes no payload. + Topics that haven't published yet simply contribute no payload on that tick. """ try: with open(config_path, "r") as f: @@ -219,9 +165,7 @@ def _setup_payload_subscriptions(self, config_path: str) -> None: self.get_logger().warn(f"Unknown payload type '{type_str}': {e}") continue - # Cache stores (msg, stamp) tuples. stamp is extracted from the - # message header if present, otherwise the current ROS clock time. - self._payload_cache[topic] = None # None = not received yet + self._payload_cache[topic] = None def _make_callback(t): def cb(msg): @@ -235,28 +179,17 @@ def cb(msg): self._payload_subs.append(sub) self.get_logger().info(f"Payload subscription: {topic} ({type_str})") - # ------------------------------------------------------------------ # - # Subscription callbacks # - # ------------------------------------------------------------------ # - def _on_navsat(self, msg: NavSatFix) -> None: - # Only store valid fixes — ignore NO_FIX so GPS never zeros out. - if msg.status.status < 0: + if msg.status.status < 0: # ignore NO_FIX so GPS never zeros out return self._profile.set_gps_from_navsat(msg) - # Record boot position on first valid GPS fix if self._boot_pos is None: self._boot_pos = gps_to_enu(msg.latitude, msg.longitude, msg.altitude) - # Only set boot_quat now if heading has already been received - # (profile.heading != 0.0 means a compass reading arrived first). - # If heading hasn't arrived yet, _on_compass will set boot_quat - # once the first reading comes in. if self._boot_quat is None and self._profile.heading != 0.0: self._boot_quat = heading_to_quat(self._profile.heading) def _on_compass(self, msg: Float64) -> None: self._profile.set_heading(msg.data) - # Set boot quat on first heading reading once we have GPS if self._boot_pos is not None and self._boot_quat is None: self._boot_quat = heading_to_quat(msg.data) @@ -267,9 +200,6 @@ def _on_peer_msg(self, msg: PeerProfileMsg) -> None: if msg.robot_name == self._robot_name: return # discard own messages echoed back from the gossip domain - # Seen-set deduplication: discard if this exact (robot, stamp) was already - # processed. Key includes robot_name so robot_1 and robot_2 can never share - # an ID even when their sequence counters coincide. msg_id = (msg.robot_name, msg.gps_fix.header.stamp.sec, msg.gps_fix.header.stamp.nanosec) @@ -277,10 +207,8 @@ def _on_peer_msg(self, msg: PeerProfileMsg) -> None: return self._seen[msg_id] = None if len(self._seen) > _GOSSIP_SEEN_SIZE: - self._seen.popitem(last=False) # evict oldest entry + self._seen.popitem(last=False) - # Stage in per-robot inbox: keep only the newest message per robot so - # all robots are drained together on the next tick (fair processing). new_t = (msg.gps_fix.header.stamp.sec + msg.gps_fix.header.stamp.nanosec * 1e-9) with self._peer_inbox_lock: @@ -289,37 +217,25 @@ def _on_peer_msg(self, msg: PeerProfileMsg) -> None: old_t = (existing.gps_fix.header.stamp.sec + existing.gps_fix.header.stamp.nanosec * 1e-9) if new_t < old_t: - return # already buffered a newer message this tick + return self._peer_inbox[msg.robot_name] = msg def _drain_peer_inbox(self) -> None: - """Process all buffered peer messages at 5 Hz, one per robot per tick.""" with self._peer_inbox_lock: inbox = dict(self._peer_inbox) self._peer_inbox.clear() for msg in inbox.values(): self._update_registry(msg) - # ------------------------------------------------------------------ # - # Publish logic # - # ------------------------------------------------------------------ # - def _publish_tick(self) -> None: - """Wall-clock timer callback — publish own profile at fixed rate.""" self._publish_own() def _publish_own(self) -> None: - # Rebuild payloads from cache on every tick. - # If the boot pose is known, transform each payload into global ENU so - # every receiver (peers and GCS) gets world-frame data directly. - # If boot pose is not yet known, skip payloads this tick — we cannot - # produce a meaningful global-frame transform without GPS. self._profile.clear_payloads() if self._boot_pos is not None: bx, by, bz = self._boot_pos - # PX4/MAVROS odom frame is ENU-aligned — x=East, y=North, z=Up - # regardless of drone heading. Only translation is needed; applying - # heading rotation would incorrectly rotate the payload data. + # PX4/MAVROS odom frame is ENU-aligned regardless of drone heading — + # only translation is needed; rotation would incorrectly rotate payloads. q = (0.0, 0.0, 0.0, 1.0) for topic, entry in self._payload_cache.items(): if entry is not None: @@ -327,33 +243,20 @@ def _publish_own(self) -> None: transformed = self._transform_to_global(msg, bx, by, bz, q) self._profile.add_payload(transformed, stamp=stamp) - # Stamp the outgoing profile with the current ROS clock time. - # Receivers use this stamp — not the MAVROS GPS stamp — to enforce - # monotonic ordering and discard out-of-order messages. + # Stamp with current ROS clock (not MAVROS GPS stamp) so receivers can + # enforce monotonic ordering across ticks. self._profile.gps_fix.header.stamp = self.get_clock().now().to_msg() - self._gossip_pub.publish(self._profile.to_ros_msg()) def _transform_to_global(self, msg, bx, by, bz, q): - """Transform a payload message from local odom frame to global ENU.""" if isinstance(msg, MarkerArray): return transform_marker_array(msg, bx, by, bz, q) if isinstance(msg, PointCloud2): return transform_point_cloud2(msg, bx, by, bz, q) return msg # unknown type — pass through untransformed - # ------------------------------------------------------------------ # - # Registry management # - # ------------------------------------------------------------------ # - def _update_registry(self, msg: PeerProfileMsg) -> None: - """Update registry, then republish snapshot. - - Accept only if the incoming message is newer (or equal) to what we - already have. gossip_node stamps gps_fix.header with the ROS clock - at publish time, so this gives strict monotonic ordering — stale or - out-of-order messages are silently dropped. - """ + """Accept msg only if newer than what we have; republish updated snapshot.""" new_t = (msg.gps_fix.header.stamp.sec + msg.gps_fix.header.stamp.nanosec * 1e-9) @@ -363,7 +266,7 @@ def _update_registry(self, msg: PeerProfileMsg) -> None: old_t = (existing.gps_fix.header.stamp.sec + existing.gps_fix.header.stamp.nanosec * 1e-9) if new_t < old_t: - return # out-of-order — discard + return self._registry[msg.robot_name] = msg self._registry_pub.publish(msg) diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py index 9e854b8f..71832601 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py @@ -1,32 +1,3 @@ -""" -peer_profile.py -=============== -Base class for gossip-protocol peer state. Subclass this to attach -task-specific data as typed ROS payloads. - -Usage ------ -# Basic – just use the base class -profile = PeerProfile("robot_1") -profile.set_gps_from_navsat(navsat_msg) -profile.set_heading(compass_hdg_msg.data) -profile.set_waypoint_from_path(path_msg) -ros_msg = profile.to_ros_msg() - -# Extended – subclass and add payloads -class SearchProfile(PeerProfile): - def attach_frontier(self, frontier_msg): - self.add_payload(frontier_msg) - -profile = SearchProfile("robot_1") -profile.attach_frontier(my_frontier) -ros_msg = profile.to_ros_msg() - -# Receiving side -profile = PeerProfile.from_ros_msg(ros_msg) -grid = profile.get_payload("nav_msgs/msg/OccupancyGrid") -""" - from __future__ import annotations from dataclasses import dataclass, field @@ -51,13 +22,7 @@ class Source(IntEnum): @dataclass class PeerProfile: - """ - Base peer state broadcast over the gossip bus. - - Subclass and override ``extra_payloads_to_attach()`` to automatically - include task-specific ROS messages every time ``to_ros_msg()`` is called, - or call ``add_payload()`` / ``clear_payloads()`` manually. - """ + """Base peer state broadcast over the gossip bus.""" robot_name: str gps_fix: NavSatFix = field(default_factory=NavSatFix) @@ -66,47 +31,30 @@ class PeerProfile: source: Source = Source.DIRECT relay_hops: int = 0 - # Internal payload store: list of dicts with keys "type" and "data" _payloads: List[Dict[str, Any]] = field(default_factory=list, repr=False) - # ------------------------------------------------------------------ # - # GPS / waypoint helpers # - # ------------------------------------------------------------------ # - def set_gps_from_navsat(self, msg: NavSatFix) -> None: - """Store GPS fix from a sensor_msgs/NavSatFix message.""" self.gps_fix = msg def set_heading(self, degrees: float) -> None: - """Set heading in degrees clockwise from North (0-360).""" self.heading = float(degrees) def set_waypoint_from_path(self, path: Optional[Path]) -> None: - """ - Extract the goal (last pose) from a nav_msgs/Path. - Passing None or an empty path leaves waypoint as all-zeros, - which signals 'no plan available' to receivers. - """ + """Extract goal (last pose) from a Path. None or empty path sets waypoint to all-zeros (no plan).""" if path is not None and len(path.poses) > 0: self.waypoint = path.poses[-1] else: self.waypoint = PoseStamped() def has_waypoint(self) -> bool: - """Return True if a valid waypoint has been set (non-zero stamp).""" s = self.waypoint.header.stamp return s.sec != 0 or s.nanosec != 0 - # ------------------------------------------------------------------ # - # Payload management # - # ------------------------------------------------------------------ # - def add_payload(self, msg: Any, stamp=None) -> None: - """Serialize and attach any ROS message as an additional payload. + """Serialize and attach a ROS message as a payload. - ``stamp`` is a builtin_interfaces/Time (or None to use zero time). - Pass the header stamp of the source message so receivers can judge - how fresh the data is independently of the gossip message timestamp. + Pass the source message's header stamp so receivers can judge data freshness + independently of the gossip message timestamp. """ from builtin_interfaces.msg import Time type_str = _ros_type_string(msg) @@ -120,12 +68,7 @@ def clear_payloads(self) -> None: self._payloads.clear() def get_payload(self, payload_type: str) -> Optional[Any]: - """ - Deserialize and return the first payload matching *payload_type*. - *payload_type* is the fully-qualified ROS type string, - e.g. ``"nav_msgs/msg/OccupancyGrid"``. - Returns None if not found. - """ + """Return the first payload matching payload_type (e.g. 'nav_msgs/msg/OccupancyGrid'), or None.""" for p in self._payloads: if p["type"] == payload_type: msg_class = rosidl_utils.get_message(payload_type) @@ -133,11 +76,7 @@ def get_payload(self, payload_type: str) -> Optional[Any]: return None def get_payload_with_stamp(self, payload_type: str): - """ - Like get_payload() but returns (msg, stamp) tuple so the caller can - check when the source data was last produced. - Returns (None, None) if not found. - """ + """Like get_payload() but returns (msg, stamp). Returns (None, None) if not found.""" for p in self._payloads: if p["type"] == payload_type: msg_class = rosidl_utils.get_message(payload_type) @@ -145,7 +84,6 @@ def get_payload_with_stamp(self, payload_type: str): return None, None def get_all_payloads(self) -> List[Any]: - """Deserialize and return all payloads in order.""" result = [] for p in self._payloads: msg_class = rosidl_utils.get_message(p["type"]) @@ -153,13 +91,8 @@ def get_all_payloads(self) -> List[Any]: return result def payload_types(self) -> List[str]: - """Return the type strings of all attached payloads.""" return [p["type"] for p in self._payloads] - # ------------------------------------------------------------------ # - # Serialisation # - # ------------------------------------------------------------------ # - def to_ros_msg(self) -> PeerProfileMsg: msg = PeerProfileMsg() msg.robot_name = self.robot_name @@ -193,21 +126,14 @@ def from_ros_msg(cls, msg: PeerProfileMsg) -> "PeerProfile": return profile -# ------------------------------------------------------------------ # -# Internal helpers # -# ------------------------------------------------------------------ # - def _ros_type_string(msg: Any) -> str: """Return the fully-qualified ROS type string for a message instance. - - E.g. nav_msgs.msg.OccupancyGrid → "nav_msgs/msg/OccupancyGrid" + E.g. nav_msgs.msg.OccupancyGrid → 'nav_msgs/msg/OccupancyGrid' """ - module = type(msg).__module__ # e.g. "nav_msgs.msg._occupancy_grid" - name = type(msg).__name__ # e.g. "OccupancyGrid" + module = type(msg).__module__ + name = type(msg).__name__ # Convert "nav_msgs.msg._occupancy_grid" → "nav_msgs/msg" parts = module.split(".") if len(parts) >= 2: - pkg = parts[0] - sub = parts[1] - return f"{pkg}/{sub}/{name}" + return f"{parts[0]}/{parts[1]}/{name}" return f"{module}/{name}" diff --git a/robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py b/robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py index 03bec2dd..091a13f4 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py @@ -1,12 +1,4 @@ -""" -gcs_gossip_bridge.launch.py -============================ -Launches the GCS-side DDS Router that bridges /gossip/peers between the GCS -domain (0) and the shared gossip bus domain (99). - -Include this from gcs.launch.xml so the GCS can receive PeerProfile messages -from all robots without going through each robot's onboard DDS router. -""" +"""Launches the GCS-side DDS Router bridging /gossip/peers between GCS domain (0) and gossip domain (99).""" import os diff --git a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py index 6a140d3e..41a2cfd3 100755 --- a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py @@ -1,20 +1,14 @@ #!/usr/bin/env python3 """ -peer_registry_monitor.py -======================== -CLI diagnostic tool – subscribe to /gossip/peers on the gossip domain -and pretty-print the live peer registry. +peer_registry_monitor.py — CLI diagnostic tool for the gossip peer registry. Run on any robot or from a machine joined to domain 99: - ROS_DOMAIN_ID=99 python3 peer_registry_monitor.py -Or on a specific robot's domain to see what *that* robot receives: - +Or on a specific robot's domain to see what that robot receives: ROS_DOMAIN_ID=1 python3 peer_registry_monitor.py -Options -------- +Options: --robot Only show entries for this robot name (partial match) --rate Refresh rate in Hz (default: 2) """ @@ -87,24 +81,17 @@ class RegistryMonitor(Node): def __init__(self, filter_name: str = ""): super().__init__("peer_registry_monitor") self._registry: dict[str, PeerProfileMsg] = {} - self._recv_times: dict[str, float] = {} # robot_name -> wall time of last received msg + self._recv_times: dict[str, float] = {} self._registry_lock = threading.Lock() self._filter = filter_name.lower() - - # Per-robot inbox: buffer incoming messages so all robots are processed - # together on each drain, regardless of DDS arrival burst order. self._inbox: dict[str, PeerProfileMsg] = {} self._inbox_lock = threading.Lock() self._sub = self.create_subscription( - PeerProfileMsg, - "/gossip/peers", - self._on_msg, - GOSSIP_QOS, + PeerProfileMsg, "/gossip/peers", self._on_msg, GOSSIP_QOS, ) def _on_msg(self, msg: PeerProfileMsg) -> None: - """Buffer incoming message; always track receipt time for liveness display.""" new_t = (msg.gps_fix.header.stamp.sec + msg.gps_fix.header.stamp.nanosec * 1e-9) with self._inbox_lock: @@ -113,14 +100,12 @@ def _on_msg(self, msg: PeerProfileMsg) -> None: old_t = (existing.gps_fix.header.stamp.sec + existing.gps_fix.header.stamp.nanosec * 1e-9) if new_t < old_t: - # Already buffered a newer message — only update recv time self._recv_times[msg.robot_name] = time.time() return self._inbox[msg.robot_name] = msg self._recv_times[msg.robot_name] = time.time() def _drain_inbox(self) -> None: - """Apply registry ordering check for all buffered robots at once.""" with self._inbox_lock: inbox = dict(self._inbox) self._inbox.clear() @@ -133,7 +118,7 @@ def _drain_inbox(self) -> None: old_t = (existing.gps_fix.header.stamp.sec + existing.gps_fix.header.stamp.nanosec * 1e-9) if new_t < old_t: - continue # out-of-order — keep existing + continue self._registry[robot_name] = msg def print_registry(self) -> None: From ddee8f454315a106b09792a4d253791583ae874b Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Fri, 27 Mar 2026 14:41:38 -0400 Subject: [PATCH 22/55] removed VDB ENV --- robot/docker/docker-compose.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index de5de536..abfef1cb 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -24,7 +24,6 @@ services: - LAUNCH_PACKAGE=desktop_bringup # desktop_bringup adds RViz; real robots use autonomy_bringup - AUTONOMY_ROLE=full - SIM_IP=${SIM_IP:-172.31.0.200} - - VDB_SOURCE=${VDB_SOURCE:-lidar} # "lidar" or "stereo", set in .env # FCU_URL and TGT_SYSTEM not set, dynamically calculated in interface.launch.py # 'command' uses variables so that it can be shared across robot-desktop and robot-l4t, with different launch packages and roles. command: > From 088259fdece535fc6291f1b9b0e9dec04310791c Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Fri, 27 Mar 2026 14:49:35 -0400 Subject: [PATCH 23/55] rebase with main --- simulation/isaac-sim/extensions/PegasusSimulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simulation/isaac-sim/extensions/PegasusSimulator b/simulation/isaac-sim/extensions/PegasusSimulator index e1bc1211..1223a301 160000 --- a/simulation/isaac-sim/extensions/PegasusSimulator +++ b/simulation/isaac-sim/extensions/PegasusSimulator @@ -1 +1 @@ -Subproject commit e1bc1211c04e538077a3cbfd9710ea26a846aec4 +Subproject commit 1223a301f60d16ebb387a8537503aec8c45239d8 From 6c9fefa301181a06352a12841a38e2da0640d30d Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Fri, 27 Mar 2026 16:13:33 -0400 Subject: [PATCH 24/55] updated docs --- .agents/skills/attach-gossip-payload/SKILL.md | 64 ++++++---- .env | 2 +- docs/robot/autonomy/coordination/index.md | 69 ++++++++++ docs/robot/autonomy/coordination/payloads.md | 119 ++++++++++++++++++ .../foxglove_visualizer_node.py | 6 - .../gcs_visualizer/payload_visualizer_node.py | 45 ++++--- mkdocs.yml | 3 + .../coordination_bringup/frame_utils.py | 11 +- .../coordination_bringup/gossip_node.py | 11 +- .../coordination_bringup/peer_profile.py | 25 ++-- .../msg/PeerProfilePayload.msg | 1 + 11 files changed, 275 insertions(+), 81 deletions(-) create mode 100644 docs/robot/autonomy/coordination/index.md create mode 100644 docs/robot/autonomy/coordination/payloads.md diff --git a/.agents/skills/attach-gossip-payload/SKILL.md b/.agents/skills/attach-gossip-payload/SKILL.md index 9709995f..a38843e3 100644 --- a/.agents/skills/attach-gossip-payload/SKILL.md +++ b/.agents/skills/attach-gossip-payload/SKILL.md @@ -97,47 +97,61 @@ Open `robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads. and note the `type:` field for your new entry. This determines how to deserialize it. If your type is **unique** (not already in `PAYLOAD_HANDLERS`), go to step 4b. -If your type **already exists** (e.g. a second `sensor_msgs/msg/PointCloud2`), go to step 4c. +### 4b — Add handler and register in `PAYLOAD_HANDLERS` -### 4b — Unique type: add to `PAYLOAD_HANDLERS` +`PAYLOAD_HANDLERS` is keyed by **payload name** (the last segment of the topic path +in `gossip_payloads.yaml`). This means multiple payloads of the same ROS type work +without any special casing. Add a handler and register it: ```python PAYLOAD_HANDLERS = { - 'visualization_msgs/msg/MarkerArray': _handle_filtered_rays, - 'sensor_msgs/msg/PointCloud2': _handle_frontier_viewpoints, - 'your_msgs/msg/YourType': _handle_your_payload, # ← add + 'filtered_rays': ('visualization_msgs/msg/MarkerArray', _handle_filtered_rays), + 'frontier_viewpoints': ('sensor_msgs/msg/PointCloud2', _handle_frontier_viewpoints), + 'rgb_voxels': ('sensor_msgs/msg/PointCloud2', _handle_rgb_voxels), + 'your_name': ('your_msgs/msg/YourType', _handle_your_payload), # ← add } ``` +The key `'your_name'` must match the last path segment of the topic in `gossip_payloads.yaml`. +For example, `/{robot_name}/rayfronts/voxel_rgb` → key is `voxel_rgb`. + Handler signature — all handlers must match exactly: ```python -def _handle_your_payload(self, robot_name, msg, boot, i, now): - # msg — deserialized ROS message - # boot — (bx, by, bz) ENU offset; add to all positions to go odom→map frame +def _handle_your_payload(self, robot_name, msg, i, now): + # msg — deserialized ROS message (already in global ENU / 'map' frame) # i — stable robot index (use for marker IDs: i * 100000 + unique_offset) # now — current ROS timestamp (builtin_interfaces/Time) - bx, by, bz = boot # transform and publish to the payload's dedicated topic: self._pub_for(f'/gcs/payload/{robot_name}/your_name', YourMsgType).publish(out) ``` -### 4c — Duplicate type: dispatch by index in `_on_peer_profile` +### 4c — Visualization options + +For `PointCloud2` payloads, choose one approach: -`PAYLOAD_HANDLERS` is a dict and cannot hold duplicate keys. After the -`PAYLOAD_HANDLERS` loop in `_on_peer_profile`, access payloads by their position -among same-type entries — order matches `gossip_payloads.yaml`: +**Default:** Publish as raw `PointCloud2` — Foxglove GUI controls point size, shape, and color. No extra code needed. + +**Preconfigured shape/size:** Convert to a `CUBE_LIST` `MarkerArray` in the handler (see `voxel_rgb` for a real example). Use this when you want a fixed visual style regardless of user layout settings: ```python -# Example: 2nd sensor_msgs/msg/PointCloud2 (index 1) -pc2_list = [p for p in profile._payloads if p["type"] == "sensor_msgs/msg/PointCloud2"] -if len(pc2_list) >= 2: - msg = deserialize_message(bytes(pc2_list[1]["data"]), PointCloud2) - self._payload_cache[(robot_name, 'my_cache_key')] = msg -cached = self._payload_cache.get((robot_name, 'my_cache_key')) -if cached is not None: - self._handle_my_payload(robot_name, cached, boot, robot_index, now) +from gcs_visualizer.gcs_utils import point_cloud2_to_cube_marker + +def _handle_your_payload(self, robot_name, msg, i, now): + marker = point_cloud2_to_cube_marker( + msg, 0.0, 0.0, self._display_z_offset(), + ns=f'{robot_name}_your_name', + marker_id=i * 100000, + stamp=now, + lifetime=Duration(sec=2, nanosec=0), + fallback_color=None, # uses per-point rgb field; set to (r, g, b, a) for a solid color + scale=0.5, # cube size in metres + ) + if marker is not None: + out = MarkerArray() + out.markers.append(marker) + self._pub_for(f'/gcs/payload/{robot_name}/your_name', MarkerArray).publish(out) ``` ### 4d — Available transform helpers (`gcs_utils.py`) @@ -147,11 +161,9 @@ transform logic. Add a new helper there if none fits. | Helper | Use for | |--------|---------| -| `transform_marker_array(ma, bx, by, bz, ns, id_base, stamp, lifetime)` | `MarkerArray` → translated `MarkerArray` | +| `transform_marker_array(ma, bx, by, bz)` | `MarkerArray` → translated `MarkerArray` | | `transform_point_cloud2(cloud, bx, by, bz)` | `PointCloud2` → translated `PointCloud2` (preserves all fields including `rgb`) | - -Publish raw `PointCloud2` when you want Foxglove's viz controls (point size, color -mapping, etc.). Publish `MarkerArray` when the shape/color is fixed by the publisher. +| `point_cloud2_to_cube_marker(cloud, bx, by, bz, ns, marker_id, stamp, lifetime, scale)` | `PointCloud2` → `CUBE_LIST` Marker with fixed voxel size and per-point RGB | ### 4e — Rebuild GCS @@ -172,7 +184,7 @@ docker exec airstack-gcs-1 bash -c "ros2 topic list | grep /gcs/payload" |--------------------------------|------|-----------|-------------------| | `/{robot_name}/filtered_rays` | `visualization_msgs/msg/MarkerArray` | `/gcs/payload/{robot}/filtered_rays` | Fixed (MarkerArray) | | `/{robot_name}/frontier_viewpoints` | `sensor_msgs/msg/PointCloud2` | `/gcs/payload/{robot}/frontier_viewpoints` | Full (raw PointCloud2) | -| `/{robot_name}/rayfronts/voxel_rgb` | `sensor_msgs/msg/PointCloud2` | `/gcs/payload/{robot}/rgb_voxels` | Full (raw PointCloud2 with RGB) | +| `/{robot_name}/rayfronts/voxel_rgb` | `sensor_msgs/msg/PointCloud2` | `/gcs/payload/{robot}/voxel_rgb` | Fixed (CUBE_LIST MarkerArray, 0.5 m) | ## Architecture notes diff --git a/.env b/.env index ba32b8aa..39ca95d6 100644 --- a/.env +++ b/.env @@ -34,7 +34,7 @@ ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_peg # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" # Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/) -ISAAC_SIM_SCRIPT_NAME="three_drone_scene_import.py" +ISAAC_SIM_SCRIPT_NAME="two_drone_fire.py" PLAY_SIM_ON_START="false" # =============================================== diff --git a/docs/robot/autonomy/coordination/index.md b/docs/robot/autonomy/coordination/index.md new file mode 100644 index 00000000..aab36cdc --- /dev/null +++ b/docs/robot/autonomy/coordination/index.md @@ -0,0 +1,69 @@ +# Coordination + +The coordination layer lets drones share state with each other and the GCS without a central broker. Each robot periodically broadcasts a `PeerProfile` — its GPS position, heading, current waypoint, and any custom data payloads — over a shared DDS domain. Every robot and the GCS receives every other robot's profile directly. + +## Architecture + +``` +Robot 1 (domain 1) Shared gossip domain (99) GCS (domain 0) +┌──────────────────┐ ┌─────────────────────┐ ┌──────────────┐ +│ gossip_node │──────▶ │ /gossip/peers │ ──────▶│ GCS │ +│ publishes own │ │ │ │ visualizer │ +│ PeerProfile │ ◀────── │ (all robots + GCS │ └──────────────┘ +│ │ │ subscribe here) │ +│ local registry │ └─────────────────────┘ +│ (read-only) │ +└──────────────────┘ + ▲ + DDS Router + bridges domain 1 + ↔ domain 99 +``` + +Each robot builds a local registry of all known peers from incoming messages. The registry never leaves the robot — only each drone's own profile is transmitted. + +!!! note "Partial connectivity" + Today the system assumes all-to-all visibility via the shared domain. If a drone is out of radio range of another, it will simply not appear in that drone's registry. Relay forwarding is planned but not yet implemented. + +## PeerProfile + +Every message on `/gossip/peers` is a `PeerProfile` containing: + +| Field | Type | Description | +|---|---|---| +| `robot_name` | string | Unique robot identifier | +| `gps_fix` | NavSatFix | Current GPS position (also used as message ID for dedup) | +| `heading` | float64 | Compass heading, degrees CW from North | +| `waypoint` | PoseStamped | Current navigation goal (all-zeros = no plan) | +| `payloads` | PeerProfilePayload[] | Arbitrary serialized ROS messages | +| `source` | uint8 | `0` = direct, `1` = relayed (reserved) | +| `relay_hops` | uint8 | Hop count (reserved) | + +## Launch + +Coordination is included in the main autonomy bringup automatically. To launch standalone: + +```bash +ros2 launch coordination_bringup gossip.launch.xml +``` + +Key parameters: + +| Parameter | Default | Description | +|---|---|---| +| `robot_name` | `$ROBOT_NAME` | Robot identifier and topic namespace | +| `publish_rate` | `1.0` | Publish rate in Hz (wall-clock) | +| `gossip_domain` | `99` | Shared DDS domain | + +## Monitoring + +```bash +# Live peer registry in the terminal +ROS_DOMAIN_ID=99 ros2 run coordination_bringup peer_registry_monitor + +# Filter to one robot +ROS_DOMAIN_ID=99 ros2 run coordination_bringup peer_registry_monitor --robot robot_1 + +# Inspect raw messages +ros2 topic echo /gossip/peers +``` diff --git a/docs/robot/autonomy/coordination/payloads.md b/docs/robot/autonomy/coordination/payloads.md new file mode 100644 index 00000000..da9cb678 --- /dev/null +++ b/docs/robot/autonomy/coordination/payloads.md @@ -0,0 +1,119 @@ +# Payloads & Foxglove Visualization + +Payloads let you attach any ROS message to the `PeerProfile` so it gets broadcast to all peers and the GCS alongside GPS/heading. Common uses: sharing maps, frontier viewpoints, semantic rays, or any per-robot data you want visible fleet-wide. + +Payloads are **config-driven** — no changes to `gossip_node.py` are needed. + +## How payloads work + +1. `gossip_node` subscribes to each topic listed in `gossip_payloads.yaml` +2. On each 1 Hz publish tick, the latest message from each topic is serialized and attached to the `PeerProfile` +3. Before attaching, the payload is transformed from the robot's local odom frame → global ENU using the robot's boot GPS position +4. Peers and GCS receive the payload already in world frame — no transform needed on the receiving side + +## Step 1 — Add to gossip_payloads.yaml + +**File:** `robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml` + +```yaml +payload_topics: + - topic: "/{robot_name}/your/topic" + type: "your_msgs/msg/YourType" +``` + +- `{robot_name}` is substituted at runtime (e.g. → `/robot_1/your/topic`) +- Topics that haven't published yet are silently skipped +- Only `MarkerArray` and `PointCloud2` are automatically transformed to world frame; other types pass through as-is + +Rebuild after editing: + +```bash +bws --packages-select coordination_bringup +``` + +Verify the payload is being attached: + +```bash +ros2 topic echo /gossip/peers --field payloads +# or +ros2 run coordination_bringup peer_registry_monitor +``` + +## Step 2 — Visualize in Foxglove + +Payloads don't appear in Foxglove automatically — you need a handler in `payload_visualizer_node.py` that republishes the payload to its own topic. There are two ways to do this: + +### Option A — Use the Claude skill (recommended) + +The `attach-gossip-payload` skill handles both the yaml edit and the GCS handler in one go. In Claude Code: + +``` +Follow the attach-gossip-payload skill to add /{robot_name}/your/topic +of type your_msgs/msg/YourType and visualize it in Foxglove +``` + +See the full skill at .agents/skills/attach-gossip-payload + +### Option B — Manual + +**File:** `gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py` + +**1. Add a handler method:** + +```python +def _handle_your_payload(self, robot_name, msg, i, now): + # msg is already in global ENU / 'map' frame + # Apply display z-offset to align with the GCS datum + out = transform_point_cloud2(msg, 0.0, 0.0, self._display_z_offset()) + out.header.stamp = now + self._pub_for(f'/gcs/payload/{robot_name}/your_name', PointCloud2).publish(out) +``` + +**2. Register it in `PAYLOAD_HANDLERS`:** + +```python +PAYLOAD_HANDLERS = { + 'filtered_rays': ('visualization_msgs/msg/MarkerArray', _handle_filtered_rays), + 'frontier_viewpoints': ('sensor_msgs/msg/PointCloud2', _handle_frontier_viewpoints), + 'rgb_voxels': ('sensor_msgs/msg/PointCloud2', _handle_rgb_voxels), + 'your_name': ('your_msgs/msg/YourType', _handle_your_payload), # ← add +} +``` + +**3. Rebuild GCS:** + +```bash +docker exec airstack-gcs-1 bash -c "bws --packages-select gcs_visualizer && sws" +``` +or restart Airstack + +Foxglove will now show `/gcs/payload/{robot_name}/your_name` as a subscribable topic with full visualization controls. + +## Visualization options + +For `PointCloud2` payloads, you have two options: + +**Default — Foxglove GUI:** Publish as raw `PointCloud2`. Foxglove's panel settings control point size, shape, and color per-user. No code changes needed. + +**Preconfigured — fixed shape/size/color in code:** Convert to a `MarkerArray` in the handler. An example to set`voxel_rgb` to render as 0.5 m cubes with per-point RGB colors: + +```python +def _handle_rgb_voxels(self, robot_name, msg, i, now): + marker = point_cloud2_to_cube_marker( + msg, 0.0, 0.0, self._display_z_offset(), + ns=f'{robot_name}_voxel_rgb', + marker_id=i * 100000, + stamp=now, + lifetime=Duration(sec=2, nanosec=0), + fallback_color=None, # uses per-point rgb field; set to (r, g, b, a) for a solid color + scale=0.5, # cube size in metres + ) + if marker is not None: + out = MarkerArray() + out.markers.append(marker) + self._pub_for(f'/gcs/payload/{robot_name}/voxel_rgb', MarkerArray).publish(out) +``` + +## Bandwidth note + +Payloads are re-serialized and sent in full every tick. A 500 KB PointCloud2 at 1 Hz is ~4 Mbps per robot — keep an eye on this for large maps. Reduce the gossip `publish_rate` parameter or only attach payloads when needed for bandwidth-constrained deployments. diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index 38173345..361ba685 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -182,7 +182,6 @@ def _publish_markers(self): x, y, z = self._gps_positions[robot_name] orientation = self._orientations.get(robot_name) - # --- Mesh marker --- mesh = Marker() mesh.header.frame_id = 'map' mesh.header.stamp = now @@ -210,7 +209,6 @@ def _publish_markers(self): mesh.lifetime = lifetime array.markers.append(mesh) - # --- Label marker --- label = Marker() label.header.frame_id = 'map' label.header.stamp = now @@ -228,7 +226,6 @@ def _publish_markers(self): label.lifetime = lifetime array.markers.append(label) - # --- Axes markers (X=red, Y=green, Z=blue) --- axes = [ ((1.0, 0.0, 0.0), (1.0, 0.0, 0.0)), ((0.0, 1.0, 0.0), (0.0, 1.0, 0.0)), @@ -262,7 +259,6 @@ def _publish_markers(self): boot = self._gps_boot.get(robot_name) - # --- Trajectory (offset by boot GPS = odom origin) --- traj = self._trajectories.get(robot_name) if traj is not None and boot is not None: bx, by, bz = boot @@ -282,7 +278,6 @@ def _publish_markers(self): continue array.markers.append(m) - # --- Global plan --- plan = self._global_plans.get(robot_name) if plan is not None and boot is not None: bx, by, bz = boot @@ -307,7 +302,6 @@ def _publish_markers(self): if len(line.points) >= 2: array.markers.append(line) - # --- VDB map --- vdb = self._vdb_markers.get(robot_name) if vdb is not None and boot is not None: bx, by, bz = boot diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py index 72f55516..0932ead5 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py @@ -8,9 +8,8 @@ Payloads arrive already transformed into global ENU by gossip_node — handlers only need to apply the display z-offset and republish. -To add a new payload type: add a handler method and register it in PAYLOAD_HANDLERS. -For duplicate types (e.g. a second PointCloud2), dispatch by index after the -PAYLOAD_HANDLERS loop in _on_peer_profile (order matches gossip_payloads.yaml). +To add a new payload: add a handler method and register it in PAYLOAD_HANDLERS +keyed by the payload name (last segment of the topic in gossip_payloads.yaml). Handler signature: def _handle_(self, robot_name, msg, i, now): @@ -23,14 +22,13 @@ def _handle_(self, robot_name, msg, i, now): from rclpy.node import Node from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy -from rclpy.serialization import deserialize_message from sensor_msgs.msg import PointCloud2 from visualization_msgs.msg import MarkerArray from builtin_interfaces.msg import Duration from coordination_msgs.msg import PeerProfile as PeerProfileMsg from coordination_bringup.peer_profile import PeerProfile -from gcs_visualizer.gcs_utils import transform_marker_array, transform_point_cloud2 +from gcs_visualizer.gcs_utils import transform_marker_array, transform_point_cloud2, point_cloud2_to_cube_marker # Must match frame_utils.DEFAULT_ORIGIN_ALT — used to compute the z-offset between # gossip_node's fixed ENU origin and the GCS display datum (first GPS altitude seen). @@ -108,23 +106,14 @@ def _on_peer_profile(self, msg: PeerProfileMsg) -> None: now = self.get_clock().now().to_msg() robot_index = self._robot_index(robot_name) - for type_str, handler in self.PAYLOAD_HANDLERS.items(): - payload = profile.get_payload(type_str) + for name, (type_str, handler) in self.PAYLOAD_HANDLERS.items(): + payload = profile.get_payload_by_name(name) if payload is not None: - self._payload_cache[(robot_name, type_str)] = payload - cached = self._payload_cache.get((robot_name, type_str)) + self._payload_cache[(robot_name, name)] = payload + cached = self._payload_cache.get((robot_name, name)) if cached is not None: handler(self, robot_name, cached, robot_index, now) - # voxel_rgb is the 2nd PointCloud2 payload (frontier_viewpoints is 1st) - pc2_list = [p for p in profile._payloads if p["type"] == "sensor_msgs/msg/PointCloud2"] - if len(pc2_list) >= 2: - voxel_rgb = deserialize_message(bytes(pc2_list[1]["data"]), PointCloud2) - self._payload_cache[(robot_name, 'rgb_voxels')] = voxel_rgb - cached_voxels = self._payload_cache.get((robot_name, 'rgb_voxels')) - if cached_voxels is not None: - self._handle_rgb_voxels(robot_name, cached_voxels, robot_index, now) - def _robot_index(self, robot_name: str) -> int: """Stable integer index for a robot name (alphabetical order).""" known = sorted(self._gps_boot.keys()) @@ -146,13 +135,23 @@ def _handle_frontier_viewpoints(self, robot_name, msg, i, now): self._pub_for(f'/gcs/payload/{robot_name}/frontier_viewpoints', PointCloud2).publish(out) def _handle_rgb_voxels(self, robot_name, msg, i, now): - out = transform_point_cloud2(msg, 0.0, 0.0, self._display_z_offset()) - out.header.stamp = now - self._pub_for(f'/gcs/payload/{robot_name}/rgb_voxels', PointCloud2).publish(out) + marker = point_cloud2_to_cube_marker( + msg, 0.0, 0.0, self._display_z_offset(), + ns=f'{robot_name}_voxel_rgb', + marker_id=i * 100000, + stamp=now, + lifetime=Duration(sec=2, nanosec=0), + scale=0.5, + ) + if marker is not None: + out = MarkerArray() + out.markers.append(marker) + self._pub_for(f'/gcs/payload/{robot_name}/voxel_rgb', MarkerArray).publish(out) PAYLOAD_HANDLERS = { - 'visualization_msgs/msg/MarkerArray': _handle_filtered_rays, - 'sensor_msgs/msg/PointCloud2': _handle_frontier_viewpoints, + 'filtered_rays': ('visualization_msgs/msg/MarkerArray', _handle_filtered_rays), + 'frontier_viewpoints': ('sensor_msgs/msg/PointCloud2', _handle_frontier_viewpoints), + 'voxel_rgb': ('sensor_msgs/msg/PointCloud2', _handle_rgb_voxels), } diff --git a/mkdocs.yml b/mkdocs.yml index b6ebaea6..cf0c56c9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -146,6 +146,9 @@ nav: - Behavior Tree: docs/robot/autonomy/behavior/behavior_tree.md - Behavior Executive: docs/robot/autonomy/behavior/behavior_executive.md - Integration Guide: docs/robot/autonomy/integration_checklist.md + - Coordination: + - Overview: docs/robot/autonomy/coordination/index.md + - Payloads & Foxglove: docs/robot/autonomy/coordination/payloads.md - Autonomy Modes: docs/robot/autonomy_modes.md - DDS Router: docs/robot/autonomy/dds_router.md - Static Transforms: diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py index eac7f627..12a72490 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py @@ -45,14 +45,11 @@ def rotate_vector(v, q): def transform_marker_array(marker_array, bx, by, bz, q=(0.0, 0.0, 0.0, 1.0)): - """Deep-copy a MarkerArray and transform all points: p_map = R(q)*p + (bx,by,bz). + """Deep-copy a MarkerArray and transform all points[]: p_map = R(q)*p + (bx,by,bz). - Transforms points[] only — not pose.position. These markers use an identity pose - so points[] are already in the parent frame; translating pose.position would - double-apply the offset. For single-geometry markers (SPHERE, CUBE, MESH) whose - position lives in pose.position, translate at the call site instead. - - Sets frame_id='map'. Returns a new MarkerArray. + Transforms points[] only, not pose.position — LINE_STRIP/POINTS markers store + geometry in points[] with an identity pose, so translating pose.position would + double-apply the offset. Sets frame_id='map'. Returns a new MarkerArray. """ from visualization_msgs.msg import MarkerArray as MA out = MA() diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py index 3a903ef4..e842109a 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py @@ -35,12 +35,8 @@ from sensor_msgs.msg import PointCloud2 -# Deduplication seen-set size. At 1 Hz, 50 entries covers ~5 s for 10 robots — -# well beyond the window in which DDS Router duplicates arrive. _GOSSIP_SEEN_SIZE = 50 -# BEST_EFFORT: at 1 Hz a dropped message recovers on the next tick; reliability -# overhead across domain bridges was the main source of DDS-layer amplification. GOSSIP_QOS = QoSProfile( reliability=QoSReliabilityPolicy.BEST_EFFORT, history=QoSHistoryPolicy.KEEP_LAST, @@ -85,13 +81,12 @@ def __init__(self): self._registry: dict[str, PeerProfileMsg] = {} self._registry_lock = threading.Lock() - # Per-robot inbox: holds only the latest message per robot so all robots - # are drained together on each tick regardless of DDS arrival order. self._peer_inbox: dict[str, PeerProfileMsg] = {} self._peer_inbox_lock = threading.Lock() self._seen: OrderedDict = OrderedDict() self._payload_cache: dict[str, object] = {} + self._payload_names: dict[str, str] = {} # topic → short name (last path segment) self._payload_subs: list = [] if payload_config_path: @@ -158,6 +153,8 @@ def _setup_payload_subscriptions(self, config_path: str) -> None: continue topic = topic_template.replace("{robot_name}", self._robot_name) + # Use the last path segment as a short human-readable name (e.g. 'filtered_rays') + self._payload_names[topic] = topic_template.rstrip("/").split("/")[-1] try: msg_class = rosidl_utils.get_message(type_str) @@ -241,7 +238,7 @@ def _publish_own(self) -> None: if entry is not None: msg, stamp = entry transformed = self._transform_to_global(msg, bx, by, bz, q) - self._profile.add_payload(transformed, stamp=stamp) + self._profile.add_payload(transformed, stamp=stamp, name=self._payload_names.get(topic, "")) # Stamp with current ROS clock (not MAVROS GPS stamp) so receivers can # enforce monotonic ordering across ticks. diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py index 71832601..5f9cd11c 100644 --- a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py +++ b/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py @@ -50,15 +50,12 @@ def has_waypoint(self) -> bool: s = self.waypoint.header.stamp return s.sec != 0 or s.nanosec != 0 - def add_payload(self, msg: Any, stamp=None) -> None: - """Serialize and attach a ROS message as a payload. - - Pass the source message's header stamp so receivers can judge data freshness - independently of the gossip message timestamp. - """ + def add_payload(self, msg: Any, stamp=None, name: str = "") -> None: + """Serialize and attach a ROS message as a payload.""" from builtin_interfaces.msg import Time type_str = _ros_type_string(msg) self._payloads.append({ + "name": name, "type": type_str, "data": serialize_message(msg), "stamp": stamp if stamp is not None else Time(), @@ -75,6 +72,14 @@ def get_payload(self, payload_type: str) -> Optional[Any]: return deserialize_message(p["data"], msg_class) return None + def get_payload_by_name(self, name: str) -> Optional[Any]: + """Return the payload with the given name, or None.""" + for p in self._payloads: + if p.get("name") == name: + msg_class = rosidl_utils.get_message(p["type"]) + return deserialize_message(p["data"], msg_class) + return None + def get_payload_with_stamp(self, payload_type: str): """Like get_payload() but returns (msg, stamp). Returns (None, None) if not found.""" for p in self._payloads: @@ -104,6 +109,7 @@ def to_ros_msg(self) -> PeerProfileMsg: msg.payloads = [ PeerProfilePayloadMsg( stamp=p.get("stamp") or PeerProfilePayloadMsg().stamp, + payload_name=p.get("name", ""), payload_type=p["type"], payload_data=list(p["data"]), ) @@ -120,19 +126,16 @@ def from_ros_msg(cls, msg: PeerProfileMsg) -> "PeerProfile": profile.source = Source(msg.source) profile.relay_hops = msg.relay_hops profile._payloads = [ - {"type": p.payload_type, "data": bytes(p.payload_data), "stamp": p.stamp} + {"name": p.payload_name, "type": p.payload_type, "data": bytes(p.payload_data), "stamp": p.stamp} for p in msg.payloads ] return profile def _ros_type_string(msg: Any) -> str: - """Return the fully-qualified ROS type string for a message instance. - E.g. nav_msgs.msg.OccupancyGrid → 'nav_msgs/msg/OccupancyGrid' - """ + """Return the fully-qualified ROS type string, e.g. 'nav_msgs/msg/OccupancyGrid'.""" module = type(msg).__module__ name = type(msg).__name__ - # Convert "nav_msgs.msg._occupancy_grid" → "nav_msgs/msg" parts = module.split(".") if len(parts) >= 2: return f"{parts[0]}/{parts[1]}/{name}" diff --git a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg index 02ba1f31..870b541f 100644 --- a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg +++ b/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg @@ -5,5 +5,6 @@ # stamp is the time the source topic was last received — receivers can use # this to detect stale payloads independently of the gossip message timestamp. builtin_interfaces/Time stamp +string payload_name string payload_type uint8[] payload_data From 27355fac5efbcd8d08588070986deb51fd7eb763 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Fri, 3 Apr 2026 15:19:54 -0400 Subject: [PATCH 25/55] fixed launch files so they have play start on sim. scene_prep utils: added non-world prims to save in flattened manner --- .env | 2 +- .gitignore | 7 + .../barebones_pegasus_launch.py | 7 +- .../three_drone_scene_import.py | 7 +- .../launch_scripts/two_drone_fire.py | 9 +- .../launch_scripts/two_drone_scene_import.py | 7 +- simulation/isaac-sim/utils/scene_prep.py | 145 +++++++++++++++++- 7 files changed, 173 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 39ca95d6..4dc9b4df 100644 --- a/.env +++ b/.env @@ -34,7 +34,7 @@ ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_peg # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" # Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/) -ISAAC_SIM_SCRIPT_NAME="two_drone_fire.py" +ISAAC_SIM_SCRIPT_NAME="prepare_scene.py" PLAY_SIM_ON_START="false" # =============================================== diff --git a/.gitignore b/.gitignore index cdb047ca..cabc5025 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,10 @@ simulation/isaac-sim/launch_scripts/prepare_scene.py # Generated Microsoft AirSim (legacy) config simulation/ms-airsim/config/settings.json + +# scenes and raven-specific launch scripts +scenes/ +simulation/isaac-sim/launch_scripts/AbandonedFactory_Launch.py +simulation/isaac-sim/launch_scripts/ConstructionSite_Launch.py +simulation/isaac-sim/launch_scripts/FireAcademy_Launch.py +simulation/isaac-sim/launch_scripts/RetroNeighborhood_Launch.py diff --git a/simulation/isaac-sim/launch_scripts/barebones_pegasus_launch.py b/simulation/isaac-sim/launch_scripts/barebones_pegasus_launch.py index 5f9d9945..aed76e0e 100755 --- a/simulation/isaac-sim/launch_scripts/barebones_pegasus_launch.py +++ b/simulation/isaac-sim/launch_scripts/barebones_pegasus_launch.py @@ -81,11 +81,14 @@ def __init__(self): # Reset so physics/articulations are ready self.world.reset() + self.play_on_start = os.environ.get("PLAY_SIM_ON_START", "true").lower() == "true" self.stop_sim = False def run(self): - # Start sim timeline - self.timeline.play() + if self.play_on_start: + self.timeline.play() + else: + self.timeline.stop() # Main loop while simulation_app.is_running() and not self.stop_sim: diff --git a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py index 0c0d0f56..5394faaa 100644 --- a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py @@ -191,11 +191,14 @@ def __init__(self): # Reset so physics/articulations are ready self.world.reset() + self.play_on_start = os.environ.get("PLAY_SIM_ON_START", "true").lower() == "true" self.stop_sim = False def run(self): - # Start sim timeline - self.timeline.play() + if self.play_on_start: + self.timeline.play() + else: + self.timeline.stop() # Main loop while simulation_app.is_running() and not self.stop_sim: diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index f6947f9f..7b6333ab 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -38,7 +38,7 @@ NUCLEUS_SERVER = "airlab-nucleus.andrew.cmu.edu" #env/stage path and scale -ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Library/Assets/ACFA/FireAcademyFaro/fire_academy_fixed_textures.usd" +ENV_URL = f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/scenes/urban/allegheny_county_fire_academy/fire_academy.scene.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/FireAcademyFaro/fire_academy_faro.usd" #f"omniverse://{NUCLEUS_SERVER}/Projects/AirStack/RayFronts-Planner/FireAcademy.scene.usd" #f"omniverse://{NUCLEUS_SERVER}/Library/Assets/Fire_Academy_Digital_Twin/fire_academy.usd" @@ -201,11 +201,14 @@ def __init__(self): # Reset so physics/articulations are ready self.world.reset() + self.play_on_start = os.environ.get("PLAY_SIM_ON_START", "true").lower() == "true" self.stop_sim = False def run(self): - # Start sim timeline - self.timeline.play() + if self.play_on_start: + self.timeline.play() + else: + self.timeline.stop() # Main loop while simulation_app.is_running() and not self.stop_sim: diff --git a/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py index 2c8b3a94..28f8ca8a 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_scene_import.py @@ -199,11 +199,14 @@ def __init__(self): # Reset so physics/articulations are ready self.world.reset() + self.play_on_start = os.environ.get("PLAY_SIM_ON_START", "true").lower() == "true" self.stop_sim = False def run(self): - # Start sim timeline - self.timeline.play() + if self.play_on_start: + self.timeline.play() + else: + self.timeline.stop() # Main loop while simulation_app.is_running() and not self.stop_sim: diff --git a/simulation/isaac-sim/utils/scene_prep.py b/simulation/isaac-sim/utils/scene_prep.py index 95c49a83..026a2953 100644 --- a/simulation/isaac-sim/utils/scene_prep.py +++ b/simulation/isaac-sim/utils/scene_prep.py @@ -10,6 +10,8 @@ """ import asyncio +import os +import re import omni.kit.app import omni.usd from pxr import Gf, UsdGeom, UsdPhysics, UsdLux, Sdf @@ -122,6 +124,51 @@ def add_dome_light(stage, prim_path: str = "/World/DomeLight", intensity: float print(f"[scene_prep] Dome light set at '{prim_path}' (intensity={intensity}, exposure={exposure})") +# --------------------------------------------------------------------------- +# Consolidate root prims under /World +# --------------------------------------------------------------------------- + +def move_root_prims_to_world(usd_path: str) -> list: + """Move any non-/World root prims (e.g. /Environment) under /World. + + After export_as_stage_async, sibling root prims like /Environment are + excluded when pg.load_environment references the file via defaultPrim=/World. + This function opens the flat exported USD layer directly and relocates + those prims under /World so they are included in the reference. + + Args: + usd_path: Path to the flat exported USD file to patch in-place. + + Returns: + List of prim names that were moved. + """ + layer = Sdf.Layer.Find(usd_path) or Sdf.Layer.FindOrOpen(usd_path) + if layer is None: + print(f"[scene_prep] move_root_prims_to_world: could not open {usd_path}", flush=True) + return [] + + all_root = [spec.name for spec in layer.rootPrims] + print(f"[scene_prep] move_root_prims_to_world: root prims in exported USD: {all_root}", flush=True) + print(f"[scene_prep] move_root_prims_to_world: sublayers: {layer.subLayerPaths}", flush=True) + + to_move = [name for name in all_root if name != 'World'] + if not to_move: + print(f"[scene_prep] move_root_prims_to_world: nothing to move", flush=True) + return [] + + edit = Sdf.BatchNamespaceEdit() + for name in to_move: + edit.Add(Sdf.Path(f"/{name}"), Sdf.Path(f"/World/{name}")) + + if not layer.Apply(edit): + print(f"[scene_prep] move_root_prims_to_world: namespace edit failed for {to_move}", flush=True) + return [] + + layer.Save() + print(f"[scene_prep] Moved root prims under /World: {to_move}", flush=True) + return to_move + + # --------------------------------------------------------------------------- # Save as self-contained USD collection # --------------------------------------------------------------------------- @@ -153,7 +200,7 @@ def save_scene_as_contained_usd(source_usd_url: str, output_dir: str) -> bool: usd_path=source_usd_url, collect_dir=output_dir, usd_only=False, # include textures, MDLs, etc. - flat_collection=False, # preserve source folder hierarchy + flat_collection=True, # preserve source folder hierarchy skip_existing=False, ) @@ -180,3 +227,99 @@ def on_finish(): collector.destroy() return result[0] + + +# --------------------------------------------------------------------------- +# Fix missing MDL textures +# --------------------------------------------------------------------------- + +def _resolve_nucleus_url(base_url: str, relative: str) -> str: + """Resolve a relative path against a Nucleus base directory URL.""" + parts = base_url.rstrip('/').split('/') + for segment in relative.replace('\\', '/').split('/'): + if segment == '..': + parts.pop() + elif segment and segment != '.': + parts.append(segment) + return '/'.join(parts) + + +def fix_missing_mdl_textures(output_dir: str, nucleus_env_url: str) -> int: + """Download textures referenced in MDL files that the Collector missed. + + The Collector rewrites texture paths inside MDL files to relative local + paths but does not always copy the actual texture files. This function + downloads the original Nucleus MDL to find the real texture URLs, then + downloads any missing textures to the expected local paths. + + Args: + output_dir: Local directory written by the Collector. + nucleus_env_url: Original omniverse:// URL of the source scene. + + Returns: + Number of textures downloaded. + """ + import omni.client + import tempfile + + nucleus_base = nucleus_env_url.rsplit('/', 1)[0] + nucleus_materials_dir = f"{nucleus_base}/Materials" + + texture_pattern = re.compile( + r'["\']([^"\']*\.(?:png|jpg|jpeg|exr|hdr|dds|tga|bmp))["\']', + re.IGNORECASE, + ) + downloaded = 0 + + for root, dirs, files in os.walk(output_dir): + for fname in files: + if not fname.endswith('.mdl'): + continue + + local_mdl = os.path.join(root, fname) + + # Download the original Nucleus MDL to a temp file + nucleus_mdl_url = f"{nucleus_materials_dir}/{fname}" + tmp_mdl = os.path.join(tempfile.gettempdir(), f"orig_{fname}") + copy_result = omni.client.copy( + nucleus_mdl_url, tmp_mdl, omni.client.CopyBehavior.OVERWRITE + ) + if copy_result != omni.client.Result.OK: + print(f"[scene_prep] Could not fetch original MDL from Nucleus: {nucleus_mdl_url}") + continue + + with open(tmp_mdl, 'r', errors='replace') as f: + orig_content = f.read() + os.remove(tmp_mdl) + + with open(local_mdl, 'r', errors='replace') as f: + local_content = f.read() + + orig_refs = [m.group(1) for m in texture_pattern.finditer(orig_content)] + local_refs = [m.group(1) for m in texture_pattern.finditer(local_content)] + + for orig_ref, local_ref in zip(orig_refs, local_refs): + # Resolve local expected path + local_abs = os.path.normpath(os.path.join(os.path.dirname(local_mdl), local_ref)) + + if os.path.exists(local_abs): + continue + + # Resolve absolute Nucleus URL for the texture + if orig_ref.startswith('omniverse:'): + nucleus_tex_url = orig_ref + else: + nucleus_tex_url = _resolve_nucleus_url(nucleus_materials_dir, orig_ref) + + os.makedirs(os.path.dirname(local_abs), exist_ok=True) + result = omni.client.copy( + nucleus_tex_url, local_abs, omni.client.CopyBehavior.OVERWRITE + ) + if result == omni.client.Result.OK: + downloaded += 1 + print(f"[scene_prep] Downloaded: {os.path.basename(local_abs)}") + else: + print(f"[scene_prep] Failed ({result}): {nucleus_tex_url}") + + print(f"[scene_prep] fix_missing_mdl_textures: {downloaded} texture(s) downloaded.") + return downloaded From 946441e88b569cbb7399c3d60ee1c9815c48c9d7 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Tue, 7 Apr 2026 18:53:43 -0400 Subject: [PATCH 26/55] created raven_nav package --- .env | 2 +- .../robot_descriptions/CMakeLists.txt | 4 - robot/docker/Dockerfile.robot | 1 + .../planners/raven_nav/config/raven_nav.yaml | 9 + .../raven_nav/launch/raven_nav.launch.xml | 8 + .../src/global/planners/raven_nav/package.xml | 26 ++ .../planners/raven_nav/raven_nav/__init__.py | 0 .../raven_nav/raven_nav/behavior_manager.py | 39 +++ .../raven_nav/raven_nav/behaviors/__init__.py | 0 .../raven_nav/behaviors/frontier_behavior.py | 133 +++++++++ .../raven_nav/behaviors/ray_behavior.py | 259 ++++++++++++++++++ .../raven_nav/behaviors/voxel_behavior.py | 15 + .../raven_nav/raven_nav/raven_nav_node.py | 219 +++++++++++++++ .../planners/raven_nav/resource/raven_nav | 0 .../src/global/planners/raven_nav/setup.cfg | 4 + .../src/global/planners/raven_nav/setup.py | 27 ++ .../isaac-sim/extensions/PegasusSimulator | 2 +- .../launch_scripts/two_drone_fire.py | 9 +- simulation/isaac-sim/utils/scene_prep.py | 68 +++++ 19 files changed, 816 insertions(+), 9 deletions(-) create mode 100644 robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml create mode 100644 robot/ros_ws/src/global/planners/raven_nav/launch/raven_nav.launch.xml create mode 100644 robot/ros_ws/src/global/planners/raven_nav/package.xml create mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/__init__.py create mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py create mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/__init__.py create mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py create mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py create mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py create mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py create mode 100644 robot/ros_ws/src/global/planners/raven_nav/resource/raven_nav create mode 100644 robot/ros_ws/src/global/planners/raven_nav/setup.cfg create mode 100644 robot/ros_ws/src/global/planners/raven_nav/setup.py diff --git a/.env b/.env index 4dc9b4df..39ca95d6 100644 --- a/.env +++ b/.env @@ -34,7 +34,7 @@ ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_peg # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" # Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/) -ISAAC_SIM_SCRIPT_NAME="prepare_scene.py" +ISAAC_SIM_SCRIPT_NAME="two_drone_fire.py" PLAY_SIM_ON_START="false" # =============================================== diff --git a/common/ros_packages/robot_descriptions/CMakeLists.txt b/common/ros_packages/robot_descriptions/CMakeLists.txt index 6d26a041..616ef402 100644 --- a/common/ros_packages/robot_descriptions/CMakeLists.txt +++ b/common/ros_packages/robot_descriptions/CMakeLists.txt @@ -24,9 +24,5 @@ endif() install(DIRECTORY iris DESTINATION share/${PROJECT_NAME}) install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) -install(PROGRAMS - src/robot_2_relative_position.py - DESTINATION lib/${PROJECT_NAME} -) ament_package() diff --git a/robot/docker/Dockerfile.robot b/robot/docker/Dockerfile.robot index 87ec185e..992442ce 100644 --- a/robot/docker/Dockerfile.robot +++ b/robot/docker/Dockerfile.robot @@ -134,6 +134,7 @@ RUN pip3 install --break-system-packages --ignore-installed \ six \ toml \ scipy \ + scikit-learn \ pypose \ rich \ tqdm \ diff --git a/robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml b/robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml new file mode 100644 index 00000000..8795e894 --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml @@ -0,0 +1,9 @@ +raven_nav: + ros__parameters: + timer_period: 0.5 # seconds between behavior loop iterations + score_threshold: 0.95 # minimum softmax sim score to consider a ray + # Must match the query order in RayFronts' queries.txt + query_labels: + - 'red building' + - 'water tower' + - 'radio tower' diff --git a/robot/ros_ws/src/global/planners/raven_nav/launch/raven_nav.launch.xml b/robot/ros_ws/src/global/planners/raven_nav/launch/raven_nav.launch.xml new file mode 100644 index 00000000..81b3152f --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/launch/raven_nav.launch.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/robot/ros_ws/src/global/planners/raven_nav/package.xml b/robot/ros_ws/src/global/planners/raven_nav/package.xml new file mode 100644 index 00000000..be054d48 --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/package.xml @@ -0,0 +1,26 @@ + + + + raven_nav + 0.0.0 + Navigation planner that consumes RayFronts mapper outputs to produce waypoints + todo + TODO + + rclpy + python3-sklearn + nav_msgs + sensor_msgs + geometry_msgs + std_msgs + visualization_msgs + + ament_copyright + ament_flake8 + ament_pep257 + python3-pytest + + + ament_python + + diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/__init__.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py new file mode 100644 index 00000000..38ec3606 --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py @@ -0,0 +1,39 @@ +from raven_nav.behaviors.frontier_behavior import FrontierBehavior +from raven_nav.behaviors.ray_behavior import RayBehavior + + +class BehaviorManager: + def __init__(self, get_clock, publisher_dict, score_threshold=0.95): + self.behavior_mode = 'Frontier-based' + self.get_clock = get_clock + self.frontier_behavior = FrontierBehavior(self.get_clock) + current_target_publisher = publisher_dict.get('current_target') + self.ray_behavior = RayBehavior(self.get_clock, current_target_publisher, + score_threshold=score_threshold) + self.behaviors = [self.ray_behavior, self.frontier_behavior] + + def mode_select(self, ray_origins, ray_dirs, ray_scores, + query_labels, target_objects): + for behavior in self.behaviors: + if behavior.name == 'Ray-based': + if behavior.condition_check(ray_origins, ray_dirs, ray_scores, + query_labels, target_objects): + self.behavior_mode = behavior.name + return + else: + if behavior.condition_check(): + self.behavior_mode = behavior.name + return + + def behavior_execute(self, behavior_mode, frontiers, cur_pose_np, + waypoint_locked, target_waypoint, target_waypoint2, + publisher_dict): + if behavior_mode == 'Frontier-based': + return self.frontier_behavior.execute( + frontiers, cur_pose_np, waypoint_locked, + target_waypoint, target_waypoint2, publisher_dict) + elif behavior_mode == 'Ray-based': + return self.ray_behavior.execute( + cur_pose_np, waypoint_locked, + target_waypoint, target_waypoint2, publisher_dict) + return waypoint_locked, target_waypoint, target_waypoint2 diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/__init__.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py new file mode 100644 index 00000000..08691d8d --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py @@ -0,0 +1,133 @@ +import torch +import numpy as np +from sklearn.cluster import DBSCAN +from std_msgs.msg import Header +from sensor_msgs.msg import PointField +from sensor_msgs_py import point_cloud2 +from nav_msgs.msg import Path +from geometry_msgs.msg import PoseStamped + + +class FrontierBehavior: + def __init__(self, get_clock): + self.get_clock = get_clock + self.name = 'Frontier-based' + + def condition_check(self): + return True + + def execute(self, frontiers_raw, cur_pose_np, waypoint_locked, target_waypoint, + target_waypoint2, publisher_dict): + viewpoint_publisher = publisher_dict['viewpoint'] + path_publisher = publisher_dict['path'] + + if frontiers_raw is None or len(frontiers_raw) == 0: + return waypoint_locked, target_waypoint, target_waypoint2 + + # msg_serv/frontiers are published in RDF frame (no transform applied by RayFronts) + # Convert RDF → FLU: world_x=rdf_z, world_y=-rdf_x, world_z=-rdf_y + frontiers = np.stack([ + frontiers_raw[:, 2], + -frontiers_raw[:, 0], + -frontiers_raw[:, 1], + ], axis=1) + + frontiers = frontiers[frontiers[:, 2] > 1.5] + if frontiers.shape[0] == 0: + return waypoint_locked, target_waypoint, target_waypoint2 + + clustering = DBSCAN(eps=2.7, min_samples=3).fit(frontiers) + labels = clustering.labels_ + unique_labels = [l for l in set(labels) if l != -1] + viewpoints = [] + for l in unique_labels: + cluster_pts = frontiers[labels == l] + centroid = cluster_pts.mean(axis=0) + if centroid[2] > 4.0 and centroid[2] < 10.0: + viewpoints.append(centroid) + + if len(viewpoints) == 0: + return waypoint_locked, target_waypoint, target_waypoint2 + + viewpoints = np.stack(viewpoints) + cent_msg = self._create_pointcloud2_msg(viewpoints) + viewpoint_publisher.publish(cent_msg) + + robot_pos = cur_pose_np + distances = np.linalg.norm(viewpoints - robot_pos, axis=1) + + if target_waypoint is not None: + cur_motion_vec = target_waypoint - robot_pos + cur_motion_vec = cur_motion_vec / (np.linalg.norm(cur_motion_vec) + 1e-6) + candidate_vecs = viewpoints - robot_pos + norms = np.linalg.norm(candidate_vecs, axis=1, keepdims=True) + candidate_vecs = candidate_vecs / (norms + 1e-6) + cos_sim = candidate_vecs @ cur_motion_vec + momentum_weight = 5.0 + scores = distances + momentum_weight * (1.0 - cos_sim) + else: + scores = distances + + top_n = 5 + num_candidates = min(top_n, viewpoints.shape[0]) + if num_candidates == 0: + return waypoint_locked, target_waypoint, target_waypoint2 + + top_indices = np.argsort(scores)[:num_candidates] + best_idx = top_indices[np.random.randint(0, num_candidates)] + best_cent = viewpoints[best_idx] + + path = Path() + path.header.stamp = self.get_clock().now().to_msg() + path.header.frame_id = 'map' + + if not waypoint_locked: + target_waypoint = best_cent + direction = target_waypoint - cur_pose_np + dir_norm = np.linalg.norm(direction) + if dir_norm > 1e-6: + direction = direction / dir_norm + target_waypoint2 = target_waypoint + 2.0 * direction + else: + target_waypoint2 = target_waypoint.copy() + waypoint_locked = True + + target_pose = PoseStamped() + target_pose.header.stamp = self.get_clock().now().to_msg() + target_pose.header.frame_id = 'map' + target_pose.pose.position.x = float(target_waypoint[0]) + target_pose.pose.position.y = float(target_waypoint[1]) + target_pose.pose.position.z = float(target_waypoint[2]) + target_pose.pose.orientation.w = 1.0 + path.poses.append(target_pose) + + target_pose2 = PoseStamped() + target_pose2.header.stamp = self.get_clock().now().to_msg() + target_pose2.header.frame_id = 'map' + target_pose2.pose.position.x = float(target_waypoint2[0]) + target_pose2.pose.position.y = float(target_waypoint2[1]) + target_pose2.pose.position.z = float(target_waypoint2[2]) + target_pose2.pose.orientation.w = 1.0 + path.poses.append(target_pose2) + + path_publisher.publish(path) + + if np.linalg.norm(cur_pose_np - target_waypoint) < 5.0: + waypoint_locked = False + + return waypoint_locked, target_waypoint, target_waypoint2 + + def _create_pointcloud2_msg(self, xyz): + if isinstance(xyz, np.ndarray): + pass + else: + xyz = np.array(xyz, dtype=np.float32) + header = Header() + header.stamp = self.get_clock().now().to_msg() + header.frame_id = 'map' + fields = [PointField(name="x", offset=0, datatype=PointField.FLOAT32, count=1), + PointField(name="y", offset=4, datatype=PointField.FLOAT32, count=1), + PointField(name="z", offset=8, datatype=PointField.FLOAT32, count=1)] + points = [[float(xyz[i, 0]), float(xyz[i, 1]), float(xyz[i, 2])] + for i in range(xyz.shape[0])] + return point_cloud2.create_cloud(header, fields, points) diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py new file mode 100644 index 00000000..90815a4b --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py @@ -0,0 +1,259 @@ +import numpy as np +from nav_msgs.msg import Path +from geometry_msgs.msg import PoseStamped, Point +from visualization_msgs.msg import Marker, MarkerArray +from std_msgs.msg import String + + +import logging +_log = logging.getLogger(__name__) + + +class RayBehavior: + def __init__(self, get_clock, current_target_publisher=None, score_threshold=0.95): + self.get_clock = get_clock + self.name = 'Ray-based' + self.score_threshold = score_threshold + self.prev_filtered_marker_ids = 0 + self.current_target = None + self.current_target_pub = current_target_publisher + + # Set by condition_check, consumed by execute + self._filtered_indices = None # indices into ray arrays that pass threshold + self._ray_origins = None # (N, 3) FLU — full ray set + self._ray_dirs = None # (N, 3) FLU + self._per_ray_label = None # list[str] — best label per filtered ray + + # Active target: the target the drone is committed to pursuing. + # Set on first acquisition; stays fixed until explicitly reset. + self._active_target = None + + def condition_check(self, ray_origins, ray_dirs, ray_scores, + query_labels, target_objects): + """Returns True if any ray scores above threshold for a target object.""" + self.current_target = None + self._filtered_indices = None + + if (ray_origins is None or ray_scores is None or + len(ray_origins) == 0 or len(target_objects) == 0): + return False + + # Find column indices in ray_scores for each target object + label_indices = [query_labels.index(t) for t in target_objects + if t in query_labels] + if not label_indices: + return False + + relevant_scores = ray_scores[:, label_indices] # (N, num_targets) + mask = (relevant_scores > self.score_threshold).any(axis=1) + indices = np.where(mask)[0] + + if indices.size == 0: + return False + + # Assign each passing ray its best-scoring target label + per_ray_label = [] + targets_found = [] + for idx in indices: + scores_i = relevant_scores[idx] + best_col = int(np.argmax(scores_i)) + label = target_objects[best_col] + per_ray_label.append(label) + targets_found.append(label) + + from collections import Counter + self.current_target = Counter(targets_found).most_common(1)[0][0] + if self.current_target_pub is not None: + self.current_target_pub.publish(String(data=self.current_target)) + + self._filtered_indices = indices + self._ray_origins = ray_origins + self._ray_dirs = ray_dirs + self._per_ray_label = per_ray_label + return True + + def execute(self, cur_pose_np, waypoint_locked, target_waypoint1, + target_waypoint2, publisher_dict): + path_publisher = publisher_dict['path'] + + origins = self._ray_origins[self._filtered_indices] # (K, 3) FLU + dirs = self._ray_dirs[self._filtered_indices] # (K, 3) FLU + labels = self._per_ray_label + + # --- Filter rays pointing behind the robot in XY --- + xy_dirs = dirs[:, :2] + norms = np.linalg.norm(xy_dirs, axis=1, keepdims=True) + xy_dirs_normed = xy_dirs / (norms + 1e-6) + + ray_target_xy = origins[:, :2] + xy_dirs_normed + to_target = ray_target_xy - cur_pose_np[:2] + dot = np.einsum('ij,ij->i', xy_dirs_normed, to_target) + valid = dot > 0 + + _log.warning( + f'ray execute: score_filtered={len(origins)} ' + f'direction_valid={int(valid.sum())} ' + f'robot_xy=({cur_pose_np[0]:.1f},{cur_pose_np[1]:.1f})') + + if not valid.any(): + # All rays point behind the robot. Two cases: + # 1. Same target + same direction as current travel → already heading + # correctly (e.g. drone passed the ray origin), keep going. + # 2. Same target + different direction, OR different target → stay + # committed to active target, keep current waypoint. + behind_for_active = (self._active_target is None or + self.current_target == self._active_target) + + same_direction = False + if target_waypoint1 is not None: + travel_xy = np.array([target_waypoint1[0], target_waypoint1[1]]) - cur_pose_np[:2] + travel_norm = np.linalg.norm(travel_xy) + if travel_norm > 1e-6: + travel_dir = travel_xy / travel_norm + avg_behind = xy_dirs_normed.mean(axis=0) + avg_behind = avg_behind / (np.linalg.norm(avg_behind) + 1e-6) + same_direction = float(np.dot(avg_behind, travel_dir)) > np.cos(np.deg2rad(45)) + + if behind_for_active and same_direction: + _log.warning( + f'ray execute: all rays behind, consistent with active target ' + f'({self._active_target}) and direction — keeping waypoint') + else: + _log.warning( + f'ray execute: all rays behind — staying committed to active ' + f'target ({self._active_target}, current={self.current_target})') + return waypoint_locked, target_waypoint1, target_waypoint2 + + origins_v = origins[valid] + dirs_v = dirs[valid] + xy_dirs_v = xy_dirs_normed[valid] + labels_v = [labels[i] for i in range(len(labels)) if valid[i]] + + # --- Greedy spatial clustering per label (45 deg XY threshold) --- + angle_cos_thresh = np.cos(np.deg2rad(45)) + groups = [] + for i in range(len(origins_v)): + xy_dir = xy_dirs_v[i] + label = labels_v[i] + assigned = False + for group in groups: + if group['label'] != label: + continue + if np.dot(xy_dir, group['centroid']) >= angle_cos_thresh: + group['indices'].append(i) + group['rays'].append(xy_dir) + c = np.mean(group['rays'], axis=0) + group['centroid'] = c / (np.linalg.norm(c) + 1e-6) + assigned = True + break + if not assigned: + groups.append({ + 'centroid': xy_dir.copy(), + 'rays': [xy_dir], + 'indices': [i], + 'label': label, + }) + + if not groups: + _log.warning('ray execute: no groups formed — no waypoint') + return waypoint_locked, target_waypoint1, target_waypoint2 + + _log.warning(f'ray execute: {len(groups)} groups, publishing waypoint') + + # --- Score groups: lower is better --- + # score = dist(avg_origin, robot) - 5 * group_size + k = 5.0 + group_avgs = [] + for group in groups: + idxs = group['indices'] + avg_origin = origins_v[idxs].mean(axis=0) + avg_dir = dirs_v[idxs].mean(axis=0) + avg_dir = avg_dir / (np.linalg.norm(avg_dir) + 1e-6) + density = len(idxs) + score = np.linalg.norm(avg_origin - cur_pose_np) - k * density + group_avgs.append((avg_origin, avg_dir, density, group['label'], score)) + + group_avgs.sort(key=lambda g: g[4]) + best = group_avgs[0] + best_origin, best_dir = best[0], best[1] + direction = best_dir / (np.linalg.norm(best_dir) + 1e-6) + + target_waypoint1 = best_origin + direction * 6.0 + target_waypoint2 = best_origin + direction * 12.0 + + path = Path() + path.header.stamp = self.get_clock().now().to_msg() + path.header.frame_id = 'map' + for wp in (target_waypoint1, target_waypoint2): + ps = PoseStamped() + ps.header.stamp = self.get_clock().now().to_msg() + ps.header.frame_id = 'map' + ps.pose.position.x = float(wp[0]) + ps.pose.position.y = float(wp[1]) + ps.pose.position.z = float(wp[2]) + ps.pose.orientation.w = 1.0 + path.poses.append(ps) + path_publisher.publish(path) + + published_target = best[3] + if self._active_target is None: + self._active_target = published_target + _log.warning(f'ray execute: active target set to {published_target}') + + self._visualize_filtered_rays(groups, origins_v, dirs_v, publisher_dict) + + return waypoint_locked, target_waypoint1, target_waypoint2 + + def _visualize_filtered_rays(self, groups, origins, dirs, publisher_dict): + pub = publisher_dict['filtered_rays'] + self._clear_filtered_rays(pub) + colors = [ + (1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0), + (1.0, 1.0, 0.0), (0.0, 1.0, 1.0), (1.0, 0.0, 1.0), + (0.5, 0.5, 0.5), (1.0, 0.5, 0.0), (0.5, 0.0, 1.0), + (0.0, 0.5, 0.5), + ] + arrow_length = 2.0 + marker_array = MarkerArray() + j = 0 + for i, group in enumerate(groups): + rr, gg, bb = colors[i % len(colors)] + for idx in group['indices']: + p0 = origins[idx] + d = dirs[idx] + p1 = p0 + arrow_length * (d / (np.linalg.norm(d) + 1e-6)) + arrow = Marker() + arrow.header.frame_id = 'map' + arrow.header.stamp = self.get_clock().now().to_msg() + arrow.ns = 'arrows' + arrow.id = j + arrow.type = Marker.ARROW + arrow.action = Marker.ADD + arrow.points = [ + Point(x=float(p0[0]), y=float(p0[1]), z=float(p0[2])), + Point(x=float(p1[0]), y=float(p1[1]), z=float(p1[2])), + ] + arrow.scale.x = 0.6 + arrow.scale.y = 1.2 + arrow.scale.z = 0.75 + arrow.color.r = rr + arrow.color.g = gg + arrow.color.b = bb + arrow.color.a = 0.5 + marker_array.markers.append(arrow) + j += 1 + self.prev_filtered_marker_ids = j + pub.publish(marker_array) + + def _clear_filtered_rays(self, pub): + if self.prev_filtered_marker_ids > 0: + clear_array = MarkerArray() + for i in range(self.prev_filtered_marker_ids): + m = Marker() + m.header.frame_id = 'map' + m.header.stamp = self.get_clock().now().to_msg() + m.ns = 'arrows' + m.id = i + m.action = Marker.DELETE + clear_array.markers.append(m) + pub.publish(clear_array) diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py new file mode 100644 index 00000000..9b090754 --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py @@ -0,0 +1,15 @@ +# Voxel-based behavior - placeholder for future implementation. +# Enable once voxel behavior strategy is decided. + +# class VoxelBehavior: +# def __init__(self, get_clock): +# self.get_clock = get_clock +# self.name = 'Voxel-based' +# +# def condition_check(self, voxels, voxel_scores, target_labels, target_objects): +# return False +# +# def execute(self, voxels, voxel_scores, target_labels, target_objects, +# cur_pose_np, waypoint_locked, target_waypoint, target_waypoint2, +# publisher_dict): +# return waypoint_locked, target_waypoint, target_waypoint2 diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py new file mode 100644 index 00000000..1e14e2ee --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py @@ -0,0 +1,219 @@ +import os +import numpy as np + +import rclpy +from rclpy.node import Node +from nav_msgs.msg import Odometry, Path +from sensor_msgs.msg import PointCloud2 +from sensor_msgs_py import point_cloud2 +from std_msgs.msg import String +from visualization_msgs.msg import MarkerArray + +from raven_nav.behavior_manager import BehaviorManager + + +class RavenNavNode(Node): + def __init__(self): + super().__init__('raven_nav') + + robot_name = os.getenv('ROBOT_NAME', 'robot') + self._prefix = f'/{robot_name}' + + # Ray data parsed from rays_sim/all (all in FLU world frame after conversion) + self._ray_origins = None # (N, 3) FLU + self._ray_dirs = None # (N, 3) FLU + self._ray_scores = None # (N, M) softmax scores + + self._frontiers = None # (N, 3) FLU — published already in FLU + self._cur_pose = None # (3,) + + self._waypoint_locked = False + self._target_waypoint = None + self._target_waypoint2 = None + self._behavior_mode = 'Frontier-based' + + # Parameters + self._score_threshold = self.declare_parameter('score_threshold', 0.95).value + query_labels_param = self.declare_parameter( + 'query_labels', ['red building', 'water tower', 'radio tower']).value + self._query_labels = list(query_labels_param) + self._target_objects = self._query_labels[:] + + timer_period = self.declare_parameter('timer_period', 0.5).value + + self._path_pub = self.create_publisher( + Path, f'{self._prefix}/global_plan', 10) + self._filtered_rays_pub = self.create_publisher( + MarkerArray, f'{self._prefix}/filtered_rays', 10) + self._viewpoint_pub = self.create_publisher( + PointCloud2, f'{self._prefix}/frontier_viewpoints', 10) + self._current_target_pub = self.create_publisher( + String, f'{self._prefix}/current_target', 10) + + self._publisher_dict = { + 'path': self._path_pub, + 'filtered_rays': self._filtered_rays_pub, + 'viewpoint': self._viewpoint_pub, + 'current_target': self._current_target_pub, + } + + self._behavior_manager = BehaviorManager( + get_clock=self.get_clock, + publisher_dict=self._publisher_dict, + score_threshold=self._score_threshold, + ) + + self.create_subscription( + PointCloud2, + f'{self._prefix}/rayfronts/msg_serv/rays_sim/all', + self._rays_cb, 10) + self.create_subscription( + PointCloud2, + f'{self._prefix}/rayfronts/msg_serv/frontiers', + self._frontiers_cb, 10) + self.create_subscription( + Odometry, + f'{self._prefix}/odometry', + self._odometry_cb, 10) + self.create_subscription( + String, + '/input_prompt', + self._input_prompt_cb, 10) + + self.create_timer(timer_period, self._timer_cb) + + self.get_logger().info( + f'raven_nav started | robot={robot_name} | ' + f'timer={timer_period:.2f}s | ' + f'query_labels={self._query_labels} | ' + f'score_threshold={self._score_threshold}') + + def _rays_cb(self, msg: PointCloud2): + """Parse rays_sim/all PointCloud2. + + Fields: x, y, z (RDF origin), theta, phi (degrees), sim_0, sim_1, ... + Converts origin + direction to world FLU frame. + """ + field_names = [f.name for f in msg.fields] + pts = list(point_cloud2.read_points(msg, field_names=field_names, + skip_nans=True)) + if not pts: + self._ray_origins = None + self._ray_dirs = None + self._ray_scores = None + return + + pts_arr = np.array([list(p) for p in pts], dtype=np.float32) + + x_idx = field_names.index('x') + y_idx = field_names.index('y') + z_idx = field_names.index('z') + theta_idx = field_names.index('theta') + phi_idx = field_names.index('phi') + + rdf_origins = pts_arr[:, [x_idx, y_idx, z_idx]] + theta = np.deg2rad(pts_arr[:, theta_idx]) + phi = np.deg2rad(pts_arr[:, phi_idx]) + + # Spherical → Cartesian in RDF frame + # Matches geometry3d.spherical_to_cartesian / cartesian_to_spherical: + # theta = azimuthal in xy-plane, phi = polar from +z (forward) + # x=cos(theta)*sin(phi), y=sin(theta)*sin(phi), z=cos(phi) + dx_rdf = np.cos(theta) * np.sin(phi) + dy_rdf = np.sin(theta) * np.sin(phi) + dz_rdf = np.cos(phi) + rdf_dirs = np.stack([dx_rdf, dy_rdf, dz_rdf], axis=1) + + # RDF → FLU: world_x=rdf_z, world_y=-rdf_x, world_z=-rdf_y + self._ray_origins = np.stack([ + rdf_origins[:, 2], -rdf_origins[:, 0], -rdf_origins[:, 1]], axis=1) + self._ray_dirs = np.stack([ + rdf_dirs[:, 2], -rdf_dirs[:, 0], -rdf_dirs[:, 1]], axis=1) + + # Collect sim_* columns in order + sim_cols = [i for i, n in enumerate(field_names) if n.startswith('sim_')] + sim_cols.sort(key=lambda i: int(field_names[i].split('_')[1])) + if sim_cols: + self._ray_scores = pts_arr[:, sim_cols] # (N, M) + else: + self._ray_scores = None + + def _frontiers_cb(self, msg: PointCloud2): + """Parse msg_serv/frontiers — already in FLU world frame.""" + pts = list(point_cloud2.read_points(msg, field_names=('x', 'y', 'z'), + skip_nans=True)) + if pts: + self._frontiers = np.array([[p[0], p[1], p[2]] for p in pts], + dtype=np.float32) + else: + self._frontiers = None + + def _odometry_cb(self, msg: Odometry): + p = msg.pose.pose.position + self._cur_pose = np.array([p.x, p.y, p.z], dtype=np.float64) + + def _input_prompt_cb(self, msg: String): + targets = [t.strip().lower() for t in msg.data.split(',') if t.strip()] + if targets: + self._target_objects = targets + self.get_logger().info(f'target objects updated: {self._target_objects}') + + def _timer_cb(self): + if self._cur_pose is None: + self.get_logger().warn('waiting for odometry...', throttle_duration_sec=5.0) + return + + prev_mode = self._behavior_mode + self._behavior_manager.mode_select( + ray_origins=self._ray_origins, + ray_dirs=self._ray_dirs, + ray_scores=self._ray_scores, + query_labels=self._query_labels, + target_objects=self._target_objects, + ) + self._behavior_mode = self._behavior_manager.behavior_mode + + if self._behavior_mode != prev_mode: + self.get_logger().info(f'behavior mode: {prev_mode} -> {self._behavior_mode}') + self._waypoint_locked = False + self._target_waypoint = None + self._target_waypoint2 = None + + self._waypoint_locked, self._target_waypoint, self._target_waypoint2 = \ + self._behavior_manager.behavior_execute( + behavior_mode=self._behavior_mode, + frontiers=self._frontiers, + cur_pose_np=self._cur_pose, + waypoint_locked=self._waypoint_locked, + target_waypoint=self._target_waypoint, + target_waypoint2=self._target_waypoint2, + publisher_dict=self._publisher_dict, + ) + + # Throttled status summary + n_frontiers = len(self._frontiers) if self._frontiers is not None else 0 + n_rays = len(self._ray_origins) if self._ray_origins is not None else 0 + ray_beh = self._behavior_manager.ray_behavior + n_filtered = len(ray_beh._filtered_indices) if ray_beh._filtered_indices is not None else 0 + publishing = self._target_waypoint is not None + wp = (f'({self._target_waypoint[0]:.1f}, {self._target_waypoint[1]:.1f}, ' + f'{self._target_waypoint[2]:.1f})') if publishing else 'none' + self.get_logger().info( + f'[{self._behavior_mode}] ' + f'frontiers={n_frontiers} | rays={n_rays} filtered={n_filtered} | ' + f'target={self._behavior_manager.ray_behavior.current_target} | ' + f'publishing={publishing} wp={wp}', + throttle_duration_sec=2.0, + ) + + +def main(args=None): + rclpy.init(args=args) + node = RavenNavNode() + try: + rclpy.spin(node) + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + rclpy.shutdown() diff --git a/robot/ros_ws/src/global/planners/raven_nav/resource/raven_nav b/robot/ros_ws/src/global/planners/raven_nav/resource/raven_nav new file mode 100644 index 00000000..e69de29b diff --git a/robot/ros_ws/src/global/planners/raven_nav/setup.cfg b/robot/ros_ws/src/global/planners/raven_nav/setup.cfg new file mode 100644 index 00000000..1b9b84ea --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/setup.cfg @@ -0,0 +1,4 @@ +[develop] +script_dir=$base/lib/raven_nav +[install] +install_scripts=$base/lib/raven_nav diff --git a/robot/ros_ws/src/global/planners/raven_nav/setup.py b/robot/ros_ws/src/global/planners/raven_nav/setup.py new file mode 100644 index 00000000..ce503284 --- /dev/null +++ b/robot/ros_ws/src/global/planners/raven_nav/setup.py @@ -0,0 +1,27 @@ +from setuptools import find_packages, setup + +package_name = 'raven_nav' + +setup( + name=package_name, + version='0.0.0', + packages=find_packages(exclude=['test']), + data_files=[ + ('share/ament_index/resource_index/packages', ['resource/' + package_name]), + ('share/' + package_name, ['package.xml']), + ('share/' + package_name + '/launch', ['launch/raven_nav.launch.xml']), + ('share/' + package_name + '/config', ['config/raven_nav.yaml']), + ], + install_requires=['setuptools'], + zip_safe=True, + maintainer='todo', + maintainer_email='todo@todo.todo', + description='Navigation planner consuming RayFronts mapper outputs', + license='TODO', + tests_require=['pytest'], + entry_points={ + 'console_scripts': [ + 'raven_nav_node = raven_nav.raven_nav_node:main', + ], + }, +) diff --git a/simulation/isaac-sim/extensions/PegasusSimulator b/simulation/isaac-sim/extensions/PegasusSimulator index 1223a301..f40897f1 160000 --- a/simulation/isaac-sim/extensions/PegasusSimulator +++ b/simulation/isaac-sim/extensions/PegasusSimulator @@ -1 +1 @@ -Subproject commit 1223a301f60d16ebb387a8537503aec8c45239d8 +Subproject commit f40897f1640bfafa45a9220731cc58c7dfbde33d diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index 7b6333ab..2f90c1ac 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -31,7 +31,7 @@ sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "utils"))) import scene_prep -from scene_prep import scale_stage_prim, add_colliders, add_dome_light, get_stage_meters_per_unit +from scene_prep import scale_stage_prim, add_colliders, add_dome_light, get_stage_meters_per_unit, reference_root_prims_under_world # --------------------- CONFIGURATION --------------------- @@ -47,7 +47,7 @@ DRONE_USD = "~/.local/share/ov/data/documents/Kit/shared/exts/pegasus.simulator/pegasus/simulator/assets/Robots/Iris/iris.usd" # Lighting -ADD_DOME_LIGHT = True +ADD_DOME_LIGHT = False DOME_LIGHT_PATH = "/World/DomeLight" DOME_LIGHT_INTENSITY = 3500.0 DOME_LIGHT_EXPOSURE = -3.0 @@ -132,7 +132,7 @@ def __init__(self): self.pg._world = World(**self.pg._world_settings) self.world = self.pg.world - # Load environment + # Load environment (places geometry at /World/stage) self.pg.load_environment(ENV_URL) stage = omni.usd.get_context().get_stage() @@ -143,6 +143,9 @@ def __init__(self): carb.log_warn("Stage load timed out — continuing anyway.") # ----- Scene preparation ----- + # Bring in sky/sun/environment prims that sit outside /World in the source USD + reference_root_prims_under_world(stage, ENV_URL) + stage_prim = stage.GetPrimAtPath("/World/stage") if stage_prim.IsValid(): scale_stage_prim(stage, "/World/stage", STAGE_SCALE) diff --git a/simulation/isaac-sim/utils/scene_prep.py b/simulation/isaac-sim/utils/scene_prep.py index 026a2953..09cd7479 100644 --- a/simulation/isaac-sim/utils/scene_prep.py +++ b/simulation/isaac-sim/utils/scene_prep.py @@ -128,6 +128,74 @@ def add_dome_light(stage, prim_path: str = "/World/DomeLight", intensity: float # Consolidate root prims under /World # --------------------------------------------------------------------------- +def reference_root_prims_under_world(stage, source_usd_url: str) -> list: + """Reference non-/World root prims from *source_usd_url* under /World. + + When a USD is loaded via pg.load_environment (reference scoped to /World), + root-level prims like /Sky, /Sun, /Environment are excluded. This function + opens the source layer, finds those prims, and adds them as individual + references under /World — without touching the geometry already loaded. + + Args: + stage: Active USD stage. + source_usd_url: omniverse:// or local path of the source USD. + + Returns: + List of prim names that were referenced. + """ + source_layer = Sdf.Layer.FindOrOpen(source_usd_url) + if source_layer is None: + print(f"[scene_prep] reference_root_prims_under_world: could not open {source_usd_url}", flush=True) + return [] + + non_world = [spec.name for spec in source_layer.rootPrims if spec.name != 'World'] + if not non_world: + print("[scene_prep] reference_root_prims_under_world: no non-World root prims found", flush=True) + return [] + + for name in non_world: + dest_path = f"/World/{name}" + dest_prim = stage.DefinePrim(dest_path) + dest_prim.GetReferences().AddReference(source_usd_url, f"/{name}") + print(f"[scene_prep] Referenced /{name} at {dest_path}", flush=True) + + return non_world + + +def move_root_prims_to_world_live(stage) -> list: + """Move any non-/World root prims (e.g. /Environment, /Sun, /Sky) under /World + on the currently active live stage. + + Useful when loading a USD from Nucleus whose sky/sun/environment prims sit at + the root rather than under /World, causing them to be invisible to the sim. + + Args: + stage: Active USD stage (from omni.usd.get_context().get_stage()). + + Returns: + List of prim names that were moved. + """ + root_layer = stage.GetRootLayer() + all_root = [spec.name for spec in root_layer.rootPrims] + print(f"[scene_prep] move_root_prims_to_world_live: root prims = {all_root}", flush=True) + + to_move = [name for name in all_root if name != 'World'] + if not to_move: + print("[scene_prep] move_root_prims_to_world_live: nothing to move", flush=True) + return [] + + edit = Sdf.BatchNamespaceEdit() + for name in to_move: + edit.Add(Sdf.Path(f"/{name}"), Sdf.Path(f"/World/{name}")) + + if not root_layer.Apply(edit): + print(f"[scene_prep] move_root_prims_to_world_live: namespace edit failed for {to_move}", flush=True) + return [] + + print(f"[scene_prep] Moved root prims under /World: {to_move}", flush=True) + return to_move + + def move_root_prims_to_world(usd_path: str) -> list: """Move any non-/World root prims (e.g. /Environment) under /World. From 3329d8805c157c98a9fbc36a8509732baad1c46d Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 20:35:52 -0400 Subject: [PATCH 27/55] moved coordination to common --- common/fastdds.xml | 9 +++++++++ .../ros_packages}/coordination/README.md | 0 .../config/gcs_gossip_dds_router.yaml | 0 .../config/gossip_dds_router.yaml | 0 .../config/gossip_payloads.yaml | 0 .../coordination_bringup/__init__.py | 0 .../coordination_bringup/frame_utils.py | 0 .../coordination_bringup/gossip_node.py | 0 .../coordination_bringup/peer_profile.py | 0 .../launch/gcs_gossip_bridge.launch.py | 0 .../launch/gossip.launch.xml | 0 .../coordination_bringup/package.xml | 0 .../resource/coordination_bringup | 0 .../coordination_bringup/scripts/gossip_node | 0 .../scripts/peer_registry_monitor.py | 0 .../coordination/coordination_bringup/setup.py | 0 .../coordination_msgs/CMakeLists.txt | 0 .../coordination_msgs/msg/PeerProfile.msg | 0 .../coordination_msgs/msg/PeerProfilePayload.msg | 0 .../coordination/coordination_msgs/package.xml | 0 gcs/docker/gcs-base-docker-compose.yaml | 1 - simulation/isaac-sim/docker/docker-compose.yaml | 16 ++++++++-------- .../launch_scripts/three_drone_scene_import.py | 6 ++++++ .../isaac-sim/launch_scripts/two_drone_fire.py | 6 ++++++ 24 files changed, 29 insertions(+), 9 deletions(-) rename {robot/ros_ws/src => common/ros_packages}/coordination/README.md (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/config/gossip_dds_router.yaml (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/config/gossip_payloads.yaml (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/coordination_bringup/__init__.py (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/coordination_bringup/frame_utils.py (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/coordination_bringup/gossip_node.py (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/coordination_bringup/peer_profile.py (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/launch/gossip.launch.xml (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/package.xml (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/resource/coordination_bringup (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/scripts/gossip_node (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/scripts/peer_registry_monitor.py (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_bringup/setup.py (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_msgs/CMakeLists.txt (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_msgs/msg/PeerProfile.msg (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_msgs/msg/PeerProfilePayload.msg (100%) rename {robot/ros_ws/src => common/ros_packages}/coordination/coordination_msgs/package.xml (100%) diff --git a/common/fastdds.xml b/common/fastdds.xml index d9d106bb..58de2126 100644 --- a/common/fastdds.xml +++ b/common/fastdds.xml @@ -18,6 +18,15 @@ false + + + + +

192.168.233.25
+ + + + diff --git a/robot/ros_ws/src/coordination/README.md b/common/ros_packages/coordination/README.md similarity index 100% rename from robot/ros_ws/src/coordination/README.md rename to common/ros_packages/coordination/README.md diff --git a/robot/ros_ws/src/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml b/common/ros_packages/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml rename to common/ros_packages/coordination/coordination_bringup/config/gcs_gossip_dds_router.yaml diff --git a/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_dds_router.yaml b/common/ros_packages/coordination/coordination_bringup/config/gossip_dds_router.yaml similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/config/gossip_dds_router.yaml rename to common/ros_packages/coordination/coordination_bringup/config/gossip_dds_router.yaml diff --git a/robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml b/common/ros_packages/coordination/coordination_bringup/config/gossip_payloads.yaml similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml rename to common/ros_packages/coordination/coordination_bringup/config/gossip_payloads.yaml diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/__init__.py b/common/ros_packages/coordination/coordination_bringup/coordination_bringup/__init__.py similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/__init__.py rename to common/ros_packages/coordination/coordination_bringup/coordination_bringup/__init__.py diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py b/common/ros_packages/coordination/coordination_bringup/coordination_bringup/frame_utils.py similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/frame_utils.py rename to common/ros_packages/coordination/coordination_bringup/coordination_bringup/frame_utils.py diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py b/common/ros_packages/coordination/coordination_bringup/coordination_bringup/gossip_node.py similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/gossip_node.py rename to common/ros_packages/coordination/coordination_bringup/coordination_bringup/gossip_node.py diff --git a/robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py b/common/ros_packages/coordination/coordination_bringup/coordination_bringup/peer_profile.py similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/coordination_bringup/peer_profile.py rename to common/ros_packages/coordination/coordination_bringup/coordination_bringup/peer_profile.py diff --git a/robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py b/common/ros_packages/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py rename to common/ros_packages/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py diff --git a/robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml b/common/ros_packages/coordination/coordination_bringup/launch/gossip.launch.xml similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/launch/gossip.launch.xml rename to common/ros_packages/coordination/coordination_bringup/launch/gossip.launch.xml diff --git a/robot/ros_ws/src/coordination/coordination_bringup/package.xml b/common/ros_packages/coordination/coordination_bringup/package.xml similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/package.xml rename to common/ros_packages/coordination/coordination_bringup/package.xml diff --git a/robot/ros_ws/src/coordination/coordination_bringup/resource/coordination_bringup b/common/ros_packages/coordination/coordination_bringup/resource/coordination_bringup similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/resource/coordination_bringup rename to common/ros_packages/coordination/coordination_bringup/resource/coordination_bringup diff --git a/robot/ros_ws/src/coordination/coordination_bringup/scripts/gossip_node b/common/ros_packages/coordination/coordination_bringup/scripts/gossip_node similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/scripts/gossip_node rename to common/ros_packages/coordination/coordination_bringup/scripts/gossip_node diff --git a/robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py b/common/ros_packages/coordination/coordination_bringup/scripts/peer_registry_monitor.py similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/scripts/peer_registry_monitor.py rename to common/ros_packages/coordination/coordination_bringup/scripts/peer_registry_monitor.py diff --git a/robot/ros_ws/src/coordination/coordination_bringup/setup.py b/common/ros_packages/coordination/coordination_bringup/setup.py similarity index 100% rename from robot/ros_ws/src/coordination/coordination_bringup/setup.py rename to common/ros_packages/coordination/coordination_bringup/setup.py diff --git a/robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt b/common/ros_packages/coordination/coordination_msgs/CMakeLists.txt similarity index 100% rename from robot/ros_ws/src/coordination/coordination_msgs/CMakeLists.txt rename to common/ros_packages/coordination/coordination_msgs/CMakeLists.txt diff --git a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg b/common/ros_packages/coordination/coordination_msgs/msg/PeerProfile.msg similarity index 100% rename from robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfile.msg rename to common/ros_packages/coordination/coordination_msgs/msg/PeerProfile.msg diff --git a/robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg b/common/ros_packages/coordination/coordination_msgs/msg/PeerProfilePayload.msg similarity index 100% rename from robot/ros_ws/src/coordination/coordination_msgs/msg/PeerProfilePayload.msg rename to common/ros_packages/coordination/coordination_msgs/msg/PeerProfilePayload.msg diff --git a/robot/ros_ws/src/coordination/coordination_msgs/package.xml b/common/ros_packages/coordination/coordination_msgs/package.xml similarity index 100% rename from robot/ros_ws/src/coordination/coordination_msgs/package.xml rename to common/ros_packages/coordination/coordination_msgs/package.xml diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index 26485565..26b7830f 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -55,7 +55,6 @@ services: - ../foxglove_extensions:/root/AirStack/gcs/foxglove_extensions:ro # autonomy stack stuff - ../../common/ros_packages:/root/AirStack/gcs/ros_ws/src/common:rw - - ../../robot/ros_ws/src/coordination:/root/AirStack/gcs/ros_ws/src/coordination:ro - ../../common/fastdds.xml:/root/AirStack/gcs/ros_ws/src/fastdds.xml - ../ros_ws:/root/AirStack/gcs/ros_ws:rw # bags diff --git a/simulation/isaac-sim/docker/docker-compose.yaml b/simulation/isaac-sim/docker/docker-compose.yaml index 60e17925..39734fcc 100644 --- a/simulation/isaac-sim/docker/docker-compose.yaml +++ b/simulation/isaac-sim/docker/docker-compose.yaml @@ -86,11 +86,11 @@ services: networks: !reset null # =================================================================================================================== # for running over ethernet for hitl to stream to the NVIDIA jetson device - # isaac-sim-hitl: - # extends: - # service: isaac-sim - # profiles: !override - # - hitl - # container_name: isaac-sim - # network_mode: host - # networks: !reset null + isaac-sim-hitl: + extends: + service: isaac-sim + profiles: !override + - hitl + container_name: isaac-sim + network_mode: host + networks: !reset null diff --git a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py index 5394faaa..6a38e848 100644 --- a/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py +++ b/simulation/isaac-sim/launch_scripts/three_drone_scene_import.py @@ -9,6 +9,12 @@ # Start Isaac Sim's simulation environment (Must start this before importing omni modules) simulation_app = SimulationApp({"headless": False}) +# Set local Nucleus as asset root before importing Pegasus (which resolves it at import time) +carb.settings.get_settings().set( + "/persistent/isaac/asset_root/default", + "omniverse://airlab-nucleus.andrew.cmu.edu/NVIDIA/Assets/Isaac/5.1" +) + import time import omni.kit.app diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index 2f90c1ac..1af07ed8 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -6,6 +6,12 @@ # Start Isaac Sim's simulation environment (Must start this before importing omni modules) simulation_app = SimulationApp({"headless": False}) +# Set local Nucleus as asset root before importing Pegasus (which resolves it at import time) +carb.settings.get_settings().set( + "/persistent/isaac/asset_root/default", + "omniverse://airlab-nucleus.andrew.cmu.edu/NVIDIA/Assets/Isaac/5.1" +) + import os import sys import time From 79a584da65b999c82852a12e24c8888100007542 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 22:09:45 -0400 Subject: [PATCH 28/55] fixed gcs<->robot dds --- .env | 29 +++++------ common/fastdds.xml | 9 ---- .../desktop_bringup/launch/gcs.launch.xml | 5 +- .../desktop_bringup/params/domain_bridge.yaml | 48 ------------------- docker-compose.yaml | 1 - gcs/docker/gcs-base-docker-compose.yaml | 5 +- robot/docker/.bashrc | 4 +- robot/docker/docker-compose.yaml | 9 ++-- 8 files changed, 24 insertions(+), 86 deletions(-) diff --git a/.env b/.env index 20f568c8..47e9bad0 100644 --- a/.env +++ b/.env @@ -2,32 +2,34 @@ # These variables do NOT get set within the robot container itself. For setting container environment variables, use env_file: attribute in docker-compose.yaml. # Standard Usage: airstack --env-file .env up -# Warning: even though this file is organized into sections, all variables get propagated to all sub-level +# Warning: even though this file is organized into sections, all variables get propagated to all sub-level # docker-compose files, so be careful about naming conflicts. # =============== PROJECT ==================== # THESE VARIABLES ARE USED TO TAG THE DOCKER IMAGES. # The name of the project. This is used as the repository name for the docker images, and also as part of the default image tag. PROJECT_NAME="airstack" -# If you've run ./airstack.sh setup, then this will auto-generate from the git commit hash every time a change is made +# If you've run ./airstack.sh setup, then this will auto-generate from the git commit hash every time a change is made # to a Dockerfile or docker-compose.yaml file. Otherwise this can also be set explicitly to make a release version. -VERSION="0.18.0-alpha.3" +# auto-generated from git commit hash. `airstack version` will output this tag. +# auto-generated from git commit hash +DOCKER_IMAGE_TAG="0.17.0" # Choose "dev" or "prebuilt". "dev" is for mounted code that must be built live. "prebuilt" is for built ros_ws baked into the image -DOCKER_IMAGE_BUILD_MODE="dev" +DOCKER_IMAGE_BUILD_MODE="dev" # Where to push and pull images from. Can replace with your docker hub username if using docker hub. PROJECT_DOCKER_REGISTRY="airlab-docker.andrew.cmu.edu/airstack" -# This is the default profile that docker compose will use if you just run `docker compose up` without specifying a profile. +# This is the default profile that docker compose will use if you just run `docker compose up` without specifying a profile. # It can be overridden with the --profile flag, or by setting the COMPOSE_PROFILES environment variable to a different value # before running `docker compose up`. -COMPOSE_PROFILES="desktop,isaac-sim" +COMPOSE_PROFILES="desktop, isaac-sim" # ============================================ # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="3" # Number of robot containers to launch. +NUM_ROBOTS="2" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" -# ============== ISAAC SIM ===================== +# ============== SIMULATION ===================== ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_pegasus.scene.usd" # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" @@ -36,17 +38,12 @@ ISAAC_SIM_SCRIPT_NAME="two_drone_fire.py" PLAY_SIM_ON_START="false" # =============================================== -# ================= MS-AIRSIM ===================== -MS_AIRSIM_ENV_DIR="../environments" -MS_AIRSIM_BINARY_PATH="/ms-airsim-env/AbandonedPark/LinuxNoEditor/AbandonedPark.sh" -# ================================================= - # ================= ROBOT ===================== ROBOT_NAME_MAP_CONFIG_FILE="default_robot_name_map.yaml" # Determines how to set ROBOT_NAME and ROS_DOMAIN_ID. See robot/docker/robot_name_map/ +URDF_FILE="robot_descriptions/iris/urdf/iris_with_sensors.pegasus.robot.urdf" # -URDF_FILE="robot_descriptions/iris/urdf/iris_with_sensors.pegasus.robot.urdf" - -# offboard API streaming out. this is so that ports don't conflict for multi-agent FCU communication. +# offboard API streaming out. this is so that ports don't conflict for multi-agent FCU communication. OFFBOARD_BASE_PORT=14540 ONBOARD_BASE_PORT=14580 +# =============================================== diff --git a/common/fastdds.xml b/common/fastdds.xml index 58de2126..d9d106bb 100644 --- a/common/fastdds.xml +++ b/common/fastdds.xml @@ -18,15 +18,6 @@ false - - - - -
192.168.233.25
-
-
-
-
diff --git a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml index f912be0c..c52af4a4 100644 --- a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml +++ b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml @@ -18,15 +18,16 @@ args="--perspective-file $(find-pkg-share rqt_gcs)/config/gcs.perspective --ros-args --log-level INFO" output="screen" respawn="true" respawn_delay="1" /> - + + - ?> diff --git a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml index 491728e2..c07a5acb 100644 --- a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml +++ b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml @@ -18,54 +18,6 @@ topics: from_domain: 1 to_domain: 0 type: nav_msgs/msg/Odometry - - - #rayfronts topics to bridge - - /robot_1/current_target: - from_domain: 1 - to_domain: 2 - type: std_msgs/msg/String - - /robot_2/current_target: - from_domain: 2 - to_domain: 1 - type: std_msgs/msg/String - - /robot_1/odometry_conversion/odometry: - from_domain: 1 - to_domain: 2 - type: nav_msgs/msg/Odometry - - /robot_2/odometry_conversion/odometry: - from_domain: 2 - to_domain: 1 - type: nav_msgs/msg/Odometry - - /robot_2/relative_position: - from_domain: 2 - to_domain: 1 - type: nav_msgs/msg/Odometry - - /robot_1/filtered_rays: - from_domain: 1 - to_domain: 2 - type: visualization_msgs/msg/MarkerArray - - /robot_2/filtered_rays: - from_domain: 2 - to_domain: 1 - type: visualization_msgs/msg/MarkerArray - - /robot_2/rayfronts/semantic_ray_frontiers: - from_domain: 2 - to_domain: 1 - type: visualization_msgs/msg/MarkerArray - - /robot_1/rayfronts/semantic_ray_frontiers: - from_domain: 1 - to_domain: 2 - type: visualization_msgs/msg/MarkerArray /robot_2/vdb_mapping/vdb_map_visualization: from_domain: 2 diff --git a/docker-compose.yaml b/docker-compose.yaml index 9511e696..e2e26c03 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -6,7 +6,6 @@ include: - simulation/isaac-sim/docker/docker-compose.yaml - simulation/simple-sim/docker/docker-compose.yaml - - simulation/ms-airsim/docker/docker-compose.yaml - robot/docker/docker-compose.yaml - gcs/docker/docker-compose.yaml - docs/docker/docker-compose.yaml diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index 26b7830f..f9b8fd38 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -6,7 +6,7 @@ services: context: ../ dockerfile: docker/Dockerfile.gcs tags: - - ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${VERSION}_gcs + - ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_gcs command: > bash -c " ssh service restart; @@ -33,7 +33,7 @@ services: - NVIDIA_DRIVER_CAPABILITIES=all # Record bags - RECORD_BAGS=${RECORD_BAGS} - image: ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${VERSION}_gcs + image: ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_gcs # Needed to display graphical applications # ipc: host privileged: true @@ -55,6 +55,7 @@ services: - ../foxglove_extensions:/root/AirStack/gcs/foxglove_extensions:ro # autonomy stack stuff - ../../common/ros_packages:/root/AirStack/gcs/ros_ws/src/common:rw + - ../../robot/ros_ws/src/coordination:/root/AirStack/gcs/ros_ws/src/coordination:ro - ../../common/fastdds.xml:/root/AirStack/gcs/ros_ws/src/fastdds.xml - ../ros_ws:/root/AirStack/gcs/ros_ws:rw # bags diff --git a/robot/docker/.bashrc b/robot/docker/.bashrc index d2c3c877..e4f21b84 100755 --- a/robot/docker/.bashrc +++ b/robot/docker/.bashrc @@ -17,10 +17,8 @@ export PYTHONWARNINGS # Convenience functions for ROS2 workspace function bws(){ - # Since multiple robot containers may mount a shared volume, we need to use flock to prevent race conditions. echo "Running \`colcon build $@\` in $ROS2_WS_DIR" - COLCON_LOG_PATH="$ROS2_WS_DIR"/log flock "$ROS2_WS_DIR/.build.lock" \ - colcon build --symlink-install --base-paths "$ROS2_WS_DIR"/ --build-base "$ROS2_WS_DIR"/build/ --install-base "$ROS2_WS_DIR"/install/ "$@" + COLCON_LOG_PATH="$ROS2_WS_DIR"/log colcon build --symlink-install --base-paths "$ROS2_WS_DIR"/ --build-base "$ROS2_WS_DIR"/build/ --install-base "$ROS2_WS_DIR"/install/ "$@" } function sws(){ if [ -f "$ROS2_WS_DIR/install/local_setup.bash" ]; then diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index abfef1cb..f06693e1 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -9,7 +9,7 @@ services: extends: file: ./robot-base-docker-compose.yaml service: robot_base - image: &desktop_image ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${VERSION}_robot-x86-64_${DOCKER_IMAGE_BUILD_MODE} + image: &desktop_image ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_robot-x86-64_${DOCKER_IMAGE_BUILD_MODE} build: dockerfile: ./Dockerfile.robot args: @@ -23,7 +23,6 @@ services: - NVIDIA_DRIVER_CAPABILITIES=all - LAUNCH_PACKAGE=desktop_bringup # desktop_bringup adds RViz; real robots use autonomy_bringup - AUTONOMY_ROLE=full - - SIM_IP=${SIM_IP:-172.31.0.200} # FCU_URL and TGT_SYSTEM not set, dynamically calculated in interface.launch.py # 'command' uses variables so that it can be shared across robot-desktop and robot-l4t, with different launch packages and roles. command: > @@ -105,7 +104,7 @@ services: extends: # NOTE THIS EXTENDS THE BASE, NOT ROBOT-DESKTOP file: ./robot-base-docker-compose.yaml service: robot_base - image: &voxl_image ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${VERSION}_robot-voxl_${DOCKER_IMAGE_BUILD_MODE} + image: &voxl_image ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_robot-voxl_${DOCKER_IMAGE_BUILD_MODE} build: dockerfile: ./Dockerfile.robot args: @@ -140,7 +139,7 @@ services: extends: file: ./robot-base-docker-compose.yaml service: robot_base - image: &l4t_image ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${VERSION}_robot-l4t_${DOCKER_IMAGE_BUILD_MODE} + image: &l4t_image ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_robot-l4t_${DOCKER_IMAGE_BUILD_MODE} build: dockerfile: ./Dockerfile.robot args: @@ -195,7 +194,7 @@ services: zed-l4t: profiles: - l4t - image: ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${VERSION}_zed-l4t-36-4-0_${DOCKER_IMAGE_BUILD_MODE} + image: ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_zed-l4t-36-4-0_${DOCKER_IMAGE_BUILD_MODE} build: context: ./ dockerfile: zed/Dockerfile.zed-l4t From b1f2b06648065a3761052dee47553611df5a2a3d Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 22:21:38 -0400 Subject: [PATCH 29/55] added hitl functionality --- .env | 11 ++ .../desktop_bringup/launch/gcs.launch.xml | 2 +- docs/gcs/docker/index.md | 30 ++++- docs/real_world/HITL/index.md | 123 +++++++++++++++--- docs/simulation/index.md | 26 ++++ gcs/docker/.bashrc | 49 +++++++ gcs/docker/docker-compose.yaml | 31 +++++ robot/docker/.bashrc | 49 +++++++ robot/docker/docker-compose.yaml | 20 +++ simulation/isaac-sim/docker/.bashrc | 48 +++++++ .../isaac-sim/docker/docker-compose.yaml | 6 + 11 files changed, 376 insertions(+), 19 deletions(-) diff --git a/.env b/.env index 47e9bad0..891b6a52 100644 --- a/.env +++ b/.env @@ -46,4 +46,15 @@ URDF_FILE="robot_descriptions/iris/urdf/iris_with_sensors.pegasus.robot.urdf" # # offboard API streaming out. this is so that ports don't conflict for multi-agent FCU communication. OFFBOARD_BASE_PORT=14540 ONBOARD_BASE_PORT=14580 + +# ============== HITL DDS DISCOVERY ============== +# Discovery mode for hitl profiles: "server" (default, scalable) or "static-peer" (fallback). +HITL_DISCOVERY_MODE="server" +DISCOVERY_SERVER_IP="192.168.233.25" +DISCOVERY_SERVER_PORT="11811" +DISCOVERY_SERVER_ID="0" +# Optional comma-separated backup discovery server IPs (same port). +DISCOVERY_SERVER_BACKUP_IPS="" +# Used only when HITL_DISCOVERY_MODE=static-peer. +FASTDDS_STATIC_PEER_IP="192.168.233.25" # =============================================== diff --git a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml index c52af4a4..3bec5211 100644 --- a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml +++ b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml @@ -24,7 +24,7 @@ - + diff --git a/docs/gcs/docker/index.md b/docs/gcs/docker/index.md index 4d94181f..ae6db45d 100644 --- a/docs/gcs/docker/index.md +++ b/docs/gcs/docker/index.md @@ -50,12 +50,20 @@ The GCS container is launched with: airstack up gcs ``` +For HITL (host networking + scalable DDS discovery), use: + +```bash +airstack up gcs-hitl +``` + +`gcs-hitl` automatically starts `dds-discovery-hitl` via `depends_on`, so the discovery server always runs on the GCS host in HITL mode. + **What happens:** 1. Docker Compose starts the GCS container from `gcs/docker/docker-compose.yaml` 2. The `command:` attribute launches GCS ROS 2 nodes 3. RQT GUI opens automatically (if `DISPLAY` configured) -4. Foxglove Studio starts on port 8765 +4. Foxglove Studio starts and `foxglove_bridge` serves on port 8765 **Container command:** @@ -106,6 +114,14 @@ The GCS container connects to the `airstack_network` bridge network, allowing co - **ROS_DOMAIN_ID:** 0 (GCS shares domain 0) - **Ports:** 8765 (Foxglove), 22 (SSH) +### HITL Host-Network Mode + +When using `gcs-hitl`, the container runs in `network_mode: host`: + +- Foxglove bridge binds to `0.0.0.0:8765` +- DDS discovery uses `ROS_DISCOVERY_SERVER` (from `DISCOVERY_SERVER_IP` / `DISCOVERY_SERVER_PORT`) +- No `airstack_network` bridge isolation; traffic is on the host LAN interfaces + ## Accessing the GCS ### Via X11 Forwarding @@ -143,6 +159,12 @@ Access Foxglove Studio in your web browser: http://localhost:8765 ``` +For remote visualization from another machine on the same network: + +``` +ws://:8765 +``` + Pre-configured layouts are available in `gcs/docker/Foxglove/layouts/`. ## Foxglove Configuration @@ -250,6 +272,12 @@ docker compose build --no-cache gcs - Check container networking: `docker inspect airstack-gcs-1` - Access via container IP if localhost fails +**HITL DDS discovery issues:** + +- Verify `ROS_DISCOVERY_SERVER` is set in the GCS container +- Verify `DISCOVERY_SERVER_IP:DISCOVERY_SERVER_PORT` is reachable from all robot hosts +- If discovery works but no data flows, verify DDS Router allowlist and QoS compatibility + **ROS 2 communication issues:** - Verify `ROS_DOMAIN_ID=0` in GCS container diff --git a/docs/real_world/HITL/index.md b/docs/real_world/HITL/index.md index bf6057c7..f7f373d9 100644 --- a/docs/real_world/HITL/index.md +++ b/docs/real_world/HITL/index.md @@ -1,25 +1,114 @@ # Hardware-In-The-Loop Simulation -We configure a multi-machine HITL simulation, where a powerful desktop computer runs Isaac Simulator and rendering, and one/multiple jetson compute boards run robot-specific programs (planning, mapping, etc.). -## Requirement -A desktop computer configured according to [here](/docs/getting_started). One/multiple ORIN AGX/NX configured according to [here](/docs/real_world/installation/). -## Communication -All machines should connect to the same network. In our test, all machines are connected to the same router with ethernet cables. Ensure that all machines are able to `ping` others' IP addresses. +AirStack supports multi-machine HITL where simulation and GCS run on one host, and one or more robot compute hosts run autonomy containers. HITL services use `network_mode: host` so DDS traffic is exchanged directly on your LAN. -### Run -On the desktop computer, under your Airstack folder, run -``` -docker compose up isaac-sim-hitl +## Requirements + +- One simulation/GCS host configured per [Getting Started](/docs/getting_started) +- One or more robot hosts (Jetson or desktop) configured per [Real-World Installation](/docs/real_world/installation/) +- All hosts on the same routed network with mutual `ping` reachability + +## Discovery Model (Default) + +HITL defaults to Fast DDS Discovery Server mode for scalability: + +- Discovery server endpoint defaults to: + - `DISCOVERY_SERVER_IP=192.168.233.25` + - `DISCOVERY_SERVER_PORT=11811` +- Discovery clients: + - `isaac-sim-hitl` + - `gcs-hitl` + - `robot-desktop-hitl` +- Optional fallback mode: + - `HITL_DISCOVERY_MODE=static-peer` + - `FASTDDS_STATIC_PEER_IP=` + +## Services + +### Simulation/GCS Host + +Run: + +```bash +airstack up isaac-sim-hitl gcs-hitl ``` -You should see the isaac simulator being launched. -On the Jetson computer, run + +This starts: + +- Isaac Sim (`isaac-sim-hitl`) +- GCS (`gcs-hitl`) +- Fast DDS discovery server (`dds-discovery-hitl`, auto-started as dependency of `gcs-hitl`) + +### Robot Host + +For a desktop robot host: + +```bash +airstack up robot-desktop-hitl ``` -docker compose up robot_l4t + +For a Jetson host: + +```bash +airstack up robot-l4t ``` -Once the scene is played in the Isaac simulator, the rviz GUI on the Jetson should start displaying sensor data, which means the connection is successful. -Screen record of desktop computer: - +## Two-Computer Validation Checklist + +1. Verify discovery variables on both hosts: + ```bash + echo "$DISCOVERY_SERVER_IP:$DISCOVERY_SERVER_PORT" + ``` +2. Verify DDS discovery server visibility from robot host: + ```bash + ping "$DISCOVERY_SERVER_IP" + ``` +3. Verify ROS graph visibility: + ```bash + ros2 topic list + ``` +4. Verify payload flow (not just discovery): + ```bash + ros2 topic hz /robot_1/odometry + ros2 topic echo /robot_1/odometry --once + ``` +5. Verify Foxglove: + - On GCS host: `ws://localhost:8765` + - On remote client (optional): `ws://:8765` + +## Multi-Robot / Multi-Computer Scaling + +For `N` robot hosts: + +- `gcs-hitl` starts and owns the discovery server on the sim/GCS host. +- Start one robot container stack per robot host (`robot-desktop-hitl` or `robot-l4t`). +- Ensure each robot has unique `ROBOT_NAME` and `ROS_DOMAIN_ID` mapping. + +Recommended: + +- Use discovery server mode for `N >= 3`. +- Configure backup discovery servers using `DISCOVERY_SERVER_BACKUP_IPS` (comma-separated IP list). + +## Troubleshooting + +### Topics discovered but no data + +This is usually not discovery failure. Check: + +1. DDS Router allowlist includes the topic +2. ROS domain IDs are correct on both sides +3. QoS compatibility between publisher/subscriber +4. Firewall allows DDS UDP traffic +5. Topic namespaced correctly (`/robot_X/...`) + +### Foxglove shows no topics + +- Confirm `foxglove_bridge` is running in GCS launch +- Confirm GCS is receiving ROS topics in domain 0 +- Use `ws://localhost:8765` on GCS host first, then test remote URL + +### Discovery server unreachable -Screen record of Jetson computer: - \ No newline at end of file +- Verify `DISCOVERY_SERVER_IP` matches the host running `gcs-hitl` (which auto-starts `dds-discovery-hitl`) +- Verify no port conflict on `11811` +- Verify host firewall/network ACLs \ No newline at end of file diff --git a/docs/simulation/index.md b/docs/simulation/index.md index 6927aaa4..ddde7f33 100644 --- a/docs/simulation/index.md +++ b/docs/simulation/index.md @@ -133,6 +133,26 @@ A lightweight 2D/3D simulator for basic testing and development when full Isaac **Learn more:** [Docker Workflow](../development/beginner/airstack-cli/docker_usage.md#robot) +### Multi-Computer HITL Simulation + +For cross-machine HITL, run simulation + GCS on one host and robot containers on other hosts: + +```bash +# Sim/GCS host +airstack up isaac-sim-hitl gcs-hitl + +# Robot host +airstack up robot-desktop-hitl +``` + +Discovery defaults: + +- `HITL_DISCOVERY_MODE=server` +- `DISCOVERY_SERVER_IP=192.168.233.25` +- `DISCOVERY_SERVER_PORT=11811` + +For larger fleets, set `DISCOVERY_SERVER_BACKUP_IPS` with backup server IPs. + ### Custom Scenes Create custom Isaac Sim scenes with: @@ -184,6 +204,12 @@ PLAY_SIM_ON_START=false airstack up isaac-sim - Check `ROS_DOMAIN_ID` settings in containers - See [Docker Workflow](../development/beginner/airstack-cli/docker_usage.md) +**HITL discovery but no payload data:** + +- Verify `ROS_DISCOVERY_SERVER` in all HITL containers +- Verify DDS Router allowlist includes required topics +- Verify QoS compatibility (`ros2 topic info -v `) + **Performance issues:** - Reduce scene complexity diff --git a/gcs/docker/.bashrc b/gcs/docker/.bashrc index ba851a34..03ffeb85 100644 --- a/gcs/docker/.bashrc +++ b/gcs/docker/.bashrc @@ -10,6 +10,55 @@ ROS2_WS_DIR="$HOME/AirStack/gcs/ros_ws" # needed for communication with Isaac Sim ROS2 # https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#enabling-the-ros-bridge-extension export FASTRTPS_DEFAULT_PROFILES_FILE="$ROS2_WS_DIR/src/fastdds.xml" +# HITL DDS mode: +# - server (default): use Fast DDS Discovery Server via ROS_DISCOVERY_SERVER. +# - static-peer: generate a temporary Fast DDS profile with one initial peer. +if [ "${HITL_DISCOVERY_MODE:-}" = "static-peer" ]; then + if [ -n "${FASTDDS_STATIC_PEER_IP:-}" ]; then + cat > /tmp/fastdds_static_peer.xml < + + + + UdpTransport + UDPv4 + + + + + + UdpTransport + + false + + + + +
${FASTDDS_STATIC_PEER_IP}
+
+
+
+
+
+
+
+EOF + export FASTRTPS_DEFAULT_PROFILES_FILE="/tmp/fastdds_static_peer.xml" + fi + unset ROS_DISCOVERY_SERVER +elif [ -n "${DISCOVERY_SERVER_IP:-}" ]; then + discovery_server_list="${DISCOVERY_SERVER_IP}:${DISCOVERY_SERVER_PORT:-11811}" + if [ -n "${DISCOVERY_SERVER_BACKUP_IPS:-}" ]; then + IFS=',' read -r -a discovery_backup_ips <<< "${DISCOVERY_SERVER_BACKUP_IPS}" + for backup_ip in "${discovery_backup_ips[@]}"; do + if [ -n "${backup_ip}" ]; then + discovery_server_list="${discovery_server_list};${backup_ip}:${DISCOVERY_SERVER_PORT:-11811}" + fi + done + fi + export ROS_DISCOVERY_SERVER="${discovery_server_list}" +fi + # fix ROS2 jazzy setuptools deprecation warning https://robotics.stackexchange.com/questions/24230/setuptoolsdeprecationwarning-in-ros2-jazzy/24349#24349 PYTHONWARNINGS="ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" export PYTHONWARNINGS diff --git a/gcs/docker/docker-compose.yaml b/gcs/docker/docker-compose.yaml index b73f9bc8..2ce5165c 100644 --- a/gcs/docker/docker-compose.yaml +++ b/gcs/docker/docker-compose.yaml @@ -27,3 +27,34 @@ services: - $HOME/bags:/bags # TODO: Update rviz config location if needed - ../plot:/plot + + # =================================================================================================================== + # hitl alias for host-network GCS with discovery-server client defaults. + gcs-hitl: + profiles: !override + - hitl + extends: + file: ./docker-compose.yaml + service: gcs-real + depends_on: + - dds-discovery-hitl + environment: + - HITL_DISCOVERY_MODE=${HITL_DISCOVERY_MODE:-server} + - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} + - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} + - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} + - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} + + # =================================================================================================================== + # Fast DDS discovery server for scalable multi-host HITL discovery. + dds-discovery-hitl: + profiles: + - hitl + image: eprosima/fastdds:latest + network_mode: host + command: > + fastdds discovery + -i ${DISCOVERY_SERVER_ID:-0} + -l 0.0.0.0 + -p ${DISCOVERY_SERVER_PORT:-11811} + restart: unless-stopped diff --git a/robot/docker/.bashrc b/robot/docker/.bashrc index e4f21b84..14d29b2a 100755 --- a/robot/docker/.bashrc +++ b/robot/docker/.bashrc @@ -10,6 +10,55 @@ ROS2_WS_DIR="$HOME/AirStack/robot/ros_ws" # needed for communication with Isaac Sim ROS2 # https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#enabling-the-ros-bridge-extension export FASTRTPS_DEFAULT_PROFILES_FILE="$ROS2_WS_DIR/src/fastdds.xml" +# HITL DDS mode: +# - server (default): use Fast DDS Discovery Server via ROS_DISCOVERY_SERVER. +# - static-peer: generate a temporary Fast DDS profile with one initial peer. +if [ "${HITL_DISCOVERY_MODE:-}" = "static-peer" ]; then + if [ -n "${FASTDDS_STATIC_PEER_IP:-}" ]; then + cat > /tmp/fastdds_static_peer.xml < + + + + UdpTransport + UDPv4 + + + + + + UdpTransport + + false + + + + +
${FASTDDS_STATIC_PEER_IP}
+
+
+
+
+
+
+
+EOF + export FASTRTPS_DEFAULT_PROFILES_FILE="/tmp/fastdds_static_peer.xml" + fi + unset ROS_DISCOVERY_SERVER +elif [ -n "${DISCOVERY_SERVER_IP:-}" ]; then + discovery_server_list="${DISCOVERY_SERVER_IP}:${DISCOVERY_SERVER_PORT:-11811}" + if [ -n "${DISCOVERY_SERVER_BACKUP_IPS:-}" ]; then + IFS=',' read -r -a discovery_backup_ips <<< "${DISCOVERY_SERVER_BACKUP_IPS}" + for backup_ip in "${discovery_backup_ips[@]}"; do + if [ -n "${backup_ip}" ]; then + discovery_server_list="${discovery_server_list};${backup_ip}:${DISCOVERY_SERVER_PORT:-11811}" + fi + done + fi + export ROS_DISCOVERY_SERVER="${discovery_server_list}" +fi + # fix ROS2 jazzy setuptools deprecation warning https://robotics.stackexchange.com/questions/24230/setuptoolsdeprecationwarning-in-ros2-humble/24349#24349 PYTHONWARNINGS="ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" export PYTHONWARNINGS diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index f06693e1..0e46235a 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -51,6 +51,26 @@ services: count: 1 capabilities: [gpu] + # =================================================================================================================== + # hitl desktop: run full robot stack on a desktop host network for multi-machine HITL. + robot-desktop-hitl: + profiles: !override + - hitl + extends: + file: ./docker-compose.yaml + service: robot-desktop + network_mode: host + networks: !reset null + ports: !reset {} + deploy: !reset {} + environment: + - AUTONOMY_ROLE=full + - HITL_DISCOVERY_MODE=${HITL_DISCOVERY_MODE:-server} + - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} + - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} + - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} + - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} + # =================================================================================================================== # desktop_split: simulates onboard computer on desktop for debugging the split configuration. # Same image as robot-desktop; role=onboard means only lite autonomy modules launch. diff --git a/simulation/isaac-sim/docker/.bashrc b/simulation/isaac-sim/docker/.bashrc index 256a5221..76904177 100644 --- a/simulation/isaac-sim/docker/.bashrc +++ b/simulation/isaac-sim/docker/.bashrc @@ -127,6 +127,54 @@ source /isaac-sim/jazzy_ws/install/setup.bash # isaacsim ros2 package # needed for communication with Isaac Sim ROS2 # https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#enabling-the-ros-bridge-extension export FASTRTPS_DEFAULT_PROFILES_FILE="/isaac-sim/.ros/fastdds.xml" export RMW_IMPLEMENTATION=rmw_fastrtps_cpp +# HITL DDS mode: +# - server (default): use Fast DDS Discovery Server via ROS_DISCOVERY_SERVER. +# - static-peer: generate a temporary Fast DDS profile with one initial peer. +if [ "${HITL_DISCOVERY_MODE:-}" = "static-peer" ]; then + if [ -n "${FASTDDS_STATIC_PEER_IP:-}" ]; then + cat > /tmp/fastdds_static_peer.xml < + + + + UdpTransport + UDPv4 + + + + + + UdpTransport + + false + + + + +
${FASTDDS_STATIC_PEER_IP}
+
+
+
+
+
+
+
+EOF + export FASTRTPS_DEFAULT_PROFILES_FILE="/tmp/fastdds_static_peer.xml" + fi + unset ROS_DISCOVERY_SERVER +elif [ -n "${DISCOVERY_SERVER_IP:-}" ]; then + discovery_server_list="${DISCOVERY_SERVER_IP}:${DISCOVERY_SERVER_PORT:-11811}" + if [ -n "${DISCOVERY_SERVER_BACKUP_IPS:-}" ]; then + IFS=',' read -r -a discovery_backup_ips <<< "${DISCOVERY_SERVER_BACKUP_IPS}" + for backup_ip in "${discovery_backup_ips[@]}"; do + if [ -n "${backup_ip}" ]; then + discovery_server_list="${discovery_server_list};${backup_ip}:${DISCOVERY_SERVER_PORT:-11811}" + fi + done + fi + export ROS_DISCOVERY_SERVER="${discovery_server_list}" +fi # for local development, prevent conflict with other desktops export ROS_AUTOMATIC_DISCOVERY_RANGE=SUBNET diff --git a/simulation/isaac-sim/docker/docker-compose.yaml b/simulation/isaac-sim/docker/docker-compose.yaml index 39734fcc..8310800c 100644 --- a/simulation/isaac-sim/docker/docker-compose.yaml +++ b/simulation/isaac-sim/docker/docker-compose.yaml @@ -94,3 +94,9 @@ services: container_name: isaac-sim network_mode: host networks: !reset null + environment: + - HITL_DISCOVERY_MODE=${HITL_DISCOVERY_MODE:-server} + - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} + - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} + - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} + - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} From 4a5019d7316e9a781addeec5c86eaa1ee8b6d0cd Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 22:28:59 -0400 Subject: [PATCH 30/55] fixes to dds --- gcs/docker/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcs/docker/docker-compose.yaml b/gcs/docker/docker-compose.yaml index 2ce5165c..28063806 100644 --- a/gcs/docker/docker-compose.yaml +++ b/gcs/docker/docker-compose.yaml @@ -50,7 +50,7 @@ services: dds-discovery-hitl: profiles: - hitl - image: eprosima/fastdds:latest + image: eprosima/discovery-server:latest network_mode: host command: > fastdds discovery From c101593ecc637e3bfee6c56ab9cebb565f7f09fc Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 22:34:11 -0400 Subject: [PATCH 31/55] put dds hitl under gcs --- docs/gcs/docker/index.md | 2 +- docs/real_world/HITL/index.md | 4 ++-- gcs/docker/docker-compose.yaml | 16 ---------------- gcs/docker/gcs-base-docker-compose.yaml | 8 ++++++++ 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/docs/gcs/docker/index.md b/docs/gcs/docker/index.md index ae6db45d..6c76ee8a 100644 --- a/docs/gcs/docker/index.md +++ b/docs/gcs/docker/index.md @@ -56,7 +56,7 @@ For HITL (host networking + scalable DDS discovery), use: airstack up gcs-hitl ``` -`gcs-hitl` automatically starts `dds-discovery-hitl` via `depends_on`, so the discovery server always runs on the GCS host in HITL mode. +`gcs-hitl` starts the Fast DDS discovery server process inside the same container when `HITL_DISCOVERY_MODE=server`, so discovery is owned by the GCS host without a separate image pull. **What happens:** diff --git a/docs/real_world/HITL/index.md b/docs/real_world/HITL/index.md index f7f373d9..ecabf770 100644 --- a/docs/real_world/HITL/index.md +++ b/docs/real_world/HITL/index.md @@ -37,7 +37,7 @@ This starts: - Isaac Sim (`isaac-sim-hitl`) - GCS (`gcs-hitl`) -- Fast DDS discovery server (`dds-discovery-hitl`, auto-started as dependency of `gcs-hitl`) +- Fast DDS discovery server process inside the `gcs-hitl` container ### Robot Host @@ -109,6 +109,6 @@ This is usually not discovery failure. Check: ### Discovery server unreachable -- Verify `DISCOVERY_SERVER_IP` matches the host running `gcs-hitl` (which auto-starts `dds-discovery-hitl`) +- Verify `DISCOVERY_SERVER_IP` matches the host running `gcs-hitl` - Verify no port conflict on `11811` - Verify host firewall/network ACLs \ No newline at end of file diff --git a/gcs/docker/docker-compose.yaml b/gcs/docker/docker-compose.yaml index 28063806..98e283b1 100644 --- a/gcs/docker/docker-compose.yaml +++ b/gcs/docker/docker-compose.yaml @@ -36,25 +36,9 @@ services: extends: file: ./docker-compose.yaml service: gcs-real - depends_on: - - dds-discovery-hitl environment: - HITL_DISCOVERY_MODE=${HITL_DISCOVERY_MODE:-server} - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} - - # =================================================================================================================== - # Fast DDS discovery server for scalable multi-host HITL discovery. - dds-discovery-hitl: - profiles: - - hitl - image: eprosima/discovery-server:latest - network_mode: host - command: > - fastdds discovery - -i ${DISCOVERY_SERVER_ID:-0} - -l 0.0.0.0 - -p ${DISCOVERY_SERVER_PORT:-11811} - restart: unless-stopped diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index f9b8fd38..235b57e7 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -12,6 +12,14 @@ services: ssh service restart; python3 /root/AirStack/gcs/foxglove_extensions/install.sh; tmux new -d -s bringup; + if [ $$HITL_DISCOVERY_MODE = 'server' ]; then + if command -v fastdds >/dev/null 2>&1; then + tmux new-window -t bringup -n dds_discovery; + tmux send-keys -t bringup:dds_discovery 'fastdds discovery -i $${DISCOVERY_SERVER_ID:-0} -l 0.0.0.0 -p $${DISCOVERY_SERVER_PORT:-11811}' ENTER; + else + echo '[WARN] fastdds CLI not found in gcs container; discovery server not started.'; + fi; + fi; if [ $$AUTOLAUNCH = 'true' ]; then tmux send-keys -t bringup:0.0 'bws && sws; ros2 launch desktop_bringup gcs.launch.xml' ENTER; fi; From 89a572c4312cc06ad746ee653878e13e383f618a Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 23:00:03 -0400 Subject: [PATCH 32/55] fixes to robot hitl --- airstack.sh | 62 ++++++++++++++++++++++++- gcs/docker/gcs-base-docker-compose.yaml | 1 - robot/docker/.bashrc | 8 +++- robot/docker/docker-compose.yaml | 2 + 4 files changed, 69 insertions(+), 4 deletions(-) diff --git a/airstack.sh b/airstack.sh index b4c91df0..f5199643 100755 --- a/airstack.sh +++ b/airstack.sh @@ -119,6 +119,7 @@ function print_command_help { echo "Options:" echo " --build Build images before starting containers" echo " --recreate Recreate containers even if their configuration and image haven't changed" + echo " --robot_num N Set ROBOT_NAME/ROS_DOMAIN_ID for robot HITL containers (numeric only)" ;; images) echo "Usage: airstack images" @@ -702,9 +703,60 @@ function classify_compose_args { function cmd_up { check_docker + local robot_num="" + local filtered_args=() + local args=("$@") + local i=0 + while [ $i -lt ${#args[@]} ]; do + local arg="${args[$i]}" + if [ "$arg" = "--robot_num" ]; then + i=$((i+1)) + if [ $i -ge ${#args[@]} ]; then + log_error "--robot_num requires a value" + exit 1 + fi + robot_num="${args[$i]}" + if ! [[ "$robot_num" =~ ^[0-9]+$ ]]; then + log_error "--robot_num must be a number (received: $robot_num)" + exit 1 + fi + elif [[ "$arg" == --robot_num=* ]]; then + robot_num="${arg#--robot_num=}" + if ! [[ "$robot_num" =~ ^[0-9]+$ ]]; then + log_error "--robot_num must be a number (received: $robot_num)" + exit 1 + fi + else + filtered_args+=("$arg") + fi + i=$((i+1)) + done + local global_args=() local subcmd_args=() - classify_compose_args global_args subcmd_args "$@" + classify_compose_args global_args subcmd_args "${filtered_args[@]}" + + local service_count=0 + local target_is_hitl=false + for s in "${subcmd_args[@]}"; do + if [[ "$s" != -* ]]; then + service_count=$((service_count+1)) + if [ "$s" = "robot-desktop-hitl" ]; then + target_is_hitl=true + fi + fi + done + + if [ -n "$robot_num" ]; then + if [ "$service_count" -ne 1 ] || [ "$target_is_hitl" = false ]; then + log_error "--robot_num can only be used with exactly one service: robot-desktop-hitl" + log_error "Example: airstack up robot-desktop-hitl --robot_num 2" + exit 1 + fi + elif [ "$service_count" -eq 1 ] && [ "$target_is_hitl" = true ]; then + robot_num="1" + log_info "No --robot_num provided; defaulting to robot_num=1 for robot-desktop-hitl" + fi # Ensure only one simulator profile is active local p="${COMPOSE_PROFILES:-$(sed -n 's/^COMPOSE_PROFILES=//p' "$PROJECT_ROOT/.env" 2>/dev/null | tr -d '"')}" @@ -723,7 +775,13 @@ function cmd_up { xhost + &> /dev/null || true log_info "Starting services..." - run_docker_compose -f "$PROJECT_ROOT/docker-compose.yaml" "${global_args[@]}" up "${subcmd_args[@]}" -d + if [ -n "$robot_num" ]; then + local robot_name="robot_${robot_num}" + log_info "Using robot identity from --robot_num: ROBOT_NAME=${robot_name}, ROS_DOMAIN_ID=${robot_num}" + ROBOT_NAME="$robot_name" ROS_DOMAIN_ID="$robot_num" run_docker_compose -f "$PROJECT_ROOT/docker-compose.yaml" "${global_args[@]}" up "${subcmd_args[@]}" -d + else + run_docker_compose -f "$PROJECT_ROOT/docker-compose.yaml" "${global_args[@]}" up "${subcmd_args[@]}" -d + fi log_info "Services brought up successfully" } diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index 235b57e7..2291f0d3 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -63,7 +63,6 @@ services: - ../foxglove_extensions:/root/AirStack/gcs/foxglove_extensions:ro # autonomy stack stuff - ../../common/ros_packages:/root/AirStack/gcs/ros_ws/src/common:rw - - ../../robot/ros_ws/src/coordination:/root/AirStack/gcs/ros_ws/src/coordination:ro - ../../common/fastdds.xml:/root/AirStack/gcs/ros_ws/src/fastdds.xml - ../ros_ws:/root/AirStack/gcs/ros_ws:rw # bags diff --git a/robot/docker/.bashrc b/robot/docker/.bashrc index 14d29b2a..e64f0910 100755 --- a/robot/docker/.bashrc +++ b/robot/docker/.bashrc @@ -135,10 +135,16 @@ if [ -n "$name_to_map" ]; then script_path="$HOME/AirStack/robot/docker/robot_name_map/resolve_robot_name.py" script_dir=$(dirname "$script_path") + existing_robot_name=${ROBOT_NAME:-} existing_robot_domain_id=${ROS_DOMAIN_ID:-} eval "$($script_path $name_to_map $script_dir/$ROBOT_NAME_MAP_CONFIG_FILE)" - export ROBOT_NAME + # if ROBOT_NAME was already set in the environment, use it instead of mapped value + if [ -n "$existing_robot_name" ]; then + export ROBOT_NAME=$existing_robot_name + else + export ROBOT_NAME + fi # if ROS_DOMAIN_ID was already set in the environment, use that instead of the mapped value if [ -z "$existing_robot_domain_id" ]; then diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index 0e46235a..68c6280f 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -65,6 +65,8 @@ services: deploy: !reset {} environment: - AUTONOMY_ROLE=full + - ROBOT_NAME=${ROBOT_NAME:-robot_1} + - ROS_DOMAIN_ID=${ROS_DOMAIN_ID:-1} - HITL_DISCOVERY_MODE=${HITL_DISCOVERY_MODE:-server} - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} From bc67c9ae088020aa132a0832f574958d4b4149e7 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 23:10:16 -0400 Subject: [PATCH 33/55] syncing both computers --- gcs/docker/docker-compose.yaml | 1 + robot/docker/docker-compose.yaml | 1 + simulation/isaac-sim/docker/docker-compose.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/gcs/docker/docker-compose.yaml b/gcs/docker/docker-compose.yaml index 98e283b1..84ebea2d 100644 --- a/gcs/docker/docker-compose.yaml +++ b/gcs/docker/docker-compose.yaml @@ -41,4 +41,5 @@ services: - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} + - ROS_DISCOVERY_SERVER=${DISCOVERY_SERVER_IP:-192.168.233.25}:${DISCOVERY_SERVER_PORT:-11811} - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index 68c6280f..2cdb9fab 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -71,6 +71,7 @@ services: - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} + - ROS_DISCOVERY_SERVER=${DISCOVERY_SERVER_IP:-192.168.233.25}:${DISCOVERY_SERVER_PORT:-11811} - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} # =================================================================================================================== diff --git a/simulation/isaac-sim/docker/docker-compose.yaml b/simulation/isaac-sim/docker/docker-compose.yaml index 8310800c..c86a1fb5 100644 --- a/simulation/isaac-sim/docker/docker-compose.yaml +++ b/simulation/isaac-sim/docker/docker-compose.yaml @@ -99,4 +99,5 @@ services: - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} + - ROS_DISCOVERY_SERVER=${DISCOVERY_SERVER_IP:-192.168.233.25}:${DISCOVERY_SERVER_PORT:-11811} - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} From 6a9db210aa53389df170188e58d88e958d095a49 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 23:31:02 -0400 Subject: [PATCH 34/55] mimiced robot-l4t for dataflow --- gcs/docker/docker-compose.yaml | 7 ------- gcs/docker/gcs-base-docker-compose.yaml | 2 +- robot/docker/docker-compose.yaml | 6 ------ simulation/isaac-sim/docker/docker-compose.yaml | 7 ------- 4 files changed, 1 insertion(+), 21 deletions(-) diff --git a/gcs/docker/docker-compose.yaml b/gcs/docker/docker-compose.yaml index 84ebea2d..88f5c821 100644 --- a/gcs/docker/docker-compose.yaml +++ b/gcs/docker/docker-compose.yaml @@ -36,10 +36,3 @@ services: extends: file: ./docker-compose.yaml service: gcs-real - environment: - - HITL_DISCOVERY_MODE=${HITL_DISCOVERY_MODE:-server} - - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} - - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} - - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} - - ROS_DISCOVERY_SERVER=${DISCOVERY_SERVER_IP:-192.168.233.25}:${DISCOVERY_SERVER_PORT:-11811} - - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index 2291f0d3..806b97c9 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -12,7 +12,7 @@ services: ssh service restart; python3 /root/AirStack/gcs/foxglove_extensions/install.sh; tmux new -d -s bringup; - if [ $$HITL_DISCOVERY_MODE = 'server' ]; then + if [ \"$${HITL_DISCOVERY_MODE:-}\" = 'server' ]; then if command -v fastdds >/dev/null 2>&1; then tmux new-window -t bringup -n dds_discovery; tmux send-keys -t bringup:dds_discovery 'fastdds discovery -i $${DISCOVERY_SERVER_ID:-0} -l 0.0.0.0 -p $${DISCOVERY_SERVER_PORT:-11811}' ENTER; diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index 2cdb9fab..7a3e554a 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -67,12 +67,6 @@ services: - AUTONOMY_ROLE=full - ROBOT_NAME=${ROBOT_NAME:-robot_1} - ROS_DOMAIN_ID=${ROS_DOMAIN_ID:-1} - - HITL_DISCOVERY_MODE=${HITL_DISCOVERY_MODE:-server} - - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} - - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} - - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} - - ROS_DISCOVERY_SERVER=${DISCOVERY_SERVER_IP:-192.168.233.25}:${DISCOVERY_SERVER_PORT:-11811} - - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} # =================================================================================================================== # desktop_split: simulates onboard computer on desktop for debugging the split configuration. diff --git a/simulation/isaac-sim/docker/docker-compose.yaml b/simulation/isaac-sim/docker/docker-compose.yaml index c86a1fb5..39734fcc 100644 --- a/simulation/isaac-sim/docker/docker-compose.yaml +++ b/simulation/isaac-sim/docker/docker-compose.yaml @@ -94,10 +94,3 @@ services: container_name: isaac-sim network_mode: host networks: !reset null - environment: - - HITL_DISCOVERY_MODE=${HITL_DISCOVERY_MODE:-server} - - DISCOVERY_SERVER_IP=${DISCOVERY_SERVER_IP:-192.168.233.25} - - DISCOVERY_SERVER_PORT=${DISCOVERY_SERVER_PORT:-11811} - - DISCOVERY_SERVER_ID=${DISCOVERY_SERVER_ID:-0} - - ROS_DISCOVERY_SERVER=${DISCOVERY_SERVER_IP:-192.168.233.25}:${DISCOVERY_SERVER_PORT:-11811} - - FASTDDS_STATIC_PEER_IP=${FASTDDS_STATIC_PEER_IP:-192.168.233.25} From e78f29b3ca91d7103a19098e9f924b3b771fdbbe Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 13 Apr 2026 23:50:08 -0400 Subject: [PATCH 35/55] fixed path to ddsrouter_yaml --- .../coordination_bringup/launch/gcs_gossip_bridge.launch.py | 6 ++++++ .../launch/interpolate_dds_router.launch.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/common/ros_packages/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py b/common/ros_packages/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py index 091a13f4..499a217b 100644 --- a/common/ros_packages/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py +++ b/common/ros_packages/coordination/coordination_bringup/launch/gcs_gossip_bridge.launch.py @@ -15,6 +15,12 @@ def generate_launch_description(): return LaunchDescription([ ExecuteProcess( cmd=['ddsrouter', '-c', config], + env={ + **os.environ, + # ddsrouter runtime libs are installed under /usr/local/lib. + # Scope this path to ddsrouter to avoid changing ROS 2 RMW resolution. + 'LD_LIBRARY_PATH': '/usr/local/lib:' + os.environ.get('LD_LIBRARY_PATH', ''), + }, output='screen', name='gcs_gossip_dds_router', ), diff --git a/robot/ros_ws/src/autonomy_bringup/launch/interpolate_dds_router.launch.py b/robot/ros_ws/src/autonomy_bringup/launch/interpolate_dds_router.launch.py index 0f235c55..13885e1a 100644 --- a/robot/ros_ws/src/autonomy_bringup/launch/interpolate_dds_router.launch.py +++ b/robot/ros_ws/src/autonomy_bringup/launch/interpolate_dds_router.launch.py @@ -250,6 +250,12 @@ def replace_var(match): LogInfo(msg=f"[dds_router] Final interpolated config:\n{content}"), ExecuteProcess( cmd=['ddsrouter', '-c', tmp.name], + env={ + **os.environ, + # ddsrouter is installed under /usr/local and needs its runtime libs. + # Scope this path to ddsrouter only to avoid perturbing ROS 2 RMW loading. + 'LD_LIBRARY_PATH': '/usr/local/lib:' + os.environ.get('LD_LIBRARY_PATH', ''), + }, output='screen', ), ] From 8f06837e4d5fd87c1d00599a4e46149f3710f85e Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Tue, 14 Apr 2026 15:19:45 -0400 Subject: [PATCH 36/55] fixed dds server --- robot/docker/docker-compose.yaml | 3 +++ simulation/isaac-sim/launch_scripts/two_drone_fire.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index 7a3e554a..fc0bf1e2 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -67,6 +67,9 @@ services: - AUTONOMY_ROLE=full - ROBOT_NAME=${ROBOT_NAME:-robot_1} - ROS_DOMAIN_ID=${ROS_DOMAIN_ID:-1} + # HITL uses host networking; default bridge IP (172.31.0.200) is not reachable here. + # Point SIM_IP at the host running Isaac Sim (override in .env as needed). + - SIM_IP=${SIM_IP:-192.168.233.25} # =================================================================================================================== # desktop_split: simulates onboard computer on desktop for debugging the split configuration. diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index 1af07ed8..a22a4071 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -178,6 +178,12 @@ def __init__(self): robot_name=f"robot_{i}", vehicle_id=i, domain_id=i, + # Match robot interface.launch.py defaults: + # FCU_URL = udp://:<14540+domain>@:<14580+domain> + # so each vehicle listens on 14580 + vehicle_id. + connection_type="udpin", + connection_ip="0.0.0.0", + connection_baseport=14580, usd_file=DRONE_USD, init_pos=pos, init_orient=cfg["orient"], From c654bc317642e2894c5cd92cd53c838914fe1f95 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Tue, 14 Apr 2026 17:01:46 -0400 Subject: [PATCH 37/55] fixed two_drone_fire --- simulation/isaac-sim/launch_scripts/two_drone_fire.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index a22a4071..1af07ed8 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -178,12 +178,6 @@ def __init__(self): robot_name=f"robot_{i}", vehicle_id=i, domain_id=i, - # Match robot interface.launch.py defaults: - # FCU_URL = udp://:<14540+domain>@:<14580+domain> - # so each vehicle listens on 14580 + vehicle_id. - connection_type="udpin", - connection_ip="0.0.0.0", - connection_baseport=14580, usd_file=DRONE_USD, init_pos=pos, init_orient=cfg["orient"], From 66cf6dc74712a74497ebd703c548d441401b758e Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 15 Apr 2026 15:35:01 -0400 Subject: [PATCH 38/55] rayfronts is now a ros package --- .gitmodules | 4 ++ common/rayfronts | 1 + .../dataset/ros2isaacsim.yaml | 36 +++++++++++ common/rayfronts_configs/low_memory.yaml | 37 +++++++++++ robot/docker/Dockerfile.robot | 63 ++++++++++++++++--- robot/docker/docker-compose.yaml | 6 +- .../launch/rayfronts.launch.xml | 20 ++++++ 7 files changed, 158 insertions(+), 9 deletions(-) create mode 160000 common/rayfronts create mode 100644 common/rayfronts_configs/dataset/ros2isaacsim.yaml create mode 100644 common/rayfronts_configs/low_memory.yaml create mode 100644 robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml diff --git a/.gitmodules b/.gitmodules index 0b29f348..aadea5e4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,7 @@ path = simulation/isaac-sim/extensions/PegasusSimulator url = https://github.com/castacks/PegasusSimulator-AirStack-Integration.git +[submodule "common/rayfronts"] + path = common/rayfronts + url = https://github.com/RayFronts/RayFronts.git + branch = modalai diff --git a/common/rayfronts b/common/rayfronts new file mode 160000 index 00000000..b2bbdfde --- /dev/null +++ b/common/rayfronts @@ -0,0 +1 @@ +Subproject commit b2bbdfde73e101bc1243da81ec23a5b3812b31e7 diff --git a/common/rayfronts_configs/dataset/ros2isaacsim.yaml b/common/rayfronts_configs/dataset/ros2isaacsim.yaml new file mode 100644 index 00000000..ee7b1dbd --- /dev/null +++ b/common/rayfronts_configs/dataset/ros2isaacsim.yaml @@ -0,0 +1,36 @@ +defaults: + - base_dataset + +_target_: rayfronts.datasets.Ros2Subscriber + +# Topic containing RGB images of type sensor_msgs/msg/Image +rgb_topic: "/robot_1/sensors/front_stereo/left/image_rect" + +# Topic containing odometry of type nav_msgs/msg/Odometry +pose_topic: "/robot_1/odometry_conversion/odometry" + +# Message type for the pose topic: "PoseStamped" or "Odometry" +pose_msg_type: "Odometry" + +# Topic containing depth images of type . +depth_topic: "/robot_1/sensors/front_stereo/left/depth_ground_truth" + +# Topic containing intrinsics information from messages +# of type sensor_msgs/msg/CameraInfo. Will be used at initialization only. +intrinsics_topic: "/robot_1/sensors/front_stereo/left/camera_info" + +# Path to json file containing intrinsics with the following keys +# fx, fy, cx, cy, w, h. This will be prioritized over the intrinsics topic. +intrinsics_file: null + +# (Optional) Topic containing confidence in depth values. +# Message type: sensor_msgs/msg/Image. +confidence_topic: null + +# Topic containing point cloud of type sensor_msgs/msg/PointCloud. +# this is an alternative inefficient depth source to disparity. +point_cloud_topic: null + +# A string of 3 letters describing the camera coordinate system in +# r/l u/d f/b in any order. (e.g, rdf, flu, rfu) +src_coord_system: "flu" \ No newline at end of file diff --git a/common/rayfronts_configs/low_memory.yaml b/common/rayfronts_configs/low_memory.yaml new file mode 100644 index 00000000..8644e829 --- /dev/null +++ b/common/rayfronts_configs/low_memory.yaml @@ -0,0 +1,37 @@ +defaults: + - default + - override mapping: semantic_ray_frontiers_map + - override encoder: naradio + - override vis: ros + - override messaging_service: ros + - _self_ + +compile: False +amp: True +depth_limit: 20.0 + +encoder: + model_version: radio_v2.5-b + lang_model: siglip + +dataset: + rgb_resolution: [448, 448] #[480, 304] + depth_resolution: [448, 448] #[480, 304] + frame_skip: 5 + +mapping: + vox_size: 0.50 + #max_pts_per_frame: 300 #-1 + #max_empty_pts_per_frame: 20000 + max_rays_per_frame: 50 #500 + #fronti_subsampling: 8 + #fronti_subsampling_min_fronti: 20 + #ray_tracing: False + vox_accum_period: 2 #4 + ray_accum_period: 4 #4 + ray_accum_phase: 2 #2 + #ray_erosion: 0 + #global_encoding: True + + + diff --git a/robot/docker/Dockerfile.robot b/robot/docker/Dockerfile.robot index 992442ce..864cae50 100644 --- a/robot/docker/Dockerfile.robot +++ b/robot/docker/Dockerfile.robot @@ -1,5 +1,7 @@ # either ubuntu:24.04 or l4t. ubuntu:24.04 is default ARG BASE_IMAGE +ARG ENABLE_RAYFRONTS=false +ARG FINAL_STAGE=runtime # ============================================================ # Stage 1 — builder: compile/download everything # ============================================================ @@ -12,6 +14,7 @@ ARG UPDATE_FLAGS="-o Acquire::AllowInsecureRepositories=true -o Acquire::AllowDo ARG INSTALL_FLAGS="-o APT::Get::AllowUnauthenticated=true" ARG SKIP_MACVO=false ARG SKIP_TENSORRT=false +ARG ENABLE_RAYFRONTS # from https://github.com/athackst/dockerfiles/blob/main/ros2/jazzy.Dockerfile ENV DEBIAN_FRONTEND=noninteractive @@ -116,7 +119,7 @@ RUN if echo "$BASE_IMAGE" | grep -qE "(nvidia|l4t)" && [ "${SKIP_TENSORRT}" != " # Note: numpy>=1.26 required for Python 3.12 compatibility # Using --ignore-installed to avoid conflicts with system packages RUN pip3 install --break-system-packages --ignore-installed \ - empy \ + empy==3.3.4 \ future \ lxml \ matplotlib==3.8.4 \ @@ -155,11 +158,15 @@ RUN pip3 install --break-system-packages --ignore-installed \ # Install MACVO Python dependencies (skipped if SKIP_MACVO=true) RUN if [ "${SKIP_MACVO}" != "true" ]; then \ - pip3 install --break-system-packages \ - torch \ - torchvision \ - onnx \ - tensorrt; \ + if [ "${ENABLE_RAYFRONTS}" = "true" ]; then \ + pip3 install --break-system-packages \ + --index-url https://download.pytorch.org/whl/cu130 \ + torch==2.9.1 torchvision torchaudio && \ + pip3 install --break-system-packages onnx tensorrt; \ + else \ + pip3 install --break-system-packages \ + torch torchvision onnx tensorrt; \ + fi; \ fi # Downloading model weights for MACVO (skipped if SKIP_MACVO=true) @@ -175,8 +182,7 @@ RUN if [ "${SKIP_MACVO}" != "true" ]; then \ # Fixes for MACVO Integration (skipped if SKIP_MACVO=true) RUN if [ "${SKIP_MACVO}" != "true" ]; then \ - pip install --break-system-packages huggingface_hub && \ - pip uninstall --break-system-packages matplotlib -y; \ + pip install --break-system-packages huggingface_hub; \ fi # TMux config @@ -196,6 +202,36 @@ RUN mkdir -p /tmp/DDS-Router/src \ && colcon build --merge-install --install-base /usr/local \ && rm -rf /tmp/DDS-Router +# RayFronts deps (builder-stage, gated on ENABLE_RAYFRONTS=true) +RUN if [ "${ENABLE_RAYFRONTS}" = "true" ]; then \ + pip3 install --break-system-packages \ + hydra-core open_clip_torch "transformers<5" \ + git+https://github.com/facebookresearch/segment-anything.git \ + ftfy regex nanobind pandas protobuf \ + "scipy==1.15.2" "scikit-image" "numpy<2" && \ + pip3 install --break-system-packages \ + torch-scatter==2.1.2 && \ + pip3 install --break-system-packages --force-reinstall --no-deps \ + setuptools==79.0.1; \ + fi + +# Patched OpenVDB (OasisArtisan fork) — exposes Int8Grid to Python bindings +RUN if [ "${ENABLE_RAYFRONTS}" = "true" ]; then \ + apt-get ${UPDATE_FLAGS} update && apt-get ${INSTALL_FLAGS} install -y --no-install-recommends \ + libboost-iostreams-dev libtbb-dev libblosc-dev python3-dev && \ + git clone --depth 1 https://github.com/OasisArtisan/openvdb /tmp/openvdb && \ + cmake -S /tmp/openvdb -B /tmp/openvdb/build \ + -DCMAKE_INSTALL_PREFIX=/usr/local \ + -DOPENVDB_BUILD_PYTHON_MODULE=ON \ + -DOPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON \ + -DUSE_NUMPY=ON \ + -Dnanobind_DIR=$(python3 -c "import nanobind,os;print(os.path.join(os.path.dirname(nanobind.__file__),'cmake'))") && \ + cmake --build /tmp/openvdb/build -j4 && \ + cmake --install /tmp/openvdb/build && \ + rm -rf /tmp/openvdb && \ + rm -rf /var/lib/apt/lists/*; \ + fi + # Cleanup RUN apt autoremove -y \ && apt clean -y \ @@ -351,3 +387,14 @@ EXPOSE 22 WORKDIR /root/AirStack/robot/ros_ws + +# runtime + compiled RayFronts (only reached when FINAL_STAGE=runtime-rayfronts) +FROM runtime AS runtime-rayfronts +COPY ./common/rayfronts /opt/rayfronts +COPY ./common/rayfronts_configs/ /opt/rayfronts/rayfronts/configs/ +RUN apt-get update && apt-get install -y --no-install-recommends \ + cmake build-essential python3-dev \ + && cd /opt/rayfronts && CMAKE_INSTALL_PREFIX=/usr/local ./compile.sh \ + && rm -rf /var/lib/apt/lists/* + +FROM ${FINAL_STAGE} AS final diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index fc0bf1e2..487e061e 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -11,9 +11,13 @@ services: service: robot_base image: &desktop_image ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_robot-x86-64_${DOCKER_IMAGE_BUILD_MODE} build: - dockerfile: ./Dockerfile.robot + # context at repo root so runtime-rayfronts stage can COPY ./common/rayfronts + context: ../../ + dockerfile: robot/docker/Dockerfile.robot args: BASE_IMAGE: nvidia/cuda:13.0.2-base-ubuntu24.04 + ENABLE_RAYFRONTS: "true" + FINAL_STAGE: runtime-rayfronts tags: - *desktop_image # we use tmux sd-keys so that the session stays alive diff --git a/robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml b/robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml new file mode 100644 index 00000000..1492161b --- /dev/null +++ b/robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml @@ -0,0 +1,20 @@ + + + + + + + + + + From 715938382ac005f7641222ab36f7cc1e09d83aab Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Thu, 16 Apr 2026 20:23:12 -0400 Subject: [PATCH 39/55] added feedback, it's sending success too early though --- .env | 2 +- .../desktop_bringup/rviz/robot.rviz | 147 +++++- .../rviz/rviz_tasks_panel/src/tasks_panel.cpp | 8 +- .../global_bringup/launch/global.launch.xml | 11 +- .../raven_nav/raven_nav/behavior_manager.py | 37 +- .../raven_nav/behaviors/voxel_behavior.py | 254 ++++++++- .../raven_nav/raven_nav/raven_nav_node.py | 162 +++--- .../launch/semantic_search_task.launch.xml | 9 + .../planners/semantic_search_task/package.xml | 26 + .../resource/semantic_search_task | 0 .../semantic_search_task/__init__.py | 0 .../semantic_search_task/node.py | 489 ++++++++++++++++++ .../planners/semantic_search_task/setup.cfg | 4 + .../planners/semantic_search_task/setup.py | 26 + .../launch/rayfronts.launch.xml | 3 +- .../launch_scripts/two_drone_fire.py | 2 +- 16 files changed, 1049 insertions(+), 131 deletions(-) create mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/launch/semantic_search_task.launch.xml create mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/package.xml create mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/resource/semantic_search_task create mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/__init__.py create mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py create mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/setup.cfg create mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/setup.py diff --git a/.env b/.env index 9de69a90..a208d5f1 100644 --- a/.env +++ b/.env @@ -24,7 +24,7 @@ COMPOSE_PROFILES="desktop, isaac-sim" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="2" # Number of robot containers to launch. +NUM_ROBOTS="1" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== SIMULATION ===================== diff --git a/common/ros_packages/desktop_bringup/rviz/robot.rviz b/common/ros_packages/desktop_bringup/rviz/robot.rviz index 17abc5bf..00e2f38e 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot.rviz @@ -14,7 +14,7 @@ Panels: - /Local1/DROAN1/Global Plan Vis1 - /Global1/Global Plan1 Splitter Ratio: 0.5792563557624817 - Tree Height: 693 + Tree Height: 622 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties @@ -30,10 +30,10 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: Foreground Background Cloud + SyncSource: StereoImageProc Disparity - Class: rviz_behavior_tree_panel::BehaviorTreePanel Name: BehaviorTreePanel - topic: /robot_1/behavior/behavior_tree_graphviz + topic: /robot_1/behavior_tree_graphviz zoom_factor: 0.1919851303100586 - Class: rviz_tasks_panel::TasksPanel Name: TasksPanel @@ -44,7 +44,7 @@ Panels: executor_4: "" executor_5: "" executor_6: "" - executor_7: "" + executor_7: /robot_1/tasks/semantic_search executor_8: /robot_1/tasks/fixed_trajectory robot: /robot_1 Visualization Manager: @@ -472,7 +472,7 @@ Visualization Manager: Reliability Policy: Reliable Value: macvo/odometry Value: true - Enabled: true + Enabled: false Name: Perception - Class: rviz_common/Group Displays: @@ -482,8 +482,7 @@ Visualization Manager: Enabled: true Name: Trimmed Global Plan for DROAN Namespaces: - global_plan: true - global_plan_extra_text: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -666,8 +665,7 @@ Visualization Manager: Enabled: true Name: Global Plan Vis Namespaces: - global_plan: true - global_plan_extra_text: true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -731,10 +729,10 @@ Visualization Manager: - Class: rviz_common/Group Displays: - Class: rviz_default_plugins/Marker - Enabled: true + Enabled: false Name: VDB Mapping Marker Namespaces: - "": true + {} Topic: Depth: 5 Durability Policy: Volatile @@ -742,7 +740,7 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: vdb_mapping/vdb_map_visualization - Value: true + Value: false - Alpha: 0.800000011920929 Buffer Length: 1 Class: rviz_default_plugins/Path @@ -773,6 +771,117 @@ Visualization Manager: Value: true Enabled: true Name: Global + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: "" + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: rays msg_serv + Position Transformer: "" + Selectable: true + Size (Pixels): 3 + Size (m): 0.5 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/rayfronts/msg_serv/rays_sim/q0_red_building + Use Fixed Frame: true + Use rainbow: true + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: filtered rays + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/filtered_rays + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: "" + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: voxel msg_serv + Position Transformer: "" + Selectable: true + Size (Pixels): 3 + Size (m): 0.5 + Style: Boxes + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/rayfronts/msg_serv/voxels_sim/q0_red_building + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: "" + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: voxel_rgb + Position Transformer: "" + Selectable: true + Size (Pixels): 3 + Size (m): 0.5 + Style: Boxes + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/rayfronts/voxel_rgb + Use Fixed Frame: true + Use rainbow: true + Value: true Enabled: true Global Options: Background Color: 48; 48; 48 @@ -836,16 +945,16 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 37.564666748046875 + Distance: 53.187862396240234 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 25.773038864135742 - Y: -5.22532320022583 - Z: -18.542400360107422 + X: 25.142688751220703 + Y: -7.090958595275879 + Z: -18.70828628540039 Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false @@ -865,12 +974,12 @@ Window Geometry: collapsed: false Front Right RGB: collapsed: false - Height: 1376 + Height: 1305 Hide Left Dock: false Hide Right Dock: false MACVO Disparity: collapsed: false - QMainWindow State: 000000ff00000000fd000000040000000000000201000002f0fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000078000002f0000000c700fffffffb0000001e0057006100790070006f0069006e007400200050006c007500670069006e0100000205000001630000000000000000fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000002cb0000009d0000000000000000fb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca00000000000000000000000100000109000002f0fc0200000007fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f007000650072007400690065007301000000780000008b0000005c00fffffffb0000000a0056006900650077007301000001090000025f000000a000fffffffb0000001e0054006f006f006c002000500072006f0070006500720074006900650073010000028b000000dd0000000000000000fb0000001e004d004100430056004f0020004400690073007000610072006900740079000000028d000001410000001600fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000009ba00000037fc0100000002fb0000000800540069006d00650100000000000009ba0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009ba000001d7fc0100000008fb00000014005400610073006b007300500061006e0065006c010000000000000489000002c500fffffffb0000001e00460072006f006e00740020005200690067006800740020005200470042010000048f000002a10000009400fffffffb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000736000002840000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006f6000002c40000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000714000002a60000000000000000fb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006e2000002d80000000000000000fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c00000006dc000002de0000023300fffffffb0000000800540069006d00650100000000000004500000000000000000000006a4000002f000000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd000000040000000000000201000002a9fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000078000002a9000000c700fffffffb0000001e0057006100790070006f0069006e007400200050006c007500670069006e0100000205000001630000000000000000fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000002cb0000009d0000000000000000fb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca00000000000000000000000100000109000002a9fc0200000007fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f007000650072007400690065007301000000780000007e0000005c00fffffffb0000000a0056006900650077007301000000fc00000225000000a000fffffffb0000001e0054006f006f006c002000500072006f0070006500720074006900650073010000028b000000dd0000000000000000fb0000001e004d004100430056004f0020004400690073007000610072006900740079000000028d000001410000001600fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000009ba00000037fc0100000002fb0000000800540069006d00650100000000000009ba0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009ba000001d7fc0100000008fb00000014005400610073006b007300500061006e0065006c010000000000000489000002a400fffffffb0000001e00460072006f006e00740020005200690067006800740020005200470042010000048f000002a10000009400fffffffb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000736000002840000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006f6000002c40000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000714000002a60000000000000000fb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006e2000002d80000000000000000fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c00000006dc000002de0000023300fffffffb0000000800540069006d00650100000000000004500000000000000000000006a4000002a900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false TasksPanel: @@ -883,4 +992,4 @@ Window Geometry: collapsed: false Width: 2490 X: 1990 - Y: 27 + Y: 32 diff --git a/common/ros_packages/gui/rviz/rviz_tasks_panel/src/tasks_panel.cpp b/common/ros_packages/gui/rviz/rviz_tasks_panel/src/tasks_panel.cpp index aed06bc4..632ba8a0 100644 --- a/common/ros_packages/gui/rviz/rviz_tasks_panel/src/tasks_panel.cpp +++ b/common/ros_packages/gui/rviz/rviz_tasks_panel/src/tasks_panel.cpp @@ -1016,13 +1016,7 @@ void TasksPanel::onExecuteClicked() goal.confidence_threshold = getFloat(7, "confidence_threshold"); doSendGoal(7, goal, [](const auto & fb) { - return QString("status: %1 | progress: %2 | best_conf: %3 | pos: (%4, %5, %6)") - .arg(QString::fromStdString(fb.status)) - .arg(fb.progress, 0, 'f', 2) - .arg(fb.best_confidence_so_far, 0, 'f', 3) - .arg(fb.current_position.x, 0, 'f', 1) - .arg(fb.current_position.y, 0, 'f', 1) - .arg(fb.current_position.z, 0, 'f', 1); + return QString::fromStdString(fb.status); }, [](const auto & r) { return QString("success: %1\nmessage: %2\nconfidence: %3") diff --git a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml index 490570ff..628af479 100644 --- a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml +++ b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml @@ -6,15 +6,6 @@ - - - - - - - - - + diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py index 38ec3606..1493a241 100644 --- a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py @@ -1,5 +1,6 @@ from raven_nav.behaviors.frontier_behavior import FrontierBehavior from raven_nav.behaviors.ray_behavior import RayBehavior +from raven_nav.behaviors.voxel_behavior import VoxelBehavior class BehaviorManager: @@ -7,15 +8,25 @@ def __init__(self, get_clock, publisher_dict, score_threshold=0.95): self.behavior_mode = 'Frontier-based' self.get_clock = get_clock self.frontier_behavior = FrontierBehavior(self.get_clock) - current_target_publisher = publisher_dict.get('current_target') - self.ray_behavior = RayBehavior(self.get_clock, current_target_publisher, + current_target_pub = publisher_dict.get('current_target') + self.ray_behavior = RayBehavior(self.get_clock, current_target_pub, score_threshold=score_threshold) - self.behaviors = [self.ray_behavior, self.frontier_behavior] + self.voxel_behavior = VoxelBehavior(self.get_clock) + # Priority: Voxel (navigate to confirmed detections) > Ray > Frontier + self.behaviors = [self.voxel_behavior, self.ray_behavior, self.frontier_behavior] + + @property + def completed_queries(self) -> set: + return self.voxel_behavior.completed_queries def mode_select(self, ray_origins, ray_dirs, ray_scores, - query_labels, target_objects): + query_labels, target_objects, + vox_xyz=None, vox_scores=None): for behavior in self.behaviors: - if behavior.name == 'Ray-based': + if behavior.name == 'Voxel-based': + # Voxel-based navigation disabled — skip + continue + elif behavior.name == 'Ray-based': if behavior.condition_check(ray_origins, ray_dirs, ray_scores, query_labels, target_objects): self.behavior_mode = behavior.name @@ -27,13 +38,17 @@ def mode_select(self, ray_origins, ray_dirs, ray_scores, def behavior_execute(self, behavior_mode, frontiers, cur_pose_np, waypoint_locked, target_waypoint, target_waypoint2, - publisher_dict): - if behavior_mode == 'Frontier-based': - return self.frontier_behavior.execute( - frontiers, cur_pose_np, waypoint_locked, - target_waypoint, target_waypoint2, publisher_dict) + publisher_dict, + vox_xyz=None, vox_scores=None, query_labels=None): + if behavior_mode == 'Voxel-based': + return self.voxel_behavior.execute( + vox_xyz, vox_scores, query_labels, cur_pose_np, + waypoint_locked, target_waypoint, target_waypoint2, publisher_dict) elif behavior_mode == 'Ray-based': return self.ray_behavior.execute( cur_pose_np, waypoint_locked, target_waypoint, target_waypoint2, publisher_dict) - return waypoint_locked, target_waypoint, target_waypoint2 + else: + return self.frontier_behavior.execute( + frontiers, cur_pose_np, waypoint_locked, + target_waypoint, target_waypoint2, publisher_dict) diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py index 9b090754..ec21ab00 100644 --- a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py @@ -1,15 +1,239 @@ -# Voxel-based behavior - placeholder for future implementation. -# Enable once voxel behavior strategy is decided. - -# class VoxelBehavior: -# def __init__(self, get_clock): -# self.get_clock = get_clock -# self.name = 'Voxel-based' -# -# def condition_check(self, voxels, voxel_scores, target_labels, target_objects): -# return False -# -# def execute(self, voxels, voxel_scores, target_labels, target_objects, -# cur_pose_np, waypoint_locked, target_waypoint, target_waypoint2, -# publisher_dict): -# return waypoint_locked, target_waypoint, target_waypoint2 +import time + +import numpy as np +import scipy.ndimage +from nav_msgs.msg import Path +from geometry_msgs.msg import PoseStamped +from visualization_msgs.msg import Marker, MarkerArray +from std_msgs.msg import ColorRGBA + + +class VoxelBehavior: + def __init__(self, get_clock): + self.get_clock = get_clock + self.name = 'Voxel-based' + # {cluster_id: [cx, cy, cz, sx, sy, sz]} + self.target_voxel_clusters = {} + # {cluster_id: query_label} — which query each cluster belongs to + self.cluster_query_map = {} + self.visited_clusters = [] # list of [cx,cy,cz,sx,sy,sz] + self.unvisited_clusters = [] # list of (cluster_id, [cx,cy,cz,sx,sy,sz]) + self.completed_queries = set() + self.prev_voxel_cluster_ids = 0 + + def condition_check(self, vox_xyz, vox_scores, query_labels, target_objects): + """ + vox_xyz: np.ndarray (N, 3) — voxel world positions + vox_scores: np.ndarray (N, Q) — softmax similarity per query + query_labels: list[str] — ordered label for each sim column + target_objects: list[str] — which labels we're searching for + """ + if vox_xyz is None or vox_scores is None or not target_objects: + return False + if len(vox_xyz) == 0: + return False + + label_indices = [ + query_labels.index(t) for t in target_objects + if t in query_labels + ] + if not label_indices: + return False + + threshold = 0.98 + relevant_scores = vox_scores[:, label_indices] # (N, len(label_indices)) + mask = (relevant_scores > threshold).any(axis=1) + indices = np.where(mask)[0] + + if len(indices) == 0: + return False + + # Cluster the high-confidence voxels with connected-component labeling + filtered_vox = np.round(vox_xyz[indices], 3) + vox_size = 0.5 + + min_coords = filtered_vox.min(axis=0) + norm_coords = ((filtered_vox - min_coords) / vox_size).astype(int) + max_coords = norm_coords.max(axis=0) + 1 + occupancy = np.zeros(tuple(max_coords.tolist()), dtype=np.uint8) + for x, y, z in norm_coords: + occupancy[x, y, z] = 1 + + structure = np.ones((3, 3, 3), dtype=np.uint8) + labeled, num_components = scipy.ndimage.label(occupancy, structure=structure) + + label_ids = np.array([labeled[x, y, z] for x, y, z in norm_coords]) + + self.target_voxel_clusters.clear() + self.cluster_query_map.clear() + vox_cluster_count = 0 + + for label_val in range(1, num_components + 1): + idx = np.where(label_ids == label_val)[0] + if len(idx) < 30: + continue + + coords = norm_coords[idx] + min_voxel = coords.min(axis=0) + max_voxel = coords.max(axis=0) + min_world = min_voxel * vox_size + min_coords + max_world = (max_voxel + 1) * vox_size + min_coords + center = (min_world + max_world) / 2 + size = max_world - min_world + + # Data is already in FLU (raven_nav converts before passing) + cx, cy, cz = center[0], center[1], center[2] + sx, sy, sz = size[0], size[1], size[2] + + # Tag cluster with best-scoring query label for this cluster + cluster_scores = relevant_scores[idx] # (cluster_size, len(label_indices)) + best_local = int(cluster_scores.mean(axis=0).argmax()) + best_label = target_objects[best_local] if best_local < len(target_objects) else target_objects[0] + + self.target_voxel_clusters[vox_cluster_count] = [cx, cy, cz, sx, sy, sz] + self.cluster_query_map[vox_cluster_count] = best_label + vox_cluster_count += 1 + + self.unvisited_clusters = [ + (idx, cluster) for idx, cluster in self.target_voxel_clusters.items() + if not self._is_near_visited( + np.array(cluster[:3]), np.array(cluster[3:6]), self.visited_clusters) + ] + + return len(self.unvisited_clusters) > 0 + + def execute(self, vox_xyz, vox_scores, query_labels, cur_pose_np, + waypoint_locked, target_waypoint, target_waypoint2, publisher_dict): + voxel_bbox_pub = publisher_dict.get('voxel_bbox') + if voxel_bbox_pub: + self._visualize_clusters(voxel_bbox_pub) + + path_pub = publisher_dict['path'] + + self.unvisited_clusters = [ + (idx, cluster) for idx, cluster in self.target_voxel_clusters.items() + if not self._is_near_visited( + np.array(cluster[:3]), np.array(cluster[3:6]), self.visited_clusters) + ] + + sorted_clusters = sorted( + self.unvisited_clusters, + key=lambda item: np.linalg.norm(cur_pose_np - np.array(item[1][:3]))) + + path = Path() + path.header.stamp = self.get_clock().now().to_msg() + path.header.frame_id = 'map' + + # Track whether the waypoint was already locked before this tick. + # Arrival detection must NOT fire in the same tick the waypoint is first set. + waypoint_was_locked = waypoint_locked + + for i, (idx, cluster) in enumerate(sorted_clusters): + center = np.array(cluster[:3]) + sizes = np.array(cluster[3:]) + half_sizes = sizes / 2.0 + direction = center - cur_pose_np + dist = np.linalg.norm(direction) + if dist < 1e-6: + continue + dir_norm = direction / dist + + # Find surface point facing the drone + ray_origin_local = cur_pose_np - center + tmin, tmax = -np.inf, np.inf + for axis in range(3): + if abs(dir_norm[axis]) > 1e-9: + t1 = (-half_sizes[axis] - ray_origin_local[axis]) / dir_norm[axis] + t2 = (half_sizes[axis] - ray_origin_local[axis]) / dir_norm[axis] + tmin = max(tmin, min(t1, t2)) + tmax = min(tmax, max(t1, t2)) + if tmax < max(tmin, 0): + continue + t_hit = tmin if tmin > 0 else tmax + surface_point = cur_pose_np + dir_norm * t_hit + adjacent = surface_point - dir_norm * 1.0 # 1m in front of surface + + if i == 0: + if not waypoint_locked: + target_waypoint2 = adjacent + waypoint_locked = True + + alpha = 0.8 + mid = cur_pose_np * (1 - alpha) + target_waypoint2 * alpha + target_waypoint = mid + + for wp_np in [mid, target_waypoint2]: + ps = PoseStamped() + ps.header.stamp = self.get_clock().now().to_msg() + ps.header.frame_id = 'map' + ps.pose.position.x = float(wp_np[0]) + ps.pose.position.y = float(wp_np[1]) + ps.pose.position.z = float(wp_np[2]) + ps.pose.orientation.w = 1.0 + path.poses.append(ps) + + path_pub.publish(path) + + # Mark cluster as visited only when the drone has been navigating toward a + # previously-locked waypoint (waypoint_was_locked) AND arrives within 3m. + # Skipping the check on the tick the waypoint was first set prevents + # immediate false-positive "arrived" detections. + if waypoint_was_locked and target_waypoint2 is not None and \ + np.linalg.norm(cur_pose_np - target_waypoint2) < 3.0: + if sorted_clusters: + arrived_idx, arrived_cluster = sorted_clusters[0] + self.visited_clusters.append(arrived_cluster) + completed_label = self.cluster_query_map.get(arrived_idx) + if completed_label: + self.completed_queries.add(completed_label) + waypoint_locked = False + + return waypoint_locked, target_waypoint, target_waypoint2 + + # ── helpers ────────────────────────────────────────────────────────────── + + def _is_near_visited(self, center, size, visited_clusters, threshold=10.0): + return any( + self._cuboid_distance(center, size, + np.array(v[:3]), np.array(v[3:6])) < threshold + for v in visited_clusters) + + def _cuboid_distance(self, ca, sa, cb, sb): + ha, hb = sa / 2.0, sb / 2.0 + dx = max(abs(ca[0] - cb[0]) - (ha[0] + hb[0]), 0) + dy = max(abs(ca[1] - cb[1]) - (ha[1] + hb[1]), 0) + dz = max(abs(ca[2] - cb[2]) - (ha[2] + hb[2]), 0) + return np.sqrt(dx**2 + dy**2 + dz**2) + + def _visualize_clusters(self, pub): + markers = MarkerArray() + now = self.get_clock().now().to_msg() + # Delete old markers + for i in range(self.prev_voxel_cluster_ids): + m = Marker() + m.header.frame_id = 'map' + m.header.stamp = now + m.ns = 'voxel_clusters' + m.id = i + m.action = Marker.DELETE + markers.markers.append(m) + # Add new markers + for j, (_, cluster) in enumerate(self.unvisited_clusters): + m = Marker() + m.header.frame_id = 'map' + m.header.stamp = now + m.ns = 'voxel_clusters' + m.id = j + m.type = Marker.CUBE + m.action = Marker.ADD + m.pose.position.x = cluster[0] + m.pose.position.y = cluster[1] + m.pose.position.z = cluster[2] + m.scale.x = cluster[3] + m.scale.y = cluster[4] + m.scale.z = cluster[5] + m.color = ColorRGBA(r=0.0, g=1.0, b=0.0, a=0.2) + m.lifetime.sec = 1 + markers.markers.append(m) + self.prev_voxel_cluster_ids = len(self.unvisited_clusters) + pub.publish(markers) diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py index 1e14e2ee..d3c75a0e 100644 --- a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py @@ -1,3 +1,4 @@ +import json import os import numpy as np @@ -19,12 +20,16 @@ def __init__(self): robot_name = os.getenv('ROBOT_NAME', 'robot') self._prefix = f'/{robot_name}' - # Ray data parsed from rays_sim/all (all in FLU world frame after conversion) - self._ray_origins = None # (N, 3) FLU - self._ray_dirs = None # (N, 3) FLU - self._ray_scores = None # (N, M) softmax scores + # Ray data from rays_sim/all (converted to FLU world frame) + self._ray_origins = None # (N, 3) + self._ray_dirs = None # (N, 3) + self._ray_scores = None # (N, Q) - self._frontiers = None # (N, 3) FLU — published already in FLU + # Voxel data from voxels_sim/all + self._vox_xyz = None # (N, 3) + self._vox_scores = None # (N, Q) + + self._frontiers = None # (N, 3) self._cur_pose = None # (3,) self._waypoint_locked = False @@ -49,12 +54,17 @@ def __init__(self): PointCloud2, f'{self._prefix}/frontier_viewpoints', 10) self._current_target_pub = self.create_publisher( String, f'{self._prefix}/current_target', 10) + self._voxel_bbox_pub = self.create_publisher( + MarkerArray, f'{self._prefix}/voxel_clusters', 10) + self._completed_targets_pub = self.create_publisher( + String, f'{self._prefix}/completed_targets', 10) self._publisher_dict = { 'path': self._path_pub, 'filtered_rays': self._filtered_rays_pub, 'viewpoint': self._viewpoint_pub, 'current_target': self._current_target_pub, + 'voxel_bbox': self._voxel_bbox_pub, } self._behavior_manager = BehaviorManager( @@ -63,10 +73,17 @@ def __init__(self): score_threshold=self._score_threshold, ) + # Subscribe to all-queries topics so rayfronts always publishes to them + rf_prefix = f'{self._prefix}/rayfronts/msg_serv' + self.create_subscription( + PointCloud2, + f'{rf_prefix}/rays_sim/all', + self._ray_all_cb, 10) self.create_subscription( PointCloud2, - f'{self._prefix}/rayfronts/msg_serv/rays_sim/all', - self._rays_cb, 10) + f'{rf_prefix}/voxels_sim/all', + self._vox_all_cb, 10) + self.create_subscription( PointCloud2, f'{self._prefix}/rayfronts/msg_serv/frontiers', @@ -88,74 +105,78 @@ def __init__(self): f'query_labels={self._query_labels} | ' f'score_threshold={self._score_threshold}') - def _rays_cb(self, msg: PointCloud2): - """Parse rays_sim/all PointCloud2. - - Fields: x, y, z (RDF origin), theta, phi (degrees), sim_0, sim_1, ... - Converts origin + direction to world FLU frame. - """ - field_names = [f.name for f in msg.fields] - pts = list(point_cloud2.read_points(msg, field_names=field_names, - skip_nans=True)) + def _ray_all_cb(self, msg: PointCloud2): + """Receive all-queries ray PointCloud2 (fields: x,y,z,theta,phi,sim_0,sim_1,...).""" + Q = len(self._query_labels) + if Q == 0: + return + fields = ('x', 'y', 'z', 'theta', 'phi') + tuple(f'sim_{q}' for q in range(Q)) + pts = list(point_cloud2.read_points(msg, field_names=fields, skip_nans=True)) if not pts: self._ray_origins = None self._ray_dirs = None self._ray_scores = None return - - pts_arr = np.array([list(p) for p in pts], dtype=np.float32) - - x_idx = field_names.index('x') - y_idx = field_names.index('y') - z_idx = field_names.index('z') - theta_idx = field_names.index('theta') - phi_idx = field_names.index('phi') - - rdf_origins = pts_arr[:, [x_idx, y_idx, z_idx]] - theta = np.deg2rad(pts_arr[:, theta_idx]) - phi = np.deg2rad(pts_arr[:, phi_idx]) - - # Spherical → Cartesian in RDF frame - # Matches geometry3d.spherical_to_cartesian / cartesian_to_spherical: - # theta = azimuthal in xy-plane, phi = polar from +z (forward) - # x=cos(theta)*sin(phi), y=sin(theta)*sin(phi), z=cos(phi) - dx_rdf = np.cos(theta) * np.sin(phi) - dy_rdf = np.sin(theta) * np.sin(phi) - dz_rdf = np.cos(phi) - rdf_dirs = np.stack([dx_rdf, dy_rdf, dz_rdf], axis=1) - - # RDF → FLU: world_x=rdf_z, world_y=-rdf_x, world_z=-rdf_y - self._ray_origins = np.stack([ - rdf_origins[:, 2], -rdf_origins[:, 0], -rdf_origins[:, 1]], axis=1) - self._ray_dirs = np.stack([ - rdf_dirs[:, 2], -rdf_dirs[:, 0], -rdf_dirs[:, 1]], axis=1) - - # Collect sim_* columns in order - sim_cols = [i for i, n in enumerate(field_names) if n.startswith('sim_')] - sim_cols.sort(key=lambda i: int(field_names[i].split('_')[1])) - if sim_cols: - self._ray_scores = pts_arr[:, sim_cols] # (N, M) - else: - self._ray_scores = None + arr = np.array([list(p) for p in pts], dtype=np.float32) + rdf_orig = arr[:, :3] + theta = np.deg2rad(arr[:, 3]) + phi = np.deg2rad(arr[:, 4]) + sim_all = arr[:, 5:] # (N, Q) + # Spherical → Cartesian in RDF + dx = np.cos(theta) * np.sin(phi) + dy = np.sin(theta) * np.sin(phi) + dz = np.cos(phi) + rdf_dirs = np.stack([dx, dy, dz], axis=1) + # RDF → FLU + flu_orig = np.stack([rdf_orig[:, 2], -rdf_orig[:, 0], -rdf_orig[:, 1]], axis=1) + flu_dirs = np.stack([rdf_dirs[:, 2], -rdf_dirs[:, 0], -rdf_dirs[:, 1]], axis=1) + self._ray_origins = flu_orig + self._ray_dirs = flu_dirs + self._ray_scores = sim_all + + def _vox_all_cb(self, msg: PointCloud2): + """Receive all-queries voxel PointCloud2 (fields: x,y,z,sim_0,sim_1,...).""" + Q = len(self._query_labels) + if Q == 0: + return + fields = ('x', 'y', 'z') + tuple(f'sim_{q}' for q in range(Q)) + pts = list(point_cloud2.read_points(msg, field_names=fields, skip_nans=True)) + if not pts: + self._vox_xyz = None + self._vox_scores = None + return + arr = np.array([list(p) for p in pts], dtype=np.float32) + rdf_xyz = arr[:, :3] + sim_all = arr[:, 3:] # (N, Q) + # RDF → FLU + flu_xyz = np.stack([rdf_xyz[:, 2], -rdf_xyz[:, 0], -rdf_xyz[:, 1]], axis=1) + self._vox_xyz = flu_xyz + self._vox_scores = sim_all def _frontiers_cb(self, msg: PointCloud2): - """Parse msg_serv/frontiers — already in FLU world frame.""" pts = list(point_cloud2.read_points(msg, field_names=('x', 'y', 'z'), skip_nans=True)) - if pts: - self._frontiers = np.array([[p[0], p[1], p[2]] for p in pts], - dtype=np.float32) - else: - self._frontiers = None + self._frontiers = ( + np.array([[p[0], p[1], p[2]] for p in pts], dtype=np.float32) + if pts else None) def _odometry_cb(self, msg: Odometry): p = msg.pose.pose.position self._cur_pose = np.array([p.x, p.y, p.z], dtype=np.float64) def _input_prompt_cb(self, msg: String): - targets = [t.strip().lower() for t in msg.data.split(',') if t.strip()] + targets = [t.strip() for t in msg.data.split(',') if t.strip()] if targets: self._target_objects = targets + # Keep _query_labels in sync so vox/ray callbacks read the right columns + if targets != self._query_labels: + self._query_labels = targets[:] + # Clear cached data so stale multi-column arrays don't confuse behaviors + self._vox_xyz = None + self._vox_scores = None + self._ray_origins = None + self._ray_dirs = None + self._ray_scores = None self.get_logger().info(f'target objects updated: {self._target_objects}') def _timer_cb(self): @@ -170,6 +191,8 @@ def _timer_cb(self): ray_scores=self._ray_scores, query_labels=self._query_labels, target_objects=self._target_objects, + vox_xyz=self._vox_xyz, + vox_scores=self._vox_scores, ) self._behavior_mode = self._behavior_manager.behavior_mode @@ -188,21 +211,30 @@ def _timer_cb(self): target_waypoint=self._target_waypoint, target_waypoint2=self._target_waypoint2, publisher_dict=self._publisher_dict, + vox_xyz=self._vox_xyz, + vox_scores=self._vox_scores, + query_labels=self._query_labels, ) - # Throttled status summary + # Completed-targets publishing disabled — task stops only on manual cancel + completed = list(self._behavior_manager.completed_queries) + + # Status log n_frontiers = len(self._frontiers) if self._frontiers is not None else 0 n_rays = len(self._ray_origins) if self._ray_origins is not None else 0 + n_voxels = len(self._vox_xyz) if self._vox_xyz is not None else 0 ray_beh = self._behavior_manager.ray_behavior - n_filtered = len(ray_beh._filtered_indices) if ray_beh._filtered_indices is not None else 0 - publishing = self._target_waypoint is not None + n_filtered = (len(ray_beh._filtered_indices) + if ray_beh._filtered_indices is not None else 0) wp = (f'({self._target_waypoint[0]:.1f}, {self._target_waypoint[1]:.1f}, ' - f'{self._target_waypoint[2]:.1f})') if publishing else 'none' + f'{self._target_waypoint[2]:.1f})' + if self._target_waypoint is not None else 'none') self.get_logger().info( f'[{self._behavior_mode}] ' - f'frontiers={n_frontiers} | rays={n_rays} filtered={n_filtered} | ' - f'target={self._behavior_manager.ray_behavior.current_target} | ' - f'publishing={publishing} wp={wp}', + f'frontiers={n_frontiers} rays={n_rays} filtered={n_filtered} ' + f'voxels={n_voxels} | ' + f'target={ray_beh.current_target} | ' + f'completed={completed} | wp={wp}', throttle_duration_sec=2.0, ) diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/launch/semantic_search_task.launch.xml b/robot/ros_ws/src/global/planners/semantic_search_task/launch/semantic_search_task.launch.xml new file mode 100644 index 00000000..7ac94ab5 --- /dev/null +++ b/robot/ros_ws/src/global/planners/semantic_search_task/launch/semantic_search_task.launch.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/package.xml b/robot/ros_ws/src/global/planners/semantic_search_task/package.xml new file mode 100644 index 00000000..e9363a32 --- /dev/null +++ b/robot/ros_ws/src/global/planners/semantic_search_task/package.xml @@ -0,0 +1,26 @@ + + + + semantic_search_task + 0.0.0 + SemanticSearchTask action server: sends natural language queries to rayfronts and monitors voxel similarity output + todo + TODO + + rclpy + task_msgs + std_msgs + sensor_msgs + geometry_msgs + nav_msgs + visualization_msgs + + ament_copyright + ament_flake8 + ament_pep257 + python3-pytest + + + ament_python + + diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/resource/semantic_search_task b/robot/ros_ws/src/global/planners/semantic_search_task/resource/semantic_search_task new file mode 100644 index 00000000..e69de29b diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/__init__.py b/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py b/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py new file mode 100644 index 00000000..8f17565e --- /dev/null +++ b/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py @@ -0,0 +1,489 @@ +import os +import queue +import re +import signal +import subprocess +import threading +import time + +import numpy as np +import rclpy +import rclpy.executors +from geometry_msgs.msg import Point, Polygon, Pose +from nav_msgs.msg import Odometry +from rclpy.action import ActionServer, ActionClient, CancelResponse, GoalResponse +from rclpy.callback_groups import ReentrantCallbackGroup +from rclpy.node import Node +from sensor_msgs.msg import PointCloud2 +from sensor_msgs_py import point_cloud2 +from std_msgs.msg import String +from task_msgs.action import SemanticSearchTask, ExplorationTask + +# ── ANSI / ROS log stripping ────────────────────────────────────────────────── + +_ANSI_RE = re.compile(r'\x1b\[[0-9;]*m') +_ROS_PREFIX_RE = re.compile( + r'^\s*\[?(INFO|WARN|ERROR|DEBUG)\]?\s*\[\d+\.\d+\]\s*\[[^\]]+\]:\s*') + + +def _clean(line: str) -> str: + line = _ANSI_RE.sub('', line) + line = _ROS_PREFIX_RE.sub('', line) + return line.strip() + + +# ── Output filters ──────────────────────────────────────────────────────────── + +def _filter_rayfronts(line: str) -> str | None: + """Return a short human-readable string for key rayfronts events, else None.""" + raw = line + line = _clean(line) + low = line.lower() + + if 'error' in low or 'exception' in low or 'traceback' in low: + return f'ERROR: {line}' + if 'downloading' in low: + return 'Downloading model weights...' + if 'parsing model identifier' in low or 'loaded built-in' in low: + return 'Loading model...' + if 'subscribing to' in low or 'subscribed to' in low: + return f'Subscribing: {line}' + if 'received queries' in low: + return f'Encoding queries: {line}' + if 'mapping' in low and ('start' in low or 'running' in low or 'loop' in low): + return 'Mapping started' + if 'process started' in low or 'process has died' in low: + return line + # Skip noise: warnings, deprecations, progress bars, blank lines + if not line or 'warning' in low or 'warn' in low or 'deprecated' in low: + return None + if '|' in raw and '█' in raw: # tqdm progress bar + return None + return None + + +def _filter_raven(line: str) -> str | None: + """Reformat raven's status line; skip everything else.""" + line = _clean(line) + if not line: + return None + # The periodic status line looks like: + # [Frontier-based] frontiers=N rays=N filtered=N voxels=N | target=X | completed=[] | wp=(...) + m = re.search(r'\[(Frontier-based|Ray-based|Voxel-based)\]', line) + if not m: + if 'error' in line.lower(): + return f'ERROR: {line}' + return None + + mode = m.group(1) + frontiers = re.search(r'frontiers=(\d+)', line) + rays = re.search(r'rays=(\d+)', line) + voxels = re.search(r'voxels=(\d+)', line) + completed = re.search(r'completed=(\[[^\]]*\])', line) + wp = re.search(r'wp=(\S+)', line) + + parts = [f'[{mode}]'] + if frontiers: + parts.append(f'frontiers={frontiers.group(1)}') + if rays: + parts.append(f'rays={rays.group(1)}') + if voxels: + parts.append(f'voxels={voxels.group(1)}') + if completed and completed.group(1) != '[]': + parts.append(f'completed={completed.group(1)}') + if wp and wp.group(1) != 'none': + parts.append(f'wp={wp.group(1)}') + return ' '.join(parts) + + +# ── Subprocess helpers ──────────────────────────────────────────────────────── + +def _pipe_to_queue(proc: subprocess.Popen, q: queue.Queue) -> None: + for line in iter(proc.stdout.readline, b''): + q.put(line.decode('utf-8', errors='replace').rstrip()) + q.put(None) + + +def _drain(q: queue.Queue) -> list: + lines = [] + while True: + try: + item = q.get_nowait() + if item is None: + break + lines.append(item) + except queue.Empty: + break + return lines + + +def _sanitize(label: str) -> str: + return re.sub(r'[^a-zA-Z0-9_]', '_', label) + + +# ── Node ────────────────────────────────────────────────────────────────────── + +class SemanticSearchTaskNode(Node): + def __init__(self): + super().__init__('semantic_search_task') + robot_name = os.getenv('ROBOT_NAME', 'robot_1') + ros_domain = os.getenv('ROS_DOMAIN_ID', '0') + self._robot_prefix = f'/{robot_name}' + self._rf_prefix = f'/robot_{ros_domain}/rayfronts/msg_serv' + + self._cbg = ReentrantCallbackGroup() + self._task_active = False + self._cur_pos = None + + self._text_query_pub = self.create_publisher( + String, f'{self._rf_prefix}/new_text_query', 10) + + self.create_subscription( + Odometry, f'{self._robot_prefix}/odometry', + self._odom_cb, 10, callback_group=self._cbg) + + self._action_server = ActionServer( + self, SemanticSearchTask, '~/semantic_search_task', + execute_callback=self._execute, + goal_callback=self._handle_goal, + cancel_callback=lambda _: CancelResponse.ACCEPT, + callback_group=self._cbg) + + self._cleanup_existing() + self.get_logger().info('semantic_search_task ready') + + def _odom_cb(self, msg: Odometry): + p = msg.pose.pose.position + self._cur_pos = [p.x, p.y, p.z] + + def _handle_goal(self, goal_request): + if self._task_active: + self.get_logger().warn('Rejecting goal: task already active') + return GoalResponse.REJECT + self._task_active = True + return GoalResponse.ACCEPT + + def _cleanup_existing(self) -> None: + """Kill any leftover rayfronts, raven, or random_walk processes.""" + for pattern in ['rayfronts.mapping_server', 'raven_nav_node', + 'random_walk_planner']: + result = subprocess.run( + ['pkill', '-SIGTERM', '-f', pattern], capture_output=True) + if result.returncode == 0: + self.get_logger().info(f'Killed existing {pattern} process(es)') + time.sleep(2.0) + for pattern in ['rayfronts.mapping_server', 'raven_nav_node', + 'random_walk_planner']: + subprocess.run(['pkill', '-SIGKILL', '-f', pattern], capture_output=True) + + def _spawn(self, cmd: list) -> tuple: + proc = subprocess.Popen( + cmd, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + start_new_session=True) + q = queue.Queue() + threading.Thread(target=_pipe_to_queue, args=(proc, q), daemon=True).start() + return proc, q + + def _kill(self, name: str, proc: subprocess.Popen) -> None: + if proc is None: + return + self.get_logger().info(f'Stopping {name} (pid={proc.pid})') + try: + os.killpg(os.getpgid(proc.pid), signal.SIGTERM) + except ProcessLookupError: + return + try: + proc.wait(timeout=5.0) + except subprocess.TimeoutExpired: + try: + os.killpg(os.getpgid(proc.pid), signal.SIGKILL) + except ProcessLookupError: + pass + + def _spawn_random_walk(self, robot_name: str) -> subprocess.Popen: + # Resolve the config file path via ros2 pkg + prefix = subprocess.run( + ['ros2', 'pkg', 'prefix', 'random_walk_planner'], + capture_output=True, text=True).stdout.strip() + config = f'{prefix}/share/random_walk_planner/config/random_walk_config.yaml' + return self._spawn([ + 'ros2', 'run', 'random_walk_planner', 'random_walk_planner', + '--ros-args', + '--params-file', config, + '-r', f'~/global_plan:=/{robot_name}/global_plan', + '-r', f'~/exploration_task:=/{robot_name}/tasks/exploration', + '-r', f'navigate_task:=/{robot_name}/tasks/navigate', + '-r', f'odometry:=/{robot_name}/odometry_conversion/odometry', + '-r', f'vdb_map_visualization:=/{robot_name}/vdb_mapping/vdb_map_visualization', + '-r', f'~/global_plan_toggle:=/{robot_name}/behavior/global_plan_toggle', + ]) + + def _send_exploration_task(self, robot_name: str) -> None: + """Send an unbounded ExplorationTask goal to random_walk_planner to activate droan_gl.""" + client = ActionClient( + self, + ExplorationTask, + f'/{robot_name}/tasks/exploration', + callback_group=self._cbg) + if not client.wait_for_server(timeout_sec=10.0): + self.get_logger().warn('ExplorationTask server not available after 10s') + return + goal = ExplorationTask.Goal() + goal.min_altitude_agl = 2.0 + goal.max_altitude_agl = 15.0 + goal.min_flight_speed = 1.0 + goal.max_flight_speed = 3.0 + goal.time_limit_sec = 0.0 # 0 = no limit, runs until cancelled + client.send_goal_async(goal) + self.get_logger().info('ExplorationTask sent to random_walk_planner') + + def _interruptible_sleep(self, goal_handle, secs: float) -> bool: + """Sleep for secs, waking early if cancel requested. Returns True if cancelled.""" + steps = max(1, int(secs / 0.1)) + for _ in range(steps): + if goal_handle.is_cancel_requested: + return True + time.sleep(0.1) + return False + + def _execute(self, goal_handle): + goal = goal_handle.request + queries = [q.strip() for q in goal.query.split(',') if q.strip()] + if not queries: + self._task_active = False + goal_handle.abort() + result = SemanticSearchTask.Result() + result.success = False + result.message = 'Empty query' + return result + + self.get_logger().info(f'SemanticSearchTask | queries={queries}') + + rayfronts_proc = raven_proc = random_walk_proc = None + rayfronts_q = raven_q = queue.Queue() + + # Track last meaningful line from each process for feedback + last_rf_status = 'Starting rayfronts...' + last_rv_status = 'Starting raven...' + + try: + # Kill any leftover processes from a previous run + self._cleanup_existing() + + robot_name = os.getenv('ROBOT_NAME', 'robot_1') + + # Wait for old rayfronts DDS subscription to fully unregister + deadline = time.time() + 10.0 + while time.time() < deadline: + if goal_handle.is_cancel_requested: + goal_handle.canceled() + result = SemanticSearchTask.Result() + result.success = False + result.message = 'Cancelled' + return result + if self.count_subscribers(f'{self._rf_prefix}/new_text_query') == 0: + break + time.sleep(0.5) + + # Start raven first so it's subscribed to rays_sim/all and voxels_sim/all + # before rayfronts runs its first query cycle (rayfronts lazy-publishes + # those topics only when a subscriber exists) + labels_yaml = str(queries).replace("'", '"') + raven_proc, raven_q = self._spawn([ + 'ros2', 'run', 'raven_nav', 'raven_nav_node', + '--ros-args', + '-p', f'query_labels:={labels_yaml}', + '-r', (f'/{robot_name}/odometry:=' + f'/{robot_name}/odometry_conversion/odometry'), + ]) + + rayfronts_proc, rayfronts_q = self._spawn([ + 'ros2', 'launch', 'perception_bringup', 'rayfronts.launch.xml', + ]) + + + start = self.get_clock().now() + best_conf = 0.0 + rayfronts_ready = False + prev_rf_sub_count = 0 + mapping_started = False + random_walk_started = False + raven_published_waypoint = False + completed_targets: set = set() + + # Subscribe to raven's global_plan to detect first waypoint + from nav_msgs.msg import Path + def _global_plan_cb(msg): + nonlocal raven_published_waypoint + if msg.poses: + raven_published_waypoint = True + self.create_subscription( + Path, f'/{robot_name}/global_plan', + _global_plan_cb, 1, callback_group=self._cbg) + + # Subscribe to raven's completed_targets + def _completed_targets_cb(msg): + nonlocal completed_targets + import json + try: + completed_targets = set(json.loads(msg.data)) + except Exception: + pass + self.create_subscription( + String, f'/{robot_name}/completed_targets', + _completed_targets_cb, 10, callback_group=self._cbg) + + # Subscribe to voxels_sim/all for best-confidence tracking + Q = len(queries) + def _vox_all_cb(msg): + nonlocal best_conf, mapping_started + fields = ('x', 'y', 'z') + tuple(f'sim_{q}' for q in range(Q)) + from sensor_msgs_py import point_cloud2 as pc2 + pts = list(pc2.read_points(msg, field_names=fields, skip_nans=True)) + if pts: + import numpy as _np + arr = _np.array([list(p) for p in pts], dtype=_np.float32) + conf = float(arr[:, 3:].max()) + if conf > best_conf: + best_conf = conf + mapping_started = True + self.create_subscription( + PointCloud2, f'{self._rf_prefix}/voxels_sim/all', + _vox_all_cb, 10, callback_group=self._cbg) + + while rclpy.ok(): + if goal_handle.is_cancel_requested: + goal_handle.canceled() + result = SemanticSearchTask.Result() + result.success = False + result.message = 'Cancelled' + return result + + elapsed = (self.get_clock().now() - start).nanoseconds / 1e9 + if goal.time_limit_sec > 0 and elapsed >= goal.time_limit_sec: + done = [q for q in queries + if q.lower() in set(c.lower() for c in completed_targets)] + succeeded = len(done) == len(queries) + if succeeded: + goal_handle.succeed() + else: + goal_handle.abort() + result = SemanticSearchTask.Result() + result.success = succeeded + result.message = (f'Timed out. Visited {len(done)}/{len(queries)}: ' + f'{", ".join(done)}') + result.confidence = best_conf + return result + + # Drain and filter rayfronts output + for raw in _drain(rayfronts_q): + msg = _filter_rayfronts(raw) + if msg: + last_rf_status = msg + + # Drain and filter raven output + for raw in _drain(raven_q): + msg = _filter_raven(raw) + if msg: + last_rv_status = msg + + # Start random_walk once raven publishes its first waypoint + if raven_published_waypoint and not random_walk_started: + random_walk_started = True + random_walk_proc, _ = self._spawn_random_walk(robot_name) + self.get_logger().info( + 'Raven published first waypoint — starting random_walk_planner') + time.sleep(3.0) + self._send_exploration_task(robot_name) + + # Send queries to rayfronts whenever its subscriber appears (or reappears). + # This handles the initial load AND any rayfronts restart mid-task. + rf_sub_count = self.count_subscribers(f'{self._rf_prefix}/new_text_query') + if rf_sub_count > 0 and prev_rf_sub_count == 0: + rayfronts_ready = True + for q in queries: + self._text_query_pub.publish(String(data=q)) + last_rf_status = f'Queries sent: {", ".join(queries)}' + self.get_logger().info( + f'Queries sent to rayfronts: {queries}') + if rf_sub_count == 0 and prev_rf_sub_count > 0: + rayfronts_ready = False + self.get_logger().info('rayfronts subscriber lost — will resend on reconnect') + prev_rf_sub_count = rf_sub_count + + # Success: raven visited a cluster for every query + queries_set = set(q.lower() for q in queries) + completed_lower = set(c.lower() for c in completed_targets) + if queries_set and queries_set.issubset(completed_lower): + goal_handle.succeed() + result = SemanticSearchTask.Result() + result.success = True + result.message = ( + f'All targets visited: {", ".join(sorted(queries_set))}') + result.confidence = best_conf + return result + + # Build clean feedback status + pos_str = '' + if self._cur_pos: + pos_str = (f'pos=({self._cur_pos[0]:.1f}, ' + f'{self._cur_pos[1]:.1f}, ' + f'{self._cur_pos[2]:.1f})') + + pending = [q for q in queries + if q.lower() not in set(c.lower() for c in completed_targets)] + done = [q for q in queries + if q.lower() in set(c.lower() for c in completed_targets)] + + if not rayfronts_ready: + status = f'[rayfronts] {last_rf_status}' + elif not mapping_started: + status = (f'[rayfronts] {last_rf_status}\n' + f'[raven] {last_rv_status}') + else: + progress = f'{len(done)}/{len(queries)} targets visited' + done_str = f'done=[{", ".join(done)}]' if done else '' + pending_str = f'pending=[{", ".join(pending)}]' if pending else '' + status = (f'[raven] {last_rv_status}\n' + f'{progress} {done_str} {pending_str} {pos_str}').strip() + + fb = SemanticSearchTask.Feedback() + fb.status = status + fb.best_confidence_so_far = best_conf + if self._cur_pos: + fb.current_position = Point( + x=self._cur_pos[0], + y=self._cur_pos[1], + z=self._cur_pos[2]) + goal_handle.publish_feedback(fb) + + if self._interruptible_sleep(goal_handle, 1.0): + continue # cancel was requested, loop back to check it + + finally: + self._kill('rayfronts', rayfronts_proc) + self._kill('raven', raven_proc) + self._kill('random_walk', random_walk_proc) + self._task_active = False + + goal_handle.abort() + result = SemanticSearchTask.Result() + result.success = False + result.message = 'Node shutdown' + return result + + +def main(args=None): + rclpy.init(args=args) + node = SemanticSearchTaskNode() + executor = rclpy.executors.MultiThreadedExecutor() + executor.add_node(node) + try: + executor.spin() + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + rclpy.shutdown() diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/setup.cfg b/robot/ros_ws/src/global/planners/semantic_search_task/setup.cfg new file mode 100644 index 00000000..f68b1ceb --- /dev/null +++ b/robot/ros_ws/src/global/planners/semantic_search_task/setup.cfg @@ -0,0 +1,4 @@ +[develop] +script_dir=$base/lib/semantic_search_task +[install] +install_scripts=$base/lib/semantic_search_task diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/setup.py b/robot/ros_ws/src/global/planners/semantic_search_task/setup.py new file mode 100644 index 00000000..20006247 --- /dev/null +++ b/robot/ros_ws/src/global/planners/semantic_search_task/setup.py @@ -0,0 +1,26 @@ +from setuptools import find_packages, setup + +package_name = 'semantic_search_task' + +setup( + name=package_name, + version='0.0.0', + packages=find_packages(exclude=['test']), + data_files=[ + ('share/ament_index/resource_index/packages', ['resource/' + package_name]), + ('share/' + package_name, ['package.xml']), + ('share/' + package_name + '/launch', ['launch/semantic_search_task.launch.xml']), + ], + install_requires=['setuptools'], + zip_safe=True, + maintainer='todo', + maintainer_email='todo@todo.todo', + description='SemanticSearchTask action server using rayfronts + raven_nav', + license='TODO', + tests_require=['pytest'], + entry_points={ + 'console_scripts': [ + 'semantic_search_task = semantic_search_task.node:main', + ], + }, +) diff --git a/robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml b/robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml index 1492161b..9ba28418 100644 --- a/robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml +++ b/robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml @@ -1,7 +1,6 @@ - Date: Thu, 23 Apr 2026 16:23:49 -0400 Subject: [PATCH 40/55] fixed raven behavior --- .../desktop_bringup/launch/gcs.launch.xml | 1 + .../desktop_bringup/params/domain_bridge.yaml | 2 + .../desktop_bringup/rviz/robot.rviz | 101 +- .../rviz/rviz_tasks_panel/src/tasks_panel.cpp | 8 +- .../action/SemanticSearchTask.action | 13 +- docs/action_bridging.md | 58 + .../robot-commands/dist/extension.js | 1013 ++++++++++++++--- .../robot-commands/package.json | 6 +- .../robot-commands/robot-commands.foxe | Bin 2006 -> 6351 bytes .../foxglove_visualizer_node.py | 105 +- .../onboard_all/config/domain_bridge.yaml | 7 +- .../planners/raven_nav/config/raven_nav.yaml | 6 +- .../raven_nav/raven_nav/behavior_manager.py | 11 +- .../raven_nav/behaviors/frontier_behavior.py | 9 +- .../raven_nav/behaviors/ray_behavior.py | 92 +- .../raven_nav/raven_nav/raven_nav_node.py | 35 +- .../semantic_search_task/node.py | 96 +- .../launch_scripts/two_drone_fire.py | 2 +- 18 files changed, 1256 insertions(+), 309 deletions(-) create mode 100644 docs/action_bridging.md diff --git a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml index b5693678..2cab8a2d 100644 --- a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml +++ b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml @@ -26,6 +26,7 @@ + diff --git a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml index c07a5acb..3eb8c330 100644 --- a/common/ros_packages/desktop_bringup/params/domain_bridge.yaml +++ b/common/ros_packages/desktop_bringup/params/domain_bridge.yaml @@ -97,6 +97,8 @@ topics: type: sensor_msgs/msg/BatteryState from_domain: 3 to_domain: 0 + + # Bridge "/clock" topic from doman ID 2 to domain ID 3, # Override durability to be 'volatile' and override depth to be 1 diff --git a/common/ros_packages/desktop_bringup/rviz/robot.rviz b/common/ros_packages/desktop_bringup/rviz/robot.rviz index 00e2f38e..4adb19f6 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot.rviz @@ -30,7 +30,7 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: StereoImageProc Disparity + SyncSource: voxel_rgb - Class: rviz_behavior_tree_panel::BehaviorTreePanel Name: BehaviorTreePanel topic: /robot_1/behavior_tree_graphviz @@ -482,7 +482,8 @@ Visualization Manager: Enabled: true Name: Trimmed Global Plan for DROAN Namespaces: - {} + global_plan: true + global_plan_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -665,7 +666,8 @@ Visualization Manager: Enabled: true Name: Global Plan Vis Namespaces: - {} + global_plan: true + global_plan_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -694,6 +696,7 @@ Visualization Manager: Name: Traj Vis Namespaces: traj_controller: true + traj_controller_extra_text: true Topic: Depth: 5 Durability Policy: Volatile @@ -781,7 +784,7 @@ Visualization Manager: Channel Name: intensity Class: rviz_default_plugins/PointCloud2 Color: 255; 255; 255 - Color Transformer: "" + Color Transformer: Intensity Decay Time: 0 Enabled: true Invert Rainbow: false @@ -790,7 +793,7 @@ Visualization Manager: Min Color: 0; 0; 0 Min Intensity: 0 Name: rays msg_serv - Position Transformer: "" + Position Transformer: XYZ Selectable: true Size (Pixels): 3 Size (m): 0.5 @@ -808,7 +811,7 @@ Visualization Manager: Enabled: true Name: filtered rays Namespaces: - {} + arrows: true Topic: Depth: 5 Durability Policy: Volatile @@ -826,7 +829,7 @@ Visualization Manager: Channel Name: intensity Class: rviz_default_plugins/PointCloud2 Color: 255; 255; 255 - Color Transformer: "" + Color Transformer: Intensity Decay Time: 0 Enabled: true Invert Rainbow: false @@ -835,7 +838,7 @@ Visualization Manager: Min Color: 0; 0; 0 Min Intensity: 0 Name: voxel msg_serv - Position Transformer: "" + Position Transformer: XYZ Selectable: true Size (Pixels): 3 Size (m): 0.5 @@ -859,7 +862,7 @@ Visualization Manager: Channel Name: intensity Class: rviz_default_plugins/PointCloud2 Color: 255; 255; 255 - Color Transformer: "" + Color Transformer: RGB8 Decay Time: 0 Enabled: true Invert Rainbow: false @@ -868,7 +871,7 @@ Visualization Manager: Min Color: 0; 0; 0 Min Intensity: 0 Name: voxel_rgb - Position Transformer: "" + Position Transformer: XYZ Selectable: true Size (Pixels): 3 Size (m): 0.5 @@ -882,6 +885,72 @@ Visualization Manager: Use Fixed Frame: true Use rainbow: true Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: RGB8 + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: XYZ + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/rayfronts/voxel_feature + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: "" + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: PointCloud2 + Position Transformer: "" + Selectable: true + Size (Pixels): 3 + Size (m): 0.009999999776482582 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_1/rayfronts/queries/red_building/voxels + Use Fixed Frame: true + Use rainbow: true + Value: true Enabled: true Global Options: Background Color: 48; 48; 48 @@ -945,25 +1014,25 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 53.187862396240234 + Distance: 35.724098205566406 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 25.142688751220703 - Y: -7.090958595275879 - Z: -18.70828628540039 + X: 24.834373474121094 + Y: -6.7379069328308105 + Z: -19.230995178222656 Focal Shape Fixed Size: false Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.6403977274894714 + Pitch: 0.6453977227210999 Target Frame: base_link Value: Orbit (rviz) - Yaw: 2.878566026687622 + Yaw: 2.873566150665283 Saved: ~ Window Geometry: BehaviorTreePanel: diff --git a/common/ros_packages/gui/rviz/rviz_tasks_panel/src/tasks_panel.cpp b/common/ros_packages/gui/rviz/rviz_tasks_panel/src/tasks_panel.cpp index 632ba8a0..68db70d0 100644 --- a/common/ros_packages/gui/rviz/rviz_tasks_panel/src/tasks_panel.cpp +++ b/common/ros_packages/gui/rviz/rviz_tasks_panel/src/tasks_panel.cpp @@ -69,13 +69,13 @@ std::vector TasksPanel::getTaskDefs() }, true}, {"Semantic Search", "tasks/semantic_search", { {"query", "string", 0, 0, 0}, + {"background_queries", "string", 0, 0, 0}, {"search_area", "geometry_msgs/Polygon", 0, 0, 0}, {"min_altitude_agl", "float32", 3.0, 0.0, 500.0}, - {"max_altitude_agl", "float32", 10.0, 0.0, 500.0}, + {"max_altitude_agl", "float32", 15.0, 0.0, 500.0}, {"min_flight_speed", "float32", 1.0, 0.0, 50.0}, {"max_flight_speed", "float32", 3.0, 0.0, 50.0}, - {"time_limit_sec", "float32", 120.0, 0.0, 86400.0}, - {"confidence_threshold", "float32", 0.5, 0.0, 1.0}, + {"confidence_threshold", "float32", 0.95, 0.0, 1.0}, }, true}, {"Fixed Trajectory", "tasks/fixed_trajectory", { {"trajectory_spec", "airstack_msgs/FixedTrajectory", 0, 0, 0}, @@ -1007,12 +1007,12 @@ void TasksPanel::onExecuteClicked() case 7: { // Semantic Search task_msgs::action::SemanticSearchTask::Goal goal; goal.query = getString(7, "query"); + goal.background_queries = getString(7, "background_queries"); goal.search_area = getPolygon(7, "search_area"); goal.min_altitude_agl = getFloat(7, "min_altitude_agl"); goal.max_altitude_agl = getFloat(7, "max_altitude_agl"); goal.min_flight_speed = getFloat(7, "min_flight_speed"); goal.max_flight_speed = getFloat(7, "max_flight_speed"); - goal.time_limit_sec = getFloat(7, "time_limit_sec"); goal.confidence_threshold = getFloat(7, "confidence_threshold"); doSendGoal(7, goal, [](const auto & fb) { diff --git a/common/ros_packages/msgs/task_msgs/action/SemanticSearchTask.action b/common/ros_packages/msgs/task_msgs/action/SemanticSearchTask.action index 27101625..6f077575 100644 --- a/common/ros_packages/msgs/task_msgs/action/SemanticSearchTask.action +++ b/common/ros_packages/msgs/task_msgs/action/SemanticSearchTask.action @@ -1,16 +1,17 @@ # Search an area for a location or object described in natural language. -# confidence_threshold: minimum match confidence to report a result (0.0-1.0) -# time_limit_sec: maximum task duration in seconds (0 = no limit) +# confidence_threshold: minimum match confidence to report a result (0.0-1.0, default 0.95) +# background_queries: comma-separated contrast classes for softmax normalization +# (e.g. "building,tree,ground"). Required — softmax over a single query is degenerate. # Goal string query +string background_queries geometry_msgs/Polygon search_area -float32 min_altitude_agl -float32 max_altitude_agl +float32 min_altitude_agl 3.0 +float32 max_altitude_agl 15.0 float32 min_flight_speed float32 max_flight_speed -float32 time_limit_sec -float32 confidence_threshold +float32 confidence_threshold 0.95 --- # Result bool success diff --git a/docs/action_bridging.md b/docs/action_bridging.md new file mode 100644 index 00000000..a85e3192 --- /dev/null +++ b/docs/action_bridging.md @@ -0,0 +1,58 @@ +# ROS 2 action bridging across DDS domains + +*Summary for AirStack team discussion.* + +## Problem + +Each robot runs on its own `ROS_DOMAIN_ID` (robot_1 → 1, robot_2 → 2, …); the GCS runs on domain 0. We bridge with eProsima **`ddsrouter`**. Topics work. **Actions don't.** + +From the GCS container: +- `ros2 service list --include-hidden-services -t` shows `/robot_1/tasks/takeoff/_action/send_goal` — name + type are bridged. +- `ros2 action info /robot_1/tasks/takeoff` → `Action servers: 0`. +- `ros2 action send_goal` hangs; Foxglove reports "Service … is not available". + +### Root cause + +`ddsrouter` bridges the DDS `rq/…Request` / `rr/…Reply` topics underneath a ROS 2 service, but every ROS 2 action client calls `rcl_service_server_is_available()` first. That walks the RMW endpoint graph for a **matched DDS server signature**; ddsrouter's proxy endpoints don't match, so the call aborts. It's an RMW endpoint-matching problem, not a naming/visibility problem. + +Same symptom reported in the wild: [RTI community — "ROS2 Router: Service Call Request made, but no Response"](https://community.rti.com/forum-topic/ros2-router-service-call-request-made-no-response). + +### "Are actions failing because they're hidden? If we unhide them, will it work?" + +No. +- `_action/*` naming is a **display-only filter** in ROS CLI tools; DDS doesn't care ([ROS 2 Actions Design](https://design.ros2.org/articles/actions.html)). +- Foxglove already runs with `include_hidden: true` — the services do appear, the liveliness check still fails. +- The `_action/*` prefix is hardcoded in `rclcpp_action::create_server()`; unhiding would require forking rclcpp and wouldn't change DDS behavior. + +--- + +## Options + +### A — Swap ddsrouter for `zenoh_bridge_ros2dds` +Replace the bridging layer with Eclipse Zenoh's ROS 2 plugin. Zenoh represents services/actions as **Queryables** and side-steps the DDS liveliness-matching problem. +- **Pros:** native topic + service + action bridging; actively developed; OSRF's current recommendation for distributed ROS 2; same config works for same-host Docker and remote robots. +- **Cons:** rip-and-replace of the whole bridging layer (compose + launch); new dep (`ros-jazzy-zenoh-bridge-ros2dds`); team has to learn it; cross-machine deploys need explicit `connect:` peer config. +- **Refs:** [zenoh-plugin-ros2dds](https://github.com/eclipse-zenoh/zenoh-plugin-ros2dds) · [Jazzy docs](https://docs.ros.org/en/jazzy/p/zenoh_bridge_dds/) · [OSRF discourse](https://discourse.openrobotics.org/t/new-zenoh-bridge-for-ros-2/34163) · [Autoware writeup](https://autoware.org/driving-autoware-with-zenoh/) · [Humble tutorial](https://medium.com/@piliwilliam0306/use-zenoh-bridge-ros2dds-with-ros2-humble-459ab70ce9c7) + +### B — Add `ros2/domain_bridge` alongside ddsrouter +Keep ddsrouter for topics; run a per-robot `domain_bridge` with an `actions:` block. Supposed to create a real `rclcpp_action::Server` on domain 0 that forwards to the robot. +- **We tried this in-session.** Bridge ran, config interpolated, but `ros2 action info` still showed `Action servers: 0`. Reverted. +- **Pros:** smallest config change, no new protocol. +- **Cons:** action support is a [4-year-old open issue (#11)](https://github.com/ros2/domain_bridge/issues/11); services support similarly thin ([#10](https://github.com/ros2/domain_bridge/issues/10)); [design doc](https://github.com/ros2/domain_bridge/blob/main/doc/design.md) admits QoS/liveliness limits; silent failure mode makes it hard to debug. +- **Refs:** [ros2/domain_bridge](https://github.com/ros2/domain_bridge) · [#11](https://github.com/ros2/domain_bridge/issues/11) · [#10](https://github.com/ros2/domain_bridge/issues/10) · [design doc](https://github.com/ros2/domain_bridge/blob/main/doc/design.md) + +### C — Custom per-robot action relay node +One new ROS 2 package (`action_relay`). Per robot, one binary with two `rclcpp::Context` objects: a real `rclcpp_action::Server` on domain 0 and a real `rclcpp_action::Client` on domain N. Server forwards goals to client; feedback/result/cancel propagate through. ~150 lines of C++, templated over the 5 action types. +- **Pros:** bulletproof — it *is* a real server on domain 0, so the liveliness check trivially passes; no new deps; additive (ddsrouter still handles topics/images); scales per-robot. +- **Cons:** we maintain the code; new task executor → one line in a registry; careful two-executor / two-context threading; no widely-used package to vendor. +- **Refs:** [ROS 2 Actions Design](https://design.ros2.org/articles/actions.html) · [rclcpp_action API](https://docs.ros.org/en/jazzy/p/rclcpp_action/) · [multi_robot_tf_relay (related pattern)](https://github.com/Gabryss/multi_robot_tf_relay) · [Jazzy action server tutorial](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Writing-an-Action-Server-Client/Cpp.html) + +--- + +## Related reading + +- [eProsima DDS Router docs](https://eprosima-dds-router.readthedocs.io/) — what we use today +- [ROS on DDS (design)](https://design.ros2.org/articles/ros_on_dds.html) — why services/actions use request/reply DDS topics +- [ROS 2 QoS — Deadline, Liveliness, Lifespan](https://design.ros2.org/articles/qos_deadline_liveliness_lifespan.html) — explains `rcl_service_server_is_available` semantics +- [Programming Multiple Robots with ROS 2 (OSRF)](https://osrf.github.io/ros2multirobotbook/) — currently recommends Zenoh for cross-domain +- [Husarnet — Bridge Remote DDS Networks](https://husarnet.com/blog/ros2-dds-router) diff --git a/gcs/foxglove_extensions/robot-commands/dist/extension.js b/gcs/foxglove_extensions/robot-commands/dist/extension.js index 20e47441..b890dc07 100644 --- a/gcs/foxglove_extensions/robot-commands/dist/extension.js +++ b/gcs/foxglove_extensions/robot-commands/dist/extension.js @@ -1,178 +1,913 @@ -(()=>{ +(() => { "use strict"; -const BT_COMMANDS_DATATYPES = new Map([ - [ - "behavior_tree_msgs/msg/BehaviorTreeCommands", - { - definitions: [ - { - name: "commands", - type: "behavior_tree_msgs/msg/BehaviorTreeCommand", - isArray: true, - isComplex: true, - }, - ], - }, - ], - [ - "behavior_tree_msgs/msg/BehaviorTreeCommand", - { - definitions: [ - { name: "condition_name", type: "string", isArray: false, isComplex: false }, - { name: "status", type: "int8", isArray: false, isComplex: false }, - ], - }, - ], +// ─────────────────────────── constants ──────────────────────────────────────── + +const GOAL_STATUS = { + UNKNOWN: 0, + ACCEPTED: 1, + EXECUTING: 2, + CANCELING: 3, + SUCCEEDED: 4, + CANCELED: 5, + ABORTED: 6, +}; + +const TERMINAL_STATUSES = new Set([ + GOAL_STATUS.SUCCEEDED, + GOAL_STATUS.CANCELED, + GOAL_STATUS.ABORTED, ]); -const PRESET_COMMANDS = [ - { label: "Arm & Takeoff", value: "Auto Takeoff Commanded" }, - { label: "Global Plan", value: "Global Plan Commanded" }, - { label: "Fixed Trajectory", value: "Fixed Trajectory Commanded" }, - { label: "Autonomously Explore", value: "Autonomously Explore Commanded" }, - { label: "Pause", value: "Pause Commanded" }, - { label: "Rewind", value: "Rewind Commanded" }, - { label: "Land", value: "Land Commanded" }, - { label: "Disarm", value: "Disarm Commanded" }, - { label: "Custom", value: "__custom__" }, +const TRAJECTORY_DEFAULTS = { + Circle: [["frame_id","base_link"],["radius","5.0"],["velocity","2.0"]], + Figure8: [["frame_id","base_link"],["length","10.0"],["width","5.0"],["height","0.0"],["velocity","2.0"],["max_acceleration","1.0"]], + Racetrack: [["frame_id","base_link"],["length","20.0"],["width","10.0"],["height","0.0"],["velocity","2.0"],["turn_velocity","1.0"],["max_acceleration","1.0"]], + Line: [["frame_id","base_link"],["length","10.0"],["height","0.0"],["velocity","2.0"],["max_acceleration","1.0"]], + Point: [["frame_id","base_link"],["x","5.0"],["y","0.0"],["height","0.0"],["velocity","2.0"],["max_acceleration","1.0"]], + Lawnmower: [["frame_id","base_link"],["length","20.0"],["width","5.0"],["height","10.0"],["velocity","2.0"],["vertical","0"]], +}; + +// Shared altitude/speed field sets used across several area tasks. +const altSpeedFields = [ + { name: "min_altitude_agl", kind: "float", default: 3.0, min: 0, max: 500, step: 0.1 }, + { name: "max_altitude_agl", kind: "float", default: 10.0, min: 0, max: 500, step: 0.1 }, + { name: "min_flight_speed", kind: "float", default: 1.0, min: 0, max: 50, step: 0.1 }, + { name: "max_flight_speed", kind: "float", default: 3.0, min: 0, max: 50, step: 0.1 }, ]; -const DEFAULT_STATE = { - robot: "robot_1", - command: "Auto Takeoff Commanded", - custom_command: "", - button_label: "Arm & Takeoff", - button_color: "#10B981", -}; +// Tab registry: drives rendering, goal packing, and feedback formatting. +// Each tab owns its default sub-state (built from `fields`) and a goal builder. +const TASK_TABS = [ + { + id: "takeoff", + label: "Takeoff", + actionSuffix: "tasks/takeoff", + fields: [ + { name: "target_altitude_m", kind: "float", default: 10.0, min: 0, max: 500, step: 0.1 }, + { name: "velocity_m_s", kind: "float", default: 1.0, min: 0, max: 50, step: 0.1 }, + ], + buildGoal: (s) => ({ + target_altitude_m: numOr(s.target_altitude_m, 0), + velocity_m_s: numOr(s.velocity_m_s, 0), + }), + formatFeedback: (fb) => + `status: ${fb.status ?? ""} | alt: ${toFixed(fb.current_altitude_m)} / ${toFixed(fb.target_altitude_m)} m`, + }, + { + id: "land", + label: "Land", + actionSuffix: "tasks/land", + fields: [ + { name: "velocity_m_s", kind: "float", default: 0.3, min: 0, max: 10, step: 0.1, hint: "0 = use config default" }, + ], + buildGoal: (s) => ({ velocity_m_s: numOr(s.velocity_m_s, 0) }), + formatFeedback: (fb) => + `status: ${fb.status ?? ""} | alt: ${toFixed(fb.current_altitude_m)} m`, + }, + { + id: "navigate", + label: "Navigate", + actionSuffix: "tasks/navigate", + fields: [ + { name: "frame_id", kind: "string", default: "map" }, + { name: "waypoints", kind: "path", default: "[[0.0, 0.0, 5.0]]", + hint: "JSON array of [x, y, z] waypoints in the above frame" }, + { name: "goal_tolerance_m", kind: "float", default: 1.0, min: 0, max: 100, step: 0.1 }, + ], + buildGoal: (s) => ({ + global_plan: buildPath(s.frame_id, s.waypoints), + goal_tolerance_m: numOr(s.goal_tolerance_m, 0), + }), + formatFeedback: genericAreaFeedback, + }, + { + id: "exploration", + label: "Exploration", + actionSuffix: "tasks/exploration", + fields: [ + { name: "search_bounds", kind: "polygon", default: "[]", + hint: "JSON array of [x, y, z] vertices ([] = unbounded)" }, + ...altSpeedFields, + { name: "time_limit_sec", kind: "float", default: 120.0, min: 0, max: 86400, step: 1 }, + ], + buildGoal: (s) => ({ + search_bounds: buildPolygon(s.search_bounds), + min_altitude_agl: numOr(s.min_altitude_agl, 0), + max_altitude_agl: numOr(s.max_altitude_agl, 0), + min_flight_speed: numOr(s.min_flight_speed, 0), + max_flight_speed: numOr(s.max_flight_speed, 0), + time_limit_sec: numOr(s.time_limit_sec, 0), + }), + formatFeedback: genericAreaFeedback, + }, + { + id: "coverage", + label: "Coverage", + actionSuffix: "tasks/coverage", + fields: [ + { name: "coverage_area", kind: "polygon", default: "[]", + hint: "JSON array of [x, y, z] vertices" }, + ...altSpeedFields, + { name: "line_spacing_m", kind: "float", default: 5.0, min: 0.1, max: 1000, step: 0.1 }, + { name: "heading_deg", kind: "float", default: 0.0, min: 0, max: 360, step: 1 }, + ], + buildGoal: (s) => ({ + coverage_area: buildPolygon(s.coverage_area), + min_altitude_agl: numOr(s.min_altitude_agl, 0), + max_altitude_agl: numOr(s.max_altitude_agl, 0), + min_flight_speed: numOr(s.min_flight_speed, 0), + max_flight_speed: numOr(s.max_flight_speed, 0), + line_spacing_m: numOr(s.line_spacing_m, 0), + heading_deg: numOr(s.heading_deg, 0), + }), + formatFeedback: (fb) => { + const base = genericAreaFeedback(fb); + const cov = fb.coverage_percentage; + return cov != null ? `${base} | coverage: ${toFixed(cov, 1)}%` : base; + }, + }, + { + id: "object_search", + label: "Object Search", + actionSuffix: "tasks/object_search", + fields: [ + { name: "object_class", kind: "string", default: "" }, + { name: "search_area", kind: "polygon", default: "[]", + hint: "JSON array of [x, y, z] vertices" }, + ...altSpeedFields, + { name: "time_limit_sec", kind: "float", default: 120.0, min: 0, max: 86400, step: 1 }, + { name: "target_count", kind: "int", default: 1, min: 0, max: 10000, step: 1, + hint: "0 = find all within area/time" }, + ], + buildGoal: (s) => ({ + object_class: String(s.object_class ?? ""), + search_area: buildPolygon(s.search_area), + min_altitude_agl: numOr(s.min_altitude_agl, 0), + max_altitude_agl: numOr(s.max_altitude_agl, 0), + min_flight_speed: numOr(s.min_flight_speed, 0), + max_flight_speed: numOr(s.max_flight_speed, 0), + time_limit_sec: numOr(s.time_limit_sec, 0), + target_count: intOr(s.target_count, 0), + }), + formatFeedback: (fb) => { + const base = genericAreaFeedback(fb); + const n = fb.objects_found_so_far; + return n != null ? `${base} | found: ${n}` : base; + }, + }, + { + id: "object_counting", + label: "Object Counting", + actionSuffix: "tasks/object_counting", + fields: [ + { name: "object_class", kind: "string", default: "" }, + { name: "count_area", kind: "polygon", default: "[]", + hint: "JSON array of [x, y, z] vertices" }, + ...altSpeedFields, + ], + buildGoal: (s) => ({ + object_class: String(s.object_class ?? ""), + count_area: buildPolygon(s.count_area), + min_altitude_agl: numOr(s.min_altitude_agl, 0), + max_altitude_agl: numOr(s.max_altitude_agl, 0), + min_flight_speed: numOr(s.min_flight_speed, 0), + max_flight_speed: numOr(s.max_flight_speed, 0), + }), + formatFeedback: (fb) => { + const base = genericAreaFeedback(fb); + const n = fb.current_count; + return n != null ? `${base} | count: ${n}` : base; + }, + }, + { + id: "semantic_search", + label: "Semantic Search", + actionSuffix: "tasks/semantic_search", + fields: [ + { name: "query", kind: "string", default: "" }, + { name: "background_queries", kind: "string", default: "", + hint: "comma-separated contrast classes, e.g. building,tree,ground" }, + { name: "search_area", kind: "polygon", default: "[]", + hint: "JSON array of [x, y, z] vertices" }, + { name: "min_altitude_agl", kind: "float", default: 3.0, min: 0, max: 500, step: 0.1 }, + { name: "max_altitude_agl", kind: "float", default: 15.0, min: 0, max: 500, step: 0.1 }, + { name: "min_flight_speed", kind: "float", default: 1.0, min: 0, max: 50, step: 0.1 }, + { name: "max_flight_speed", kind: "float", default: 3.0, min: 0, max: 50, step: 0.1 }, + { name: "confidence_threshold", kind: "float", default: 0.95, min: 0, max: 1, step: 0.01 }, + ], + buildGoal: (s) => ({ + query: String(s.query ?? ""), + background_queries: String(s.background_queries ?? ""), + search_area: buildPolygon(s.search_area), + min_altitude_agl: numOr(s.min_altitude_agl, 0), + max_altitude_agl: numOr(s.max_altitude_agl, 0), + min_flight_speed: numOr(s.min_flight_speed, 0), + max_flight_speed: numOr(s.max_flight_speed, 0), + confidence_threshold: numOr(s.confidence_threshold, 0), + }), + formatFeedback: (fb) => { + const base = genericAreaFeedback(fb); + const c = fb.best_confidence_so_far; + return c != null ? `${base} | best conf: ${toFixed(c, 2)}` : base; + }, + }, + { + id: "fixed_trajectory", + label: "Fixed Trajectory", + actionSuffix: "tasks/fixed_trajectory", + fields: [], // custom renderer + defaultState: () => ({ + type: "Circle", + attributes: TRAJECTORY_DEFAULTS.Circle.map(([k,v]) => [k,v]), + loop: false, + }), + buildGoal: (s) => ({ + trajectory_spec: { + type: s.type, + attributes: (s.attributes ?? []).map(([k,v]) => ({ key: String(k), value: String(v) })), + }, + loop: Boolean(s.loop), + }), + formatFeedback: genericAreaFeedback, + }, +]; + +function tabById(id) { + return TASK_TABS.find((t) => t.id === id) ?? TASK_TABS[0]; +} + +// ─────────────────────────── utilities ──────────────────────────────────────── + +function numOr(v, d) { const n = Number(v); return Number.isFinite(n) ? n : d; } +function intOr(v, d) { const n = parseInt(v, 10); return Number.isFinite(n) ? n : d; } +function toFixed(v, n = 1) { const x = Number(v); return Number.isFinite(x) ? x.toFixed(n) : "0.0"; } + +function genericAreaFeedback(fb) { + const p = fb.current_position ?? {}; + const prog = fb.progress != null ? ` | progress: ${toFixed(fb.progress, 2)}` : ""; + return `status: ${fb.status ?? ""}${prog} | pos: (${toFixed(p.x)}, ${toFixed(p.y)}, ${toFixed(p.z)})`; +} + +function parseJsonPoints(text) { + // Accepts "[[x,y,z], ...]" or "[]". Returns array of {x,y,z} or throws. + const parsed = JSON.parse(text); + if (!Array.isArray(parsed)) throw new Error("must be a JSON array"); + return parsed.map((pt, i) => { + if (!Array.isArray(pt) || pt.length < 2) { + throw new Error(`point ${i} must be [x, y] or [x, y, z]`); + } + return { x: Number(pt[0]) || 0, y: Number(pt[1]) || 0, z: Number(pt[2]) || 0 }; + }); +} -function getConditionName(state) { - return state.command === "__custom__" ? state.custom_command : state.command; +function buildPolygon(text) { + try { + const pts = parseJsonPoints(text ?? "[]"); + return { points: pts.map((p) => ({ x: p.x, y: p.y, z: p.z })) }; + } catch { + return { points: [] }; + } } +function buildPath(frameId, text) { + let pts = []; + try { pts = parseJsonPoints(text ?? "[]"); } catch { pts = []; } + const header = { stamp: { sec: 0, nanosec: 0 }, frame_id: String(frameId ?? "map") }; + return { + header, + poses: pts.map((p) => ({ + header, + pose: { + position: { x: p.x, y: p.y, z: p.z }, + orientation: { x: 0, y: 0, z: 0, w: 1 }, + }, + })), + }; +} + +function randomUuidBytes() { + const bytes = new Uint8Array(16); + (globalThis.crypto ?? window.crypto).getRandomValues(bytes); + return Array.from(bytes); +} + +function uuidEqual(a, b) { + if (!a || !b || a.length !== b.length) return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) return false; + } + return true; +} + +function actionTopic(robot, suffix, leaf) { + return `/${robot}/${suffix}/${leaf}`; +} + +function statusLabel(code) { + switch (code) { + case GOAL_STATUS.ACCEPTED: return "Accepted"; + case GOAL_STATUS.EXECUTING: return "Running"; + case GOAL_STATUS.CANCELING: return "Cancelling"; + case GOAL_STATUS.SUCCEEDED: return "Succeeded"; + case GOAL_STATUS.CANCELED: return "Canceled"; + case GOAL_STATUS.ABORTED: return "Aborted"; + default: return "Unknown"; + } +} + +function statusColor(code) { + switch (code) { + case GOAL_STATUS.SUCCEEDED: return "#16a34a"; + case GOAL_STATUS.ABORTED: return "#dc2626"; + case GOAL_STATUS.CANCELED: return "#ea580c"; + case GOAL_STATUS.CANCELING: return "#ea580c"; + default: return "#2563eb"; + } +} + +// Build the default sub-state for a tab from its field list (or explicit defaultState). +function defaultTabState(tab) { + if (tab.defaultState) return tab.defaultState(); + const s = {}; + for (const f of tab.fields) s[f.name] = f.default; + return s; +} + +// ─────────────────────────── panel ──────────────────────────────────────────── + function activate(extensionContext) { extensionContext.registerPanel({ - name: "Robot Command Button", + name: "Robot Tasks", initPanel: (panelContext) => { - let state = Object.assign({}, DEFAULT_STATE, panelContext.initialState ?? {}); - let advertisedTopic = null; + // Build default state. + const DEFAULT_STATE = { robot: "robot_1", activeTab: TASK_TABS[0].id }; + for (const tab of TASK_TABS) DEFAULT_STATE[tab.id] = defaultTabState(tab); + + // Merge persisted state (shallow per tab, so new fields added in code show up). + const persisted = panelContext.initialState ?? {}; + const state = { + robot: persisted.robot ?? DEFAULT_STATE.robot, + activeTab: persisted.activeTab ?? DEFAULT_STATE.activeTab, + }; + for (const tab of TASK_TABS) { + state[tab.id] = { ...DEFAULT_STATE[tab.id], ...(persisted[tab.id] ?? {}) }; + // Deep-copy attributes array for fixed_trajectory to avoid sharing refs. + if (tab.id === "fixed_trajectory" && Array.isArray(state[tab.id].attributes)) { + state[tab.id].attributes = state[tab.id].attributes.map(([k,v]) => [k,v]); + } + } + + // Runtime (not persisted) + const runtime = { + activeTabId: null, + activeGoalUuid: null, + feedbackLines: [], + resultText: "", + statusText: "Idle", + statusCode: GOAL_STATUS.UNKNOWN, + subscribedTopics: [], + }; + + const MAX_FEEDBACK_LINES = 100; + // ── DOM ─────────────────────────────────────────────────────────────── const root = panelContext.panelElement; root.style.cssText = - "display:flex;align-items:center;justify-content:center;height:100%;padding:12px;box-sizing:border-box;"; - - const btn = document.createElement("button"); - btn.style.cssText = - "width:100%;height:100%;min-height:48px;border:none;border-radius:6px;" + - "font-size:16px;font-weight:bold;color:white;cursor:pointer;transition:opacity 0.1s;"; - btn.addEventListener("mousedown", () => (btn.style.opacity = "0.75")); - btn.addEventListener("mouseup", () => (btn.style.opacity = "1")); - btn.addEventListener("mouseleave", () => (btn.style.opacity = "1")); - btn.addEventListener("click", handleClick); - root.appendChild(btn); - - function render() { - btn.textContent = state.button_label || "Button"; - btn.style.backgroundColor = state.button_color || "#10B981"; - panelContext.setDefaultPanelTitle(state.button_label || "Robot Command Button"); + "display:flex;flex-direction:column;height:100%;box-sizing:border-box;padding:8px;gap:8px;font-family:sans-serif;color:inherit;overflow-y:auto;overflow-x:hidden;"; + + // Robot row + const robotRow = document.createElement("div"); + robotRow.style.cssText = "display:flex;align-items:center;gap:6px;flex-shrink:0;"; + const robotLabel = document.createElement("span"); + robotLabel.textContent = "Robot:"; + robotLabel.style.fontWeight = "bold"; + const robotInput = document.createElement("input"); + robotInput.type = "text"; + robotInput.value = state.robot; + robotInput.style.cssText = "flex:1;padding:4px 6px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"; + robotInput.addEventListener("change", () => { + state.robot = robotInput.value.trim() || "robot_1"; + persist(); + }); + robotRow.appendChild(robotLabel); + robotRow.appendChild(robotInput); + root.appendChild(robotRow); + + // Tab bar (horizontally scrollable so many tabs fit) + const tabBar = document.createElement("div"); + tabBar.style.cssText = "display:flex;gap:2px;border-bottom:1px solid #444;overflow-x:auto;flex-shrink:0;"; + const tabButtons = {}; + for (const tab of TASK_TABS) { + const b = document.createElement("button"); + b.textContent = tab.label; + b.style.cssText = + "padding:8px 10px;border:none;background:transparent;color:inherit;cursor:pointer;font-size:13px;border-bottom:2px solid transparent;white-space:nowrap;"; + b.addEventListener("click", () => { + state.activeTab = tab.id; + persist(); + renderTabs(); + }); + tabButtons[tab.id] = b; + tabBar.appendChild(b); } + root.appendChild(tabBar); - function handleClick() { - const conditionName = getConditionName(state); - if (!conditionName) return; - const topic = `/${state.robot}/behavior/behavior_tree_commands`; + // Tab bodies + const tabBodies = {}; + for (const tab of TASK_TABS) { + const body = document.createElement("div"); + body.style.cssText = "display:flex;flex-direction:column;gap:6px;flex-shrink:0;"; - if (advertisedTopic !== topic) { - if (advertisedTopic != null) { - panelContext.unadvertise(advertisedTopic); + if (tab.id === "fixed_trajectory") { + body.appendChild(buildFixedTrajectoryForm(state.fixed_trajectory, persist)); + } else { + // Render simple fields first, then polygon/path (collapsible) at the bottom. + const isCollapsible = (f) => f.kind === "polygon" || f.kind === "path"; + const simple = tab.fields.filter((f) => !isCollapsible(f)); + const complex = tab.fields.filter(isCollapsible); + for (const field of [...simple, ...complex]) { + body.appendChild(buildField(field, state[tab.id], persist)); } - panelContext.advertise(topic, "behavior_tree_msgs/msg/BehaviorTreeCommands", { - datatypes: BT_COMMANDS_DATATYPES, + } + + tabBodies[tab.id] = body; + root.appendChild(body); + } + + // Feedback area + const feedbackLabel = document.createElement("div"); + feedbackLabel.textContent = "Feedback"; + feedbackLabel.style.cssText = "font-weight:bold;margin-top:4px;flex-shrink:0;"; + const feedbackBox = document.createElement("div"); + feedbackBox.style.cssText = "min-height:80px;max-height:180px;overflow-y:auto;background:rgba(0,0,0,0.2);border:1px solid #444;border-radius:4px;padding:6px;font-family:monospace;font-size:12px;white-space:pre-wrap;flex-shrink:0;"; + root.appendChild(feedbackLabel); + root.appendChild(feedbackBox); + + const resultLabel = document.createElement("div"); + resultLabel.textContent = "Result"; + resultLabel.style.cssText = "font-weight:bold;flex-shrink:0;"; + const resultBox = document.createElement("div"); + resultBox.style.cssText = "min-height:32px;background:rgba(0,0,0,0.2);border:1px solid #444;border-radius:4px;padding:6px;font-family:monospace;font-size:12px;white-space:pre-wrap;flex-shrink:0;"; + root.appendChild(resultLabel); + root.appendChild(resultBox); + + // Status + buttons + const statusRow = document.createElement("div"); + statusRow.style.cssText = "display:flex;align-items:center;gap:8px;flex-shrink:0;"; + const statusLbl = document.createElement("span"); + statusLbl.style.cssText = "flex:1;font-weight:bold;"; + const cancelBtn = document.createElement("button"); + cancelBtn.textContent = "Cancel"; + cancelBtn.style.cssText = "padding:8px 16px;border-radius:4px;border:none;background:#6b7280;color:white;cursor:pointer;"; + const executeBtn = document.createElement("button"); + executeBtn.textContent = "Execute"; + executeBtn.style.cssText = "padding:8px 16px;border-radius:4px;border:none;background:#10b981;color:white;cursor:pointer;font-weight:bold;"; + statusRow.appendChild(statusLbl); + statusRow.appendChild(cancelBtn); + statusRow.appendChild(executeBtn); + root.appendChild(statusRow); + + // ── helpers ────────────────────────────────────────────────────────── + function persist() { panelContext.saveState(state); } + + function renderTabs() { + for (const tab of TASK_TABS) { + const isActive = tab.id === state.activeTab; + tabBodies[tab.id].style.display = isActive ? "flex" : "none"; + tabButtons[tab.id].style.borderBottomColor = isActive ? "#10b981" : "transparent"; + tabButtons[tab.id].style.fontWeight = isActive ? "bold" : "normal"; + } + } + + function renderStatus() { + statusLbl.textContent = `Status: ${runtime.statusText}`; + statusLbl.style.color = statusColor(runtime.statusCode); + const inProgress = runtime.activeTabId != null && !TERMINAL_STATUSES.has(runtime.statusCode); + executeBtn.disabled = inProgress; + executeBtn.style.opacity = inProgress ? "0.5" : "1"; + cancelBtn.disabled = !inProgress || runtime.activeTabId !== state.activeTab; + cancelBtn.style.opacity = cancelBtn.disabled ? "0.5" : "1"; + } + + function renderFeedback() { + feedbackBox.textContent = runtime.feedbackLines.join("\n"); + feedbackBox.scrollTop = feedbackBox.scrollHeight; + resultBox.textContent = runtime.resultText; + } + + function appendFeedback(line) { + const ts = new Date().toLocaleTimeString(); + runtime.feedbackLines.push(`[${ts}] ${line}`); + if (runtime.feedbackLines.length > MAX_FEEDBACK_LINES) { + runtime.feedbackLines.splice(0, runtime.feedbackLines.length - MAX_FEEDBACK_LINES); + } + renderFeedback(); + } + + function resetRuntimeForNewGoal() { + runtime.feedbackLines = []; + runtime.resultText = ""; + runtime.statusText = "Sending..."; + runtime.statusCode = GOAL_STATUS.UNKNOWN; + renderFeedback(); + renderStatus(); + } + + // ── subscriptions ──────────────────────────────────────────────────── + function subscribeForActiveGoal(tab) { + const topics = [ + actionTopic(state.robot, tab.actionSuffix, "_action/feedback"), + actionTopic(state.robot, tab.actionSuffix, "_action/status"), + ]; + runtime.subscribedTopics = topics; + panelContext.subscribe(topics.map((topic) => ({ topic }))); + } + + function unsubscribeAll() { + runtime.subscribedTopics = []; + panelContext.subscribe([]); + } + + // ── execute / cancel ───────────────────────────────────────────────── + executeBtn.addEventListener("click", async () => { + if (runtime.activeTabId != null) return; + const tab = tabById(state.activeTab); + let goal; + try { + goal = tab.buildGoal(state[tab.id]); + } catch (err) { + runtime.statusText = "Invalid goal"; + runtime.statusCode = GOAL_STATUS.ABORTED; + runtime.resultText = `buildGoal failed: ${err?.message ?? err}`; + renderStatus(); + renderFeedback(); + return; + } + const goalId = randomUuidBytes(); + + runtime.activeTabId = tab.id; + runtime.activeGoalUuid = goalId; + resetRuntimeForNewGoal(); + subscribeForActiveGoal(tab); + + const sendGoalService = actionTopic(state.robot, tab.actionSuffix, "_action/send_goal"); + try { + const response = await panelContext.callService(sendGoalService, { + goal_id: { uuid: goalId }, goal, }); - advertisedTopic = topic; + if (!response?.accepted) { + runtime.statusText = "Rejected by server"; + runtime.statusCode = GOAL_STATUS.ABORTED; + runtime.activeTabId = null; + runtime.activeGoalUuid = null; + unsubscribeAll(); + renderStatus(); + return; + } + runtime.statusText = statusLabel(GOAL_STATUS.ACCEPTED); + runtime.statusCode = GOAL_STATUS.ACCEPTED; + renderStatus(); + } catch (err) { + runtime.statusText = "Send failed"; + runtime.statusCode = GOAL_STATUS.ABORTED; + runtime.resultText = String(err?.message ?? err); + runtime.activeTabId = null; + runtime.activeGoalUuid = null; + unsubscribeAll(); + renderStatus(); + renderFeedback(); } + }); - // Send 2 (SUCCESS) for the selected command, 0 (IDLE) for all others. - // Matches rqt behaviour exactly. - const commands = []; - for (const preset of PRESET_COMMANDS) { - if (preset.value === "__custom__") continue; - commands.push({ - condition_name: preset.value, - status: preset.value === conditionName ? 2 : 0, + cancelBtn.addEventListener("click", async () => { + if (runtime.activeGoalUuid == null) return; + const tab = tabById(runtime.activeTabId); + const cancelService = actionTopic(state.robot, tab.actionSuffix, "_action/cancel_goal"); + runtime.statusText = statusLabel(GOAL_STATUS.CANCELING); + runtime.statusCode = GOAL_STATUS.CANCELING; + renderStatus(); + try { + await panelContext.callService(cancelService, { + goal_info: { goal_id: { uuid: runtime.activeGoalUuid }, stamp: { sec: 0, nanosec: 0 } }, }); + } catch (err) { + appendFeedback(`cancel call failed: ${err?.message ?? err}`); } - if (state.command === "__custom__" && conditionName) { - commands.push({ condition_name: conditionName, status: 2 }); + }); + + // ── incoming messages ──────────────────────────────────────────────── + async function handleStatusMessage(msg) { + if (runtime.activeGoalUuid == null) return; + const list = msg?.status_list ?? []; + for (const entry of list) { + const uuid = entry?.goal_info?.goal_id?.uuid; + if (!uuid || !uuidEqual(uuid, runtime.activeGoalUuid)) continue; + const code = entry.status; + runtime.statusCode = code; + runtime.statusText = statusLabel(code); + renderStatus(); + + if (TERMINAL_STATUSES.has(code)) { + const tab = tabById(runtime.activeTabId); + const getResultService = actionTopic(state.robot, tab.actionSuffix, "_action/get_result"); + try { + const res = await panelContext.callService(getResultService, { + goal_id: { uuid: runtime.activeGoalUuid }, + }); + const result = res?.result ?? {}; + runtime.resultText = `success: ${result.success}\nmessage: ${result.message ?? ""}`; + } catch (err) { + runtime.resultText = `(get_result failed: ${err?.message ?? err})`; + } + runtime.activeTabId = null; + runtime.activeGoalUuid = null; + unsubscribeAll(); + renderStatus(); + renderFeedback(); + } } - panelContext.publish(topic, { commands }); } - function updateSettings() { - const isCustom = state.command === "__custom__"; - const fields = { - button_label: { - label: "Label", - input: "string", - value: state.button_label, - }, - button_color: { - label: "Color", - input: "rgb", - value: state.button_color, - }, - robot: { - label: "Robot Name", - input: "string", - value: state.robot, - placeholder: "robot_1", - }, - command: { - label: "Command", - input: "select", - value: state.command, - options: PRESET_COMMANDS, - }, - }; - - if (isCustom) { - fields.custom_command = { - label: "Custom Command Name", - input: "string", - value: state.custom_command, - placeholder: "e.g. My Custom Commanded", - }; + function handleFeedbackMessage(msg) { + if (runtime.activeGoalUuid == null) return; + const uuid = msg?.goal_id?.uuid; + if (!uuid || !uuidEqual(uuid, runtime.activeGoalUuid)) return; + const tab = tabById(runtime.activeTabId); + appendFeedback(tab.formatFeedback(msg.feedback ?? {})); + } + + // ── render loop ────────────────────────────────────────────────────── + panelContext.onRender = (renderState, done) => { + const frame = renderState.currentFrame; + if (frame) { + for (const evt of frame) { + if (!runtime.subscribedTopics.includes(evt.topic)) continue; + if (evt.topic.endsWith("_action/status")) { + handleStatusMessage(evt.message); + } else if (evt.topic.endsWith("_action/feedback")) { + handleFeedbackMessage(evt.message); + } + } } + done(); + }; + panelContext.watch("currentFrame"); + panelContext.watch("topics"); - panelContext.updatePanelSettingsEditor({ - actionHandler: (action) => { - if (action.action !== "update") return; - const key = action.payload.path[1]; - state[key] = action.payload.value; - panelContext.saveState(state); - render(); - updateSettings(); - }, - nodes: { - general: { - label: "Button", - fields, + panelContext.updatePanelSettingsEditor({ + actionHandler: (action) => { + if (action.action !== "update") return; + const key = action.payload.path[1]; + if (key === "robot") { + state.robot = String(action.payload.value || "robot_1"); + robotInput.value = state.robot; + persist(); + } + }, + nodes: { + general: { + label: "Settings", + fields: { + robot: { label: "Robot Name", input: "string", value: state.robot, placeholder: "robot_1" }, }, }, - }); - } + }, + }); - render(); - updateSettings(); + panelContext.setDefaultPanelTitle("Robot Tasks"); + renderTabs(); + renderStatus(); + renderFeedback(); - return () => { - if (advertisedTopic != null) { - panelContext.unadvertise(advertisedTopic); - } - }; + return () => { unsubscribeAll(); }; }, }); } +// ─────────────────────────── field builders ─────────────────────────────────── + +function fieldRow(labelText, control, hint) { + const wrap = document.createElement("div"); + wrap.style.cssText = "display:flex;flex-direction:column;gap:2px;"; + const row = document.createElement("div"); + row.style.cssText = "display:flex;align-items:center;gap:6px;"; + const label = document.createElement("span"); + label.textContent = labelText + ":"; + label.style.cssText = "flex:1;"; + row.appendChild(label); + row.appendChild(control); + wrap.appendChild(row); + if (hint) { + const h = document.createElement("span"); + h.textContent = hint; + h.style.cssText = "font-size:11px;opacity:0.6;padding-left:4px;"; + wrap.appendChild(h); + } + return wrap; +} + +function buildField(field, tabState, persist) { + switch (field.kind) { + case "float": + case "int": { + const input = document.createElement("input"); + input.type = "number"; + input.step = field.kind === "int" ? "1" : String(field.step ?? 0.1); + if (field.min != null) input.min = String(field.min); + if (field.max != null) input.max = String(field.max); + input.value = String(tabState[field.name]); + input.style.cssText = "width:120px;padding:4px 6px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"; + input.addEventListener("change", () => { + const v = field.kind === "int" ? parseInt(input.value, 10) : Number(input.value); + tabState[field.name] = Number.isFinite(v) ? v : 0; + persist(); + }); + return fieldRow(field.name, input, field.hint); + } + case "string": { + const input = document.createElement("input"); + input.type = "text"; + input.value = String(tabState[field.name] ?? ""); + input.style.cssText = "flex:1;min-width:120px;padding:4px 6px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"; + input.addEventListener("change", () => { + tabState[field.name] = input.value; + persist(); + }); + return fieldRow(field.name, input, field.hint); + } + case "bool": { + const cb = document.createElement("input"); + cb.type = "checkbox"; + cb.checked = Boolean(tabState[field.name]); + cb.addEventListener("change", () => { + tabState[field.name] = cb.checked; + persist(); + }); + return fieldRow(field.name, cb, field.hint); + } + case "polygon": + case "path": { + const openKey = `_${field.name}_open`; + const details = document.createElement("details"); + details.style.cssText = "border:1px solid #444;border-radius:4px;padding:4px 6px;margin-top:2px;"; + details.open = Boolean(tabState[openKey]); + const summary = document.createElement("summary"); + summary.style.cssText = "cursor:pointer;user-select:none;font-size:13px;"; + const countPoints = (text) => { + try { + const parsed = JSON.parse(text || "[]"); + return Array.isArray(parsed) ? parsed.length : 0; + } catch { return null; } + }; + const renderSummary = () => { + const n = countPoints(tabState[field.name]); + const label = n == null ? "invalid" : `${n} pt${n === 1 ? "" : "s"}`; + summary.textContent = `${field.name} (${label})`; + }; + renderSummary(); + details.appendChild(summary); + + details.addEventListener("toggle", () => { + tabState[openKey] = details.open; + persist(); + }); + + const ta = document.createElement("textarea"); + ta.rows = 3; + ta.value = String(tabState[field.name] ?? "[]"); + ta.style.cssText = "width:100%;box-sizing:border-box;margin-top:4px;padding:4px 6px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;font-family:monospace;font-size:12px;resize:vertical;"; + const err = document.createElement("span"); + err.style.cssText = "display:block;font-size:11px;color:#dc2626;min-height:14px;"; + const validate = () => { + try { JSON.parse(ta.value || "[]"); err.textContent = ""; } + catch (e) { err.textContent = "invalid JSON: " + (e?.message ?? e); } + }; + ta.addEventListener("input", () => { + tabState[field.name] = ta.value; + validate(); + renderSummary(); + persist(); + }); + validate(); + details.appendChild(ta); + if (field.hint) { + const h = document.createElement("span"); + h.textContent = field.hint; + h.style.cssText = "display:block;font-size:11px;opacity:0.6;margin-top:2px;"; + details.appendChild(h); + } + details.appendChild(err); + return details; + } + } + const fallback = document.createElement("div"); + fallback.textContent = `(unsupported field kind: ${field.kind})`; + return fallback; +} + +function buildFixedTrajectoryForm(tabState, persist) { + const wrapper = document.createElement("div"); + wrapper.style.cssText = "display:flex;flex-direction:column;gap:6px;"; + + // Type combo + const typeRow = document.createElement("div"); + typeRow.style.cssText = "display:flex;align-items:center;gap:6px;"; + const typeLabel = document.createElement("span"); + typeLabel.textContent = "type:"; + typeLabel.style.flex = "1"; + const typeSelect = document.createElement("select"); + typeSelect.style.cssText = "padding:4px 6px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"; + for (const name of Object.keys(TRAJECTORY_DEFAULTS)) { + const opt = document.createElement("option"); + opt.value = name; + opt.textContent = name; + if (name === tabState.type) opt.selected = true; + typeSelect.appendChild(opt); + } + typeRow.appendChild(typeLabel); + typeRow.appendChild(typeSelect); + wrapper.appendChild(typeRow); + + // Attributes table + const table = document.createElement("div"); + table.style.cssText = "display:flex;flex-direction:column;gap:2px;"; + wrapper.appendChild(table); + + function renderAttributes() { + table.replaceChildren(); + tabState.attributes.forEach(([k, v], idx) => { + const row = document.createElement("div"); + row.style.cssText = "display:flex;gap:4px;"; + const keyIn = document.createElement("input"); + keyIn.type = "text"; + keyIn.value = k; + keyIn.placeholder = "key"; + keyIn.style.cssText = "flex:1;padding:3px 6px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"; + keyIn.addEventListener("change", () => { + tabState.attributes[idx][0] = keyIn.value; + persist(); + }); + const valIn = document.createElement("input"); + valIn.type = "text"; + valIn.value = v; + valIn.placeholder = "value"; + valIn.style.cssText = "flex:1;padding:3px 6px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"; + valIn.addEventListener("change", () => { + tabState.attributes[idx][1] = valIn.value; + persist(); + }); + const delBtn = document.createElement("button"); + delBtn.textContent = "✕"; + delBtn.style.cssText = "width:28px;border-radius:4px;border:none;background:#6b7280;color:white;cursor:pointer;"; + delBtn.addEventListener("click", () => { + tabState.attributes.splice(idx, 1); + persist(); + renderAttributes(); + }); + row.appendChild(keyIn); + row.appendChild(valIn); + row.appendChild(delBtn); + table.appendChild(row); + }); + } + renderAttributes(); + + typeSelect.addEventListener("change", () => { + tabState.type = typeSelect.value; + tabState.attributes = (TRAJECTORY_DEFAULTS[tabState.type] ?? []).map(([k, v]) => [k, v]); + persist(); + renderAttributes(); + }); + + const addBtn = document.createElement("button"); + addBtn.textContent = "+ Add Attribute"; + addBtn.style.cssText = "align-self:flex-start;padding:4px 8px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;cursor:pointer;"; + addBtn.addEventListener("click", () => { + tabState.attributes.push(["", ""]); + persist(); + renderAttributes(); + }); + wrapper.appendChild(addBtn); + + // Loop checkbox + const loopRow = document.createElement("label"); + loopRow.style.cssText = "display:flex;align-items:center;gap:6px;cursor:pointer;"; + const loopCb = document.createElement("input"); + loopCb.type = "checkbox"; + loopCb.checked = Boolean(tabState.loop); + loopCb.addEventListener("change", () => { + tabState.loop = loopCb.checked; + persist(); + }); + const loopLabel = document.createElement("span"); + loopLabel.textContent = "loop"; + loopRow.appendChild(loopCb); + loopRow.appendChild(loopLabel); + wrapper.appendChild(loopRow); + + return wrapper; +} + module.exports = { activate }; })(); diff --git a/gcs/foxglove_extensions/robot-commands/package.json b/gcs/foxglove_extensions/robot-commands/package.json index ea84a6c2..24f071be 100644 --- a/gcs/foxglove_extensions/robot-commands/package.json +++ b/gcs/foxglove_extensions/robot-commands/package.json @@ -1,9 +1,9 @@ { "name": "robot-commands", - "displayName": "Robot Command Button", - "description": "Configurable button that publishes a behavior_tree_msgs/BehaviorTreeCommands condition to a robot.", + "displayName": "Robot Tasks", + "description": "Tabbed panel to send goals to AirStack task executors (ROS 2 actions).", "publisher": "AirLab CMU", - "version": "1.0.0", + "version": "2.0.0", "license": "Apache-2.0", "main": "./dist/extension.js" } diff --git a/gcs/foxglove_extensions/robot-commands/robot-commands.foxe b/gcs/foxglove_extensions/robot-commands/robot-commands.foxe index 858ec6a58156576fdedee391a1b73a78588a4382..85b4b201837ca91e54c868437783b6f40f24879a 100644 GIT binary patch literal 6351 zcmZ{oWmH^UmWB&=cMriya3@&d9^5Hh3kd`%g1cKG0YVBWAdteH;2Hu14estP0TN{L zecdywr)PTIwa-20$A0d9&%gUu*NEF=H`7eEVmV`T%j zaK+OJ@b@B=EQ#O4i>r78>ls2NMx9E{&;To0FSIWkKt7nqT3{vbJ z$Dsf0jehW@U@Q4u!ti>IyBt=Nd>S0^wEq4ErExmE6s3^SdpkE`|=^?XHHjRL3)yDrs7h+V|~={hAuR`|Ibg-B(|T zcMiO&g?xG>SLI3XSX<3C=NCl@a{5D#?j(66_2i^2(N?!VhEP!+Rb3zEHze-lsb2FXc=9?<7B*6h;` zimF!bpalyVg}&UL*B1)idCctd`Or6|Ws`Td<*WnjH5l+37fd|ihEK$lw8bEp#|ZP_ zTcXtGh#1A$@N4$@Mh@+w3OQ9Fo?4uW_D=lRQ>gmcL(TVJE<5+RY{o)HVwWFTQ~X_9 z#$Zq8ULQ0rO+f*OHzv-L7P3QlJP2FTVr5>U@wtL}wAx%bCqf0O@1bJ!5B?K3DQk{; zEF$-U)Uy6$=9d8ypM388Wl+v*nm48u(hXFElJELS1273^3P*ElFNA1wUFl8d)?~QD9ZN^<+6WEt#SdHA-;I z0Yx}z5~_wx-m~9(VbonkJckt$(HuhdemteWO}Vy=zICWDeWa^sk7LMMct?U>7KLWF zpOig3soF>MH=8sl_oP!%B%EHOoIREc9a(H5rDXh_bN%z)%OhJU^p)|Hi+>Eyze zL1cKZ5v3cA$s6Rm-p%l#AzY$=ye)T3F8c>|4(&vjQ0HsipnZk*3V+DbDwZaL z;ZYwKmNn(}WE#Fd#|#V)rN(z}*{hpVbEnZ7PUu7B18YtyE0N zLykUcE{|}eeA2!XVWrD`>Z%ljRHR`CW(3p8yiOne;`{|mhAI3VvRz&eRmbRMx{`6> z)EsSj@qjb1=Xj)R+3B75@G$Cp^1E|@n?VRU?Perdi}Z_&GFgOq;fQxxao-{m-XPL~ z;ac5UWyPW7r|Z?Ky(gts>1NV0qX4>ivFHj%i7{md?X#-W)vrOs7}gHt0lKDYqUab0 zzsWRAB2~Wo`1(@GqUfM`H=-$1Sa4Ki8>(Ov?{wOk6yEB0!E#?qkEY#TOH#)2G_#Vv zjp5=SzQvqaEqj2+oIE@Z1Ge`qith+>2bei}wLPTEJZ;yxszo|8@PL?ZS6TMA1oh>U zZ0Uk#*il+ho6qwQ9g&JFw3x5%e@m!7lnz9NHQRo_XCrc>c^!4T%1#Po@JEKy4n^m~ zLc+*%38#|oII4`0)fN^)gC9$ydVct>qBZQI-A@>Ma-Vf43s)-Cg&?xtrrEDczP>c( zzu|S<@*udzyTag(I=;s*}j74o2Ds z%DdS6a!OY0UjOXwvL{P!r@JBKimZsH9jn7#vYy4{8mv&Fm8X)w+=l{9Sj`B;fs4By zB2F5OE*evk@^(|yC{cbB<&oqijIP0OwykHdSv zcPE%;E(GaaJC}m)Fry^5C*loF3zfc2($?U2!rVF`cajXk_rEw-yvXe&9!4abq793e z2*Qx_R`n%b6zo46e*2#Gi+`c zM}|C*M6+j(K(wEqWYwpKhoisd=r@cy!rQGI(av!&6RPERXgbSs2rixT(kw(^?>uMVeW{9 zv}skv2j!;M3AQjK=ms@~Kg}nkh5axPq}<*Q$T^PD9YZ=hxA2L&Tei=>NAYq50127* zK8)82#BWf30F9jZRKlqqUZF#U2POnnPBHA#Gd{5JK+i`pnLYxc8f%{y2HhciQCC5i zL4+e^ZGIgz>QK?0`6P$Amtr@v^caE(Av2rznD>YP$s7))I~I3|l~Mjx7fu!g`7S(wwG(Zr)u6T{b(gQzBCz_bv286fw? zH3bw?mf%v*NBdIv!$=v+6!V;Ws+>)q0diLA%dv^qyR-lq|C%{NIxVi5=V};%#T;V} zzPMr>8Om)Z-3Iggdnhv5C2QBP4#>GR#_|vS)Ui4UAV>Kd8X{-4}wAe>&do z(00~7!8}yi<;1rd^De97dHx*86BG9K;74kqc-gA9%{KbRizM!a1M(4jiFg9mHOReU zIk=06EYxa@i;|LZ?^Br7cV151kuH>^QlnXQ)GKTzVEmlh7G{LrogT%?E0oQ}rbS^{I0|@j?7;&9sRIxhC+jo3&YYB=gFI zrHP69FGY+R-lC~RiiK0fd2uDM zbJb(H#T)e8`;p~T>aU44sfMFA5>_HI)Od^HfEl8rl08IHiH9o7y2eBeQIy}Voih&i z!KI8Sas(8KCw#EXwuYh^Fm@V9q+upLuCOiZSC|=%IYxzWmgbdpZ#B}S_Og5k9KG2N zFjtYSVuP-f1Tn|f_}MmkIx{Wrs%%PEl4AGm?37Hr&B@D9`sQ;t{+b|ZKKwHJnYUS zSI7x4A*&Y?+s0jV&W5<{`A9^7o5{-ip5YsrnjtkY4l;5>J}$P0HoxK=-=a1uqsU$^ zoT5Qq~5YGtFx~dy`elLSwoa3(32oqZt|> z8imR`KgI~E;N8|s#CpmsVlJY#(^TdOekS_3-_Q9#Jz@29$muVCTl#e_j%S4y;@V8^ zt+>`Kcw8elSi%$i)bil07L{70=|kwmmAZO9(YBFnY9sIsv{kToPMc!knf*|)-r0V@ zWBTXwGz!xr@*MGU1>T}8jbv{|dRjGf6LD$TGzYw$NIsmA%Eh{$Z+&JpZBNqT2qjme zQqr{Z>fP@GMQ9v{6#H3}vk+4^3fUZ)bf$Ucc~WL{X`MOPiM(5yi)$;|P-R1hkPb<% zD@zDl(j!V8Hu>skW0m)=z(Wgr3b05WP7$kVoiEoZGy{_22I6-_5#&GEr>nUPlx1AV zqHw9loO7PGV-ZxT4(nEL?^~OfJf5Y1fEU2vb|>pDxeXaLEoVITs#SaGSv$7YYodTs zy4E_jRxgRspeO&IMfwZ0n(#?UeaW<)9vKX{l`0SXd-lh1YbUXz9To3Y>M+@PY>O22 ztHJ_%i*b8@>%@oa*`y3^ZCC$ZC(O6%`^=SUatD?(^}1ZzybVR4mLNBTk9f3Arw`Mj zF?`TO?bMQeCru&sil5SHqu}{e?5m}>BJM9*DA>#zOw6!t8|!Wn+@^lvQh4#HE8B(a z+aJ%QJ%#L33AnX>LD zw%y(jC5F6C7zdII<<|$3^q1VWHI5Youyf&CU0y7eLkKOxuG3%swWf6aW&l&q=k-7& zR*>zF(-um-wj49mZeo;d2keQU17TbYyB1e3EpML=bp|`Y7>qBqDxi?ln55FRX}M%k z+b=KC#9^sL*E<5on`0%Z;_J1QC|R&ctLs{bRH{BZs!23hn6~|pf)T-K>K2!2KJL!P z?KrLHOaukH9_t2>Ah_89GJMfBh2nIL1^uao)2Z{ZXbEu1!a(1Ww!VDjet)}g0b)INGxm+v;^dhgE!2l!+>Le^58B+fhdXf1GL_y- zjIq9{4_GV|w8)t8dH!ZEi@KgO)3tSo3^rk@Hs)FReQfuo# z@lz+a`*NFjYIhCrsL32OQCTg{&smo(8rj&7>a9+%gmLTXpj#PCx$U6tc5LSH5j9O<&+DXEAJn-JrCtUN=hmPE7#z&;`QauN9 zgNq3U_?BhxU(jc>X}OZr8|+CFnv9yPDTTf10`Bni-E&D7(Waw($U+3#m_L8^7vz=Ulp`mGMT*d90Dh;--$;DBmL~uqS0LeRwZZlrNj#a?kRa zHR$kV`7y{$8`&BPD%wWqHB8s;=g75HV!1Mz^Ka|0bt%UzFdikTp}0+S%90nvR?mMl zOWAlcCQ!yH8fXW%mC)o&;TbX_#k9GmzAUW&{+Ym{b}a)}mNuf&X{V0TE6&Yg+K~XO zY_(eLOs6lcA8_{LZCPeoWwy@yCFs6FDx3Y;LPzn;IXI}Q@%9b*a)}>lZ|C$@d2ol# zI-60S>fyCZK~Dc9Kd^x}UdN-|a>3^joROghYH`*T+IDQb!R;xUYy)~naE|1ELa^~$2KPC!>M^rSS*P+w#xM6u@g5Ci6tGlmh!rFg4E|KFl#>fUiw$c zd_U-B6F(`Mj`UiA+KCJ=lvg#=IJY}I7_`dro!{TIh#dVis1VefCxRT|D!G9V&zhuD2Pn)l~%{<;&<1 ztaQ&>z)14G)H25%%*tG=0)(f2`DwNlc^$k$d+zQ|(~%aZZt53VFZg6>MP!QaWuhB( zoQA*hlUZh^D?!rUZyIX-1oVcuVnKSNd8j+4s4X@NzMAA+BbVuAC@x6GwlFcZ69KXq zfO{`*+!8z*=&X@;6RNzU6~ltu5}%@)??P0ihDv(PQp4VL+KZK-K0L2P@~8-&)c`Jf zM|zda3jl5VNyftn1HqFdFyyq%5mmrQo3)H@_Qq_T02kRa9?UOY(ToT)Ol;7vB!bVM z^NkaR9EQnrbUlFWk-cf2(%Gtd)zh|qKcd&^CL+&2o+}iEe8p0XLzKcbUkN51_+Xs% zJPC%0ka&%-9fcIKO9c@xl|wNuM1awC(z3 zw;h@uNx%+L(XM39-HEc?co7`#3*nZ|Ih(lV?F8%iIhw;*wRBkO{E+VVW5eRT@#rvy zE04kc=^^?wdhM*Q4-18{wU;e^Ovx~S6R(17W^+mfLR}4-f((lCU3wZGfQbR(fNBK`0pYm^|{m1A7>O=q9{%@&|_7AE5Z#w!P#Q&tm|3L%*2muek$3Mh> vit<0G|Ho|q>u~>9lmF{*l7D9W8}+}X`G3Nqq5qWz<lea`co^PWH6?{nVIALnxg!ObHC0KiGW?h%+uXp4qlOvZoxQmeek#S}^nN2{8FnuSb0>iCl6$ZmRLAmO6f`^wyW z(wD{GjwpF*!`x#Q3XB}zpea}7UfOSje{%x)+W%k@Uz^gQE0rI4uW(SD;tUS};T#ml#h)9P zgTfmZL{d9u@Sei}^#2Tw+CPyzYJUd#8lejY07Do62>#XX6GrmE2jK{K4$%KZ{R7S^ zmwEiM&KI{vovYTsm)2%jv4)mW2teqjSP~t zP5OC*^bPb5^;s`kT1~U!9<#ZenMynwDX~5d_HUZSSKq?&}$l z7nil$91|OPS}qaGP&4a{Ww2C)11scZmgBNYjrZS3rBBLb8bOo5E2XEJLWc4WlCIbk zQS6aR-6gM{V|32+L7;ikEU^YF6Ym=V?02n;4ieUhQnCd;cKcxIQPD<%n()+WExQWK zKDd6aj)&$%Ee;9ySBSAoZ z*=MOO1|JScT5UX|dZ2oZyEYnv;>p!ptPZo67f&SdHj4Pg5)v})zU347o`?*5LVmEs z=XD3IIu`^QL{;dAp*Fo@ps`2~#V|eDwJ!1R7m^VBuBUdwcOX58>Km&5XKoyq2O-w-GAeH zVKVlzp&FWvst?kayzLAS%_G%hApPIE16Gm(Dp?Y5tt>&+2nMdHF4 zIQ-Q*gEbtu0Kstr?%IZsO&5L#vUyc3+d7mG@u*PT@saI2VmD@#=`Td8Cu1VD6JW;F8= z0ZqzqDfVxM`V0OCYI~0KXS>ZsWs~fN?eOzO_Cj@tIp?mtNAqgVi4z z%Uj!Fx^=<^DD{$hx6&rHjU=~U3q>DC|H41lS(_V1_f#-*wX1vIqF7qXXl z6^N$@M(yGl_V)7;XLwX=(~<~1ryFIJ5nYChbj;85Qo|J}_clWGO zqQG(i=Qz*C7BI)^#0wonW~xZ!KOoErtYf&g(za(~WdqQ{>(M{Gb1`KbK6+rXdP z_CH?xl=wL*d`bj>FMtD62q*YYMR1~y6!DKypA*D?KhEZ_sK4vtbFttPN7Ha~);8y4 H9N+!``Iuls diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index 361ba685..1de4c2fd 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -6,9 +6,9 @@ All markers are published to /gcs/robot_markers in the global ENU 'map' frame. """ -import copy import re +import numpy as np import rclpy from rclpy.node import Node from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy @@ -16,8 +16,7 @@ from nav_msgs.msg import Odometry, Path from visualization_msgs.msg import Marker, MarkerArray from builtin_interfaces.msg import Duration -from geometry_msgs.msg import TransformStamped, Point -from tf2_ros import StaticTransformBroadcaster +from geometry_msgs.msg import Point from gcs_visualizer.gcs_utils import ( gps_to_enu, multiply_quaternions, rotate_vector, transform_marker_array, @@ -46,6 +45,26 @@ AXIS_CORRECTION = (-0.5, -0.5, 0.5, 0.5) +def _translate_marker(msg: Marker, bx: float, by: float, bz: float) -> Marker: + """Return a new Marker with all points translated by (bx, by, bz) via numpy.""" + m = Marker() + m.type = msg.type + m.action = msg.action + m.pose = msg.pose + m.scale = msg.scale + m.color = msg.color + m.colors = list(msg.colors) + m.header.frame_id = 'map' + n = len(msg.points) + if n > 0: + xyz = np.array([(pt.x, pt.y, pt.z) for pt in msg.points], dtype=np.float64) + xyz[:, 0] += bx + xyz[:, 1] += by + xyz[:, 2] += bz + m.points = [Point(x=float(r[0]), y=float(r[1]), z=float(r[2])) for r in xyz] + return m + + class FoxgloveVisualizerNode(Node): def __init__(self): super().__init__('foxglove_visualizer_node') @@ -64,6 +83,7 @@ def __init__(self): self._trajectories = {} self._global_plans = {} self._vdb_markers = {} + self._vdb_global = {} # pre-translated global-frame VDB, keyed by robot_name self._subscribed_gps = set() self._subscribed_odom = set() self._subscribed_traj = set() @@ -73,14 +93,6 @@ def __init__(self): self._pub = self.create_publisher(MarkerArray, '/gcs/robot_markers', 10) - self._static_tf = StaticTransformBroadcaster(self) - map_tf = TransformStamped() - map_tf.header.stamp = self.get_clock().now().to_msg() - map_tf.header.frame_id = 'map' - map_tf.child_frame_id = 'enu_origin' - map_tf.transform.rotation.w = 1.0 - self._static_tf.sendTransform(map_tf) - self.create_timer(5.0, self._discover_robots) self.create_timer(0.1, self._publish_markers) self._discover_robots() @@ -156,6 +168,10 @@ def _gps_callback(self, msg: NavSatFix, robot_name: str): self._gps_positions[robot_name] = pos if robot_name not in self._gps_boot: self._gps_boot[robot_name] = pos + if robot_name in self._vdb_markers: + bx, by, bz = pos + self._vdb_global[robot_name] = _translate_marker( + self._vdb_markers[robot_name], bx, by, bz) def _odom_callback(self, msg: Odometry, robot_name: str): o = msg.pose.pose.orientation @@ -169,6 +185,10 @@ def _plan_callback(self, msg: Path, robot_name: str): def _vdb_callback(self, msg: Marker, robot_name: str): self._vdb_markers[robot_name] = msg + boot = self._gps_boot.get(robot_name) + if boot is not None: + bx, by, bz = boot + self._vdb_global[robot_name] = _translate_marker(msg, bx, by, bz) def _publish_markers(self): if not self._gps_positions: @@ -281,40 +301,49 @@ def _publish_markers(self): plan = self._global_plans.get(robot_name) if plan is not None and boot is not None: bx, by, bz = boot - color = ROBOT_COLORS[i % len(ROBOT_COLORS)] - line = Marker() - line.header.frame_id = 'map' - line.header.stamp = now - line.ns = f'{robot_name}_global_plan' - line.id = i * 10000 + 9999 - line.type = Marker.LINE_STRIP - line.action = Marker.ADD - line.pose.orientation.w = 1.0 - line.scale.x = 0.1 - line.color.r = color[0] - line.color.g = color[1] - line.color.b = color[2] - line.color.a = 0.8 - line.lifetime = Duration(sec=2, nanosec=0) - for pose_stamped in plan.poses: - p = pose_stamped.pose.position - line.points.append(Point(x=p.x + bx, y=p.y + by, z=p.z + bz)) - if len(line.points) >= 2: + poses = plan.poses + n_poses = len(poses) + if n_poses >= 2: + color = ROBOT_COLORS[i % len(ROBOT_COLORS)] + xyz = np.array( + [(ps.pose.position.x, ps.pose.position.y, ps.pose.position.z) + for ps in poses], dtype=np.float64) + xyz[:, 0] += bx + xyz[:, 1] += by + xyz[:, 2] += bz + line = Marker() + line.header.frame_id = 'map' + line.header.stamp = now + line.ns = f'{robot_name}_global_plan' + line.id = i * 10000 + 9999 + line.type = Marker.LINE_STRIP + line.action = Marker.ADD + line.pose.orientation.w = 1.0 + line.scale.x = 0.1 + line.color.r = color[0] + line.color.g = color[1] + line.color.b = color[2] + line.color.a = 0.8 + line.lifetime = Duration(sec=2, nanosec=0) + line.points = [Point(x=float(r[0]), y=float(r[1]), z=float(r[2])) + for r in xyz] array.markers.append(line) - vdb = self._vdb_markers.get(robot_name) - if vdb is not None and boot is not None: - bx, by, bz = boot - m = copy.deepcopy(vdb) + vdb = self._vdb_global.get(robot_name) + if vdb is not None: + m = Marker() m.header.frame_id = 'map' m.header.stamp = now m.ns = f'{robot_name}_vdb' m.id = i * 10000 + 9998 + m.type = vdb.type + m.action = vdb.action + m.pose = vdb.pose + m.scale = vdb.scale + m.color = vdb.color + m.colors = vdb.colors + m.points = vdb.points # pre-translated, safe to share read-only m.lifetime = Duration(sec=2, nanosec=0) - for pt in m.points: - pt.x += bx - pt.y += by - pt.z += bz array.markers.append(m) self._pub.publish(array) diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/domain_bridge.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/domain_bridge.yaml index 423554be..326e2225 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/domain_bridge.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/domain_bridge.yaml @@ -41,9 +41,4 @@ topics: bag_record/set_recording_status: type: std_msgs/msg/Bool from_domain: $(var gcs_domain) - to_domain: $(env ROS_DOMAIN_ID) - - /robot_1/current_target: - type: std_msgs/msg/String - from_domain: 1 - to_domain: 2 \ No newline at end of file + to_domain: $(env ROS_DOMAIN_ID) \ No newline at end of file diff --git a/robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml b/robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml index 8795e894..a2cb2a1d 100644 --- a/robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml +++ b/robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml @@ -2,8 +2,12 @@ raven_nav: ros__parameters: timer_period: 0.5 # seconds between behavior loop iterations score_threshold: 0.95 # minimum softmax sim score to consider a ray - # Must match the query order in RayFronts' queries.txt + min_altitude_agl: 3.0 # filter rays/frontiers below this altitude (m) + max_altitude_agl: 15.0 # filter rays/frontiers above this altitude (m) + # Must match the query order registered in RayFronts (target + background) query_labels: - 'red building' - 'water tower' - 'radio tower' + # Which of the above to actually navigate toward (empty = all query_labels) + target_labels: [] diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py index 1493a241..8a3ae254 100644 --- a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py @@ -4,13 +4,18 @@ class BehaviorManager: - def __init__(self, get_clock, publisher_dict, score_threshold=0.95): + def __init__(self, get_clock, publisher_dict, score_threshold=0.95, + min_altitude=1.5, max_altitude=100.0): self.behavior_mode = 'Frontier-based' self.get_clock = get_clock - self.frontier_behavior = FrontierBehavior(self.get_clock) + self.frontier_behavior = FrontierBehavior(self.get_clock, + min_altitude=min_altitude, + max_altitude=max_altitude) current_target_pub = publisher_dict.get('current_target') self.ray_behavior = RayBehavior(self.get_clock, current_target_pub, - score_threshold=score_threshold) + score_threshold=score_threshold, + min_altitude=min_altitude, + max_altitude=max_altitude) self.voxel_behavior = VoxelBehavior(self.get_clock) # Priority: Voxel (navigate to confirmed detections) > Ray > Frontier self.behaviors = [self.voxel_behavior, self.ray_behavior, self.frontier_behavior] diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py index 08691d8d..4c3dd5a5 100644 --- a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py @@ -9,9 +9,11 @@ class FrontierBehavior: - def __init__(self, get_clock): + def __init__(self, get_clock, min_altitude=1.5, max_altitude=100.0): self.get_clock = get_clock self.name = 'Frontier-based' + self.min_altitude = min_altitude + self.max_altitude = max_altitude def condition_check(self): return True @@ -32,7 +34,8 @@ def execute(self, frontiers_raw, cur_pose_np, waypoint_locked, target_waypoint, -frontiers_raw[:, 1], ], axis=1) - frontiers = frontiers[frontiers[:, 2] > 1.5] + alt_mask = (frontiers[:, 2] >= self.min_altitude) & (frontiers[:, 2] <= self.max_altitude) + frontiers = frontiers[alt_mask] if frontiers.shape[0] == 0: return waypoint_locked, target_waypoint, target_waypoint2 @@ -43,7 +46,7 @@ def execute(self, frontiers_raw, cur_pose_np, waypoint_locked, target_waypoint, for l in unique_labels: cluster_pts = frontiers[labels == l] centroid = cluster_pts.mean(axis=0) - if centroid[2] > 4.0 and centroid[2] < 10.0: + if self.min_altitude <= centroid[2] <= self.max_altitude: viewpoints.append(centroid) if len(viewpoints) == 0: diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py index 90815a4b..c0f5f026 100644 --- a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py @@ -10,10 +10,13 @@ class RayBehavior: - def __init__(self, get_clock, current_target_publisher=None, score_threshold=0.95): + def __init__(self, get_clock, current_target_publisher=None, score_threshold=0.95, + min_altitude=1.5, max_altitude=100.0): self.get_clock = get_clock self.name = 'Ray-based' self.score_threshold = score_threshold + self.min_altitude = min_altitude + self.max_altitude = max_altitude self.prev_filtered_marker_ids = 0 self.current_target = None self.current_target_pub = current_target_publisher @@ -45,6 +48,7 @@ def condition_check(self, ray_origins, ray_dirs, ray_scores, return False relevant_scores = ray_scores[:, label_indices] # (N, num_targets) + mask = (relevant_scores > self.score_threshold).any(axis=1) indices = np.where(mask)[0] @@ -80,61 +84,41 @@ def execute(self, cur_pose_np, waypoint_locked, target_waypoint1, dirs = self._ray_dirs[self._filtered_indices] # (K, 3) FLU labels = self._per_ray_label - # --- Filter rays pointing behind the robot in XY --- + # Filter rays outside altitude range (z is altitude in FLU) + alt_mask = (origins[:, 2] >= self.min_altitude) & (origins[:, 2] <= self.max_altitude) + origins = origins[alt_mask] + dirs = dirs[alt_mask] + labels = [labels[i] for i in range(len(labels)) if alt_mask[i]] + + if len(origins) == 0: + return waypoint_locked, target_waypoint1, target_waypoint2 + xy_dirs = dirs[:, :2] norms = np.linalg.norm(xy_dirs, axis=1, keepdims=True) xy_dirs_normed = xy_dirs / (norms + 1e-6) - ray_target_xy = origins[:, :2] + xy_dirs_normed - to_target = ray_target_xy - cur_pose_np[:2] - dot = np.einsum('ij,ij->i', xy_dirs_normed, to_target) + # Filter rays pointing behind the robot in XY. + # Apply valid mask to all arrays so indices stay consistent (krrish-develop). + orig_xy = origins[:, :2] + ray_target_xy = orig_xy + xy_dirs_normed + to_ray_target = ray_target_xy - cur_pose_np[:2] + dot = np.einsum('ij,ij->i', xy_dirs_normed, to_ray_target) valid = dot > 0 - _log.warning( - f'ray execute: score_filtered={len(origins)} ' - f'direction_valid={int(valid.sum())} ' - f'robot_xy=({cur_pose_np[0]:.1f},{cur_pose_np[1]:.1f})') - - if not valid.any(): - # All rays point behind the robot. Two cases: - # 1. Same target + same direction as current travel → already heading - # correctly (e.g. drone passed the ray origin), keep going. - # 2. Same target + different direction, OR different target → stay - # committed to active target, keep current waypoint. - behind_for_active = (self._active_target is None or - self.current_target == self._active_target) - - same_direction = False - if target_waypoint1 is not None: - travel_xy = np.array([target_waypoint1[0], target_waypoint1[1]]) - cur_pose_np[:2] - travel_norm = np.linalg.norm(travel_xy) - if travel_norm > 1e-6: - travel_dir = travel_xy / travel_norm - avg_behind = xy_dirs_normed.mean(axis=0) - avg_behind = avg_behind / (np.linalg.norm(avg_behind) + 1e-6) - same_direction = float(np.dot(avg_behind, travel_dir)) > np.cos(np.deg2rad(45)) - - if behind_for_active and same_direction: - _log.warning( - f'ray execute: all rays behind, consistent with active target ' - f'({self._active_target}) and direction — keeping waypoint') - else: - _log.warning( - f'ray execute: all rays behind — staying committed to active ' - f'target ({self._active_target}, current={self.current_target})') - return waypoint_locked, target_waypoint1, target_waypoint2 + xy_dirs_normed = xy_dirs_normed[valid] + origins = origins[valid] + dirs = dirs[valid] + labels = [labels[i] for i in range(len(labels)) if valid[i]] - origins_v = origins[valid] - dirs_v = dirs[valid] - xy_dirs_v = xy_dirs_normed[valid] - labels_v = [labels[i] for i in range(len(labels)) if valid[i]] + if len(origins) == 0: + return waypoint_locked, target_waypoint1, target_waypoint2 - # --- Greedy spatial clustering per label (45 deg XY threshold) --- + # Greedy spatial clustering per label (45 deg XY threshold) angle_cos_thresh = np.cos(np.deg2rad(45)) groups = [] - for i in range(len(origins_v)): - xy_dir = xy_dirs_v[i] - label = labels_v[i] + for i in range(len(origins)): + xy_dir = xy_dirs_normed[i] + label = labels[i] assigned = False for group in groups: if group['label'] != label: @@ -154,20 +138,19 @@ def execute(self, cur_pose_np, waypoint_locked, target_waypoint1, 'label': label, }) + MIN_RAYS_PER_GROUP = 1 + groups = [g for g in groups if len(g['rays']) >= MIN_RAYS_PER_GROUP] + if not groups: - _log.warning('ray execute: no groups formed — no waypoint') return waypoint_locked, target_waypoint1, target_waypoint2 - _log.warning(f'ray execute: {len(groups)} groups, publishing waypoint') - - # --- Score groups: lower is better --- - # score = dist(avg_origin, robot) - 5 * group_size + # Score groups: lower is better (dist - 5 * density) k = 5.0 group_avgs = [] for group in groups: idxs = group['indices'] - avg_origin = origins_v[idxs].mean(axis=0) - avg_dir = dirs_v[idxs].mean(axis=0) + avg_origin = origins[idxs].mean(axis=0) + avg_dir = dirs[idxs].mean(axis=0) avg_dir = avg_dir / (np.linalg.norm(avg_dir) + 1e-6) density = len(idxs) score = np.linalg.norm(avg_origin - cur_pose_np) - k * density @@ -198,9 +181,8 @@ def execute(self, cur_pose_np, waypoint_locked, target_waypoint1, published_target = best[3] if self._active_target is None: self._active_target = published_target - _log.warning(f'ray execute: active target set to {published_target}') - self._visualize_filtered_rays(groups, origins_v, dirs_v, publisher_dict) + self._visualize_filtered_rays(groups, origins, dirs, publisher_dict) return waypoint_locked, target_waypoint1, target_waypoint2 diff --git a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py index d3c75a0e..773c600f 100644 --- a/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py +++ b/robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py @@ -42,7 +42,14 @@ def __init__(self): query_labels_param = self.declare_parameter( 'query_labels', ['red building', 'water tower', 'radio tower']).value self._query_labels = list(query_labels_param) - self._target_objects = self._query_labels[:] + # target_labels: which queries to actually navigate toward. + # Defaults to query_labels if empty. Must be a subset of query_labels. + target_labels_param = self.declare_parameter('target_labels', ['']).value + target_labels = [t for t in target_labels_param if t] + self._target_objects = target_labels if target_labels else self._query_labels[:] + + self._min_altitude = self.declare_parameter('min_altitude_agl', 1.5).value + self._max_altitude = self.declare_parameter('max_altitude_agl', 100.0).value timer_period = self.declare_parameter('timer_period', 0.5).value @@ -71,6 +78,8 @@ def __init__(self): get_clock=self.get_clock, publisher_dict=self._publisher_dict, score_threshold=self._score_threshold, + min_altitude=self._min_altitude, + max_altitude=self._max_altitude, ) # Subscribe to all-queries topics so rayfronts always publishes to them @@ -103,14 +112,24 @@ def __init__(self): f'raven_nav started | robot={robot_name} | ' f'timer={timer_period:.2f}s | ' f'query_labels={self._query_labels} | ' - f'score_threshold={self._score_threshold}') + f'score_threshold={self._score_threshold} | ' + f'altitude=[{self._min_altitude}, {self._max_altitude}]') def _ray_all_cb(self, msg: PointCloud2): """Receive all-queries ray PointCloud2 (fields: x,y,z,theta,phi,sim_0,sim_1,...).""" Q = len(self._query_labels) if Q == 0: return - fields = ('x', 'y', 'z', 'theta', 'phi') + tuple(f'sim_{q}' for q in range(Q)) + # Discover actual sim_* fields from the message to handle query count mismatches + msg_field_names = [f.name for f in msg.fields] + sim_fields = sorted([f for f in msg_field_names if f.startswith('sim_')]) + Q_actual = len(sim_fields) + if Q_actual == 0: + self._ray_origins = None + self._ray_dirs = None + self._ray_scores = None + return + fields = ('x', 'y', 'z', 'theta', 'phi') + tuple(sim_fields) pts = list(point_cloud2.read_points(msg, field_names=fields, skip_nans=True)) if not pts: self._ray_origins = None @@ -139,7 +158,15 @@ def _vox_all_cb(self, msg: PointCloud2): Q = len(self._query_labels) if Q == 0: return - fields = ('x', 'y', 'z') + tuple(f'sim_{q}' for q in range(Q)) + # Discover actual sim_* fields from the message to handle query count mismatches + msg_field_names = [f.name for f in msg.fields] + sim_fields = sorted([f for f in msg_field_names if f.startswith('sim_')]) + Q_actual = len(sim_fields) + if Q_actual == 0: + self._vox_xyz = None + self._vox_scores = None + return + fields = ('x', 'y', 'z') + tuple(sim_fields) pts = list(point_cloud2.read_points(msg, field_names=fields, skip_nans=True)) if not pts: self._vox_xyz = None diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py b/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py index 8f17565e..9353ac5a 100644 --- a/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py +++ b/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py @@ -67,12 +67,18 @@ def _filter_raven(line: str) -> str | None: line = _clean(line) if not line: return None + low = line.lower() + # Surface startup, waiting, and error messages + if 'raven_nav started' in low: + return 'raven_nav started' + if 'waiting for odometry' in low: + return 'Waiting for odometry...' + if 'error' in low or 'exception' in low or 'traceback' in low: + return f'ERROR: {line}' # The periodic status line looks like: # [Frontier-based] frontiers=N rays=N filtered=N voxels=N | target=X | completed=[] | wp=(...) m = re.search(r'\[(Frontier-based|Ray-based|Voxel-based)\]', line) if not m: - if 'error' in line.lower(): - return f'ERROR: {line}' return None mode = m.group(1) @@ -80,13 +86,20 @@ def _filter_raven(line: str) -> str | None: rays = re.search(r'rays=(\d+)', line) voxels = re.search(r'voxels=(\d+)', line) completed = re.search(r'completed=(\[[^\]]*\])', line) - wp = re.search(r'wp=(\S+)', line) + wp = re.search(r'wp=(\([^)]+\))', line) + + target = re.search(r'target=(.+?)\s*\|', line) + filtered = re.search(r'filtered=(\d+)', line) parts = [f'[{mode}]'] + if target and target.group(1).strip() != 'None': + parts.append(f'current_target="{target.group(1).strip()}"') if frontiers: parts.append(f'frontiers={frontiers.group(1)}') if rays: parts.append(f'rays={rays.group(1)}') + if filtered: + parts.append(f'filtered={filtered.group(1)}') if voxels: parts.append(f'voxels={voxels.group(1)}') if completed and completed.group(1) != '[]': @@ -235,7 +248,6 @@ def _send_exploration_task(self, robot_name: str) -> None: goal.max_altitude_agl = 15.0 goal.min_flight_speed = 1.0 goal.max_flight_speed = 3.0 - goal.time_limit_sec = 0.0 # 0 = no limit, runs until cancelled client.send_goal_async(goal) self.get_logger().info('ExplorationTask sent to random_walk_planner') @@ -259,7 +271,38 @@ def _execute(self, goal_handle): result.message = 'Empty query' return result - self.get_logger().info(f'SemanticSearchTask | queries={queries}') + bg_raw = [bq.strip() for bq in goal.background_queries.split(',') + if bq.strip()] + if not bg_raw: + self._task_active = False + goal_handle.abort() + result = SemanticSearchTask.Result() + result.success = False + result.message = ( + 'background_queries is required but was not provided. ' + 'Softmax normalization needs contrast classes (e.g. ' + '"building,tree,ground") to produce meaningful scores.') + return result + + # Build the full query list: target queries + background contrast queries. + # Softmax normalization across queries requires N >= 2 to produce + # meaningful discriminative scores; with N=1 every score is 1.0. + bg = [bq for bq in bg_raw if bq not in queries] + all_queries = queries + bg + + if len(all_queries) < 2: + self._task_active = False + goal_handle.abort() + result = SemanticSearchTask.Result() + result.success = False + result.message = ( + f'Need at least 2 total queries for softmax normalization, ' + f'got {len(all_queries)}. Add more background_queries that ' + f'differ from the target query.') + return result + + self.get_logger().info( + f'SemanticSearchTask | targets={queries} all_queries={all_queries}') rayfronts_proc = raven_proc = random_walk_proc = None rayfronts_q = raven_q = queue.Queue() @@ -289,12 +332,18 @@ def _execute(self, goal_handle): # Start raven first so it's subscribed to rays_sim/all and voxels_sim/all # before rayfronts runs its first query cycle (rayfronts lazy-publishes - # those topics only when a subscriber exists) - labels_yaml = str(queries).replace("'", '"') + # those topics only when a subscriber exists). + # query_labels = full set (for sim column mapping) + # target_labels = only the user's targets (for behavior filtering) + all_labels_yaml = str(all_queries).replace("'", '"') + target_labels_yaml = str(queries).replace("'", '"') raven_proc, raven_q = self._spawn([ 'ros2', 'run', 'raven_nav', 'raven_nav_node', '--ros-args', - '-p', f'query_labels:={labels_yaml}', + '-p', f'query_labels:={all_labels_yaml}', + '-p', f'target_labels:={target_labels_yaml}', + '-p', f'min_altitude_agl:={goal.min_altitude_agl}', + '-p', f'max_altitude_agl:={goal.max_altitude_agl}', '-r', (f'/{robot_name}/odometry:=' f'/{robot_name}/odometry_conversion/odometry'), ]) @@ -304,7 +353,6 @@ def _execute(self, goal_handle): ]) - start = self.get_clock().now() best_conf = 0.0 rayfronts_ready = False prev_rf_sub_count = 0 @@ -336,10 +384,13 @@ def _completed_targets_cb(msg): _completed_targets_cb, 10, callback_group=self._cbg) # Subscribe to voxels_sim/all for best-confidence tracking - Q = len(queries) def _vox_all_cb(msg): nonlocal best_conf, mapping_started - fields = ('x', 'y', 'z') + tuple(f'sim_{q}' for q in range(Q)) + msg_field_names = [f.name for f in msg.fields] + sim_fields = sorted([f for f in msg_field_names if f.startswith('sim_')]) + if not sim_fields: + return + fields = ('x', 'y', 'z') + tuple(sim_fields) from sensor_msgs_py import point_cloud2 as pc2 pts = list(pc2.read_points(msg, field_names=fields, skip_nans=True)) if pts: @@ -361,22 +412,6 @@ def _vox_all_cb(msg): result.message = 'Cancelled' return result - elapsed = (self.get_clock().now() - start).nanoseconds / 1e9 - if goal.time_limit_sec > 0 and elapsed >= goal.time_limit_sec: - done = [q for q in queries - if q.lower() in set(c.lower() for c in completed_targets)] - succeeded = len(done) == len(queries) - if succeeded: - goal_handle.succeed() - else: - goal_handle.abort() - result = SemanticSearchTask.Result() - result.success = succeeded - result.message = (f'Timed out. Visited {len(done)}/{len(queries)}: ' - f'{", ".join(done)}') - result.confidence = best_conf - return result - # Drain and filter rayfronts output for raw in _drain(rayfronts_q): msg = _filter_rayfronts(raw) @@ -400,14 +435,15 @@ def _vox_all_cb(msg): # Send queries to rayfronts whenever its subscriber appears (or reappears). # This handles the initial load AND any rayfronts restart mid-task. + # Send ALL queries (target + background) so softmax is meaningful. rf_sub_count = self.count_subscribers(f'{self._rf_prefix}/new_text_query') if rf_sub_count > 0 and prev_rf_sub_count == 0: rayfronts_ready = True - for q in queries: + for q in all_queries: self._text_query_pub.publish(String(data=q)) - last_rf_status = f'Queries sent: {", ".join(queries)}' + last_rf_status = f'Queries sent: {", ".join(all_queries)}' self.get_logger().info( - f'Queries sent to rayfronts: {queries}') + f'Queries sent to rayfronts: {all_queries}') if rf_sub_count == 0 and prev_rf_sub_count > 0: rayfronts_ready = False self.get_logger().info('rayfronts subscriber lost — will resend on reconnect') diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index cfc01e60..8ac80223 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -70,7 +70,7 @@ # spawn location for /Assets/Fire_Academy_Digital_Twin/fire_academy.usd: # {"domain_id": 1, "x_m": 20.0, "y_m": -7.0, ...} # {"domain_id": 2, "x_m": 17.0, "y_m": 1.5, ...} -SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.07 +SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.03 DRONE_CONFIGS = [ {"domain_id": 1, "x_m": 27.0, "y_m": 7.6, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 4.0}, {"domain_id": 2, "x_m": 23.0, "y_m": 9.8, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 3.5}, From 1dcfd6c9cfb84c1592fe0dc591f0f8f399a03ed7 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Fri, 24 Apr 2026 17:37:28 -0400 Subject: [PATCH 41/55] foxglove panel with working executors --- .env | 2 +- .../desktop_bringup/launch/gcs.launch.xml | 3 + .../ros_packages/desktop_bringup/package.xml | 1 + gcs/docker/gcs-base-docker-compose.yaml | 2 + .../robot-commands/dist/extension.js | 254 ++++++++------- .../src/action_relay/action_relay/__init__.py | 0 .../action_relay/action_relay/relay_node.py | 294 ++++++++++++++++++ .../launch/action_relay.launch.py | 28 ++ gcs/ros_ws/src/action_relay/package.xml | 26 ++ .../src/action_relay/resource/action_relay | 0 gcs/ros_ws/src/action_relay/setup.cfg | 4 + gcs/ros_ws/src/action_relay/setup.py | 28 ++ .../onboard_all/config/dds_router.yaml | 3 + .../src/global/world_models/vdb_mapping_ros2 | 2 +- 14 files changed, 531 insertions(+), 116 deletions(-) create mode 100644 gcs/ros_ws/src/action_relay/action_relay/__init__.py create mode 100644 gcs/ros_ws/src/action_relay/action_relay/relay_node.py create mode 100644 gcs/ros_ws/src/action_relay/launch/action_relay.launch.py create mode 100644 gcs/ros_ws/src/action_relay/package.xml create mode 100644 gcs/ros_ws/src/action_relay/resource/action_relay create mode 100644 gcs/ros_ws/src/action_relay/setup.cfg create mode 100644 gcs/ros_ws/src/action_relay/setup.py diff --git a/.env b/.env index a208d5f1..9de69a90 100644 --- a/.env +++ b/.env @@ -24,7 +24,7 @@ COMPOSE_PROFILES="desktop, isaac-sim" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="1" # Number of robot containers to launch. +NUM_ROBOTS="2" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== SIMULATION ===================== diff --git a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml index 2cab8a2d..794d9bb6 100644 --- a/common/ros_packages/desktop_bringup/launch/gcs.launch.xml +++ b/common/ros_packages/desktop_bringup/launch/gcs.launch.xml @@ -35,6 +35,9 @@ + + + diff --git a/common/ros_packages/desktop_bringup/package.xml b/common/ros_packages/desktop_bringup/package.xml index 8476f6ae..d981954f 100644 --- a/common/ros_packages/desktop_bringup/package.xml +++ b/common/ros_packages/desktop_bringup/package.xml @@ -15,6 +15,7 @@ urdf rclpy visualization_msgs + action_relay ament_lint_auto ament_lint_common diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index 962be52d..852011de 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -39,6 +39,8 @@ services: - DISPLAY=${DISPLAY} - QT_X11_NO_MITSHM=1 - NVIDIA_DRIVER_CAPABILITIES=all + # Number of robots (used by action_relay to spawn per-robot relays) + - NUM_ROBOTS=${NUM_ROBOTS:-1} # Record bags - RECORD_BAGS=${RECORD_BAGS} image: ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${VERSION}_gcs diff --git a/gcs/foxglove_extensions/robot-commands/dist/extension.js b/gcs/foxglove_extensions/robot-commands/dist/extension.js index b890dc07..1070fe55 100644 --- a/gcs/foxglove_extensions/robot-commands/dist/extension.js +++ b/gcs/foxglove_extensions/robot-commands/dist/extension.js @@ -43,6 +43,7 @@ const TASK_TABS = [ id: "takeoff", label: "Takeoff", actionSuffix: "tasks/takeoff", + goalSchema: "task_msgs/TakeoffTask_Goal", fields: [ { name: "target_altitude_m", kind: "float", default: 10.0, min: 0, max: 500, step: 0.1 }, { name: "velocity_m_s", kind: "float", default: 1.0, min: 0, max: 50, step: 0.1 }, @@ -58,6 +59,7 @@ const TASK_TABS = [ id: "land", label: "Land", actionSuffix: "tasks/land", + goalSchema: "task_msgs/LandTask_Goal", fields: [ { name: "velocity_m_s", kind: "float", default: 0.3, min: 0, max: 10, step: 0.1, hint: "0 = use config default" }, ], @@ -69,6 +71,7 @@ const TASK_TABS = [ id: "navigate", label: "Navigate", actionSuffix: "tasks/navigate", + goalSchema: "task_msgs/NavigateTask_Goal", fields: [ { name: "frame_id", kind: "string", default: "map" }, { name: "waypoints", kind: "path", default: "[[0.0, 0.0, 5.0]]", @@ -85,6 +88,7 @@ const TASK_TABS = [ id: "exploration", label: "Exploration", actionSuffix: "tasks/exploration", + goalSchema: "task_msgs/ExplorationTask_Goal", fields: [ { name: "search_bounds", kind: "polygon", default: "[]", hint: "JSON array of [x, y, z] vertices ([] = unbounded)" }, @@ -105,6 +109,7 @@ const TASK_TABS = [ id: "coverage", label: "Coverage", actionSuffix: "tasks/coverage", + goalSchema: "task_msgs/CoverageTask_Goal", fields: [ { name: "coverage_area", kind: "polygon", default: "[]", hint: "JSON array of [x, y, z] vertices" }, @@ -131,6 +136,7 @@ const TASK_TABS = [ id: "object_search", label: "Object Search", actionSuffix: "tasks/object_search", + goalSchema: "task_msgs/ObjectSearchTask_Goal", fields: [ { name: "object_class", kind: "string", default: "" }, { name: "search_area", kind: "polygon", default: "[]", @@ -160,6 +166,7 @@ const TASK_TABS = [ id: "object_counting", label: "Object Counting", actionSuffix: "tasks/object_counting", + goalSchema: "task_msgs/ObjectCountingTask_Goal", fields: [ { name: "object_class", kind: "string", default: "" }, { name: "count_area", kind: "polygon", default: "[]", @@ -184,6 +191,7 @@ const TASK_TABS = [ id: "semantic_search", label: "Semantic Search", actionSuffix: "tasks/semantic_search", + goalSchema: "task_msgs/SemanticSearchTask_Goal", fields: [ { name: "query", kind: "string", default: "" }, { name: "background_queries", kind: "string", default: "", @@ -216,6 +224,7 @@ const TASK_TABS = [ id: "fixed_trajectory", label: "Fixed Trajectory", actionSuffix: "tasks/fixed_trajectory", + goalSchema: "task_msgs/FixedTrajectoryTask_Goal", fields: [], // custom renderer defaultState: () => ({ type: "Circle", @@ -358,19 +367,27 @@ function activate(extensionContext) { } } - // Runtime (not persisted) + // Runtime (not persisted) — per-tab feedback/result/status + const perTab = {}; + for (const tab of TASK_TABS) { + perTab[tab.id] = { + feedbackLines: [], + resultText: "", + statusText: "Idle", + statusCode: GOAL_STATUS.UNKNOWN, + active: false, + }; + } const runtime = { - activeTabId: null, - activeGoalUuid: null, - feedbackLines: [], - resultText: "", - statusText: "Idle", - statusCode: GOAL_STATUS.UNKNOWN, subscribedTopics: [], }; const MAX_FEEDBACK_LINES = 100; + // Helpers to get the active tab's per-tab state + function curTab() { return perTab[state.activeTab]; } + function anyActive() { return TASK_TABS.some((t) => perTab[t.id].active); } + // ── DOM ─────────────────────────────────────────────────────────────── const root = panelContext.panelElement; root.style.cssText = @@ -477,164 +494,170 @@ function activate(extensionContext) { tabBodies[tab.id].style.display = isActive ? "flex" : "none"; tabButtons[tab.id].style.borderBottomColor = isActive ? "#10b981" : "transparent"; tabButtons[tab.id].style.fontWeight = isActive ? "bold" : "normal"; + // Show active indicator on tab if it has a running goal + const pt = perTab[tab.id]; + tabButtons[tab.id].style.color = pt.active ? "#10b981" : "inherit"; } + renderStatus(); + renderFeedback(); } function renderStatus() { - statusLbl.textContent = `Status: ${runtime.statusText}`; - statusLbl.style.color = statusColor(runtime.statusCode); - const inProgress = runtime.activeTabId != null && !TERMINAL_STATUSES.has(runtime.statusCode); - executeBtn.disabled = inProgress; - executeBtn.style.opacity = inProgress ? "0.5" : "1"; - cancelBtn.disabled = !inProgress || runtime.activeTabId !== state.activeTab; + const t = curTab(); + statusLbl.textContent = `Status: ${t.statusText}`; + statusLbl.style.color = statusColor(t.statusCode); + // Disable execute if ANY tab has an active goal + const blocked = anyActive(); + executeBtn.disabled = blocked; + executeBtn.style.opacity = blocked ? "0.5" : "1"; + cancelBtn.disabled = !t.active; cancelBtn.style.opacity = cancelBtn.disabled ? "0.5" : "1"; } function renderFeedback() { - feedbackBox.textContent = runtime.feedbackLines.join("\n"); + const t = curTab(); + feedbackBox.textContent = t.feedbackLines.join("\n"); feedbackBox.scrollTop = feedbackBox.scrollHeight; - resultBox.textContent = runtime.resultText; + resultBox.textContent = t.resultText; } - function appendFeedback(line) { + function appendFeedback(line, tabId) { + const tid = tabId ?? state.activeTab; + const t = perTab[tid]; + if (!t) return; const ts = new Date().toLocaleTimeString(); - runtime.feedbackLines.push(`[${ts}] ${line}`); - if (runtime.feedbackLines.length > MAX_FEEDBACK_LINES) { - runtime.feedbackLines.splice(0, runtime.feedbackLines.length - MAX_FEEDBACK_LINES); + t.feedbackLines.push(`[${ts}] ${line}`); + if (t.feedbackLines.length > MAX_FEEDBACK_LINES) { + t.feedbackLines.splice(0, t.feedbackLines.length - MAX_FEEDBACK_LINES); } - renderFeedback(); + // Only update display if this tab is currently visible + if (tid === state.activeTab) renderFeedback(); } function resetRuntimeForNewGoal() { - runtime.feedbackLines = []; - runtime.resultText = ""; - runtime.statusText = "Sending..."; - runtime.statusCode = GOAL_STATUS.UNKNOWN; + const t = curTab(); + t.feedbackLines = []; + t.resultText = ""; + t.statusText = "Sending..."; + t.statusCode = GOAL_STATUS.UNKNOWN; renderFeedback(); renderStatus(); } - // ── subscriptions ──────────────────────────────────────────────────── - function subscribeForActiveGoal(tab) { - const topics = [ - actionTopic(state.robot, tab.actionSuffix, "_action/feedback"), - actionTopic(state.robot, tab.actionSuffix, "_action/status"), - ]; + // ── subscriptions (relay uses plain std_msgs/String topics) ──────── + // Subscribe to ALL relay topics for all tabs so we catch results + // even when the user switches tabs during execution. + function rebuildSubscriptions() { + const topics = []; + for (const tab of TASK_TABS) { + if (perTab[tab.id].active) { + topics.push(`/${state.robot}/${tab.actionSuffix}/relay_feedback`); + topics.push(`/${state.robot}/${tab.actionSuffix}/relay_result`); + } + } runtime.subscribedTopics = topics; panelContext.subscribe(topics.map((topic) => ({ topic }))); } - function unsubscribeAll() { - runtime.subscribedTopics = []; - panelContext.subscribe([]); - } - // ── execute / cancel ───────────────────────────────────────────────── executeBtn.addEventListener("click", async () => { - if (runtime.activeTabId != null) return; + // Block if ANY tab has an active goal + if (anyActive()) return; const tab = tabById(state.activeTab); + const t = perTab[tab.id]; let goal; try { goal = tab.buildGoal(state[tab.id]); } catch (err) { - runtime.statusText = "Invalid goal"; - runtime.statusCode = GOAL_STATUS.ABORTED; - runtime.resultText = `buildGoal failed: ${err?.message ?? err}`; + t.statusText = "Invalid goal"; + t.statusCode = GOAL_STATUS.ABORTED; + t.resultText = `buildGoal failed: ${err?.message ?? err}`; renderStatus(); renderFeedback(); return; } - const goalId = randomUuidBytes(); - runtime.activeTabId = tab.id; - runtime.activeGoalUuid = goalId; + t.active = true; resetRuntimeForNewGoal(); - subscribeForActiveGoal(tab); + rebuildSubscriptions(); - const sendGoalService = actionTopic(state.robot, tab.actionSuffix, "_action/send_goal"); + const goalTopic = `/${state.robot}/${tab.actionSuffix}/goal`; try { - const response = await panelContext.callService(sendGoalService, { - goal_id: { uuid: goalId }, goal, - }); - if (!response?.accepted) { - runtime.statusText = "Rejected by server"; - runtime.statusCode = GOAL_STATUS.ABORTED; - runtime.activeTabId = null; - runtime.activeGoalUuid = null; - unsubscribeAll(); - renderStatus(); - return; - } - runtime.statusText = statusLabel(GOAL_STATUS.ACCEPTED); - runtime.statusCode = GOAL_STATUS.ACCEPTED; + panelContext.advertise(goalTopic, "std_msgs/msg/String"); + panelContext.publish(goalTopic, { data: JSON.stringify(goal) }); + t.statusText = "Goal sent"; + t.statusCode = GOAL_STATUS.EXECUTING; + appendFeedback(`Sent goal: ${JSON.stringify(goal)}`); renderStatus(); } catch (err) { - runtime.statusText = "Send failed"; - runtime.statusCode = GOAL_STATUS.ABORTED; - runtime.resultText = String(err?.message ?? err); - runtime.activeTabId = null; - runtime.activeGoalUuid = null; - unsubscribeAll(); + t.statusText = "Publish failed"; + t.statusCode = GOAL_STATUS.ABORTED; + t.resultText = String(err?.message ?? err); + t.active = false; + rebuildSubscriptions(); renderStatus(); renderFeedback(); } }); cancelBtn.addEventListener("click", async () => { - if (runtime.activeGoalUuid == null) return; - const tab = tabById(runtime.activeTabId); - const cancelService = actionTopic(state.robot, tab.actionSuffix, "_action/cancel_goal"); - runtime.statusText = statusLabel(GOAL_STATUS.CANCELING); - runtime.statusCode = GOAL_STATUS.CANCELING; - renderStatus(); + const t = curTab(); + if (!t.active) return; + const tab = tabById(state.activeTab); + const cancelTopic = `/${state.robot}/${tab.actionSuffix}/cancel`; try { - await panelContext.callService(cancelService, { - goal_info: { goal_id: { uuid: runtime.activeGoalUuid }, stamp: { sec: 0, nanosec: 0 } }, - }); + panelContext.advertise(cancelTopic, "std_msgs/msg/String"); + panelContext.publish(cancelTopic, { data: "cancel" }); + appendFeedback("Cancel requested"); } catch (err) { - appendFeedback(`cancel call failed: ${err?.message ?? err}`); + appendFeedback(`Cancel failed: ${err?.message ?? err}`); } }); - // ── incoming messages ──────────────────────────────────────────────── - async function handleStatusMessage(msg) { - if (runtime.activeGoalUuid == null) return; - const list = msg?.status_list ?? []; - for (const entry of list) { - const uuid = entry?.goal_info?.goal_id?.uuid; - if (!uuid || !uuidEqual(uuid, runtime.activeGoalUuid)) continue; - const code = entry.status; - runtime.statusCode = code; - runtime.statusText = statusLabel(code); - renderStatus(); + // ── incoming messages (relay publishes std_msgs/String as JSON) ──── + // Find which tab owns a given relay topic + function tabForTopic(topic) { + for (const tab of TASK_TABS) { + if (topic.includes(`/${tab.actionSuffix}/`)) return tab; + } + return null; + } - if (TERMINAL_STATUSES.has(code)) { - const tab = tabById(runtime.activeTabId); - const getResultService = actionTopic(state.robot, tab.actionSuffix, "_action/get_result"); - try { - const res = await panelContext.callService(getResultService, { - goal_id: { uuid: runtime.activeGoalUuid }, - }); - const result = res?.result ?? {}; - runtime.resultText = `success: ${result.success}\nmessage: ${result.message ?? ""}`; - } catch (err) { - runtime.resultText = `(get_result failed: ${err?.message ?? err})`; - } - runtime.activeTabId = null; - runtime.activeGoalUuid = null; - unsubscribeAll(); - renderStatus(); - renderFeedback(); - } + function handleRelayFeedback(topic, msg) { + const tab = tabForTopic(topic); + if (!tab) return; + const t = perTab[tab.id]; + if (!t.active) return; + const data = msg?.data; + if (!data) return; + try { + const fb = JSON.parse(data); + appendFeedback(tab.formatFeedback(fb), tab.id); + } catch { + appendFeedback(data, tab.id); } } - function handleFeedbackMessage(msg) { - if (runtime.activeGoalUuid == null) return; - const uuid = msg?.goal_id?.uuid; - if (!uuid || !uuidEqual(uuid, runtime.activeGoalUuid)) return; - const tab = tabById(runtime.activeTabId); - appendFeedback(tab.formatFeedback(msg.feedback ?? {})); + function handleRelayResult(topic, msg) { + const tab = tabForTopic(topic); + if (!tab) return; + const t = perTab[tab.id]; + if (!t.active) return; + const data = msg?.data; + if (!data) return; + try { + const result = JSON.parse(data); + t.resultText = `success: ${result.success}\nmessage: ${result.message ?? ""}`; + t.statusText = result.success ? "Succeeded" : "Failed"; + t.statusCode = result.success ? GOAL_STATUS.SUCCEEDED : GOAL_STATUS.ABORTED; + } catch { + t.resultText = data; + t.statusText = "Done"; + t.statusCode = GOAL_STATUS.SUCCEEDED; + } + t.active = false; + rebuildSubscriptions(); + renderTabs(); } // ── render loop ────────────────────────────────────────────────────── @@ -643,10 +666,10 @@ function activate(extensionContext) { if (frame) { for (const evt of frame) { if (!runtime.subscribedTopics.includes(evt.topic)) continue; - if (evt.topic.endsWith("_action/status")) { - handleStatusMessage(evt.message); - } else if (evt.topic.endsWith("_action/feedback")) { - handleFeedbackMessage(evt.message); + if (evt.topic.endsWith("/relay_feedback")) { + handleRelayFeedback(evt.topic, evt.message); + } else if (evt.topic.endsWith("/relay_result")) { + handleRelayResult(evt.topic, evt.message); } } } @@ -680,7 +703,10 @@ function activate(extensionContext) { renderStatus(); renderFeedback(); - return () => { unsubscribeAll(); }; + return () => { + runtime.subscribedTopics = []; + panelContext.subscribe([]); + }; }, }); } diff --git a/gcs/ros_ws/src/action_relay/action_relay/__init__.py b/gcs/ros_ws/src/action_relay/action_relay/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/gcs/ros_ws/src/action_relay/action_relay/relay_node.py b/gcs/ros_ws/src/action_relay/action_relay/relay_node.py new file mode 100644 index 00000000..9caa4cd6 --- /dev/null +++ b/gcs/ros_ws/src/action_relay/action_relay/relay_node.py @@ -0,0 +1,294 @@ +"""Action relay: bridges ROS 2 actions from GCS (domain 0) to a robot (domain N). + +foxglove_bridge drops nested message fields when calling action services via +callService, so this relay uses plain String topics with JSON payloads instead. + + Foxglove extension Robot (domain N) + publishes String JSON Task executor (ActionServer) + on .../goal unchanged + | ^ + v | + action_relay (this node, domain 0+N) | + subscribes .../goal (String) | + parses JSON -> typed Goal msg | + sends via ActionClient --------------------+ + publishes .../relay_feedback (String JSON) + publishes .../relay_result (String JSON) + +Usage: + ros2 run action_relay action_relay_node \\ + --ros-args -p robot_name:=robot_1 -p robot_domain:=1 +""" + +import json + +import rclpy +from rclpy.action import ActionClient +from rclpy.callback_groups import ReentrantCallbackGroup +from rclpy.executors import MultiThreadedExecutor, SingleThreadedExecutor +from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy + +from builtin_interfaces.msg import Time +from geometry_msgs.msg import Point, Pose, Polygon, Point32, PoseStamped +from nav_msgs.msg import Path +from std_msgs.msg import Header, String + +from airstack_msgs.msg import FixedTrajectory +from diagnostic_msgs.msg import KeyValue +from task_msgs.action import ( + TakeoffTask, LandTask, NavigateTask, + FixedTrajectoryTask, SemanticSearchTask, +) + +# ── Registry ───────────────────────────────────────────────────────────────── +RELAYS = [ + ('takeoff', TakeoffTask), + ('land', LandTask), + ('navigate', NavigateTask), + ('fixed_trajectory', FixedTrajectoryTask), + ('semantic_search', SemanticSearchTask), +] + +_RELIABLE_QOS = QoSProfile( + depth=10, + reliability=ReliabilityPolicy.RELIABLE, + durability=DurabilityPolicy.VOLATILE, +) + + +# ── Goal builders ──────────────────────────────────────────────────────────── +# Each converts a JSON dict into a typed Goal message. + +def _build_takeoff_goal(d): + g = TakeoffTask.Goal() + g.target_altitude_m = float(d.get('target_altitude_m', 0)) + g.velocity_m_s = float(d.get('velocity_m_s', 0)) + return g + + +def _build_land_goal(d): + g = LandTask.Goal() + g.velocity_m_s = float(d.get('velocity_m_s', 0)) + return g + + +def _build_navigate_goal(d): + g = NavigateTask.Goal() + g.goal_tolerance_m = float(d.get('goal_tolerance_m', 1.0)) + plan_data = d.get('global_plan', {}) + header = Header() + hdr = plan_data.get('header', {}) + header.frame_id = str(hdr.get('frame_id', 'map')) + stamp = hdr.get('stamp', {}) + header.stamp = Time(sec=int(stamp.get('sec', 0)), + nanosec=int(stamp.get('nanosec', 0))) + path = Path(header=header) + for pose_data in plan_data.get('poses', []): + ps = PoseStamped() + ps.header = header + pos = pose_data.get('pose', {}).get('position', {}) + ori = pose_data.get('pose', {}).get('orientation', {}) + ps.pose.position = Point( + x=float(pos.get('x', 0)), y=float(pos.get('y', 0)), + z=float(pos.get('z', 0))) + ps.pose.orientation.x = float(ori.get('x', 0)) + ps.pose.orientation.y = float(ori.get('y', 0)) + ps.pose.orientation.z = float(ori.get('z', 0)) + ps.pose.orientation.w = float(ori.get('w', 1)) + path.poses.append(ps) + g.global_plan = path + return g + + +def _build_fixed_trajectory_goal(d): + g = FixedTrajectoryTask.Goal() + g.loop = bool(d.get('loop', False)) + spec_data = d.get('trajectory_spec', {}) + spec = FixedTrajectory() + spec.type = str(spec_data.get('type', '')) + for attr in spec_data.get('attributes', []): + kv = KeyValue() + kv.key = str(attr.get('key', '')) + kv.value = str(attr.get('value', '')) + spec.attributes.append(kv) + g.trajectory_spec = spec + return g + + +def _build_semantic_search_goal(d): + g = SemanticSearchTask.Goal() + g.query = str(d.get('query', '')) + g.background_queries = str(d.get('background_queries', '')) + g.min_altitude_agl = float(d.get('min_altitude_agl', 3.0)) + g.max_altitude_agl = float(d.get('max_altitude_agl', 15.0)) + g.min_flight_speed = float(d.get('min_flight_speed', 0)) + g.max_flight_speed = float(d.get('max_flight_speed', 0)) + g.confidence_threshold = float(d.get('confidence_threshold', 0.95)) + # search_area polygon + area = d.get('search_area', {}) + poly = Polygon() + for pt in area.get('points', []): + poly.points.append(Point32( + x=float(pt.get('x', 0)), y=float(pt.get('y', 0)), + z=float(pt.get('z', 0)))) + g.search_area = poly + return g + + +_GOAL_BUILDERS = { + 'takeoff': _build_takeoff_goal, + 'land': _build_land_goal, + 'navigate': _build_navigate_goal, + 'fixed_trajectory': _build_fixed_trajectory_goal, + 'semantic_search': _build_semantic_search_goal, +} + + +# ── Relay wiring ───────────────────────────────────────────────────────────── + +def _make_relay(node0, nodeN, executorN, topic, suffix, action_type, robot_domain): + """Wire up goal subscriber (domain 0) + action client (domain N).""" + + client = ActionClient(nodeN, action_type, topic) + cbg = ReentrantCallbackGroup() + + feedback_pub = node0.create_publisher(String, f'{topic}/relay_feedback', _RELIABLE_QOS) + result_pub = node0.create_publisher(String, f'{topic}/relay_result', _RELIABLE_QOS) + + goal_builder = _GOAL_BUILDERS[suffix] + active_goal = {'handle': None} + + def on_goal_str(msg): + """Receive JSON goal from Foxglove, parse, forward as action.""" + try: + data = json.loads(msg.data) + except json.JSONDecodeError as e: + node0.get_logger().error(f'[relay] {topic}: bad JSON: {e}') + _publish_result(False, f'Invalid JSON: {e}') + return + + goal_msg = goal_builder(data) + node0.get_logger().info(f'[relay] {topic}: goal: {goal_msg}') + + if not client.wait_for_server(timeout_sec=5.0): + node0.get_logger().warn(f'[relay] {topic}: robot server not available') + _publish_result(False, 'Robot action server not available') + return + + send_future = client.send_goal_async( + goal_msg, + feedback_callback=_on_feedback, + ) + + while not send_future.done(): + executorN.spin_once(timeout_sec=0.05) + + robot_goal_handle = send_future.result() + if not robot_goal_handle.accepted: + node0.get_logger().warn(f'[relay] {topic}: robot rejected goal') + _publish_result(False, 'Robot rejected goal') + return + + active_goal['handle'] = robot_goal_handle + node0.get_logger().info(f'[relay] {topic}: goal accepted') + feedback_pub.publish(String(data='Goal accepted by robot')) + + result_future = robot_goal_handle.get_result_async() + while not result_future.done(): + executorN.spin_once(timeout_sec=0.05) + + active_goal['handle'] = None + wrapped = result_future.result() + robot_result = wrapped.result + status = wrapped.status + status_str = {4: 'SUCCEEDED', 5: 'CANCELED'}.get(status, 'ABORTED') + node0.get_logger().info(f'[relay] {topic}: {status_str}') + + success = getattr(robot_result, 'success', status == 4) + message = getattr(robot_result, 'message', status_str) + _publish_result(success, message) + + def on_cancel(msg): + """Cancel the active goal on the robot.""" + gh = active_goal.get('handle') + if gh is None: + node0.get_logger().warn(f'[relay] {topic}: cancel requested but no active goal') + return + node0.get_logger().info(f'[relay] {topic}: forwarding cancel to robot') + gh.cancel_goal_async() + + def _on_feedback(fb_msg): + fb = fb_msg.feedback + fields = fb.get_fields_and_field_types() + fb_dict = {} + for name in fields: + val = getattr(fb, name) + # Convert ROS message types to dicts for JSON + if hasattr(val, 'get_fields_and_field_types'): + sub = {} + for sn in val.get_fields_and_field_types(): + sub[sn] = getattr(val, sn) + fb_dict[name] = sub + else: + fb_dict[name] = val + feedback_pub.publish(String(data=json.dumps(fb_dict, default=str))) + + def _publish_result(success, message): + result_pub.publish(String( + data=json.dumps({'success': success, 'message': message}))) + + node0.create_subscription( + String, f'{topic}/goal', on_goal_str, _RELIABLE_QOS, + callback_group=cbg, + ) + node0.create_subscription( + String, f'{topic}/cancel', on_cancel, _RELIABLE_QOS, + callback_group=cbg, + ) + + if not hasattr(node0, '_relays'): + node0._relays = [] + node0._relays.append((client, feedback_pub, result_pub)) + + node0.get_logger().info( + f'[relay] {topic}/goal -> client(domain {robot_domain})') + + +def main(args=None): + ctx0 = rclpy.Context() + ctx0.init(args=args) + + tmp = rclpy.create_node('_action_relay_params', context=ctx0) + robot_name = tmp.declare_parameter('robot_name', 'robot_1').value + robot_domain = tmp.declare_parameter('robot_domain', 1).value + tmp.destroy_node() + + ctxN = rclpy.Context() + ctxN.init(args=[], domain_id=int(robot_domain)) + + node0 = rclpy.create_node('action_relay', context=ctx0) + nodeN = rclpy.create_node('action_relay_client', context=ctxN) + + executorN = SingleThreadedExecutor(context=ctxN) + executorN.add_node(nodeN) + + node0.get_logger().info( + f'Action relay: robot={robot_name} domain={robot_domain} ' + f'relaying {len(RELAYS)} action(s)') + + for suffix, action_type in RELAYS: + topic = f'/{robot_name}/tasks/{suffix}' + _make_relay(node0, nodeN, executorN, topic, suffix, action_type, robot_domain) + + executor0 = MultiThreadedExecutor(context=ctx0) + executor0.add_node(node0) + + try: + executor0.spin() + except KeyboardInterrupt: + pass + finally: + node0.destroy_node() + nodeN.destroy_node() + ctx0.try_shutdown() + ctxN.try_shutdown() diff --git a/gcs/ros_ws/src/action_relay/launch/action_relay.launch.py b/gcs/ros_ws/src/action_relay/launch/action_relay.launch.py new file mode 100644 index 00000000..1f23f8cb --- /dev/null +++ b/gcs/ros_ws/src/action_relay/launch/action_relay.launch.py @@ -0,0 +1,28 @@ +"""Launch one action_relay node per robot. + +Reads NUM_ROBOTS from the environment (default 1). +Robot names are robot_1 .. robot_N with domain IDs 1 .. N. +""" + +import os +from launch import LaunchDescription +from launch_ros.actions import Node + + +def generate_launch_description(): + num_robots = int(os.environ.get('NUM_ROBOTS', '1')) + + nodes = [] + for i in range(1, num_robots + 1): + nodes.append(Node( + package='action_relay', + executable='action_relay_node', + name=f'action_relay_robot_{i}', + output='screen', + parameters=[{ + 'robot_name': f'robot_{i}', + 'robot_domain': i, + }], + )) + + return LaunchDescription(nodes) diff --git a/gcs/ros_ws/src/action_relay/package.xml b/gcs/ros_ws/src/action_relay/package.xml new file mode 100644 index 00000000..c0bc0c66 --- /dev/null +++ b/gcs/ros_ws/src/action_relay/package.xml @@ -0,0 +1,26 @@ + + + + action_relay + 0.0.1 + Relay ROS 2 actions across DDS domains (GCS domain 0 to robot domain N) + AirLab CMU + MIT + + rclpy + task_msgs + std_msgs + nav_msgs + geometry_msgs + airstack_msgs + diagnostic_msgs + + ament_copyright + ament_flake8 + ament_pep257 + python3-pytest + + + ament_python + + diff --git a/gcs/ros_ws/src/action_relay/resource/action_relay b/gcs/ros_ws/src/action_relay/resource/action_relay new file mode 100644 index 00000000..e69de29b diff --git a/gcs/ros_ws/src/action_relay/setup.cfg b/gcs/ros_ws/src/action_relay/setup.cfg new file mode 100644 index 00000000..cd7b7a99 --- /dev/null +++ b/gcs/ros_ws/src/action_relay/setup.cfg @@ -0,0 +1,4 @@ +[develop] +script_dir=$base/lib/action_relay +[install] +install_scripts=$base/lib/action_relay diff --git a/gcs/ros_ws/src/action_relay/setup.py b/gcs/ros_ws/src/action_relay/setup.py new file mode 100644 index 00000000..c9f6be51 --- /dev/null +++ b/gcs/ros_ws/src/action_relay/setup.py @@ -0,0 +1,28 @@ +import os +from glob import glob +from setuptools import find_packages, setup + +package_name = 'action_relay' + +setup( + name=package_name, + version='0.0.1', + packages=find_packages(exclude=['test']), + data_files=[ + ('share/ament_index/resource_index/packages', ['resource/' + package_name]), + ('share/' + package_name, ['package.xml']), + (os.path.join('share', package_name, 'launch'), glob('launch/*.py')), + ], + install_requires=['setuptools'], + zip_safe=True, + maintainer='AirLab CMU', + maintainer_email='airlab@cmu.edu', + description='Relay ROS 2 actions across DDS domains', + license='MIT', + tests_require=['pytest'], + entry_points={ + 'console_scripts': [ + 'action_relay_node = action_relay.relay_node:main', + ], + }, +) diff --git a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml index a6eda979..6d1c0b75 100644 --- a/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml +++ b/robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml @@ -26,7 +26,10 @@ allowlist: # camera streams - name: "rt/$(env ROBOT_NAME)/sensors/front_stereo/left/image_rect" + - name: "rt/$(env ROBOT_NAME)/sensors/front_stereo/left/camera_info" - name: "rt/$(env ROBOT_NAME)/sensors/front_stereo/right/image_rect" + - name: "rt/$(env ROBOT_NAME)/sensors/front_stereo/right/camera_info" + - name: "rt/$(env ROBOT_NAME)/sensors/front_stereo/right/depth_ground_truth" - name: "rt/$(env ROBOT_NAME)/perception/stereo_image_proc/point_cloud" # state information diff --git a/robot/ros_ws/src/global/world_models/vdb_mapping_ros2 b/robot/ros_ws/src/global/world_models/vdb_mapping_ros2 index 1e9174d3..68fe8dde 160000 --- a/robot/ros_ws/src/global/world_models/vdb_mapping_ros2 +++ b/robot/ros_ws/src/global/world_models/vdb_mapping_ros2 @@ -1 +1 @@ -Subproject commit 1e9174d325e9d1a5af679341161990448decb8be +Subproject commit 68fe8ddea43365d1c720b07f1d109490e1bd960c From bdb416980dddf4b9f34131d69fc041ec671c312b Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 27 Apr 2026 12:42:47 -0400 Subject: [PATCH 42/55] random walk fixed --- .env | 2 +- .../polygon-editor/dist/extension.js | 287 +++++++++++++++++ .../polygon-editor/package.json | 9 + .../robot-commands/dist/extension.js | 126 ++++++-- .../waypoint-editor/dist/extension.js | 293 ++++++++++++++++++ .../waypoint-editor/package.json | 9 + .../action_relay/action_relay/relay_node.py | 164 ++++++++-- gcs/ros_ws/src/action_relay/package.xml | 1 + .../gcs_visualizer/polygon_collector_node.py | 229 ++++++++++++++ .../gcs_visualizer/waypoint_collector_node.py | 231 ++++++++++++++ .../launch/gcs_visualizer.launch.xml | 6 + gcs/ros_ws/src/gcs_visualizer/setup.py | 2 + .../global_bringup/launch/global.launch.xml | 14 +- .../random_walk/launch/random_walk_launch.xml | 21 +- .../launch_scripts/two_drone_fire.py | 3 +- 15 files changed, 1340 insertions(+), 57 deletions(-) create mode 100644 gcs/foxglove_extensions/polygon-editor/dist/extension.js create mode 100644 gcs/foxglove_extensions/polygon-editor/package.json create mode 100644 gcs/foxglove_extensions/waypoint-editor/dist/extension.js create mode 100644 gcs/foxglove_extensions/waypoint-editor/package.json create mode 100644 gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/polygon_collector_node.py create mode 100644 gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/waypoint_collector_node.py diff --git a/.env b/.env index 9de69a90..bed93ea4 100644 --- a/.env +++ b/.env @@ -24,7 +24,7 @@ COMPOSE_PROFILES="desktop, isaac-sim" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="2" # Number of robot containers to launch. +NUM_ROBOTS="3" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== SIMULATION ===================== diff --git a/gcs/foxglove_extensions/polygon-editor/dist/extension.js b/gcs/foxglove_extensions/polygon-editor/dist/extension.js new file mode 100644 index 00000000..cf2a65d3 --- /dev/null +++ b/gcs/foxglove_extensions/polygon-editor/dist/extension.js @@ -0,0 +1,287 @@ +(() => { +"use strict"; + +// ─────────────────────────── constants ──────────────────────────────────────── + +const CMD_TOPIC = "/gcs/polygon/command"; +const LIST_TOPIC = "/gcs/polygon/list"; +const CMD_SCHEMA = "std_msgs/msg/String"; + +// ─────────────────────────── panel ─────────────────────────────────────────── + +function activate(extensionContext) { + extensionContext.registerPanel({ + name: "Polygon Editor", + initPanel: (panelContext) => { + + // ── state ──────────────────────────────────────────────────────── + const persisted = panelContext.initialState ?? {}; + const state = { + defaultZ: persisted.defaultZ ?? 0.0, + }; + let vertices = []; // [{x, y, z}, ...] + let selectedIdx = -1; + let enabled = false; // synced from /gcs/polygon/list + + function persist() { panelContext.saveState(state); } + function sendCmd(cmd) { + try { + panelContext.advertise(CMD_TOPIC, CMD_SCHEMA); + panelContext.publish(CMD_TOPIC, { data: JSON.stringify(cmd) }); + } catch (err) { + statusEl.textContent = "Cmd failed: " + (err?.message ?? err); + } + } + + // ── DOM ────────────────────────────────────────────────────────── + const root = panelContext.panelElement; + root.style.cssText = + "display:flex;flex-direction:column;height:100%;box-sizing:border-box;" + + "padding:8px;gap:6px;font-family:sans-serif;color:inherit;overflow-y:auto;"; + + // Title row + const titleRow = el("div", "display:flex;align-items:center;gap:8px;flex-shrink:0;"); + const title = el("span", "font-weight:bold;font-size:14px;flex:1;"); + title.textContent = "Polygon Editor"; + titleRow.appendChild(title); + root.appendChild(titleRow); + + // Altitude + clear row + const ctrlRow = el("div", "display:flex;align-items:center;gap:8px;flex-shrink:0;"); + + const enableBtn = el("button", + "padding:6px 14px;border-radius:4px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:13px;"); + enableBtn.addEventListener("click", () => { + sendCmd({ action: "set_enabled", enabled: !enabled }); + }); + ctrlRow.appendChild(enableBtn); + + const altLabel = el("span", "font-size:12px;"); + altLabel.textContent = "Z:"; + const altInput = el("input", + "width:60px;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"); + altInput.type = "number"; + altInput.step = "0.5"; + altInput.value = String(state.defaultZ); + altInput.addEventListener("change", () => { + state.defaultZ = Number(altInput.value) || 0.0; + persist(); + sendCmd({ action: "set_altitude", z: state.defaultZ }); + }); + + const clearBtn = el("button", + "padding:6px 10px;border-radius:4px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:12px;"); + clearBtn.textContent = "Clear All"; + clearBtn.addEventListener("click", () => { sendCmd({ action: "clear" }); }); + + ctrlRow.appendChild(altLabel); + ctrlRow.appendChild(altInput); + ctrlRow.appendChild(el("span", "flex:1;")); // spacer + ctrlRow.appendChild(clearBtn); + root.appendChild(ctrlRow); + + // Vertex count + const countEl = el("div", "font-size:12px;opacity:0.8;flex-shrink:0;"); + root.appendChild(countEl); + + // Vertex list container + const listContainer = el("div", + "flex:1;overflow-y:auto;border:1px solid #444;border-radius:4px;min-height:60px;"); + root.appendChild(listContainer); + + // Add vertex manually row + const addRow = el("div", "display:flex;align-items:center;gap:4px;flex-shrink:0;"); + const addXIn = numInput("X", "0"); + const addYIn = numInput("Y", "0"); + const addZIn = numInput("Z", String(state.defaultZ)); + const addBtn = el("button", + "padding:4px 10px;border-radius:4px;border:none;background:#10b981;color:white;cursor:pointer;font-size:12px;"); + addBtn.textContent = "+ Add"; + addBtn.addEventListener("click", () => { + sendCmd({ + action: "add", + x: Number(addXIn.input.value) || 0, + y: Number(addYIn.input.value) || 0, + z: Number(addZIn.input.value) || state.defaultZ, + }); + }); + addRow.appendChild(addXIn.wrap); + addRow.appendChild(addYIn.wrap); + addRow.appendChild(addZIn.wrap); + addRow.appendChild(addBtn); + root.appendChild(addRow); + + // Status + const statusEl = el("div", "font-size:11px;opacity:0.6;flex-shrink:0;"); + root.appendChild(statusEl); + + // ── render helpers ─────────────────────────────────────────────── + function renderEnableBtn() { + if (enabled) { + enableBtn.textContent = "Capture: ON"; + enableBtn.style.background = "#10b981"; + } else { + enableBtn.textContent = "Capture: OFF"; + enableBtn.style.background = "#dc2626"; + } + } + renderEnableBtn(); + + function renderList() { + countEl.textContent = vertices.length + " vert" + (vertices.length === 1 ? "ex" : "ices"); + listContainer.replaceChildren(); + + if (vertices.length === 0) { + const empty = el("div", "padding:12px;text-align:center;opacity:0.5;font-size:12px;"); + empty.textContent = "No vertices. Enable capture and click in the 3D view, or add manually."; + listContainer.appendChild(empty); + return; + } + + for (let i = 0; i < vertices.length; i++) { + const v = vertices[i]; + const row = el("div", + "display:flex;align-items:center;gap:4px;padding:4px 6px;" + + "border-bottom:1px solid #333;font-size:12px;font-family:monospace;" + + (i === selectedIdx ? "background:rgba(220,38,38,0.18);" : "")); + + const idx = el("span", "width:20px;font-weight:bold;color:#dc2626;"); + idx.textContent = String(i); + row.appendChild(idx); + + const xIn = coordInput(v.x, (val) => { + sendCmd({ action: "move", index: i, x: val, y: v.y, z: v.z }); + }); + const yIn = coordInput(v.y, (val) => { + sendCmd({ action: "move", index: i, x: v.x, y: val, z: v.z }); + }); + const zIn = coordInput(v.z, (val) => { + sendCmd({ action: "move", index: i, x: v.x, y: v.y, z: val }); + }); + row.appendChild(xIn); + row.appendChild(yIn); + row.appendChild(zIn); + + if (i > 0) { + const upBtn = smallBtn("▲", () => { + sendCmd({ action: "reorder", from: i, to: i - 1 }); + }); + upBtn.title = "Move up"; + row.appendChild(upBtn); + } else { + row.appendChild(el("span", "width:24px;")); + } + + if (i < vertices.length - 1) { + const downBtn = smallBtn("▼", () => { + sendCmd({ action: "reorder", from: i, to: i + 1 }); + }); + downBtn.title = "Move down"; + row.appendChild(downBtn); + } else { + row.appendChild(el("span", "width:24px;")); + } + + const delBtn = smallBtn("✕", () => { + sendCmd({ action: "delete", index: i }); + }); + delBtn.style.color = "#dc2626"; + delBtn.title = "Delete"; + row.appendChild(delBtn); + + row.addEventListener("click", (e) => { + if (e.target.tagName === "INPUT" || e.target.tagName === "BUTTON") return; + selectedIdx = (selectedIdx === i) ? -1 : i; + renderList(); + }); + + listContainer.appendChild(row); + } + } + renderList(); + + // ── subscriptions ──────────────────────────────────────────────── + panelContext.subscribe([{ topic: LIST_TOPIC }]); + panelContext.watch("currentFrame"); + + panelContext.onRender = (renderState, done) => { + const frame = renderState.currentFrame; + if (frame) { + for (const evt of frame) { + if (evt.topic === LIST_TOPIC) { + try { + const data = JSON.parse(evt.message.data); + vertices = data.vertices ?? []; + if (data.default_z != null) { + state.defaultZ = data.default_z; + altInput.value = String(data.default_z); + } + if (data.enabled != null) { + enabled = Boolean(data.enabled); + renderEnableBtn(); + } + if (selectedIdx >= vertices.length) selectedIdx = -1; + renderList(); + } catch { /* ignore bad data */ } + } + } + } + done(); + }; + + panelContext.setDefaultPanelTitle("Polygon Editor"); + + return () => {}; + }, + }); +} + +// ─────────────────────────── DOM helpers ───────────────────────────────────── + +function el(tag, style) { + const e = document.createElement(tag); + if (style) e.style.cssText = style; + return e; +} + +function smallBtn(text, onClick) { + const b = el("button", + "width:24px;height:24px;padding:0;border:none;background:transparent;" + + "color:inherit;cursor:pointer;font-size:12px;border-radius:3px;"); + b.textContent = text; + b.addEventListener("mouseenter", () => { b.style.background = "rgba(255,255,255,0.1)"; }); + b.addEventListener("mouseleave", () => { b.style.background = "transparent"; }); + b.addEventListener("click", (e) => { e.stopPropagation(); onClick(); }); + return b; +} + +function coordInput(value, onChange) { + const inp = el("input", + "width:55px;padding:2px 4px;border-radius:3px;border:1px solid #555;" + + "background:transparent;color:inherit;font-family:monospace;font-size:11px;text-align:right;"); + inp.type = "number"; + inp.step = "0.5"; + inp.value = String(value); + inp.addEventListener("change", () => { + onChange(Number(inp.value) || 0); + }); + return inp; +} + +function numInput(label, defaultVal) { + const wrap = el("div", "display:flex;align-items:center;gap:2px;"); + const lbl = el("span", "font-size:11px;opacity:0.7;"); + lbl.textContent = label + ":"; + const input = el("input", + "width:50px;padding:2px 4px;border-radius:3px;border:1px solid #555;" + + "background:transparent;color:inherit;font-size:11px;"); + input.type = "number"; + input.step = "0.5"; + input.value = defaultVal; + wrap.appendChild(lbl); + wrap.appendChild(input); + return { wrap, input }; +} + +module.exports = { activate }; +})(); diff --git a/gcs/foxglove_extensions/polygon-editor/package.json b/gcs/foxglove_extensions/polygon-editor/package.json new file mode 100644 index 00000000..780c75f6 --- /dev/null +++ b/gcs/foxglove_extensions/polygon-editor/package.json @@ -0,0 +1,9 @@ +{ + "name": "polygon-editor", + "displayName": "Polygon Editor", + "description": "Click-to-place polygon vertex editor for the Foxglove 3D view.", + "publisher": "AirLab CMU", + "version": "1.0.0", + "license": "Apache-2.0", + "main": "./dist/extension.js" +} diff --git a/gcs/foxglove_extensions/robot-commands/dist/extension.js b/gcs/foxglove_extensions/robot-commands/dist/extension.js index 1070fe55..fc0ce384 100644 --- a/gcs/foxglove_extensions/robot-commands/dist/extension.js +++ b/gcs/foxglove_extensions/robot-commands/dist/extension.js @@ -19,6 +19,44 @@ const TERMINAL_STATUSES = new Set([ GOAL_STATUS.ABORTED, ]); +// Topic the Waypoint Editor publishes its current list on (std_msgs/String JSON). +const EDITOR_LIST_TOPIC = "/gcs/waypoints/list"; + +// Topic the Polygon Editor publishes its current vertex list on. +const POLYGON_LIST_TOPIC = "/gcs/polygon/list"; + +// Module-level caches of latest editor data, refreshed in the panel's onRender. +// The "Grab from Editor" button on each polygon/path field copies these into +// the textbox. +let editorWaypointsCache = []; +let polygonVerticesCache = []; + +// Per-tab runtime (feedback lines, last result, status, active flag) lives at +// module scope so it survives Foxglove panel re-instantiation (layout swaps, +// dock changes). It is only cleared explicitly by Execute via +// resetRuntimeForNewGoal. +// Keyed by `${robot}::${tabId}` so each robot's panel has its own runtime — +// otherwise a goal running for robot_1 would color robot_2's panel too. +const perTabRuntime = {}; +function getPerTab(robot, tabId) { + const key = `${robot}::${tabId}`; + if (!perTabRuntime[key]) { + perTabRuntime[key] = { + feedbackLines: [], + resultText: "", + statusText: "Idle", + statusCode: 0, // GOAL_STATUS.UNKNOWN + active: false, + }; + } + return perTabRuntime[key]; +} + +// JSON-encode the cached editor list as `[[x,y,z], ...]` for the textbox. +function editorCacheToJson(cache) { + return JSON.stringify((cache ?? []).map((p) => [p.x, p.y, p.z])); +} + const TRAJECTORY_DEFAULTS = { Circle: [["frame_id","base_link"],["radius","5.0"],["velocity","2.0"]], Figure8: [["frame_id","base_link"],["length","10.0"],["width","5.0"],["height","0.0"],["velocity","2.0"],["max_acceleration","1.0"]], @@ -75,7 +113,7 @@ const TASK_TABS = [ fields: [ { name: "frame_id", kind: "string", default: "map" }, { name: "waypoints", kind: "path", default: "[[0.0, 0.0, 5.0]]", - hint: "JSON array of [x, y, z] waypoints in the above frame" }, + hint: "JSON array of [x, y, z] waypoints. Use 'Grab from Editor' to copy in the Waypoint Editor's current list." }, { name: "goal_tolerance_m", kind: "float", default: 1.0, min: 0, max: 100, step: 0.1 }, ], buildGoal: (s) => ({ @@ -91,7 +129,7 @@ const TASK_TABS = [ goalSchema: "task_msgs/ExplorationTask_Goal", fields: [ { name: "search_bounds", kind: "polygon", default: "[]", - hint: "JSON array of [x, y, z] vertices ([] = unbounded)" }, + hint: "JSON array of [x, y, z] vertices ([] = unbounded). Use 'Grab from Editor' to copy in the Polygon Editor's current list." }, ...altSpeedFields, { name: "time_limit_sec", kind: "float", default: 120.0, min: 0, max: 86400, step: 1 }, ], @@ -112,7 +150,7 @@ const TASK_TABS = [ goalSchema: "task_msgs/CoverageTask_Goal", fields: [ { name: "coverage_area", kind: "polygon", default: "[]", - hint: "JSON array of [x, y, z] vertices" }, + hint: "JSON array of [x, y, z] vertices. Use 'Grab from Editor' to copy in the Polygon Editor's current list." }, ...altSpeedFields, { name: "line_spacing_m", kind: "float", default: 5.0, min: 0.1, max: 1000, step: 0.1 }, { name: "heading_deg", kind: "float", default: 0.0, min: 0, max: 360, step: 1 }, @@ -140,7 +178,7 @@ const TASK_TABS = [ fields: [ { name: "object_class", kind: "string", default: "" }, { name: "search_area", kind: "polygon", default: "[]", - hint: "JSON array of [x, y, z] vertices" }, + hint: "JSON array of [x, y, z] vertices. Use 'Grab from Editor' to copy in the Polygon Editor's current list." }, ...altSpeedFields, { name: "time_limit_sec", kind: "float", default: 120.0, min: 0, max: 86400, step: 1 }, { name: "target_count", kind: "int", default: 1, min: 0, max: 10000, step: 1, @@ -170,7 +208,7 @@ const TASK_TABS = [ fields: [ { name: "object_class", kind: "string", default: "" }, { name: "count_area", kind: "polygon", default: "[]", - hint: "JSON array of [x, y, z] vertices" }, + hint: "JSON array of [x, y, z] vertices. Use 'Grab from Editor' to copy in the Polygon Editor's current list." }, ...altSpeedFields, ], buildGoal: (s) => ({ @@ -197,7 +235,7 @@ const TASK_TABS = [ { name: "background_queries", kind: "string", default: "", hint: "comma-separated contrast classes, e.g. building,tree,ground" }, { name: "search_area", kind: "polygon", default: "[]", - hint: "JSON array of [x, y, z] vertices" }, + hint: "JSON array of [x, y, z] vertices. Use 'Grab from Editor' to copy in the Polygon Editor's current list." }, { name: "min_altitude_agl", kind: "float", default: 3.0, min: 0, max: 500, step: 0.1 }, { name: "max_altitude_agl", kind: "float", default: 15.0, min: 0, max: 500, step: 0.1 }, { name: "min_flight_speed", kind: "float", default: 1.0, min: 0, max: 50, step: 0.1 }, @@ -367,17 +405,17 @@ function activate(extensionContext) { } } - // Runtime (not persisted) — per-tab feedback/result/status - const perTab = {}; - for (const tab of TASK_TABS) { - perTab[tab.id] = { - feedbackLines: [], - resultText: "", - statusText: "Idle", - statusCode: GOAL_STATUS.UNKNOWN, - active: false, - }; - } + // Per-tab runtime is module-scoped (perTabRuntime) so it survives panel + // re-mounts. Lookups read `state.robot` lazily so changing the robot + // input switches the panel to that robot's runtime instantly. + const perTab = new Proxy({}, { + get(_, key) { return getPerTab(state.robot, String(key)); }, + has(_, key) { + return Boolean(perTabRuntime[`${state.robot}::${String(key)}`]); + }, + }); + // Pre-create entries for the current robot. + for (const tab of TASK_TABS) getPerTab(state.robot, tab.id); const runtime = { subscribedTopics: [], }; @@ -406,6 +444,9 @@ function activate(extensionContext) { robotInput.addEventListener("change", () => { state.robot = robotInput.value.trim() || "robot_1"; persist(); + for (const tab of TASK_TABS) getPerTab(state.robot, tab.id); + rebuildSubscriptions(); + renderTabs(); }); robotRow.appendChild(robotLabel); robotRow.appendChild(robotInput); @@ -494,9 +535,19 @@ function activate(extensionContext) { tabBodies[tab.id].style.display = isActive ? "flex" : "none"; tabButtons[tab.id].style.borderBottomColor = isActive ? "#10b981" : "transparent"; tabButtons[tab.id].style.fontWeight = isActive ? "bold" : "normal"; - // Show active indicator on tab if it has a running goal + // Tab text color: yellow while running, green on success, yellow on + // failure/cancel, inherit otherwise. const pt = perTab[tab.id]; - tabButtons[tab.id].style.color = pt.active ? "#10b981" : "inherit"; + let color = "inherit"; + if (pt.active) { + color = "#eab308"; // yellow — running + } else if (pt.statusCode === GOAL_STATUS.SUCCEEDED) { + color = "#10b981"; // green — succeeded + } else if (pt.statusCode === GOAL_STATUS.ABORTED || + pt.statusCode === GOAL_STATUS.CANCELED) { + color = "#eab308"; // yellow — failed / canceled + } + tabButtons[tab.id].style.color = color; } renderStatus(); renderFeedback(); @@ -542,13 +593,14 @@ function activate(extensionContext) { t.statusCode = GOAL_STATUS.UNKNOWN; renderFeedback(); renderStatus(); + renderTabs(); } // ── subscriptions (relay uses plain std_msgs/String topics) ──────── // Subscribe to ALL relay topics for all tabs so we catch results // even when the user switches tabs during execution. function rebuildSubscriptions() { - const topics = []; + const topics = [EDITOR_LIST_TOPIC, POLYGON_LIST_TOPIC]; for (const tab of TASK_TABS) { if (perTab[tab.id].active) { topics.push(`/${state.robot}/${tab.actionSuffix}/relay_feedback`); @@ -558,6 +610,9 @@ function activate(extensionContext) { runtime.subscribedTopics = topics; panelContext.subscribe(topics.map((topic) => ({ topic }))); } + // Subscribe to the editor topic immediately so the cache is warm before + // the user clicks Execute on Navigate. + rebuildSubscriptions(); // ── execute / cancel ───────────────────────────────────────────────── executeBtn.addEventListener("click", async () => { @@ -666,7 +721,17 @@ function activate(extensionContext) { if (frame) { for (const evt of frame) { if (!runtime.subscribedTopics.includes(evt.topic)) continue; - if (evt.topic.endsWith("/relay_feedback")) { + if (evt.topic === EDITOR_LIST_TOPIC) { + try { + const data = JSON.parse(evt.message?.data ?? "{}"); + editorWaypointsCache = Array.isArray(data.waypoints) ? data.waypoints : []; + } catch { /* ignore bad data */ } + } else if (evt.topic === POLYGON_LIST_TOPIC) { + try { + const data = JSON.parse(evt.message?.data ?? "{}"); + polygonVerticesCache = Array.isArray(data.vertices) ? data.vertices : []; + } catch { /* ignore bad data */ } + } else if (evt.topic.endsWith("/relay_feedback")) { handleRelayFeedback(evt.topic, evt.message); } else if (evt.topic.endsWith("/relay_result")) { handleRelayResult(evt.topic, evt.message); @@ -817,6 +882,25 @@ function buildField(field, tabState, persist) { }); validate(); details.appendChild(ta); + + // "Grab from Editor" button — snapshots the matching editor cache + // (waypoints for path fields, polygon vertices for polygon fields) into + // the textbox so the user can capture, modify the editor, capture again + // for another command/drone, etc. + const grabBtn = document.createElement("button"); + grabBtn.textContent = "Grab from Editor"; + grabBtn.style.cssText = "margin-top:4px;padding:4px 10px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;cursor:pointer;font-size:12px;"; + grabBtn.addEventListener("click", () => { + const cache = field.kind === "polygon" ? polygonVerticesCache : editorWaypointsCache; + const json = editorCacheToJson(cache); + ta.value = json; + tabState[field.name] = json; + validate(); + renderSummary(); + persist(); + }); + details.appendChild(grabBtn); + if (field.hint) { const h = document.createElement("span"); h.textContent = field.hint; diff --git a/gcs/foxglove_extensions/waypoint-editor/dist/extension.js b/gcs/foxglove_extensions/waypoint-editor/dist/extension.js new file mode 100644 index 00000000..241d490e --- /dev/null +++ b/gcs/foxglove_extensions/waypoint-editor/dist/extension.js @@ -0,0 +1,293 @@ +(() => { +"use strict"; + +// ─────────────────────────── constants ──────────────────────────────────────── + +const CMD_TOPIC = "/gcs/waypoints/command"; +const LIST_TOPIC = "/gcs/waypoints/list"; +const CMD_SCHEMA = "std_msgs/msg/String"; + +// ─────────────────────────── panel ─────────────────────────────────────────── + +function activate(extensionContext) { + extensionContext.registerPanel({ + name: "Waypoint Editor", + initPanel: (panelContext) => { + + // ── state ──────────────────────────────────────────────────────── + const persisted = panelContext.initialState ?? {}; + const state = { + defaultZ: persisted.defaultZ ?? 10.0, + }; + let waypoints = []; // [{x, y, z}, ...] + let selectedIdx = -1; + let enabled = false; // synced from /gcs/waypoints/list + + function persist() { panelContext.saveState(state); } + function sendCmd(cmd) { + try { + panelContext.advertise(CMD_TOPIC, CMD_SCHEMA); + panelContext.publish(CMD_TOPIC, { data: JSON.stringify(cmd) }); + } catch (err) { + statusEl.textContent = "Cmd failed: " + (err?.message ?? err); + } + } + + // ── DOM ────────────────────────────────────────────────────────── + const root = panelContext.panelElement; + root.style.cssText = + "display:flex;flex-direction:column;height:100%;box-sizing:border-box;" + + "padding:8px;gap:6px;font-family:sans-serif;color:inherit;overflow-y:auto;"; + + // Title row + const titleRow = el("div", "display:flex;align-items:center;gap:8px;flex-shrink:0;"); + const title = el("span", "font-weight:bold;font-size:14px;flex:1;"); + title.textContent = "Waypoint Editor"; + titleRow.appendChild(title); + root.appendChild(titleRow); + + // Altitude + clear row + const ctrlRow = el("div", "display:flex;align-items:center;gap:8px;flex-shrink:0;"); + + const enableBtn = el("button", + "padding:6px 14px;border-radius:4px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:13px;"); + enableBtn.addEventListener("click", () => { + sendCmd({ action: "set_enabled", enabled: !enabled }); + }); + ctrlRow.appendChild(enableBtn); + + const altLabel = el("span", "font-size:12px;"); + altLabel.textContent = "Altitude:"; + const altInput = el("input", + "width:60px;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"); + altInput.type = "number"; + altInput.step = "0.5"; + altInput.value = String(state.defaultZ); + altInput.addEventListener("change", () => { + state.defaultZ = Number(altInput.value) || 10.0; + persist(); + sendCmd({ action: "set_altitude", z: state.defaultZ }); + }); + + const clearBtn = el("button", + "padding:6px 10px;border-radius:4px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:12px;"); + clearBtn.textContent = "Clear All"; + clearBtn.addEventListener("click", () => { sendCmd({ action: "clear" }); }); + + ctrlRow.appendChild(altLabel); + ctrlRow.appendChild(altInput); + ctrlRow.appendChild(el("span", "flex:1;")); // spacer + ctrlRow.appendChild(clearBtn); + root.appendChild(ctrlRow); + + // Waypoint count + const countEl = el("div", "font-size:12px;opacity:0.8;flex-shrink:0;"); + root.appendChild(countEl); + + // Waypoint list container + const listContainer = el("div", + "flex:1;overflow-y:auto;border:1px solid #444;border-radius:4px;min-height:60px;"); + root.appendChild(listContainer); + + // Add waypoint manually row + const addRow = el("div", "display:flex;align-items:center;gap:4px;flex-shrink:0;"); + const addXIn = numInput("X", "0"); + const addYIn = numInput("Y", "0"); + const addZIn = numInput("Z", String(state.defaultZ)); + const addBtn = el("button", + "padding:4px 10px;border-radius:4px;border:none;background:#10b981;color:white;cursor:pointer;font-size:12px;"); + addBtn.textContent = "+ Add"; + addBtn.addEventListener("click", () => { + sendCmd({ + action: "add", + x: Number(addXIn.input.value) || 0, + y: Number(addYIn.input.value) || 0, + z: Number(addZIn.input.value) || state.defaultZ, + }); + }); + addRow.appendChild(addXIn.wrap); + addRow.appendChild(addYIn.wrap); + addRow.appendChild(addZIn.wrap); + addRow.appendChild(addBtn); + root.appendChild(addRow); + + // Status + const statusEl = el("div", "font-size:11px;opacity:0.6;flex-shrink:0;"); + root.appendChild(statusEl); + + // ── render helpers ─────────────────────────────────────────────── + function renderEnableBtn() { + if (enabled) { + enableBtn.textContent = "Capture: ON"; + enableBtn.style.background = "#10b981"; + } else { + enableBtn.textContent = "Capture: OFF"; + enableBtn.style.background = "#dc2626"; + } + } + renderEnableBtn(); + + function renderList() { + countEl.textContent = waypoints.length + " waypoint" + (waypoints.length === 1 ? "" : "s"); + listContainer.replaceChildren(); + + if (waypoints.length === 0) { + const empty = el("div", "padding:12px;text-align:center;opacity:0.5;font-size:12px;"); + empty.textContent = "No waypoints. Click in the 3D view or add manually below."; + listContainer.appendChild(empty); + return; + } + + for (let i = 0; i < waypoints.length; i++) { + const wp = waypoints[i]; + const row = el("div", + "display:flex;align-items:center;gap:4px;padding:4px 6px;" + + "border-bottom:1px solid #333;font-size:12px;font-family:monospace;" + + (i === selectedIdx ? "background:rgba(16,185,129,0.15);" : "")); + + // Index label + const idx = el("span", "width:20px;font-weight:bold;color:#10b981;"); + idx.textContent = String(i); + row.appendChild(idx); + + // Coordinates (editable) + const xIn = coordInput(wp.x, (v) => { + sendCmd({ action: "move", index: i, x: v, y: wp.y, z: wp.z }); + }); + const yIn = coordInput(wp.y, (v) => { + sendCmd({ action: "move", index: i, x: wp.x, y: v, z: wp.z }); + }); + const zIn = coordInput(wp.z, (v) => { + sendCmd({ action: "move", index: i, x: wp.x, y: wp.y, z: v }); + }); + row.appendChild(xIn); + row.appendChild(yIn); + row.appendChild(zIn); + + // Move up + if (i > 0) { + const upBtn = smallBtn("\u25B2", () => { + sendCmd({ action: "reorder", from: i, to: i - 1 }); + }); + upBtn.title = "Move up"; + row.appendChild(upBtn); + } else { + row.appendChild(el("span", "width:24px;")); + } + + // Move down + if (i < waypoints.length - 1) { + const downBtn = smallBtn("\u25BC", () => { + sendCmd({ action: "reorder", from: i, to: i + 1 }); + }); + downBtn.title = "Move down"; + row.appendChild(downBtn); + } else { + row.appendChild(el("span", "width:24px;")); + } + + // Delete + const delBtn = smallBtn("\u2715", () => { + sendCmd({ action: "delete", index: i }); + }); + delBtn.style.color = "#dc2626"; + delBtn.title = "Delete"; + row.appendChild(delBtn); + + row.addEventListener("click", (e) => { + if (e.target.tagName === "INPUT" || e.target.tagName === "BUTTON") return; + selectedIdx = (selectedIdx === i) ? -1 : i; + renderList(); + }); + + listContainer.appendChild(row); + } + } + renderList(); + + // ── subscriptions ──────────────────────────────────────────────── + panelContext.subscribe([{ topic: LIST_TOPIC }]); + panelContext.watch("currentFrame"); + + panelContext.onRender = (renderState, done) => { + const frame = renderState.currentFrame; + if (frame) { + for (const evt of frame) { + if (evt.topic === LIST_TOPIC) { + try { + const data = JSON.parse(evt.message.data); + waypoints = data.waypoints ?? []; + if (data.default_z != null) { + state.defaultZ = data.default_z; + altInput.value = String(data.default_z); + } + if (data.enabled != null) { + enabled = Boolean(data.enabled); + renderEnableBtn(); + } + // Clamp selected index + if (selectedIdx >= waypoints.length) selectedIdx = -1; + renderList(); + } catch { /* ignore bad data */ } + } + } + } + done(); + }; + + panelContext.setDefaultPanelTitle("Waypoint Editor"); + + return () => {}; + }, + }); +} + +// ─────────────────────────── DOM helpers ───────────────────────────────────── + +function el(tag, style) { + const e = document.createElement(tag); + if (style) e.style.cssText = style; + return e; +} + +function smallBtn(text, onClick) { + const b = el("button", + "width:24px;height:24px;padding:0;border:none;background:transparent;" + + "color:inherit;cursor:pointer;font-size:12px;border-radius:3px;"); + b.textContent = text; + b.addEventListener("mouseenter", () => { b.style.background = "rgba(255,255,255,0.1)"; }); + b.addEventListener("mouseleave", () => { b.style.background = "transparent"; }); + b.addEventListener("click", (e) => { e.stopPropagation(); onClick(); }); + return b; +} + +function coordInput(value, onChange) { + const inp = el("input", + "width:55px;padding:2px 4px;border-radius:3px;border:1px solid #555;" + + "background:transparent;color:inherit;font-family:monospace;font-size:11px;text-align:right;"); + inp.type = "number"; + inp.step = "0.5"; + inp.value = String(value); + inp.addEventListener("change", () => { + onChange(Number(inp.value) || 0); + }); + return inp; +} + +function numInput(label, defaultVal) { + const wrap = el("div", "display:flex;align-items:center;gap:2px;"); + const lbl = el("span", "font-size:11px;opacity:0.7;"); + lbl.textContent = label + ":"; + const input = el("input", + "width:50px;padding:2px 4px;border-radius:3px;border:1px solid #555;" + + "background:transparent;color:inherit;font-size:11px;"); + input.type = "number"; + input.step = "0.5"; + input.value = defaultVal; + wrap.appendChild(lbl); + wrap.appendChild(input); + return { wrap, input }; +} + +module.exports = { activate }; +})(); diff --git a/gcs/foxglove_extensions/waypoint-editor/package.json b/gcs/foxglove_extensions/waypoint-editor/package.json new file mode 100644 index 00000000..bad6058d --- /dev/null +++ b/gcs/foxglove_extensions/waypoint-editor/package.json @@ -0,0 +1,9 @@ +{ + "name": "waypoint-editor", + "displayName": "Waypoint Editor", + "description": "Click-to-place waypoint editor panel for the Foxglove 3D view.", + "publisher": "AirLab CMU", + "version": "1.0.0", + "license": "Apache-2.0", + "main": "./dist/extension.js" +} diff --git a/gcs/ros_ws/src/action_relay/action_relay/relay_node.py b/gcs/ros_ws/src/action_relay/action_relay/relay_node.py index 9caa4cd6..fb6495d8 100644 --- a/gcs/ros_ws/src/action_relay/action_relay/relay_node.py +++ b/gcs/ros_ws/src/action_relay/action_relay/relay_node.py @@ -21,16 +21,21 @@ """ import json +import math +import threading import rclpy from rclpy.action import ActionClient from rclpy.callback_groups import ReentrantCallbackGroup from rclpy.executors import MultiThreadedExecutor, SingleThreadedExecutor -from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy +from rclpy.qos import ( + QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy, +) from builtin_interfaces.msg import Time from geometry_msgs.msg import Point, Pose, Polygon, Point32, PoseStamped from nav_msgs.msg import Path +from sensor_msgs.msg import NavSatFix from std_msgs.msg import Header, String from airstack_msgs.msg import FixedTrajectory @@ -38,8 +43,24 @@ from task_msgs.action import ( TakeoffTask, LandTask, NavigateTask, FixedTrajectoryTask, SemanticSearchTask, + ExplorationTask, ) +# ── Map-frame ENU origin (must match gcs_visualizer/gcs_utils.py) ──────────── +# Foxglove panels publish waypoints/polygons in this same global ENU frame, and +# the gcs_visualizer renders the robot at gps_to_enu(...) - boot. The robot's +# task executors expect coordinates relative to its own boot pose, so we +# subtract the robot's boot ENU position before forwarding. +ORIGIN_LAT = 38.736832 +ORIGIN_LON = -9.137977 + + +def gps_to_enu(lat, lon, alt, alt_ground): + x = (lon - ORIGIN_LON) * 111320.0 * math.cos(math.radians(ORIGIN_LAT)) + y = (lat - ORIGIN_LAT) * 111320.0 + z = alt - alt_ground + return x, y, z + # ── Registry ───────────────────────────────────────────────────────────────── RELAYS = [ ('takeoff', TakeoffTask), @@ -47,6 +68,7 @@ ('navigate', NavigateTask), ('fixed_trajectory', FixedTrajectoryTask), ('semantic_search', SemanticSearchTask), + ('exploration', ExplorationTask), ] _RELIABLE_QOS = QoSProfile( @@ -59,26 +81,45 @@ # ── Goal builders ──────────────────────────────────────────────────────────── # Each converts a JSON dict into a typed Goal message. -def _build_takeoff_goal(d): +def _map_to_robot(x, y, z, ts): + """Subtract the robot's boot ENU position from a global-ENU point.""" + boot = ts.get('boot') if ts else None + if boot is None: + return x, y, z + bx, by, bz = boot + return x - bx, y - by, z - bz + + +def _build_takeoff_goal(d, ts): g = TakeoffTask.Goal() g.target_altitude_m = float(d.get('target_altitude_m', 0)) g.velocity_m_s = float(d.get('velocity_m_s', 0)) return g -def _build_land_goal(d): +def _build_land_goal(d, ts): g = LandTask.Goal() g.velocity_m_s = float(d.get('velocity_m_s', 0)) return g -def _build_navigate_goal(d): +def _build_navigate_goal(d, ts): g = NavigateTask.Goal() g.goal_tolerance_m = float(d.get('goal_tolerance_m', 1.0)) plan_data = d.get('global_plan', {}) header = Header() hdr = plan_data.get('header', {}) - header.frame_id = str(hdr.get('frame_id', 'map')) + in_frame = str(hdr.get('frame_id', 'map')) + # Waypoints from the Foxglove editor are in *global* ENU (gcs_visualizer's + # shared map). The robot's own TF tree uses 'map' rooted at its takeoff + # position, so we subtract the boot offset and keep the 'map' frame_id — + # the on-robot planner (droan_gl, target_frame=map) expects this. + if in_frame == 'map': + if ts is None or ts.get('boot') is None: + raise RuntimeError( + 'Cannot transform map-frame waypoints: robot GPS boot pose ' + 'not yet received. Wait for first GPS fix and retry.') + header.frame_id = in_frame stamp = hdr.get('stamp', {}) header.stamp = Time(sec=int(stamp.get('sec', 0)), nanosec=int(stamp.get('nanosec', 0))) @@ -88,9 +129,12 @@ def _build_navigate_goal(d): ps.header = header pos = pose_data.get('pose', {}).get('position', {}) ori = pose_data.get('pose', {}).get('orientation', {}) - ps.pose.position = Point( - x=float(pos.get('x', 0)), y=float(pos.get('y', 0)), - z=float(pos.get('z', 0))) + x = float(pos.get('x', 0)) + y = float(pos.get('y', 0)) + z = float(pos.get('z', 0)) + if in_frame == 'map': + x, y, z = _map_to_robot(x, y, z, ts) + ps.pose.position = Point(x=x, y=y, z=z) ps.pose.orientation.x = float(ori.get('x', 0)) ps.pose.orientation.y = float(ori.get('y', 0)) ps.pose.orientation.z = float(ori.get('z', 0)) @@ -100,7 +144,7 @@ def _build_navigate_goal(d): return g -def _build_fixed_trajectory_goal(d): +def _build_fixed_trajectory_goal(d, ts): g = FixedTrajectoryTask.Goal() g.loop = bool(d.get('loop', False)) spec_data = d.get('trajectory_spec', {}) @@ -115,7 +159,7 @@ def _build_fixed_trajectory_goal(d): return g -def _build_semantic_search_goal(d): +def _build_semantic_search_goal(d, ts): g = SemanticSearchTask.Goal() g.query = str(d.get('query', '')) g.background_queries = str(d.get('background_queries', '')) @@ -124,14 +168,38 @@ def _build_semantic_search_goal(d): g.min_flight_speed = float(d.get('min_flight_speed', 0)) g.max_flight_speed = float(d.get('max_flight_speed', 0)) g.confidence_threshold = float(d.get('confidence_threshold', 0.95)) - # search_area polygon area = d.get('search_area', {}) + g.search_area = _build_polygon_from_global(area.get('points', []), ts) + return g + + +def _build_polygon_from_global(points, ts): + """Transform editor-frame polygon points to the robot's local 'map' frame.""" + if points and (ts is None or ts.get('boot') is None): + raise RuntimeError( + 'Cannot transform polygon vertices: robot GPS boot pose ' + 'not yet received. Wait for first GPS fix and retry.') poly = Polygon() - for pt in area.get('points', []): - poly.points.append(Point32( - x=float(pt.get('x', 0)), y=float(pt.get('y', 0)), - z=float(pt.get('z', 0)))) - g.search_area = poly + for pt in points: + x, y, z = _map_to_robot( + float(pt.get('x', 0)), + float(pt.get('y', 0)), + float(pt.get('z', 0)), + ts, + ) + poly.points.append(Point32(x=x, y=y, z=z)) + return poly + + +def _build_exploration_goal(d, ts): + g = ExplorationTask.Goal() + g.min_altitude_agl = float(d.get('min_altitude_agl', 0)) + g.max_altitude_agl = float(d.get('max_altitude_agl', 0)) + g.min_flight_speed = float(d.get('min_flight_speed', 0)) + g.max_flight_speed = float(d.get('max_flight_speed', 0)) + g.time_limit_sec = float(d.get('time_limit_sec', 0)) + bounds = d.get('search_bounds', {}) + g.search_bounds = _build_polygon_from_global(bounds.get('points', []), ts) return g @@ -141,12 +209,14 @@ def _build_semantic_search_goal(d): 'navigate': _build_navigate_goal, 'fixed_trajectory': _build_fixed_trajectory_goal, 'semantic_search': _build_semantic_search_goal, + 'exploration': _build_exploration_goal, } # ── Relay wiring ───────────────────────────────────────────────────────────── -def _make_relay(node0, nodeN, executorN, topic, suffix, action_type, robot_domain): +def _make_relay(node0, nodeN, executorN, topic, suffix, action_type, + robot_domain, transform_state): """Wire up goal subscriber (domain 0) + action client (domain N).""" client = ActionClient(nodeN, action_type, topic) @@ -157,6 +227,7 @@ def _make_relay(node0, nodeN, executorN, topic, suffix, action_type, robot_domai goal_builder = _GOAL_BUILDERS[suffix] active_goal = {'handle': None} + cancel_event = threading.Event() def on_goal_str(msg): """Receive JSON goal from Foxglove, parse, forward as action.""" @@ -167,7 +238,12 @@ def on_goal_str(msg): _publish_result(False, f'Invalid JSON: {e}') return - goal_msg = goal_builder(data) + try: + goal_msg = goal_builder(data, transform_state) + except RuntimeError as e: + node0.get_logger().warn(f'[relay] {topic}: {e}') + _publish_result(False, str(e)) + return node0.get_logger().info(f'[relay] {topic}: goal: {goal_msg}') if not client.wait_for_server(timeout_sec=5.0): @@ -190,12 +266,21 @@ def on_goal_str(msg): return active_goal['handle'] = robot_goal_handle + cancel_event.clear() node0.get_logger().info(f'[relay] {topic}: goal accepted') feedback_pub.publish(String(data='Goal accepted by robot')) result_future = robot_goal_handle.get_result_async() + cancel_sent = False while not result_future.done(): + if cancel_event.is_set() and not cancel_sent: + # Issue cancel from the same thread that owns executorN to + # avoid racing the rcl ActionClient. + robot_goal_handle.cancel_goal_async() + cancel_sent = True + feedback_pub.publish(String(data='Cancel forwarded to robot')) executorN.spin_once(timeout_sec=0.05) + cancel_event.clear() active_goal['handle'] = None wrapped = result_future.result() @@ -209,13 +294,12 @@ def on_goal_str(msg): _publish_result(success, message) def on_cancel(msg): - """Cancel the active goal on the robot.""" - gh = active_goal.get('handle') - if gh is None: + """Signal the goal-handler loop to forward a cancel to the robot.""" + if active_goal.get('handle') is None: node0.get_logger().warn(f'[relay] {topic}: cancel requested but no active goal') return - node0.get_logger().info(f'[relay] {topic}: forwarding cancel to robot') - gh.cancel_goal_async() + node0.get_logger().info(f'[relay] {topic}: cancel requested') + cancel_event.set() def _on_feedback(fb_msg): fb = fb_msg.feedback @@ -276,9 +360,41 @@ def main(args=None): f'Action relay: robot={robot_name} domain={robot_domain} ' f'relaying {len(RELAYS)} action(s)') + # Track this robot's boot ENU position so we can convert global-frame + # waypoints/polygons (from the Foxglove editors) to robot-local before + # forwarding. First valid GPS fix is treated as boot, matching gcs_visualizer. + transform_state = {'boot': None, 'alt_ground': None} + gps_qos = QoSProfile( + depth=1, + reliability=ReliabilityPolicy.BEST_EFFORT, + durability=DurabilityPolicy.VOLATILE, + history=HistoryPolicy.KEEP_LAST, + ) + + def _on_gps(msg: NavSatFix): + if msg.status.status < 0: + return + if transform_state['alt_ground'] is None: + transform_state['alt_ground'] = msg.altitude + if transform_state['boot'] is None: + pos = gps_to_enu(msg.latitude, msg.longitude, msg.altitude, + transform_state['alt_ground']) + transform_state['boot'] = pos + node0.get_logger().info( + f"[relay] {robot_name} boot ENU = " + f"({pos[0]:.2f}, {pos[1]:.2f}, {pos[2]:.2f})") + + node0.create_subscription( + NavSatFix, + f'/{robot_name}/interface/mavros/global_position/global', + _on_gps, + gps_qos, + ) + for suffix, action_type in RELAYS: topic = f'/{robot_name}/tasks/{suffix}' - _make_relay(node0, nodeN, executorN, topic, suffix, action_type, robot_domain) + _make_relay(node0, nodeN, executorN, topic, suffix, action_type, + robot_domain, transform_state) executor0 = MultiThreadedExecutor(context=ctx0) executor0.add_node(node0) diff --git a/gcs/ros_ws/src/action_relay/package.xml b/gcs/ros_ws/src/action_relay/package.xml index c0bc0c66..f9fe0fdb 100644 --- a/gcs/ros_ws/src/action_relay/package.xml +++ b/gcs/ros_ws/src/action_relay/package.xml @@ -14,6 +14,7 @@ geometry_msgs airstack_msgs diagnostic_msgs + sensor_msgs ament_copyright ament_flake8 diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/polygon_collector_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/polygon_collector_node.py new file mode 100644 index 00000000..f9e9a323 --- /dev/null +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/polygon_collector_node.py @@ -0,0 +1,229 @@ +"""Polygon collector: receives click points from Foxglove 3D panel, +manages a polygon vertex list, and publishes markers + vertex list. + +Commands arrive as JSON on /gcs/polygon/command (std_msgs/String): + {"action": "add", "x": 1.0, "y": 2.0, "z": 0.0} + {"action": "delete", "index": 2} + {"action": "move", "index": 1, "x": 3.0, "y": 4.0, "z": 0.0} + {"action": "reorder", "from": 2, "to": 0} + {"action": "clear"} + {"action": "set_altitude", "z": 0.0} (sets default z for clicks) + +Publishes: + /gcs/polygon/markers (MarkerArray — red vertex spheres + closed red LINE_STRIP) + /gcs/polygon/list (String — JSON {vertices: [{x,y,z},...], default_z: float}) + +The polygon is rendered as a closed loop (last vertex connects back to first) +so the user sees the area they're outlining. +""" + +import json + +import rclpy +from rclpy.node import Node +from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy + +from builtin_interfaces.msg import Time +from geometry_msgs.msg import Point, PointStamped +from std_msgs.msg import ColorRGBA, String +from visualization_msgs.msg import Marker, MarkerArray + +_RELIABLE = QoSProfile(depth=10, + reliability=ReliabilityPolicy.RELIABLE, + durability=DurabilityPolicy.VOLATILE) + +_LATCHED = QoSProfile(depth=1, + reliability=ReliabilityPolicy.RELIABLE, + durability=DurabilityPolicy.TRANSIENT_LOCAL) + +_LINE_COLOR = ColorRGBA(r=1.0, g=0.15, b=0.15, a=1.0) +_VERTEX_COLOR = ColorRGBA(r=1.0, g=0.15, b=0.15, a=1.0) +_TEXT_COLOR = ColorRGBA(r=1.0, g=1.0, b=1.0, a=1.0) +_VERTEX_RADIUS = 0.35 +_LINE_WIDTH = 0.15 + + +class PolygonCollectorNode(Node): + def __init__(self): + super().__init__('polygon_collector') + + self._vertices: list[dict] = [] # [{x, y, z}, ...] + self._default_z = 0.0 + self._frame_id = 'map' + # Click capture is gated by an Enable toggle so the waypoint and + # polygon editors can share /clicked_point without conflicting. + self._enabled = False + + self.create_subscription( + PointStamped, '/clicked_point', self._on_click, 10) + self.create_subscription( + String, '/gcs/polygon/command', self._on_command, _RELIABLE) + + self._marker_pub = self.create_publisher( + MarkerArray, '/gcs/polygon/markers', _LATCHED) + self._list_pub = self.create_publisher( + String, '/gcs/polygon/list', _LATCHED) + + self._publish_all() + self.get_logger().info('Polygon collector ready') + + def _on_click(self, msg: PointStamped): + if not self._enabled: + return + v = { + 'x': round(msg.point.x, 2), + 'y': round(msg.point.y, 2), + 'z': round(self._default_z, 2), + } + self._vertices.append(v) + self.get_logger().info( + f'Added vertex {len(self._vertices)-1}: ' + f'({v["x"]}, {v["y"]}, {v["z"]})') + self._publish_all() + + def _on_command(self, msg: String): + try: + cmd = json.loads(msg.data) + except json.JSONDecodeError: + self.get_logger().warn(f'Bad command JSON: {msg.data}') + return + + action = cmd.get('action', '') + + if action == 'add': + self._vertices.append({ + 'x': round(float(cmd.get('x', 0)), 2), + 'y': round(float(cmd.get('y', 0)), 2), + 'z': round(float(cmd.get('z', self._default_z)), 2), + }) + + elif action == 'delete': + idx = int(cmd.get('index', -1)) + if 0 <= idx < len(self._vertices): + self._vertices.pop(idx) + + elif action == 'move': + idx = int(cmd.get('index', -1)) + if 0 <= idx < len(self._vertices): + self._vertices[idx] = { + 'x': round(float(cmd.get('x', 0)), 2), + 'y': round(float(cmd.get('y', 0)), 2), + 'z': round(float(cmd.get('z', 0)), 2), + } + + elif action == 'reorder': + fi = int(cmd.get('from', -1)) + ti = int(cmd.get('to', -1)) + if 0 <= fi < len(self._vertices) and 0 <= ti < len(self._vertices): + v = self._vertices.pop(fi) + self._vertices.insert(ti, v) + + elif action == 'clear': + self._vertices.clear() + + elif action == 'set_altitude': + self._default_z = float(cmd.get('z', self._default_z)) + self.get_logger().info(f'Default z set to {self._default_z}') + self._publish_list() + return + + elif action == 'set_enabled': + self._enabled = bool(cmd.get('enabled', False)) + self.get_logger().info( + f'Click capture {"ENABLED" if self._enabled else "disabled"}') + self._publish_list() + return + + else: + self.get_logger().warn(f'Unknown command: {action}') + return + + self._publish_all() + + def _publish_all(self): + now = self.get_clock().now().to_msg() + self._publish_markers(now) + self._publish_list() + + def _publish_markers(self, stamp: Time): + array = MarkerArray() + + delete = Marker() + delete.header.frame_id = self._frame_id + delete.header.stamp = stamp + delete.ns = 'polygon' + delete.action = Marker.DELETEALL + array.markers.append(delete) + + for i, v in enumerate(self._vertices): + pos = Point(x=v['x'], y=v['y'], z=v['z']) + + sphere = Marker() + sphere.header.frame_id = self._frame_id + sphere.header.stamp = stamp + sphere.ns = 'polygon' + sphere.id = i * 2 + sphere.type = Marker.SPHERE + sphere.action = Marker.ADD + sphere.pose.position = pos + sphere.pose.orientation.w = 1.0 + sphere.scale.x = _VERTEX_RADIUS + sphere.scale.y = _VERTEX_RADIUS + sphere.scale.z = _VERTEX_RADIUS + sphere.color = _VERTEX_COLOR + array.markers.append(sphere) + + label = Marker() + label.header.frame_id = self._frame_id + label.header.stamp = stamp + label.ns = 'polygon' + label.id = i * 2 + 1 + label.type = Marker.TEXT_VIEW_FACING + label.action = Marker.ADD + label.pose.position = Point( + x=v['x'], y=v['y'], z=v['z'] + _VERTEX_RADIUS + 0.3) + label.pose.orientation.w = 1.0 + label.scale.z = 0.4 + label.color = _TEXT_COLOR + label.text = str(i) + array.markers.append(label) + + # Closed polygon outline (last vertex back to first). + if len(self._vertices) >= 2: + line = Marker() + line.header.frame_id = self._frame_id + line.header.stamp = stamp + line.ns = 'polygon' + line.id = len(self._vertices) * 2 + 100 + line.type = Marker.LINE_STRIP + line.action = Marker.ADD + line.scale.x = _LINE_WIDTH + line.color = _LINE_COLOR + line.pose.orientation.w = 1.0 + for v in self._vertices: + line.points.append(Point(x=v['x'], y=v['y'], z=v['z'])) + # Close the loop + first = self._vertices[0] + line.points.append(Point(x=first['x'], y=first['y'], z=first['z'])) + array.markers.append(line) + + self._marker_pub.publish(array) + + def _publish_list(self): + self._list_pub.publish(String(data=json.dumps({ + 'vertices': self._vertices, + 'default_z': self._default_z, + 'enabled': self._enabled, + }))) + + +def main(args=None): + rclpy.init(args=args) + node = PolygonCollectorNode() + try: + rclpy.spin(node) + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + rclpy.shutdown() diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/waypoint_collector_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/waypoint_collector_node.py new file mode 100644 index 00000000..27f2af6d --- /dev/null +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/waypoint_collector_node.py @@ -0,0 +1,231 @@ +"""Waypoint collector: receives click points from Foxglove 3D panel, +manages a waypoint list, and publishes markers + path. + +Commands arrive as JSON on /gcs/waypoints/command (std_msgs/String): + {"action": "add", "x": 1.0, "y": 2.0, "z": 5.0} + {"action": "delete", "index": 2} + {"action": "move", "index": 1, "x": 3.0, "y": 4.0, "z": 5.0} + {"action": "reorder", "from": 2, "to": 0} + {"action": "clear"} + {"action": "set_altitude", "z": 10.0} (sets default altitude for clicks) + +Publishes: + /gcs/waypoints/markers (MarkerArray — spheres, labels, connecting lines) + /gcs/waypoints/list (String — JSON array of waypoints for the panel) + /gcs/waypoints/path (nav_msgs/Path — for use by navigate task) +""" + +import json + +import rclpy +from rclpy.node import Node +from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy + +from builtin_interfaces.msg import Time +from geometry_msgs.msg import Point, PointStamped, PoseStamped +from nav_msgs.msg import Path +from std_msgs.msg import ColorRGBA, Header, String +from visualization_msgs.msg import Marker, MarkerArray + +_RELIABLE = QoSProfile(depth=10, + reliability=ReliabilityPolicy.RELIABLE, + durability=DurabilityPolicy.VOLATILE) + +_LATCHED = QoSProfile(depth=1, + reliability=ReliabilityPolicy.RELIABLE, + durability=DurabilityPolicy.TRANSIENT_LOCAL) + +# Marker colors +_STAR_COLOR = ColorRGBA(r=0.2, g=0.8, b=1.0, a=1.0) +_TEXT_COLOR = ColorRGBA(r=1.0, g=1.0, b=1.0, a=1.0) +_STAR_SCALE = 1.0 + + +class WaypointCollectorNode(Node): + def __init__(self): + super().__init__('waypoint_collector') + + self._waypoints: list[dict] = [] # [{x, y, z}, ...] + self._default_z = 10.0 + self._frame_id = 'map' + # Click capture is gated by an Enable toggle from the editor panel so + # the waypoint and polygon editors can share /clicked_point without + # stealing each other's clicks. + self._enabled = False + + # Subscribers + self.create_subscription( + PointStamped, '/clicked_point', self._on_click, 10) + self.create_subscription( + String, '/gcs/waypoints/command', self._on_command, _RELIABLE) + + # Publishers + self._marker_pub = self.create_publisher( + MarkerArray, '/gcs/waypoints/markers', _LATCHED) + self._list_pub = self.create_publisher( + String, '/gcs/waypoints/list', _LATCHED) + self._path_pub = self.create_publisher( + Path, '/gcs/waypoints/path', _LATCHED) + + # Publish initial empty state + self._publish_all() + self.get_logger().info('Waypoint collector ready') + + # ── Click handler ──────────────────────────────────────────────────── + def _on_click(self, msg: PointStamped): + if not self._enabled: + return + wp = { + 'x': round(msg.point.x, 2), + 'y': round(msg.point.y, 2), + 'z': round(self._default_z, 2), + } + self._waypoints.append(wp) + self.get_logger().info( + f'Added waypoint {len(self._waypoints)-1}: ' + f'({wp["x"]}, {wp["y"]}, {wp["z"]})') + self._publish_all() + + # ── Command handler ────────────────────────────────────────────────── + def _on_command(self, msg: String): + try: + cmd = json.loads(msg.data) + except json.JSONDecodeError: + self.get_logger().warn(f'Bad command JSON: {msg.data}') + return + + action = cmd.get('action', '') + + if action == 'add': + self._waypoints.append({ + 'x': round(float(cmd.get('x', 0)), 2), + 'y': round(float(cmd.get('y', 0)), 2), + 'z': round(float(cmd.get('z', self._default_z)), 2), + }) + + elif action == 'delete': + idx = int(cmd.get('index', -1)) + if 0 <= idx < len(self._waypoints): + self._waypoints.pop(idx) + + elif action == 'move': + idx = int(cmd.get('index', -1)) + if 0 <= idx < len(self._waypoints): + self._waypoints[idx] = { + 'x': round(float(cmd.get('x', 0)), 2), + 'y': round(float(cmd.get('y', 0)), 2), + 'z': round(float(cmd.get('z', 0)), 2), + } + + elif action == 'reorder': + fi = int(cmd.get('from', -1)) + ti = int(cmd.get('to', -1)) + if 0 <= fi < len(self._waypoints) and 0 <= ti < len(self._waypoints): + wp = self._waypoints.pop(fi) + self._waypoints.insert(ti, wp) + + elif action == 'clear': + self._waypoints.clear() + + elif action == 'set_altitude': + self._default_z = float(cmd.get('z', self._default_z)) + self.get_logger().info(f'Default altitude set to {self._default_z}') + self._publish_list() + return + + elif action == 'set_enabled': + self._enabled = bool(cmd.get('enabled', False)) + self.get_logger().info( + f'Click capture {"ENABLED" if self._enabled else "disabled"}') + self._publish_list() + return + + else: + self.get_logger().warn(f'Unknown command: {action}') + return + + self._publish_all() + + # ── Publishing ─────────────────────────────────────────────────────── + def _publish_all(self): + now = self.get_clock().now().to_msg() + self._publish_markers(now) + self._publish_list() + self._publish_path(now) + + def _publish_markers(self, stamp: Time): + array = MarkerArray() + + # Delete all previous markers + delete = Marker() + delete.header.frame_id = self._frame_id + delete.header.stamp = stamp + delete.ns = 'waypoints' + delete.action = Marker.DELETEALL + array.markers.append(delete) + + for i, wp in enumerate(self._waypoints): + pos = Point(x=wp['x'], y=wp['y'], z=wp['z']) + + # Star glyph (text marker, always faces camera) + star = Marker() + star.header.frame_id = self._frame_id + star.header.stamp = stamp + star.ns = 'waypoints' + star.id = i * 2 + star.type = Marker.TEXT_VIEW_FACING + star.action = Marker.ADD + star.pose.position = pos + star.pose.orientation.w = 1.0 + star.scale.z = _STAR_SCALE + star.color = _STAR_COLOR + star.text = '★' + array.markers.append(star) + + # Index label + label = Marker() + label.header.frame_id = self._frame_id + label.header.stamp = stamp + label.ns = 'waypoints' + label.id = i * 2 + 1 + label.type = Marker.TEXT_VIEW_FACING + label.action = Marker.ADD + label.pose.position = Point( + x=wp['x'], y=wp['y'], z=wp['z'] + 0.5) + label.pose.orientation.w = 1.0 + label.scale.z = 0.4 + label.color = _TEXT_COLOR + label.text = str(i) + array.markers.append(label) + + self._marker_pub.publish(array) + + def _publish_list(self): + self._list_pub.publish(String(data=json.dumps({ + 'waypoints': self._waypoints, + 'default_z': self._default_z, + 'enabled': self._enabled, + }))) + + def _publish_path(self, stamp: Time): + path = Path() + path.header = Header(frame_id=self._frame_id, stamp=stamp) + for wp in self._waypoints: + ps = PoseStamped() + ps.header = path.header + ps.pose.position = Point(x=wp['x'], y=wp['y'], z=wp['z']) + ps.pose.orientation.w = 1.0 + path.poses.append(ps) + self._path_pub.publish(path) + + +def main(args=None): + rclpy.init(args=args) + node = WaypointCollectorNode() + try: + rclpy.spin(node) + except KeyboardInterrupt: + pass + finally: + node.destroy_node() + rclpy.shutdown() diff --git a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml index d8f6478d..d5b823d7 100644 --- a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml +++ b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml @@ -9,4 +9,10 @@ + + + + + + diff --git a/gcs/ros_ws/src/gcs_visualizer/setup.py b/gcs/ros_ws/src/gcs_visualizer/setup.py index 5d89b2bb..9e40163b 100644 --- a/gcs/ros_ws/src/gcs_visualizer/setup.py +++ b/gcs/ros_ws/src/gcs_visualizer/setup.py @@ -24,6 +24,8 @@ 'console_scripts': [ 'foxglove_visualizer_node = gcs_visualizer.foxglove_visualizer_node:main', 'payload_visualizer_node = gcs_visualizer.payload_visualizer_node:main', + 'waypoint_collector_node = gcs_visualizer.waypoint_collector_node:main', + 'polygon_collector_node = gcs_visualizer.polygon_collector_node:main', ], }, ) diff --git a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml index 628af479..0aa9064b 100644 --- a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml +++ b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml @@ -7,5 +7,17 @@ - + + + + + + + + + + + + diff --git a/robot/ros_ws/src/global/planners/random_walk/launch/random_walk_launch.xml b/robot/ros_ws/src/global/planners/random_walk/launch/random_walk_launch.xml index 174bc53f..dfe624ca 100644 --- a/robot/ros_ws/src/global/planners/random_walk/launch/random_walk_launch.xml +++ b/robot/ros_ws/src/global/planners/random_walk/launch/random_walk_launch.xml @@ -1,11 +1,14 @@ - - - + + + + + + - \ No newline at end of file + diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index 8ac80223..8b4ff2a8 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -73,7 +73,8 @@ SPAWN_HEIGHT_ABOVE_FLOOR_M = 0.03 DRONE_CONFIGS = [ {"domain_id": 1, "x_m": 27.0, "y_m": 7.6, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 4.0}, - {"domain_id": 2, "x_m": 23.0, "y_m": 9.8, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 3.5}, + {"domain_id": 2, "x_m": 23.0, "y_m": 9.8, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 4.0}, + {"domain_id": 3, "x_m": 20.0, "y_m": 12.0, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 4.0}, ] # --------------------------------------------------------- From 243292e768accdf31f0758e429147d96864b47e5 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Mon, 27 Apr 2026 16:05:07 -0400 Subject: [PATCH 43/55] fixed random walk bringup. Added saves and viz for multiple waypoints and polygons --- .env | 2 +- .gitignore | 4 + gcs/docker/gcs-base-docker-compose.yaml | 2 + .../polygon-editor/dist/extension.js | 100 ++++++- .../robot-commands/dist/extension.js | 93 ++++++- .../waypoint-editor/dist/extension.js | 100 ++++++- .../action_relay/action_relay/relay_node.py | 103 ++++++-- .../gcs_visualizer/polygon_collector_node.py | 218 +++++++++++++++- .../gcs_visualizer/waypoint_collector_node.py | 246 +++++++++++++++++- gcs/saves/.gitkeep | 0 .../global_bringup/launch/global.launch.xml | 21 +- .../semantic_search_task/node.py | 14 +- .../launch_scripts/two_drone_fire.py | 1 - 13 files changed, 842 insertions(+), 62 deletions(-) create mode 100644 gcs/saves/.gitkeep diff --git a/.env b/.env index bed93ea4..9de69a90 100644 --- a/.env +++ b/.env @@ -24,7 +24,7 @@ COMPOSE_PROFILES="desktop, isaac-sim" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="3" # Number of robot containers to launch. +NUM_ROBOTS="2" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== SIMULATION ===================== diff --git a/.gitignore b/.gitignore index cabc5025..1d4a13fd 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,7 @@ simulation/isaac-sim/launch_scripts/AbandonedFactory_Launch.py simulation/isaac-sim/launch_scripts/ConstructionSite_Launch.py simulation/isaac-sim/launch_scripts/FireAcademy_Launch.py simulation/isaac-sim/launch_scripts/RetroNeighborhood_Launch.py + +# Persisted waypoint/polygon editor saves (host-side mount target) +gcs/saves/* +!gcs/saves/.gitkeep diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index 852011de..74f13918 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -61,6 +61,8 @@ services: - ../../.devcontainer/gcs/launch.json:/root/AirStack/.vscode/launch.json:rw - ../../.devcontainer/gcs/tasks.json:/root/AirStack/.vscode/tasks.json:rw - ./Foxglove:/root/.config/Foxglove:rw + # waypoint/polygon editor saves (so they survive container restarts) + - ../saves:/root/.airstack:rw # foxglove extensions - ../foxglove_extensions:/root/AirStack/gcs/foxglove_extensions:ro # autonomy stack stuff diff --git a/gcs/foxglove_extensions/polygon-editor/dist/extension.js b/gcs/foxglove_extensions/polygon-editor/dist/extension.js index cf2a65d3..5334b9f2 100644 --- a/gcs/foxglove_extensions/polygon-editor/dist/extension.js +++ b/gcs/foxglove_extensions/polygon-editor/dist/extension.js @@ -5,6 +5,7 @@ const CMD_TOPIC = "/gcs/polygon/command"; const LIST_TOPIC = "/gcs/polygon/list"; +const SAVES_TOPIC = "/gcs/polygon/saves"; const CMD_SCHEMA = "std_msgs/msg/String"; // ─────────────────────────── panel ─────────────────────────────────────────── @@ -22,6 +23,7 @@ function activate(extensionContext) { let vertices = []; // [{x, y, z}, ...] let selectedIdx = -1; let enabled = false; // synced from /gcs/polygon/list + let saves = []; // synced from /gcs/polygon/saves function persist() { panelContext.saveState(state); } function sendCmd(cmd) { @@ -111,10 +113,97 @@ function activate(extensionContext) { addRow.appendChild(addBtn); root.appendChild(addRow); + // ── Saves section ──────────────────────────────────────────────── + const savesLabel = el("div", + "font-size:11px;font-weight:bold;opacity:0.8;margin-top:6px;flex-shrink:0;"); + savesLabel.textContent = "Saves"; + root.appendChild(savesLabel); + + const saveAddRow = el("div", "display:flex;align-items:center;gap:4px;flex-shrink:0;"); + const saveNameIn = el("input", + "flex:1;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;font-size:12px;"); + saveNameIn.type = "text"; + saveNameIn.placeholder = "save name…"; + const saveAddBtn = el("button", + "padding:4px 10px;border-radius:4px;border:none;background:#10b981;color:white;cursor:pointer;font-size:12px;"); + saveAddBtn.textContent = "+ Add"; + saveAddBtn.addEventListener("click", () => { + const name = saveNameIn.value.trim(); + if (!name) return; + sendCmd({ action: "add_save", name }); + }); + saveAddRow.appendChild(saveNameIn); + saveAddRow.appendChild(saveAddBtn); + root.appendChild(saveAddRow); + + const saveList = el("div", + "border:1px solid #333;border-radius:4px;min-height:0;flex-shrink:0;"); + root.appendChild(saveList); + // Status const statusEl = el("div", "font-size:11px;opacity:0.6;flex-shrink:0;"); root.appendChild(statusEl); + function renderSaves() { + saveList.replaceChildren(); + if (saves.length === 0) { + const empty = el("div", "padding:6px 8px;opacity:0.5;font-size:11px;"); + empty.textContent = "No saves yet. Type a name and click + Add."; + saveList.appendChild(empty); + return; + } + for (const s of saves) { + const row = el("div", + "display:flex;align-items:center;gap:6px;padding:4px 6px;border-bottom:1px solid #333;font-size:12px;"); + const swatch = el("span", + "display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;"); + const [r, g, b] = s.color || [0.5, 0.5, 0.5]; + swatch.style.background = + `rgb(${Math.round(r*255)},${Math.round(g*255)},${Math.round(b*255)})`; + row.appendChild(swatch); + + const nameEl = el("span", "flex:1;font-family:monospace;"); + nameEl.textContent = `${s.name} (${s.count} vert${s.count === 1 ? "" : "s"})`; + row.appendChild(nameEl); + + const loadBtn = el("button", + "padding:2px 8px;border-radius:3px;border:1px solid #555;background:transparent;color:inherit;cursor:pointer;font-size:11px;"); + loadBtn.textContent = "Load"; + loadBtn.addEventListener("click", () => { + sendCmd({ action: "load_save", name: s.name }); + }); + row.appendChild(loadBtn); + + const saveBtn = el("button", ""); + if (s.saved) { + saveBtn.textContent = "✓ Saved"; + saveBtn.disabled = true; + saveBtn.style.cssText = + "padding:2px 8px;border-radius:3px;border:1px solid #10b981;background:rgba(16,185,129,0.1);color:#10b981;cursor:default;font-size:11px;"; + } else { + saveBtn.textContent = "Save"; + saveBtn.style.cssText = + "padding:2px 8px;border-radius:3px;border:none;background:#2563eb;color:white;cursor:pointer;font-size:11px;"; + saveBtn.addEventListener("click", () => { + sendCmd({ action: "save_save", name: s.name }); + }); + } + row.appendChild(saveBtn); + + const delBtn = el("button", + "padding:2px 6px;border-radius:3px;border:none;background:transparent;color:#dc2626;cursor:pointer;font-size:13px;"); + delBtn.textContent = "✕"; + delBtn.title = "Delete save"; + delBtn.addEventListener("click", () => { + sendCmd({ action: "delete_save", name: s.name }); + }); + row.appendChild(delBtn); + + saveList.appendChild(row); + } + } + renderSaves(); + // ── render helpers ─────────────────────────────────────────────── function renderEnableBtn() { if (enabled) { @@ -201,7 +290,10 @@ function activate(extensionContext) { renderList(); // ── subscriptions ──────────────────────────────────────────────── - panelContext.subscribe([{ topic: LIST_TOPIC }]); + panelContext.subscribe([ + { topic: LIST_TOPIC }, + { topic: SAVES_TOPIC }, + ]); panelContext.watch("currentFrame"); panelContext.onRender = (renderState, done) => { @@ -223,6 +315,12 @@ function activate(extensionContext) { if (selectedIdx >= vertices.length) selectedIdx = -1; renderList(); } catch { /* ignore bad data */ } + } else if (evt.topic === SAVES_TOPIC) { + try { + const data = JSON.parse(evt.message.data); + saves = Array.isArray(data.saves) ? data.saves : []; + renderSaves(); + } catch { /* ignore bad data */ } } } } diff --git a/gcs/foxglove_extensions/robot-commands/dist/extension.js b/gcs/foxglove_extensions/robot-commands/dist/extension.js index fc0ce384..795ea0fb 100644 --- a/gcs/foxglove_extensions/robot-commands/dist/extension.js +++ b/gcs/foxglove_extensions/robot-commands/dist/extension.js @@ -21,15 +21,46 @@ const TERMINAL_STATUSES = new Set([ // Topic the Waypoint Editor publishes its current list on (std_msgs/String JSON). const EDITOR_LIST_TOPIC = "/gcs/waypoints/list"; +const EDITOR_SAVES_TOPIC = "/gcs/waypoints/saves"; // Topic the Polygon Editor publishes its current vertex list on. const POLYGON_LIST_TOPIC = "/gcs/polygon/list"; +const POLYGON_SAVES_TOPIC = "/gcs/polygon/saves"; // Module-level caches of latest editor data, refreshed in the panel's onRender. // The "Grab from Editor" button on each polygon/path field copies these into // the textbox. let editorWaypointsCache = []; let polygonVerticesCache = []; +// Save caches: {name: {color, vertices}} keyed by save name. +let editorSavesCache = {}; +let polygonSavesCache = {}; + +// Registry of (kind, ) pairs so we can refresh them when save caches // update without rebuilding the whole panel. kind is "polygon" or "path". const sourceDropdowns = []; +// Registry of inline editor sections — multiple instances live at once (one +// per tab body) and all reflect the same shared state. Each entry exposes +// a render() that re-paints from the module caches on every update. +const editorSections = { waypoint: [], polygon: [] }; +function refreshEditorSections(kind) { + for (const section of editorSections[kind]) section.render(); +} + function refreshSourceDropdowns() { for (const { kind, select } of sourceDropdowns) { const cache = kind === "polygon" ? polygonSavesCache : editorSavesCache; @@ -518,6 +531,20 @@ function activate(extensionContext) { for (const field of [...simple, ...complex]) { body.appendChild(buildField(field, state[tab.id], persist)); } + // If this tab takes a path or polygon, embed the matching editor as + // a collapsible section so the user doesn't need a separate panel. + // The underlying state is shared across all instances via the + // /gcs//list and /saves topics, so editing in one tab + // immediately reflects in another (e.g. polygon drawn in Exploration + // shows up live in Semantic Search's editor section). + const hasPath = tab.fields.some((f) => f.kind === "path"); + const hasPolygon = tab.fields.some((f) => f.kind === "polygon"); + if (hasPath) { + body.appendChild(buildEditorSection("waypoint", panelContext)); + } + if (hasPolygon) { + body.appendChild(buildEditorSection("polygon", panelContext)); + } } tabBodies[tab.id] = body; @@ -759,11 +786,17 @@ function activate(extensionContext) { try { const data = JSON.parse(evt.message?.data ?? "{}"); editorWaypointsCache = Array.isArray(data.waypoints) ? data.waypoints : []; + if (data.default_z != null) editorDefaultZ = Number(data.default_z) || 0; + if (data.enabled != null) editorEnabled = Boolean(data.enabled); + refreshEditorSections("waypoint"); } catch { /* ignore bad data */ } } else if (evt.topic === POLYGON_LIST_TOPIC) { try { const data = JSON.parse(evt.message?.data ?? "{}"); polygonVerticesCache = Array.isArray(data.vertices) ? data.vertices : []; + if (data.default_z != null) polygonDefaultZ = Number(data.default_z) || 0; + if (data.enabled != null) polygonEnabled = Boolean(data.enabled); + refreshEditorSections("polygon"); } catch { /* ignore bad data */ } } else if (evt.topic === EDITOR_SAVES_TOPIC) { try { @@ -773,6 +806,7 @@ function activate(extensionContext) { editorSavesCache[s.name] = { color: s.color, vertices: s.vertices }; } refreshSourceDropdowns(); + refreshEditorSections("waypoint"); } catch { /* ignore bad data */ } } else if (evt.topic === POLYGON_SAVES_TOPIC) { try { @@ -782,6 +816,7 @@ function activate(extensionContext) { polygonSavesCache[s.name] = { color: s.color, vertices: s.vertices }; } refreshSourceDropdowns(); + refreshEditorSections("polygon"); } catch { /* ignore bad data */ } } else if (evt.topic.endsWith("/relay_feedback")) { handleRelayFeedback(evt.topic, evt.message); @@ -1094,5 +1129,245 @@ function buildFixedTrajectoryForm(tabState, persist) { return wrapper; } +// ─────────────────────────── inline editor section ──────────────────────── + +// Builds a collapsible section that mirrors the standalone Waypoint or +// Polygon Editor's UI but lives inside a Robot Tasks tab body. Multiple +// instances can coexist (one per tab); they all share state via the +// /gcs//list and /gcs//saves topics, so an edit made in one +// instance is immediately reflected in the others. +// +// kind: "waypoint" | "polygon" +// returns: a
element to append to a tab body. +function buildEditorSection(kind, panelContext) { + const cfg = kind === "polygon" + ? { title: "Polygon Editor", cmdTopic: "/gcs/polygon/command", + listField: "vertices", noun: "vert", nounPlural: "vertices", + primary: "#dc2626" } + : { title: "Waypoint Editor", cmdTopic: "/gcs/waypoints/command", + listField: "waypoints", noun: "wp", nounPlural: "waypoints", + primary: "#10b981" }; + + const sendCmd = (cmd) => { + try { + panelContext.advertise(cfg.cmdTopic, "std_msgs/msg/String"); + panelContext.publish(cfg.cmdTopic, { data: JSON.stringify(cmd) }); + } catch (err) { + statusEl.textContent = "Cmd failed: " + (err?.message ?? err); + } + }; + + const details = document.createElement("details"); + details.style.cssText = "border:1px solid #444;border-radius:4px;padding:6px 8px;margin-top:4px;"; + const summary = document.createElement("summary"); + summary.style.cssText = "cursor:pointer;user-select:none;font-weight:bold;font-size:13px;"; + details.appendChild(summary); + + const wrap = document.createElement("div"); + wrap.style.cssText = "display:flex;flex-direction:column;gap:6px;margin-top:6px;"; + details.appendChild(wrap); + + // Capture toggle + altitude + clear + const ctrlRow = document.createElement("div"); + ctrlRow.style.cssText = "display:flex;align-items:center;gap:8px;"; + const enableBtn = document.createElement("button"); + enableBtn.style.cssText = "padding:6px 12px;border-radius:4px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:12px;"; + enableBtn.addEventListener("click", () => { + const enabled = (kind === "polygon") ? polygonEnabled : editorEnabled; + sendCmd({ action: "set_enabled", enabled: !enabled }); + }); + const altLabel = document.createElement("span"); + altLabel.textContent = "Z:"; + altLabel.style.fontSize = "12px"; + const altInput = document.createElement("input"); + altInput.type = "number"; + altInput.step = "0.5"; + altInput.style.cssText = "width:60px;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"; + altInput.addEventListener("change", () => { + sendCmd({ action: "set_altitude", z: Number(altInput.value) || 0 }); + }); + const clearBtn = document.createElement("button"); + clearBtn.textContent = "Clear"; + clearBtn.style.cssText = "padding:5px 10px;border-radius:4px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:12px;"; + clearBtn.addEventListener("click", () => sendCmd({ action: "clear" })); + ctrlRow.appendChild(enableBtn); + ctrlRow.appendChild(altLabel); + ctrlRow.appendChild(altInput); + const spacer = document.createElement("span"); + spacer.style.flex = "1"; + ctrlRow.appendChild(spacer); + ctrlRow.appendChild(clearBtn); + wrap.appendChild(ctrlRow); + + // Vertex list + const listContainer = document.createElement("div"); + listContainer.style.cssText = "max-height:160px;overflow-y:auto;border:1px solid #333;border-radius:4px;min-height:40px;"; + wrap.appendChild(listContainer); + + // Manual add row + const addRow = document.createElement("div"); + addRow.style.cssText = "display:flex;align-items:center;gap:4px;"; + const mkNumIn = (label, def) => { + const w = document.createElement("div"); + w.style.cssText = "display:flex;align-items:center;gap:2px;"; + const l = document.createElement("span"); + l.textContent = label + ":"; l.style.cssText = "font-size:11px;opacity:0.7;"; + const i = document.createElement("input"); + i.type = "number"; i.step = "0.5"; i.value = def; + i.style.cssText = "width:50px;padding:2px 4px;border-radius:3px;border:1px solid #555;background:transparent;color:inherit;font-size:11px;"; + w.appendChild(l); w.appendChild(i); + return { wrap: w, input: i }; + }; + const addX = mkNumIn("X", "0"), addY = mkNumIn("Y", "0"), addZ = mkNumIn("Z", "0"); + const addBtn = document.createElement("button"); + addBtn.textContent = "+ Add"; + addBtn.style.cssText = "padding:4px 10px;border-radius:4px;border:none;background:" + cfg.primary + ";color:white;cursor:pointer;font-size:12px;"; + addBtn.addEventListener("click", () => { + sendCmd({ + action: "add", + x: Number(addX.input.value) || 0, + y: Number(addY.input.value) || 0, + z: Number(addZ.input.value) || 0, + }); + }); + addRow.appendChild(addX.wrap); addRow.appendChild(addY.wrap); addRow.appendChild(addZ.wrap); + addRow.appendChild(addBtn); + wrap.appendChild(addRow); + + // Saves section + const savesLabel = document.createElement("div"); + savesLabel.textContent = "Saves"; + savesLabel.style.cssText = "font-size:11px;font-weight:bold;opacity:0.8;margin-top:4px;"; + wrap.appendChild(savesLabel); + + const saveAddRow = document.createElement("div"); + saveAddRow.style.cssText = "display:flex;align-items:center;gap:4px;"; + const saveNameIn = document.createElement("input"); + saveNameIn.type = "text"; saveNameIn.placeholder = "save name…"; + saveNameIn.style.cssText = "flex:1;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;font-size:12px;"; + const saveAddBtn = document.createElement("button"); + saveAddBtn.textContent = "+ Add"; + saveAddBtn.style.cssText = "padding:4px 10px;border-radius:4px;border:none;background:" + cfg.primary + ";color:white;cursor:pointer;font-size:12px;"; + saveAddBtn.addEventListener("click", () => { + const name = saveNameIn.value.trim(); + if (!name) return; + sendCmd({ action: "add_save", name }); + }); + saveAddRow.appendChild(saveNameIn); saveAddRow.appendChild(saveAddBtn); + wrap.appendChild(saveAddRow); + + const savesList = document.createElement("div"); + savesList.style.cssText = "border:1px solid #333;border-radius:4px;min-height:0;"; + wrap.appendChild(savesList); + + const statusEl = document.createElement("div"); + statusEl.style.cssText = "font-size:11px;opacity:0.6;"; + wrap.appendChild(statusEl); + + // ── render ────────────────────────────────────────────────────── + const section = { + render() { + const cache = (kind === "polygon") ? polygonVerticesCache : editorWaypointsCache; + const enabled = (kind === "polygon") ? polygonEnabled : editorEnabled; + const defaultZ = (kind === "polygon") ? polygonDefaultZ : editorDefaultZ; + const savesCache = (kind === "polygon") ? polygonSavesCache : editorSavesCache; + + summary.textContent = `${cfg.title} (${cache.length} ${cache.length === 1 ? cfg.noun : cfg.nounPlural})`; + + enableBtn.textContent = enabled ? "Capture: ON" : "Capture: OFF"; + enableBtn.style.background = enabled ? "#10b981" : "#dc2626"; + if (document.activeElement !== altInput) altInput.value = String(defaultZ); + + // Vertex list + listContainer.replaceChildren(); + if (cache.length === 0) { + const empty = document.createElement("div"); + empty.style.cssText = "padding:8px;text-align:center;opacity:0.5;font-size:11px;"; + empty.textContent = `No ${cfg.nounPlural}. Enable capture and click in 3D, or add manually.`; + listContainer.appendChild(empty); + } else { + for (let i = 0; i < cache.length; i++) { + const v = cache[i]; + const row = document.createElement("div"); + row.style.cssText = "display:flex;align-items:center;gap:3px;padding:3px 5px;border-bottom:1px solid #333;font-size:11px;font-family:monospace;"; + const idx = document.createElement("span"); + idx.textContent = String(i); + idx.style.cssText = `width:18px;font-weight:bold;color:${cfg.primary};`; + row.appendChild(idx); + const mkCoord = (val, axis) => { + const inp = document.createElement("input"); + inp.type = "number"; inp.step = "0.5"; inp.value = String(val); + inp.style.cssText = "width:50px;padding:1px 3px;border-radius:3px;border:1px solid #555;background:transparent;color:inherit;font-family:monospace;font-size:11px;text-align:right;"; + inp.addEventListener("change", () => { + const nx = axis === "x" ? Number(inp.value) || 0 : v.x; + const ny = axis === "y" ? Number(inp.value) || 0 : v.y; + const nz = axis === "z" ? Number(inp.value) || 0 : v.z; + sendCmd({ action: "move", index: i, x: nx, y: ny, z: nz }); + }); + return inp; + }; + row.appendChild(mkCoord(v.x, "x")); + row.appendChild(mkCoord(v.y, "y")); + row.appendChild(mkCoord(v.z, "z")); + const mkBtn = (text, on) => { + const b = document.createElement("button"); + b.textContent = text; + b.style.cssText = "width:22px;height:22px;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;font-size:11px;border-radius:3px;"; + b.addEventListener("click", on); + return b; + }; + if (i > 0) row.appendChild(mkBtn("▲", () => sendCmd({ action: "reorder", from: i, to: i - 1 }))); + else { const sp = document.createElement("span"); sp.style.width = "22px"; row.appendChild(sp); } + if (i < cache.length - 1) row.appendChild(mkBtn("▼", () => sendCmd({ action: "reorder", from: i, to: i + 1 }))); + else { const sp = document.createElement("span"); sp.style.width = "22px"; row.appendChild(sp); } + const delBtn = mkBtn("✕", () => sendCmd({ action: "delete", index: i })); + delBtn.style.color = "#dc2626"; + row.appendChild(delBtn); + listContainer.appendChild(row); + } + } + + // Saves + savesList.replaceChildren(); + const names = Object.keys(savesCache).sort(); + if (names.length === 0) { + const empty = document.createElement("div"); + empty.style.cssText = "padding:5px 8px;opacity:0.5;font-size:11px;"; + empty.textContent = "No saves yet."; + savesList.appendChild(empty); + } else { + for (const name of names) { + const s = savesCache[name]; + const row = document.createElement("div"); + row.style.cssText = "display:flex;align-items:center;gap:5px;padding:3px 5px;border-bottom:1px solid #333;font-size:11px;"; + const sw = document.createElement("span"); + sw.style.cssText = "display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;"; + const c = s.color || [0.5, 0.5, 0.5]; + sw.style.background = `rgb(${Math.round(c[0]*255)},${Math.round(c[1]*255)},${Math.round(c[2]*255)})`; + row.appendChild(sw); + const nm = document.createElement("span"); + nm.textContent = `${name} (${(s.vertices ?? []).length})`; + nm.style.cssText = "flex:1;font-family:monospace;"; + row.appendChild(nm); + const small = (text, color, on) => { + const b = document.createElement("button"); + b.textContent = text; + b.style.cssText = `padding:1px 6px;border-radius:3px;border:1px solid #555;background:transparent;color:${color};cursor:pointer;font-size:10px;`; + b.addEventListener("click", on); + return b; + }; + row.appendChild(small("Load", "inherit", () => sendCmd({ action: "load_save", name }))); + row.appendChild(small("Save", "#2563eb", () => sendCmd({ action: "save_save", name }))); + row.appendChild(small("✕", "#dc2626", () => sendCmd({ action: "delete_save", name }))); + savesList.appendChild(row); + } + } + }, + }; + editorSections[kind].push(section); + section.render(); + return details; +} + module.exports = { activate }; })(); diff --git a/robot/ros_ws/src/global/planners/random_walk/include/random_walk_logic.hpp b/robot/ros_ws/src/global/planners/random_walk/include/random_walk_logic.hpp index faa9bd40..32968eb9 100644 --- a/robot/ros_ws/src/global/planners/random_walk/include/random_walk_logic.hpp +++ b/robot/ros_ws/src/global/planners/random_walk/include/random_walk_logic.hpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -52,11 +53,28 @@ class RandomWalkPlanner { std::tuple start_point, float timeout_duration); // x, y, z, yaw + // Optional XY footprint that bounds where the planner is allowed to + // generate goal points. Empty → unbounded (preserves prior behavior). + // Set with set_search_bounds; coordinates are in the same frame as + // voxel_points and odometry (the robot's local "map", rooted at takeoff). + void set_search_bounds(const std::vector>& xy_polygon); + void clear_search_bounds(); + bool has_search_bounds() const; + bool is_inside_search_bounds(float x, float y) const; + // Returns the closest point on the polygon boundary, then nudged a small + // distance toward the polygon centroid so the result is firmly inside + // (avoids edge-case ambiguity with the inside test). If no bounds set + // returns (x, y) unchanged. + std::pair nearest_inside_point(float x, float y) const; + float path_end_threshold_m; std::vector> voxel_points; private: + bool point_in_search_bounds(float x, float y) const; + std::vector> search_bounds_xy_; + // Numerical constants float max_start_to_goal_dist_m_; int checking_point_cnt; @@ -67,7 +85,7 @@ class RandomWalkPlanner { // Variables std::tuple voxel_size_m; - std::mutex mutex; + mutable std::mutex mutex; // Functions bool check_if_collided_single_voxel(const std::tuple& point, diff --git a/robot/ros_ws/src/global/planners/random_walk/include/random_walk_node.hpp b/robot/ros_ws/src/global/planners/random_walk/include/random_walk_node.hpp index 55166ea4..bdfdd510 100644 --- a/robot/ros_ws/src/global/planners/random_walk/include/random_walk_node.hpp +++ b/robot/ros_ws/src/global/planners/random_walk/include/random_walk_node.hpp @@ -25,6 +25,9 @@ #include #include +#include +#include +#include #include #include #include @@ -101,6 +104,12 @@ class RandomWalkNode : public rclcpp::Node { rclcpp::Time task_start_time_; float task_time_limit_sec_ = 0.0f; + // Latest requested search bounds (XY polygon in robot-local map). Stored + // here so we can apply them either when execute() begins or, if the + // planner doesn't exist yet, the moment it's constructed in mapCallback. + std::vector> pending_bounds_; + std::mutex pending_bounds_mutex_; + // Subscriber callbacks void mapCallback(const visualization_msgs::msg::Marker::SharedPtr msg); void odometryCallback(const nav_msgs::msg::Odometry::SharedPtr msg); diff --git a/robot/ros_ws/src/global/planners/random_walk/src/random_walk_logic.cpp b/robot/ros_ws/src/global/planners/random_walk/src/random_walk_logic.cpp index 9b82c96a..0bc54e23 100644 --- a/robot/ros_ws/src/global/planners/random_walk/src/random_walk_logic.cpp +++ b/robot/ros_ws/src/global/planners/random_walk/src/random_walk_logic.cpp @@ -128,6 +128,93 @@ bool RandomWalkPlanner::check_if_collided_single_voxel( } } +void RandomWalkPlanner::set_search_bounds( + const std::vector>& xy_polygon) +{ + std::lock_guard lock(this->mutex); + search_bounds_xy_ = xy_polygon; +} + +void RandomWalkPlanner::clear_search_bounds() +{ + std::lock_guard lock(this->mutex); + search_bounds_xy_.clear(); +} + +bool RandomWalkPlanner::point_in_search_bounds(float x, float y) const +{ + // Empty polygon → unbounded. + const auto n = search_bounds_xy_.size(); + if (n < 3) return true; + bool inside = false; + for (size_t i = 0, j = n - 1; i < n; j = i++) + { + const float xi = search_bounds_xy_[i].first; + const float yi = search_bounds_xy_[i].second; + const float xj = search_bounds_xy_[j].first; + const float yj = search_bounds_xy_[j].second; + const bool intersects = ((yi > y) != (yj > y)) && + (x < (xj - xi) * (y - yi) / (yj - yi + 1e-9f) + xi); + if (intersects) inside = !inside; + } + return inside; +} + +bool RandomWalkPlanner::has_search_bounds() const +{ + std::lock_guard lock(this->mutex); + return search_bounds_xy_.size() >= 3; +} + +bool RandomWalkPlanner::is_inside_search_bounds(float x, float y) const +{ + std::lock_guard lock(this->mutex); + return point_in_search_bounds(x, y); +} + +std::pair RandomWalkPlanner::nearest_inside_point(float x, float y) const +{ + std::lock_guard lock(this->mutex); + const auto n = search_bounds_xy_.size(); + if (n < 3) return {x, y}; + + // Find closest point on any polygon edge. + float best_dx = 0.0f, best_dy = 0.0f; + float best_d2 = std::numeric_limits::infinity(); + for (size_t i = 0, j = n - 1; i < n; j = i++) + { + const float ax = search_bounds_xy_[j].first; + const float ay = search_bounds_xy_[j].second; + const float bx = search_bounds_xy_[i].first; + const float by = search_bounds_xy_[i].second; + const float ex = bx - ax; + const float ey = by - ay; + const float seg_len2 = ex * ex + ey * ey; + float t = 0.0f; + if (seg_len2 > 1e-9f) t = ((x - ax) * ex + (y - ay) * ey) / seg_len2; + if (t < 0.0f) t = 0.0f; + if (t > 1.0f) t = 1.0f; + const float px = ax + t * ex; + const float py = ay + t * ey; + const float d2 = (px - x) * (px - x) + (py - y) * (py - y); + if (d2 < best_d2) { best_d2 = d2; best_dx = px; best_dy = py; } + } + + // Push the closest-edge point toward the polygon centroid so we end up + // strictly inside (avoids on-boundary ambiguity for the inside test). + float cx = 0.0f, cy = 0.0f; + for (const auto& p : search_bounds_xy_) { cx += p.first; cy += p.second; } + cx /= static_cast(n); + cy /= static_cast(n); + + const float vx = cx - best_dx; + const float vy = cy - best_dy; + const float vlen = std::sqrt(vx * vx + vy * vy); + if (vlen < 1e-3f) return {best_dx, best_dy}; + const float step = std::min(1.0f, vlen); // 1 m inward, capped at centroid + return {best_dx + vx / vlen * step, best_dy + vy / vlen * step}; +} + bool RandomWalkPlanner::check_if_collided(const std::tuple& point) { // make sure the point is within the bounds -30 to 30 @@ -137,6 +224,12 @@ bool RandomWalkPlanner::check_if_collided(const std::tuple& return true; } + // Reject points outside the goal's search_bounds polygon (XY footprint + // in robot-local map). Empty polygon → no-op. + if (!point_in_search_bounds(std::get<0>(point), std::get<1>(point))) + { + return true; + } std::lock_guard lock(this->mutex); for (const std::tuple& voxel : this->voxel_points) diff --git a/robot/ros_ws/src/global/planners/random_walk/src/random_walk_node.cpp b/robot/ros_ws/src/global/planners/random_walk/src/random_walk_node.cpp index 4027d646..4327ee94 100644 --- a/robot/ros_ws/src/global/planners/random_walk/src/random_walk_node.cpp +++ b/robot/ros_ws/src/global/planners/random_walk/src/random_walk_node.cpp @@ -141,6 +141,11 @@ void RandomWalkNode::mapCallback(const visualization_msgs::msg::Marker::SharedPt this->params.voxel_size_m = std::tuple(msg->scale.x, msg->scale.y, msg->scale.z); this->random_walk_planner = std::make_unique(this->params); + // Apply any bounds that arrived before the planner existed. + { + std::lock_guard lock(pending_bounds_mutex_); + this->random_walk_planner->set_search_bounds(pending_bounds_); + } RCLCPP_INFO(this->get_logger(), "Received first map, initialized planner"); } this->random_walk_planner->voxel_points.clear(); @@ -202,9 +207,26 @@ void RandomWalkNode::execute(std::shared_ptr goal_handle) { // and will be wired in when the planner supports them. RCLCPP_INFO(this->get_logger(), "ExplorationTask executing: alt=[%.1f,%.1f]m AGL, " - "speed=[%.1f,%.1f]m/s, time_limit=%.1fs", + "speed=[%.1f,%.1f]m/s, time_limit=%.1fs, %zu bounds vertices", goal->min_altitude_agl, goal->max_altitude_agl, goal->min_flight_speed, - goal->max_flight_speed, goal->time_limit_sec); + goal->max_flight_speed, goal->time_limit_sec, + goal->search_bounds.points.size()); + + // Snapshot the requested polygon (XY only — Z is governed by altitude_agl + // bounds). Stash on the node so it survives a not-yet-constructed planner; + // also push to the planner immediately if one exists. + { + std::vector> bounds_xy; + bounds_xy.reserve(goal->search_bounds.points.size()); + for (const auto& p : goal->search_bounds.points) { + bounds_xy.emplace_back(p.x, p.y); + } + std::lock_guard lock(pending_bounds_mutex_); + pending_bounds_ = bounds_xy; + if (this->random_walk_planner) { + this->random_walk_planner->set_search_bounds(pending_bounds_); + } + } task_start_time_ = this->now(); task_time_limit_sec_ = goal->time_limit_sec; @@ -214,6 +236,85 @@ void RandomWalkNode::execute(std::shared_ptr goal_handle) { is_path_executing = false; generated_paths.clear(); + // If the drone is currently outside the requested polygon, fly it to the + // nearest point inside before starting the random walk. Otherwise the + // random walker (which generates goals within ~10m of current pose) + // would be unable to find any valid candidates and would just stall. + if (this->random_walk_planner && this->random_walk_planner->has_search_bounds()) { + const float cur_x = static_cast(this->current_location.position.x); + const float cur_y = static_cast(this->current_location.position.y); + if (!this->random_walk_planner->is_inside_search_bounds(cur_x, cur_y)) { + const auto target = this->random_walk_planner->nearest_inside_point(cur_x, cur_y); + const float target_z = std::max( + static_cast(this->current_location.position.z), 0.5f); + RCLCPP_INFO(this->get_logger(), + "Drone at (%.2f,%.2f) is outside search_bounds; " + "navigating to (%.2f,%.2f,%.2f) before exploring", + cur_x, cur_y, target.first, target.second, target_z); + + // Build a single-pose Path in the planner's world frame. + nav_msgs::msg::Path approach; + approach.header.stamp = this->now(); + approach.header.frame_id = this->world_frame_id_; + geometry_msgs::msg::PoseStamped ps; + ps.header = approach.header; + ps.pose.position.x = target.first; + ps.pose.position.y = target.second; + ps.pose.position.z = target_z; + ps.pose.orientation.w = 1.0; + approach.poses.push_back(ps); + + // Send via the same NavigateTask client used by the random walker. + // Reuse navigate_goal_done_/_succeeded so cancel handling and the + // result loop remain consistent. + navigate_goal_done_ = false; + navigate_goal_succeeded_ = false; + if (!navigate_client_->wait_for_action_server(std::chrono::seconds(2))) { + RCLCPP_WARN(this->get_logger(), + "NavigateTask server unavailable; cannot fly to polygon"); + } else { + auto nav_goal = NavigateTask::Goal(); + nav_goal.global_plan = approach; + nav_goal.goal_tolerance_m = static_cast( + this->random_walk_planner->path_end_threshold_m); + + auto goal_options = rclcpp_action::Client::SendGoalOptions(); + goal_options.goal_response_callback = + [this](const rclcpp_action::ClientGoalHandle::SharedPtr& gh) { + navigate_goal_handle_ = gh; + if (!gh) navigate_goal_done_ = true; + }; + goal_options.result_callback = + [this](const rclcpp_action::ClientGoalHandle::WrappedResult& r) { + navigate_goal_succeeded_ = + (r.code == rclcpp_action::ResultCode::SUCCEEDED) && r.result->success; + navigate_goal_done_ = true; + }; + navigate_client_->async_send_goal(nav_goal, goal_options); + + rclcpp::Rate approach_rate(5.0); + while (rclcpp::ok() && !navigate_goal_done_) { + if (cancel_requested_) { + if (navigate_goal_handle_) + navigate_client_->async_cancel_goal(navigate_goal_handle_); + auto result = std::make_shared(); + result->success = false; + result->message = "Task cancelled while approaching polygon"; + task_active_ = false; + goal_handle->canceled(result); + return; + } + approach_rate.sleep(); + } + if (!navigate_goal_succeeded_) { + RCLCPP_WARN(this->get_logger(), + "Approach to polygon did not succeed; " + "exploration will start from current pose anyway"); + } + } + } + } + rclcpp::Rate rate(1.0); // 1 Hz planning loop while (rclcpp::ok()) { From f9fe44c31935481b94edb7605084fe489a52ddee Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Tue, 28 Apr 2026 14:00:53 -0400 Subject: [PATCH 45/55] made waypoint/polygon gui larger --- .../polygon-editor/dist/extension.js | 82 ++++++++----------- .../robot-commands/dist/extension.js | 60 ++++++++------ .../waypoint-editor/dist/extension.js | 61 ++++++++------ .../foxglove_visualizer_node.py | 55 ++++++++++++- .../gcs_visualizer/polygon_collector_node.py | 5 ++ .../gcs_visualizer/waypoint_collector_node.py | 5 ++ 6 files changed, 168 insertions(+), 100 deletions(-) diff --git a/gcs/foxglove_extensions/polygon-editor/dist/extension.js b/gcs/foxglove_extensions/polygon-editor/dist/extension.js index 5334b9f2..607a3edf 100644 --- a/gcs/foxglove_extensions/polygon-editor/dist/extension.js +++ b/gcs/foxglove_extensions/polygon-editor/dist/extension.js @@ -52,32 +52,20 @@ function activate(extensionContext) { const ctrlRow = el("div", "display:flex;align-items:center;gap:8px;flex-shrink:0;"); const enableBtn = el("button", - "padding:6px 14px;border-radius:4px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:13px;"); + "padding:8px 18px;border-radius:5px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:15px;"); enableBtn.addEventListener("click", () => { sendCmd({ action: "set_enabled", enabled: !enabled }); }); ctrlRow.appendChild(enableBtn); - const altLabel = el("span", "font-size:12px;"); - altLabel.textContent = "Z:"; - const altInput = el("input", - "width:60px;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"); - altInput.type = "number"; - altInput.step = "0.5"; - altInput.value = String(state.defaultZ); - altInput.addEventListener("change", () => { - state.defaultZ = Number(altInput.value) || 0.0; - persist(); - sendCmd({ action: "set_altitude", z: state.defaultZ }); - }); + // Z is intentionally not exposed for polygons — vertices always carry + // z=0 server-side; the consumers treat polygons as 2D footprints. const clearBtn = el("button", - "padding:6px 10px;border-radius:4px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:12px;"); + "padding:8px 14px;border-radius:5px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:14px;"); clearBtn.textContent = "Clear All"; clearBtn.addEventListener("click", () => { sendCmd({ action: "clear" }); }); - ctrlRow.appendChild(altLabel); - ctrlRow.appendChild(altInput); ctrlRow.appendChild(el("span", "flex:1;")); // spacer ctrlRow.appendChild(clearBtn); root.appendChild(ctrlRow); @@ -91,25 +79,23 @@ function activate(extensionContext) { "flex:1;overflow-y:auto;border:1px solid #444;border-radius:4px;min-height:60px;"); root.appendChild(listContainer); - // Add vertex manually row + // Add vertex manually row (X/Y only — Z is fixed to 0 for polygons) const addRow = el("div", "display:flex;align-items:center;gap:4px;flex-shrink:0;"); const addXIn = numInput("X", "0"); const addYIn = numInput("Y", "0"); - const addZIn = numInput("Z", String(state.defaultZ)); const addBtn = el("button", - "padding:4px 10px;border-radius:4px;border:none;background:#10b981;color:white;cursor:pointer;font-size:12px;"); + "padding:6px 14px;border-radius:5px;border:none;background:#10b981;color:white;cursor:pointer;font-size:14px;"); addBtn.textContent = "+ Add"; addBtn.addEventListener("click", () => { sendCmd({ action: "add", x: Number(addXIn.input.value) || 0, y: Number(addYIn.input.value) || 0, - z: Number(addZIn.input.value) || state.defaultZ, + z: 0, }); }); addRow.appendChild(addXIn.wrap); addRow.appendChild(addYIn.wrap); - addRow.appendChild(addZIn.wrap); addRow.appendChild(addBtn); root.appendChild(addRow); @@ -121,11 +107,11 @@ function activate(extensionContext) { const saveAddRow = el("div", "display:flex;align-items:center;gap:4px;flex-shrink:0;"); const saveNameIn = el("input", - "flex:1;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;font-size:12px;"); + "flex:1;padding:6px 8px;border-radius:5px;border:1px solid #555;background:transparent;color:inherit;font-size:14px;"); saveNameIn.type = "text"; saveNameIn.placeholder = "save name…"; const saveAddBtn = el("button", - "padding:4px 10px;border-radius:4px;border:none;background:#10b981;color:white;cursor:pointer;font-size:12px;"); + "padding:6px 14px;border-radius:5px;border:none;background:#10b981;color:white;cursor:pointer;font-size:14px;"); saveAddBtn.textContent = "+ Add"; saveAddBtn.addEventListener("click", () => { const name = saveNameIn.value.trim(); @@ -154,7 +140,7 @@ function activate(extensionContext) { } for (const s of saves) { const row = el("div", - "display:flex;align-items:center;gap:6px;padding:4px 6px;border-bottom:1px solid #333;font-size:12px;"); + "display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid #333;font-size:14px;"); const swatch = el("span", "display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;"); const [r, g, b] = s.color || [0.5, 0.5, 0.5]; @@ -167,7 +153,7 @@ function activate(extensionContext) { row.appendChild(nameEl); const loadBtn = el("button", - "padding:2px 8px;border-radius:3px;border:1px solid #555;background:transparent;color:inherit;cursor:pointer;font-size:11px;"); + "padding:4px 10px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;cursor:pointer;font-size:13px;"); loadBtn.textContent = "Load"; loadBtn.addEventListener("click", () => { sendCmd({ action: "load_save", name: s.name }); @@ -179,11 +165,11 @@ function activate(extensionContext) { saveBtn.textContent = "✓ Saved"; saveBtn.disabled = true; saveBtn.style.cssText = - "padding:2px 8px;border-radius:3px;border:1px solid #10b981;background:rgba(16,185,129,0.1);color:#10b981;cursor:default;font-size:11px;"; + "padding:4px 10px;border-radius:4px;border:1px solid #10b981;background:rgba(16,185,129,0.1);color:#10b981;cursor:default;font-size:13px;"; } else { saveBtn.textContent = "Save"; saveBtn.style.cssText = - "padding:2px 8px;border-radius:3px;border:none;background:#2563eb;color:white;cursor:pointer;font-size:11px;"; + "padding:4px 10px;border-radius:4px;border:none;background:#2563eb;color:white;cursor:pointer;font-size:13px;"; saveBtn.addEventListener("click", () => { sendCmd({ action: "save_save", name: s.name }); }); @@ -191,7 +177,7 @@ function activate(extensionContext) { row.appendChild(saveBtn); const delBtn = el("button", - "padding:2px 6px;border-radius:3px;border:none;background:transparent;color:#dc2626;cursor:pointer;font-size:13px;"); + "padding:4px 8px;border-radius:4px;border:none;background:transparent;color:#dc2626;cursor:pointer;font-size:15px;"); delBtn.textContent = "✕"; delBtn.title = "Delete save"; delBtn.addEventListener("click", () => { @@ -230,26 +216,22 @@ function activate(extensionContext) { for (let i = 0; i < vertices.length; i++) { const v = vertices[i]; const row = el("div", - "display:flex;align-items:center;gap:4px;padding:4px 6px;" + - "border-bottom:1px solid #333;font-size:12px;font-family:monospace;" + + "display:flex;align-items:center;gap:5px;padding:5px 8px;" + + "border-bottom:1px solid #333;font-size:14px;font-family:monospace;" + (i === selectedIdx ? "background:rgba(220,38,38,0.18);" : "")); - const idx = el("span", "width:20px;font-weight:bold;color:#dc2626;"); + const idx = el("span", "width:24px;font-weight:bold;font-size:14px;color:#dc2626;"); idx.textContent = String(i); row.appendChild(idx); const xIn = coordInput(v.x, (val) => { - sendCmd({ action: "move", index: i, x: val, y: v.y, z: v.z }); + sendCmd({ action: "move", index: i, x: val, y: v.y, z: 0 }); }); const yIn = coordInput(v.y, (val) => { - sendCmd({ action: "move", index: i, x: v.x, y: val, z: v.z }); - }); - const zIn = coordInput(v.z, (val) => { - sendCmd({ action: "move", index: i, x: v.x, y: v.y, z: val }); + sendCmd({ action: "move", index: i, x: v.x, y: val, z: 0 }); }); row.appendChild(xIn); row.appendChild(yIn); - row.appendChild(zIn); if (i > 0) { const upBtn = smallBtn("▲", () => { @@ -258,7 +240,7 @@ function activate(extensionContext) { upBtn.title = "Move up"; row.appendChild(upBtn); } else { - row.appendChild(el("span", "width:24px;")); + row.appendChild(el("span", "width:32px;")); } if (i < vertices.length - 1) { @@ -268,9 +250,15 @@ function activate(extensionContext) { downBtn.title = "Move down"; row.appendChild(downBtn); } else { - row.appendChild(el("span", "width:24px;")); + row.appendChild(el("span", "width:32px;")); } + const dupBtn = smallBtn("⧉", () => { + sendCmd({ action: "duplicate", index: i }); + }); + dupBtn.title = "Duplicate"; + row.appendChild(dupBtn); + const delBtn = smallBtn("✕", () => { sendCmd({ action: "delete", index: i }); }); @@ -344,8 +332,8 @@ function el(tag, style) { function smallBtn(text, onClick) { const b = el("button", - "width:24px;height:24px;padding:0;border:none;background:transparent;" + - "color:inherit;cursor:pointer;font-size:12px;border-radius:3px;"); + "width:32px;height:32px;padding:0;border:none;background:transparent;" + + "color:inherit;cursor:pointer;font-size:15px;border-radius:4px;"); b.textContent = text; b.addEventListener("mouseenter", () => { b.style.background = "rgba(255,255,255,0.1)"; }); b.addEventListener("mouseleave", () => { b.style.background = "transparent"; }); @@ -355,8 +343,8 @@ function smallBtn(text, onClick) { function coordInput(value, onChange) { const inp = el("input", - "width:55px;padding:2px 4px;border-radius:3px;border:1px solid #555;" + - "background:transparent;color:inherit;font-family:monospace;font-size:11px;text-align:right;"); + "width:72px;padding:5px 7px;border-radius:4px;border:1px solid #555;" + + "background:transparent;color:inherit;font-family:monospace;font-size:13px;text-align:right;"); inp.type = "number"; inp.step = "0.5"; inp.value = String(value); @@ -367,12 +355,12 @@ function coordInput(value, onChange) { } function numInput(label, defaultVal) { - const wrap = el("div", "display:flex;align-items:center;gap:2px;"); - const lbl = el("span", "font-size:11px;opacity:0.7;"); + const wrap = el("div", "display:flex;align-items:center;gap:4px;"); + const lbl = el("span", "font-size:13px;opacity:0.75;"); lbl.textContent = label + ":"; const input = el("input", - "width:50px;padding:2px 4px;border-radius:3px;border:1px solid #555;" + - "background:transparent;color:inherit;font-size:11px;"); + "width:64px;padding:5px 7px;border-radius:4px;border:1px solid #555;" + + "background:transparent;color:inherit;font-size:13px;"); input.type = "number"; input.step = "0.5"; input.value = defaultVal; diff --git a/gcs/foxglove_extensions/robot-commands/dist/extension.js b/gcs/foxglove_extensions/robot-commands/dist/extension.js index 93c04bef..28e4ad90 100644 --- a/gcs/foxglove_extensions/robot-commands/dist/extension.js +++ b/gcs/foxglove_extensions/robot-commands/dist/extension.js @@ -1171,28 +1171,31 @@ function buildEditorSection(kind, panelContext) { const ctrlRow = document.createElement("div"); ctrlRow.style.cssText = "display:flex;align-items:center;gap:8px;"; const enableBtn = document.createElement("button"); - enableBtn.style.cssText = "padding:6px 12px;border-radius:4px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:12px;"; + enableBtn.style.cssText = "padding:8px 16px;border-radius:5px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:14px;"; enableBtn.addEventListener("click", () => { const enabled = (kind === "polygon") ? polygonEnabled : editorEnabled; sendCmd({ action: "set_enabled", enabled: !enabled }); }); const altLabel = document.createElement("span"); altLabel.textContent = "Z:"; - altLabel.style.fontSize = "12px"; + altLabel.style.fontSize = "14px"; const altInput = document.createElement("input"); altInput.type = "number"; altInput.step = "0.5"; - altInput.style.cssText = "width:60px;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"; + altInput.style.cssText = "width:80px;padding:6px 8px;border-radius:5px;border:1px solid #555;background:transparent;color:inherit;font-size:14px;"; altInput.addEventListener("change", () => { sendCmd({ action: "set_altitude", z: Number(altInput.value) || 0 }); }); const clearBtn = document.createElement("button"); clearBtn.textContent = "Clear"; - clearBtn.style.cssText = "padding:5px 10px;border-radius:4px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:12px;"; + clearBtn.style.cssText = "padding:8px 14px;border-radius:5px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:14px;"; clearBtn.addEventListener("click", () => sendCmd({ action: "clear" })); ctrlRow.appendChild(enableBtn); - ctrlRow.appendChild(altLabel); - ctrlRow.appendChild(altInput); + // Z control is only meaningful for waypoints — polygons are 2D. + if (kind !== "polygon") { + ctrlRow.appendChild(altLabel); + ctrlRow.appendChild(altInput); + } const spacer = document.createElement("span"); spacer.style.flex = "1"; ctrlRow.appendChild(spacer); @@ -1209,28 +1212,31 @@ function buildEditorSection(kind, panelContext) { addRow.style.cssText = "display:flex;align-items:center;gap:4px;"; const mkNumIn = (label, def) => { const w = document.createElement("div"); - w.style.cssText = "display:flex;align-items:center;gap:2px;"; + w.style.cssText = "display:flex;align-items:center;gap:4px;"; const l = document.createElement("span"); - l.textContent = label + ":"; l.style.cssText = "font-size:11px;opacity:0.7;"; + l.textContent = label + ":"; l.style.cssText = "font-size:13px;opacity:0.75;"; const i = document.createElement("input"); i.type = "number"; i.step = "0.5"; i.value = def; - i.style.cssText = "width:50px;padding:2px 4px;border-radius:3px;border:1px solid #555;background:transparent;color:inherit;font-size:11px;"; + i.style.cssText = "width:64px;padding:5px 7px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;font-size:13px;"; + l.style.fontSize = "13px"; w.appendChild(l); w.appendChild(i); return { wrap: w, input: i }; }; - const addX = mkNumIn("X", "0"), addY = mkNumIn("Y", "0"), addZ = mkNumIn("Z", "0"); + const addX = mkNumIn("X", "0"), addY = mkNumIn("Y", "0"); + const addZ = (kind === "polygon") ? null : mkNumIn("Z", "0"); const addBtn = document.createElement("button"); addBtn.textContent = "+ Add"; - addBtn.style.cssText = "padding:4px 10px;border-radius:4px;border:none;background:" + cfg.primary + ";color:white;cursor:pointer;font-size:12px;"; + addBtn.style.cssText = "padding:6px 14px;border-radius:5px;border:none;background:" + cfg.primary + ";color:white;cursor:pointer;font-size:14px;"; addBtn.addEventListener("click", () => { sendCmd({ action: "add", x: Number(addX.input.value) || 0, y: Number(addY.input.value) || 0, - z: Number(addZ.input.value) || 0, + z: addZ ? (Number(addZ.input.value) || 0) : 0, }); }); - addRow.appendChild(addX.wrap); addRow.appendChild(addY.wrap); addRow.appendChild(addZ.wrap); + addRow.appendChild(addX.wrap); addRow.appendChild(addY.wrap); + if (addZ) addRow.appendChild(addZ.wrap); addRow.appendChild(addBtn); wrap.appendChild(addRow); @@ -1244,10 +1250,10 @@ function buildEditorSection(kind, panelContext) { saveAddRow.style.cssText = "display:flex;align-items:center;gap:4px;"; const saveNameIn = document.createElement("input"); saveNameIn.type = "text"; saveNameIn.placeholder = "save name…"; - saveNameIn.style.cssText = "flex:1;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;font-size:12px;"; + saveNameIn.style.cssText = "flex:1;padding:6px 8px;border-radius:5px;border:1px solid #555;background:transparent;color:inherit;font-size:14px;"; const saveAddBtn = document.createElement("button"); saveAddBtn.textContent = "+ Add"; - saveAddBtn.style.cssText = "padding:4px 10px;border-radius:4px;border:none;background:" + cfg.primary + ";color:white;cursor:pointer;font-size:12px;"; + saveAddBtn.style.cssText = "padding:6px 14px;border-radius:5px;border:none;background:" + cfg.primary + ";color:white;cursor:pointer;font-size:14px;"; saveAddBtn.addEventListener("click", () => { const name = saveNameIn.value.trim(); if (!name) return; @@ -1289,15 +1295,15 @@ function buildEditorSection(kind, panelContext) { for (let i = 0; i < cache.length; i++) { const v = cache[i]; const row = document.createElement("div"); - row.style.cssText = "display:flex;align-items:center;gap:3px;padding:3px 5px;border-bottom:1px solid #333;font-size:11px;font-family:monospace;"; + row.style.cssText = "display:flex;align-items:center;gap:5px;padding:5px 8px;border-bottom:1px solid #333;font-size:14px;font-family:monospace;"; const idx = document.createElement("span"); idx.textContent = String(i); - idx.style.cssText = `width:18px;font-weight:bold;color:${cfg.primary};`; + idx.style.cssText = `width:24px;font-weight:bold;font-size:14px;color:${cfg.primary};`; row.appendChild(idx); const mkCoord = (val, axis) => { const inp = document.createElement("input"); inp.type = "number"; inp.step = "0.5"; inp.value = String(val); - inp.style.cssText = "width:50px;padding:1px 3px;border-radius:3px;border:1px solid #555;background:transparent;color:inherit;font-family:monospace;font-size:11px;text-align:right;"; + inp.style.cssText = "width:68px;padding:5px 7px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;font-family:monospace;font-size:13px;text-align:right;"; inp.addEventListener("change", () => { const nx = axis === "x" ? Number(inp.value) || 0 : v.x; const ny = axis === "y" ? Number(inp.value) || 0 : v.y; @@ -1308,20 +1314,24 @@ function buildEditorSection(kind, panelContext) { }; row.appendChild(mkCoord(v.x, "x")); row.appendChild(mkCoord(v.y, "y")); - row.appendChild(mkCoord(v.z, "z")); + if (kind !== "polygon") row.appendChild(mkCoord(v.z, "z")); const mkBtn = (text, on) => { const b = document.createElement("button"); b.textContent = text; - b.style.cssText = "width:22px;height:22px;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;font-size:11px;border-radius:3px;"; + b.style.cssText = "width:30px;height:30px;padding:0;border:none;background:transparent;color:inherit;cursor:pointer;font-size:15px;border-radius:4px;"; b.addEventListener("click", on); return b; }; if (i > 0) row.appendChild(mkBtn("▲", () => sendCmd({ action: "reorder", from: i, to: i - 1 }))); - else { const sp = document.createElement("span"); sp.style.width = "22px"; row.appendChild(sp); } + else { const sp = document.createElement("span"); sp.style.width = "30px"; row.appendChild(sp); } if (i < cache.length - 1) row.appendChild(mkBtn("▼", () => sendCmd({ action: "reorder", from: i, to: i + 1 }))); - else { const sp = document.createElement("span"); sp.style.width = "22px"; row.appendChild(sp); } + else { const sp = document.createElement("span"); sp.style.width = "30px"; row.appendChild(sp); } + const dupBtn = mkBtn("⧉", () => sendCmd({ action: "duplicate", index: i })); + dupBtn.title = "Duplicate"; + row.appendChild(dupBtn); const delBtn = mkBtn("✕", () => sendCmd({ action: "delete", index: i })); delBtn.style.color = "#dc2626"; + delBtn.title = "Delete"; row.appendChild(delBtn); listContainer.appendChild(row); } @@ -1339,9 +1349,9 @@ function buildEditorSection(kind, panelContext) { for (const name of names) { const s = savesCache[name]; const row = document.createElement("div"); - row.style.cssText = "display:flex;align-items:center;gap:5px;padding:3px 5px;border-bottom:1px solid #333;font-size:11px;"; + row.style.cssText = "display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid #333;font-size:14px;"; const sw = document.createElement("span"); - sw.style.cssText = "display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;"; + sw.style.cssText = "display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0;"; const c = s.color || [0.5, 0.5, 0.5]; sw.style.background = `rgb(${Math.round(c[0]*255)},${Math.round(c[1]*255)},${Math.round(c[2]*255)})`; row.appendChild(sw); @@ -1352,7 +1362,7 @@ function buildEditorSection(kind, panelContext) { const small = (text, color, on) => { const b = document.createElement("button"); b.textContent = text; - b.style.cssText = `padding:1px 6px;border-radius:3px;border:1px solid #555;background:transparent;color:${color};cursor:pointer;font-size:10px;`; + b.style.cssText = `padding:4px 10px;border-radius:4px;border:1px solid #555;background:transparent;color:${color};cursor:pointer;font-size:13px;`; b.addEventListener("click", on); return b; }; diff --git a/gcs/foxglove_extensions/waypoint-editor/dist/extension.js b/gcs/foxglove_extensions/waypoint-editor/dist/extension.js index 3087a1de..60e7ef13 100644 --- a/gcs/foxglove_extensions/waypoint-editor/dist/extension.js +++ b/gcs/foxglove_extensions/waypoint-editor/dist/extension.js @@ -52,16 +52,16 @@ function activate(extensionContext) { const ctrlRow = el("div", "display:flex;align-items:center;gap:8px;flex-shrink:0;"); const enableBtn = el("button", - "padding:6px 14px;border-radius:4px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:13px;"); + "padding:8px 18px;border-radius:5px;border:none;color:white;cursor:pointer;font-weight:bold;font-size:15px;"); enableBtn.addEventListener("click", () => { sendCmd({ action: "set_enabled", enabled: !enabled }); }); ctrlRow.appendChild(enableBtn); - const altLabel = el("span", "font-size:12px;"); + const altLabel = el("span", "font-size:14px;"); altLabel.textContent = "Altitude:"; const altInput = el("input", - "width:60px;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;"); + "width:80px;padding:6px 8px;border-radius:5px;border:1px solid #555;background:transparent;color:inherit;font-size:14px;"); altInput.type = "number"; altInput.step = "0.5"; altInput.value = String(state.defaultZ); @@ -72,7 +72,7 @@ function activate(extensionContext) { }); const clearBtn = el("button", - "padding:6px 10px;border-radius:4px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:12px;"); + "padding:8px 14px;border-radius:5px;border:none;background:#dc2626;color:white;cursor:pointer;font-size:14px;"); clearBtn.textContent = "Clear All"; clearBtn.addEventListener("click", () => { sendCmd({ action: "clear" }); }); @@ -97,7 +97,7 @@ function activate(extensionContext) { const addYIn = numInput("Y", "0"); const addZIn = numInput("Z", String(state.defaultZ)); const addBtn = el("button", - "padding:4px 10px;border-radius:4px;border:none;background:#10b981;color:white;cursor:pointer;font-size:12px;"); + "padding:6px 14px;border-radius:5px;border:none;background:#10b981;color:white;cursor:pointer;font-size:14px;"); addBtn.textContent = "+ Add"; addBtn.addEventListener("click", () => { sendCmd({ @@ -119,13 +119,13 @@ function activate(extensionContext) { savesLabel.textContent = "Saves"; root.appendChild(savesLabel); - const saveAddRow = el("div", "display:flex;align-items:center;gap:4px;flex-shrink:0;"); + const saveAddRow = el("div", "display:flex;align-items:center;gap:6px;flex-shrink:0;"); const saveNameIn = el("input", - "flex:1;padding:3px 5px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;font-size:12px;"); + "flex:1;padding:6px 8px;border-radius:5px;border:1px solid #555;background:transparent;color:inherit;font-size:14px;"); saveNameIn.type = "text"; saveNameIn.placeholder = "save name…"; const saveAddBtn = el("button", - "padding:4px 10px;border-radius:4px;border:none;background:#10b981;color:white;cursor:pointer;font-size:12px;"); + "padding:6px 14px;border-radius:5px;border:none;background:#10b981;color:white;cursor:pointer;font-size:14px;"); saveAddBtn.textContent = "+ Add"; saveAddBtn.addEventListener("click", () => { const name = saveNameIn.value.trim(); @@ -154,9 +154,9 @@ function activate(extensionContext) { } for (const s of saves) { const row = el("div", - "display:flex;align-items:center;gap:6px;padding:4px 6px;border-bottom:1px solid #333;font-size:12px;"); + "display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid #333;font-size:14px;"); const swatch = el("span", - "display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0;"); + "display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0;"); const [r, g, b] = s.color || [0.5, 0.5, 0.5]; swatch.style.background = `rgb(${Math.round(r*255)},${Math.round(g*255)},${Math.round(b*255)})`; @@ -167,7 +167,7 @@ function activate(extensionContext) { row.appendChild(nameEl); const loadBtn = el("button", - "padding:2px 8px;border-radius:3px;border:1px solid #555;background:transparent;color:inherit;cursor:pointer;font-size:11px;"); + "padding:4px 10px;border-radius:4px;border:1px solid #555;background:transparent;color:inherit;cursor:pointer;font-size:13px;"); loadBtn.textContent = "Load"; loadBtn.addEventListener("click", () => { sendCmd({ action: "load_save", name: s.name }); @@ -179,11 +179,11 @@ function activate(extensionContext) { saveBtn.textContent = "✓ Saved"; saveBtn.disabled = true; saveBtn.style.cssText = - "padding:2px 8px;border-radius:3px;border:1px solid #10b981;background:rgba(16,185,129,0.1);color:#10b981;cursor:default;font-size:11px;"; + "padding:4px 10px;border-radius:4px;border:1px solid #10b981;background:rgba(16,185,129,0.1);color:#10b981;cursor:default;font-size:13px;"; } else { saveBtn.textContent = "Save"; saveBtn.style.cssText = - "padding:2px 8px;border-radius:3px;border:none;background:#2563eb;color:white;cursor:pointer;font-size:11px;"; + "padding:4px 10px;border-radius:4px;border:none;background:#2563eb;color:white;cursor:pointer;font-size:13px;"; saveBtn.addEventListener("click", () => { sendCmd({ action: "save_save", name: s.name }); }); @@ -191,7 +191,7 @@ function activate(extensionContext) { row.appendChild(saveBtn); const delBtn = el("button", - "padding:2px 6px;border-radius:3px;border:none;background:transparent;color:#dc2626;cursor:pointer;font-size:13px;"); + "padding:4px 8px;border-radius:4px;border:none;background:transparent;color:#dc2626;cursor:pointer;font-size:15px;"); delBtn.textContent = "✕"; delBtn.title = "Delete save"; delBtn.addEventListener("click", () => { @@ -230,12 +230,12 @@ function activate(extensionContext) { for (let i = 0; i < waypoints.length; i++) { const wp = waypoints[i]; const row = el("div", - "display:flex;align-items:center;gap:4px;padding:4px 6px;" + - "border-bottom:1px solid #333;font-size:12px;font-family:monospace;" + + "display:flex;align-items:center;gap:5px;padding:5px 8px;" + + "border-bottom:1px solid #333;font-size:14px;font-family:monospace;" + (i === selectedIdx ? "background:rgba(16,185,129,0.15);" : "")); // Index label - const idx = el("span", "width:20px;font-weight:bold;color:#10b981;"); + const idx = el("span", "width:24px;font-weight:bold;font-size:14px;color:#10b981;"); idx.textContent = String(i); row.appendChild(idx); @@ -261,7 +261,7 @@ function activate(extensionContext) { upBtn.title = "Move up"; row.appendChild(upBtn); } else { - row.appendChild(el("span", "width:24px;")); + row.appendChild(el("span", "width:32px;")); } // Move down @@ -272,9 +272,16 @@ function activate(extensionContext) { downBtn.title = "Move down"; row.appendChild(downBtn); } else { - row.appendChild(el("span", "width:24px;")); + row.appendChild(el("span", "width:32px;")); } + // Duplicate + const dupBtn = smallBtn("\u29c9", () => { + sendCmd({ action: "duplicate", index: i }); + }); + dupBtn.title = "Duplicate"; + row.appendChild(dupBtn); + // Delete const delBtn = smallBtn("\u2715", () => { sendCmd({ action: "delete", index: i }); @@ -350,8 +357,8 @@ function el(tag, style) { function smallBtn(text, onClick) { const b = el("button", - "width:24px;height:24px;padding:0;border:none;background:transparent;" + - "color:inherit;cursor:pointer;font-size:12px;border-radius:3px;"); + "width:32px;height:32px;padding:0;border:none;background:transparent;" + + "color:inherit;cursor:pointer;font-size:15px;border-radius:4px;"); b.textContent = text; b.addEventListener("mouseenter", () => { b.style.background = "rgba(255,255,255,0.1)"; }); b.addEventListener("mouseleave", () => { b.style.background = "transparent"; }); @@ -361,8 +368,8 @@ function smallBtn(text, onClick) { function coordInput(value, onChange) { const inp = el("input", - "width:55px;padding:2px 4px;border-radius:3px;border:1px solid #555;" + - "background:transparent;color:inherit;font-family:monospace;font-size:11px;text-align:right;"); + "width:72px;padding:5px 7px;border-radius:4px;border:1px solid #555;" + + "background:transparent;color:inherit;font-family:monospace;font-size:13px;text-align:right;"); inp.type = "number"; inp.step = "0.5"; inp.value = String(value); @@ -373,12 +380,12 @@ function coordInput(value, onChange) { } function numInput(label, defaultVal) { - const wrap = el("div", "display:flex;align-items:center;gap:2px;"); - const lbl = el("span", "font-size:11px;opacity:0.7;"); + const wrap = el("div", "display:flex;align-items:center;gap:4px;"); + const lbl = el("span", "font-size:13px;opacity:0.75;"); lbl.textContent = label + ":"; const input = el("input", - "width:50px;padding:2px 4px;border-radius:3px;border:1px solid #555;" + - "background:transparent;color:inherit;font-size:11px;"); + "width:64px;padding:5px 7px;border-radius:4px;border:1px solid #555;" + + "background:transparent;color:inherit;font-size:13px;"); input.type = "number"; input.step = "0.5"; input.value = defaultVal; diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index 1de4c2fd..947611e5 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -16,10 +16,12 @@ from nav_msgs.msg import Odometry, Path from visualization_msgs.msg import Marker, MarkerArray from builtin_interfaces.msg import Duration -from geometry_msgs.msg import Point +from geometry_msgs.msg import Point, TransformStamped +from tf2_ros import StaticTransformBroadcaster from gcs_visualizer.gcs_utils import ( gps_to_enu, multiply_quaternions, rotate_vector, transform_marker_array, + ORIGIN_LAT, ORIGIN_LON, ) SENSOR_QOS = QoSProfile( @@ -84,10 +86,33 @@ def __init__(self): self._global_plans = {} self._vdb_markers = {} self._vdb_global = {} # pre-translated global-frame VDB, keyed by robot_name + # Per-robot NavSatFix re-publisher (frame_id rewritten to 'map' so + # Foxglove's Map panel will accept it as a location source). + self._location_pubs: dict = {} self._subscribed_gps = set() self._subscribed_odom = set() self._subscribed_traj = set() self._subscribed_plan = set() + + # Make 'map' a known frame on the GCS domain so Foxglove resolves it. + # The robot side already publishes the same identity static TF + # (robot.launch.xml world_to_map_broadcaster). + self._static_tf_broadcaster = StaticTransformBroadcaster(self) + t = TransformStamped() + t.header.stamp = self.get_clock().now().to_msg() + t.header.frame_id = 'world' + t.child_frame_id = 'map' + t.transform.rotation.w = 1.0 + self._static_tf_broadcaster.sendTransform(t) + + # Publish a stationary "map origin" location at the configured + # ORIGIN_LAT/LON so the Foxglove Map panel always has a fixed + # reference (otherwise the panel auto-centers on the robot, making + # the robot appear at the visible map's center). 1 Hz so any newly + # opened Map layer picks it up quickly. + self._origin_pub = self.create_publisher( + NavSatFix, '/gcs/map_origin/location', 10) + self.create_timer(1.0, self._publish_map_origin) self._subscribed_vdb = set() self._alt_ground = None @@ -173,6 +198,23 @@ def _gps_callback(self, msg: NavSatFix, robot_name: str): self._vdb_global[robot_name] = _translate_marker( self._vdb_markers[robot_name], bx, by, bz) + # Re-publish on /gcs//location with frame_id='map' so the + # Foxglove Map panel will accept it as a location source. lat/lon + # are passed through unchanged. + if robot_name not in self._location_pubs: + self._location_pubs[robot_name] = self.create_publisher( + NavSatFix, f'/gcs/{robot_name}/location', 10) + out = NavSatFix() + out.header.stamp = msg.header.stamp + out.header.frame_id = 'map' + out.status = msg.status + out.latitude = msg.latitude + out.longitude = msg.longitude + out.altitude = msg.altitude + out.position_covariance = msg.position_covariance + out.position_covariance_type = msg.position_covariance_type + self._location_pubs[robot_name].publish(out) + def _odom_callback(self, msg: Odometry, robot_name: str): o = msg.pose.pose.orientation self._orientations[robot_name] = (o.x, o.y, o.z, o.w) @@ -190,6 +232,17 @@ def _vdb_callback(self, msg: Marker, robot_name: str): bx, by, bz = boot self._vdb_global[robot_name] = _translate_marker(msg, bx, by, bz) + def _publish_map_origin(self): + m = NavSatFix() + m.header.stamp = self.get_clock().now().to_msg() + m.header.frame_id = 'map' + m.status.status = 0 # STATUS_FIX + m.status.service = 1 # SERVICE_GPS + m.latitude = ORIGIN_LAT + m.longitude = ORIGIN_LON + m.altitude = 0.0 + self._origin_pub.publish(m) + def _publish_markers(self): if not self._gps_positions: return diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/polygon_collector_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/polygon_collector_node.py index 47c4fc75..e9dd6487 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/polygon_collector_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/polygon_collector_node.py @@ -188,6 +188,11 @@ def _on_command(self, msg: String): v = self._vertices.pop(fi) self._vertices.insert(ti, v) + elif action == 'duplicate': + idx = int(cmd.get('index', -1)) + if 0 <= idx < len(self._vertices): + self._vertices.insert(idx + 1, dict(self._vertices[idx])) + elif action == 'clear': self._vertices.clear() diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/waypoint_collector_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/waypoint_collector_node.py index c2ca75f5..e99c435c 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/waypoint_collector_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/waypoint_collector_node.py @@ -204,6 +204,11 @@ def _on_command(self, msg: String): wp = self._waypoints.pop(fi) self._waypoints.insert(ti, wp) + elif action == 'duplicate': + idx = int(cmd.get('index', -1)) + if 0 <= idx < len(self._waypoints): + self._waypoints.insert(idx + 1, dict(self._waypoints[idx])) + elif action == 'clear': self._waypoints.clear() From b0c822c91430040ac308e564ece713c48d75155d Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Tue, 28 Apr 2026 15:23:59 -0400 Subject: [PATCH 46/55] added 2d map to foxglove --- .../foxglove_visualizer_node.py | 158 ++++++++++++++++- .../semantic_search_task/node.py | 36 +++- .../launch_scripts/two_drone_fire.py | 37 +++- simulation/isaac-sim/utils/scene_prep.py | 159 ++++++++++++++++++ 4 files changed, 383 insertions(+), 7 deletions(-) diff --git a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py index 947611e5..bffd5409 100644 --- a/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py +++ b/gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py @@ -12,11 +12,12 @@ import rclpy from rclpy.node import Node from rclpy.qos import QoSProfile, ReliabilityPolicy, DurabilityPolicy, HistoryPolicy -from sensor_msgs.msg import NavSatFix +from sensor_msgs.msg import NavSatFix, Image from nav_msgs.msg import Odometry, Path from visualization_msgs.msg import Marker, MarkerArray from builtin_interfaces.msg import Duration from geometry_msgs.msg import Point, TransformStamped +from std_msgs.msg import ColorRGBA, Float32 from tf2_ros import StaticTransformBroadcaster from gcs_visualizer.gcs_utils import ( @@ -31,6 +32,13 @@ depth=10, ) +LATCHED_QOS = QoSProfile( + reliability=ReliabilityPolicy.RELIABLE, + durability=DurabilityPolicy.TRANSIENT_LOCAL, + history=HistoryPolicy.KEEP_LAST, + depth=1, +) + GPS_SUFFIX = '/interface/mavros/global_position/global' ODOM_SUFFIX = '/odometry_conversion/odometry' TRAJ_SUFFIX = '/trajectory_controller/trajectory_vis' @@ -113,6 +121,43 @@ def __init__(self): self._origin_pub = self.create_publisher( NavSatFix, '/gcs/map_origin/location', 10) self.create_timer(1.0, self._publish_map_origin) + + # Sim-mode "textured ground" pipeline. The simulator publishes a + # raw overhead Image of its static scene plus a coverage_m spec on a + # separate Float32 topic so the GCS doesn't need to be configured + # manually. We wait until both have been received, then build a + # TRIANGLE_LIST marker with per-vertex colors and publish it once on + # a latched topic for Foxglove's 3D panel. Subscriptions are torn + # down after the first build to free up bandwidth. + self.declare_parameter('overhead_image_topic', '/sim/overhead/image') + self.declare_parameter('overhead_spec_topic', '/sim/overhead/spec') + self.declare_parameter('overhead_coverage_m', 0.0) # 0 → wait for spec topic + self.declare_parameter('overhead_grid_resolution', 0) # 0 → derive from coverage + self.declare_parameter('overhead_grid_per_m', 0.8) + self.declare_parameter('overhead_max_grid_resolution', 384) + self._overhead_topic = self.get_parameter( + 'overhead_image_topic').value + self._overhead_spec_topic = self.get_parameter( + 'overhead_spec_topic').value + # 0 → unknown / wait for spec; >0 → manual override. + cov_param = float(self.get_parameter('overhead_coverage_m').value) + self._overhead_coverage_m = cov_param if cov_param > 0 else None + grid_param = int(self.get_parameter('overhead_grid_resolution').value) + self._overhead_grid_n_override = grid_param if grid_param > 0 else None + self._overhead_grid_per_m = float(self.get_parameter( + 'overhead_grid_per_m').value) + self._overhead_max_grid_n = int(self.get_parameter( + 'overhead_max_grid_resolution').value) + self._ground_published = False + self._pending_image = None # cache image until spec arrives (or vice versa) + self._ground_pub = self.create_publisher( + Marker, '/gcs/sim_ground', LATCHED_QOS) + self._overhead_sub = self.create_subscription( + Image, self._overhead_topic, + self._on_overhead_image, SENSOR_QOS) + self._overhead_spec_sub = self.create_subscription( + Float32, self._overhead_spec_topic, + self._on_overhead_spec, SENSOR_QOS) self._subscribed_vdb = set() self._alt_ground = None @@ -243,6 +288,117 @@ def _publish_map_origin(self): m.altitude = 0.0 self._origin_pub.publish(m) + def _on_overhead_spec(self, msg: Float32): + """Cache the sim-published coverage_m. We may have already received + an image — if so, finish the build now.""" + if self._ground_published: + return + if self._overhead_coverage_m is None and float(msg.data) > 0: + self._overhead_coverage_m = float(msg.data) + self.get_logger().info( + f'Sim overhead spec: coverage_m = {self._overhead_coverage_m:.1f}') + if self._pending_image is not None: + img = self._pending_image + self._pending_image = None + self._build_sim_ground_marker(img) + + def _on_overhead_image(self, msg: Image): + """Cache or process the first valid sim-overhead Image.""" + if self._ground_published: + return + if self._overhead_coverage_m is None: + # Hold onto the image until the spec arrives. + self._pending_image = msg + return + self._build_sim_ground_marker(msg) + + def _build_sim_ground_marker(self, msg: Image): + """Build and publish the TRIANGLE_LIST sim_ground marker, then tear + down both overhead subscriptions so we stop pulling traffic.""" + if self._ground_published: + return + + # Decode raw Image: encoding can be rgb8 / rgba8 / bgr* — Isaac Sim's + # RGB camera helper publishes rgba8. + try: + arr = np.frombuffer(bytes(msg.data), dtype=np.uint8) + arr = arr.reshape((msg.height, msg.width, -1)) + enc = (msg.encoding or '').lower() + if enc.startswith('rgba'): + pix = arr[..., :3] + elif enc.startswith('bgra'): + pix = arr[..., [2, 1, 0]] + elif enc.startswith('bgr'): + pix = arr[..., ::-1] + else: + pix = arr[..., :3] + except Exception as e: + self.get_logger().warn(f'Failed to decode overhead Image: {e}') + return + + coverage = float(self._overhead_coverage_m) + # Grid resolution: explicit override > coverage × density (capped). + if self._overhead_grid_n_override is not None: + N = self._overhead_grid_n_override + else: + N = int(round(coverage * self._overhead_grid_per_m)) + N = max(8, min(N, int(self._overhead_max_grid_n))) + + # Downsample to N×N grid via simple nearest-neighbor stride. + H, W = pix.shape[:2] + ys = (np.linspace(0, H - 1, N)).astype(np.int32) + xs = (np.linspace(0, W - 1, N)).astype(np.int32) + pixels = pix[ys[:, None], xs[None, :], :] # (N, N, 3) + + cell = coverage / N + + marker = Marker() + marker.header.frame_id = 'map' + marker.header.stamp = self.get_clock().now().to_msg() + marker.ns = 'sim_ground' + marker.id = 0 + marker.type = Marker.TRIANGLE_LIST + marker.action = Marker.ADD + marker.pose.orientation.w = 1.0 + marker.scale.x = 1.0 + marker.scale.y = 1.0 + marker.scale.z = 1.0 + marker.color.a = 1.0 # per-vertex colors override .color, but a must be set + + # Build the grid. Image row 0 is the +Y edge (image-up = world-north). + # World x = (col / N - 0.5) * coverage; world y = (0.5 - row / N) * coverage. + for row in range(N): + y_top = (0.5 - row / N) * coverage + y_bot = y_top - cell + for col in range(N): + x_left = (col / N - 0.5) * coverage + x_right = x_left + cell + r, g, b = pixels[row, col] + color = ColorRGBA(r=r/255.0, g=g/255.0, b=b/255.0, a=1.0) + + p_tl = Point(x=x_left, y=y_top, z=0.0) + p_tr = Point(x=x_right, y=y_top, z=0.0) + p_bl = Point(x=x_left, y=y_bot, z=0.0) + p_br = Point(x=x_right, y=y_bot, z=0.0) + + # CCW winding (looking down +Z): top-left, bottom-left, bottom-right + # then top-left, bottom-right, top-right. + marker.points.extend([p_tl, p_bl, p_br, + p_tl, p_br, p_tr]) + marker.colors.extend([color] * 6) + + self._ground_pub.publish(marker) + self._ground_published = True + # Stop pulling raw image bytes (and the now-redundant spec) off the wire. + for sub_attr in ('_overhead_sub', '_overhead_spec_sub'): + try: + self.destroy_subscription(getattr(self, sub_attr)) + except Exception: + pass + self.get_logger().info( + f'Published sim_ground marker: {N}x{N} cells, ' + f'{len(marker.points)} verts, coverage {coverage:.1f} m') + def _publish_markers(self): if not self._gps_positions: return diff --git a/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py b/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py index c27b3f4e..566c66bf 100644 --- a/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py +++ b/robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py @@ -237,8 +237,10 @@ def _spawn_random_walk(self, robot_name: str) -> subprocess.Popen: '-r', f'~/global_plan_toggle:=/{robot_name}/behavior/global_plan_toggle', ]) - def _send_exploration_task(self, robot_name: str) -> None: - """Send an unbounded ExplorationTask goal to random_walk_planner to activate droan_gl.""" + def _send_exploration_task(self, robot_name: str): + """Send an unbounded ExplorationTask goal to random_walk_planner to + activate droan_gl. Returns (client, send_future) so the caller can + cancel the upstream goal when the semantic_search task ends.""" client = ActionClient( self, ExplorationTask, @@ -246,14 +248,33 @@ def _send_exploration_task(self, robot_name: str) -> None: callback_group=self._cbg) if not client.wait_for_server(timeout_sec=10.0): self.get_logger().warn('ExplorationTask server not available after 10s') - return + return None, None goal = ExplorationTask.Goal() goal.min_altitude_agl = 2.0 goal.max_altitude_agl = 15.0 goal.min_flight_speed = 1.0 goal.max_flight_speed = 3.0 - client.send_goal_async(goal) + send_future = client.send_goal_async(goal) self.get_logger().info('ExplorationTask sent to random_walk_planner') + return client, send_future + + def _cancel_exploration_task(self, send_future): + """Best-effort cancel of an ExplorationTask started via + _send_exploration_task. Safe to call with None / not-yet-accepted.""" + if send_future is None or not send_future.done(): + return + try: + handle = send_future.result() + except Exception: + return + if handle is None or not getattr(handle, 'accepted', False): + return + try: + handle.cancel_goal_async() + self.get_logger().info( + 'Cancelled upstream ExplorationTask (random_walk_planner)') + except Exception as e: + self.get_logger().warn(f'Failed to cancel ExplorationTask: {e}') def _interruptible_sleep(self, goal_handle, secs: float) -> bool: """Sleep for secs, waking early if cancel requested. Returns True if cancelled.""" @@ -309,6 +330,7 @@ def _execute(self, goal_handle): f'SemanticSearchTask | targets={queries} all_queries={all_queries}') rayfronts_proc = raven_proc = random_walk_proc = None + exploration_send_future = None rayfronts_q = raven_q = queue.Queue() # Track last meaningful line from each process for feedback @@ -435,7 +457,8 @@ def _vox_all_cb(msg): self.get_logger().info( 'Raven published first waypoint — starting random_walk_planner') time.sleep(3.0) - self._send_exploration_task(robot_name) + _, exploration_send_future = self._send_exploration_task( + robot_name) # Send queries to rayfronts whenever its subscriber appears (or reappears). # This handles the initial load AND any rayfronts restart mid-task. @@ -503,6 +526,9 @@ def _vox_all_cb(msg): continue # cancel was requested, loop back to check it finally: + # Cancel the upstream ExplorationTask so the bringup-launched + # random_walk_planner stops wandering when this task ends. + self._cancel_exploration_task(exploration_send_future) self._kill('rayfronts', rayfronts_proc) self._kill('raven', raven_proc) self._kill('random_walk', random_walk_proc) diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index 4dd695b2..9bd013ff 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -37,7 +37,11 @@ sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "utils"))) import scene_prep -from scene_prep import scale_stage_prim, add_colliders, add_dome_light, get_stage_meters_per_unit, reference_root_prims_under_world +from scene_prep import ( + scale_stage_prim, add_colliders, add_dome_light, get_stage_meters_per_unit, + reference_root_prims_under_world, + add_orthographic_camera, add_overhead_camera_publisher, +) # --------------------- CONFIGURATION --------------------- @@ -75,6 +79,16 @@ {"domain_id": 1, "x_m": 27.0, "y_m": 7.6, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 4.0}, {"domain_id": 2, "x_m": 23.0, "y_m": 9.8, "z_m": SPAWN_HEIGHT_ABOVE_FLOOR_M, "orient": [0.0, 0.0, -0.937, 0.35], "lidar_min_range": 4.0}, ] + +# Top-down "map" camera over (0, 0). Captures one aerial of the static scene +# that the GCS visualizer turns into a textured ground in Foxglove's 3D panel. +OVERHEAD_ALTITUDE_M = 150.0 +OVERHEAD_COVERAGE_M = 200.0 # The only per-map knob: world meters per side. +OVERHEAD_PX_PER_METER = 4.0 # Source-image density. Bump for sharper texture. +OVERHEAD_TOPIC = "/sim/overhead/image" +OVERHEAD_SPEC_TOPIC = "/sim/overhead/spec" +OVERHEAD_FRAME_ID = "map" +OVERHEAD_DOMAIN_ID = 0 # --------------------------------------------------------- @@ -167,6 +181,27 @@ def __init__(self): # Units mpu, s = get_stage_meters_per_unit(stage) + # Top-down orthographic camera over (0, 0). Publishes one JPEG aerial + # of the static scene at low rate; the GCS visualizer republishes it + # as a textured ground for Foxglove's 3D panel. + cam_path = add_orthographic_camera( + stage, + prim_path="/World/MapCamera", + altitude_m=OVERHEAD_ALTITUDE_M, + coverage_m=OVERHEAD_COVERAGE_M, + scene_scale_factor=s, + ) + add_overhead_camera_publisher( + parent_graph_path="/World/MapCameraGraph", + camera_prim_path=cam_path, + topic=OVERHEAD_TOPIC, + spec_topic=OVERHEAD_SPEC_TOPIC, + frame_id=OVERHEAD_FRAME_ID, + coverage_m=OVERHEAD_COVERAGE_M, + pixels_per_meter=OVERHEAD_PX_PER_METER, + domain_id=OVERHEAD_DOMAIN_ID, + ) + # Spawn all drones for cfg in DRONE_CONFIGS: i = cfg["domain_id"] diff --git a/simulation/isaac-sim/utils/scene_prep.py b/simulation/isaac-sim/utils/scene_prep.py index 09cd7479..de6b4e0b 100644 --- a/simulation/isaac-sim/utils/scene_prep.py +++ b/simulation/isaac-sim/utils/scene_prep.py @@ -124,6 +124,165 @@ def add_dome_light(stage, prim_path: str = "/World/DomeLight", intensity: float print(f"[scene_prep] Dome light set at '{prim_path}' (intensity={intensity}, exposure={exposure})") +# --------------------------------------------------------------------------- +# Top-down "map" camera: orthographic, fixed over (0,0), used to publish a +# one-shot aerial of the static sim scene that the GCS visualizer will +# convert into a textured ground in Foxglove's 3D panel. +# --------------------------------------------------------------------------- + +def add_orthographic_camera(stage, + prim_path: str = "/World/MapCamera", + altitude_m: float = 80.0, + coverage_m: float = 80.0, + scene_scale_factor: float = 1.0): + """Create a static orthographic camera straight over (0, 0) looking down. + + Args: + stage: Active USD stage. + prim_path: Where to place the camera prim. + altitude_m: Camera height above world origin (metric). + coverage_m: Side length of the world square in frame (metric). + scene_scale_factor: 1 / meters_per_unit. Pass the value returned by + ``get_stage_meters_per_unit`` so metric inputs + land in the right stage-space units. + + Returns: + The string prim path (handy for callers that pass it to the OG helper). + """ + cam = UsdGeom.Camera.Define(stage, Sdf.Path(prim_path)) + + # Place the camera over (0, 0). USD cameras look along -Z by default, + # which is already straight down — no rotation needed. + xform = UsdGeom.Xformable(cam.GetPrim()) + xform.ClearXformOpOrder() + xform.AddTranslateOp().Set( + Gf.Vec3d(0.0, 0.0, float(altitude_m) * float(scene_scale_factor))) + + # Orthographic projection. USD aperture is in tenths of a stage unit, so + # for a 1 m stage `coverage_m * 10` puts a coverage_m × coverage_m square + # exactly in frame; scale_factor extends that to non-meter stage units. + cam.CreateProjectionAttr(UsdGeom.Tokens.orthographic) + aperture = float(coverage_m) * 10.0 * float(scene_scale_factor) + cam.CreateHorizontalApertureAttr(aperture) + cam.CreateVerticalApertureAttr(aperture) + cam.CreateClippingRangeAttr( + Gf.Vec2f(0.1, max(2.0, float(altitude_m) * 2.0) * float(scene_scale_factor))) + + print(f"[scene_prep] Orthographic map camera at '{prim_path}' " + f"(alt={altitude_m} m, coverage={coverage_m} m)") + return prim_path + + +def add_overhead_camera_publisher(parent_graph_path: str, + camera_prim_path: str, + topic: str = "/sim/overhead/image", + spec_topic: str = "/sim/overhead/spec", + frame_id: str = "map", + coverage_m: float = 80.0, + pixels_per_meter: float = 4.0, + max_resolution: int = 2048, + domain_id: int = 0): + """Wire an orthographic camera to a raw ``sensor_msgs/Image`` topic, plus + a spec ``std_msgs/Float32`` topic carrying ``coverage_m`` so consumers + can size the ground texture without manual configuration. + + The image resolution is auto-derived from ``coverage_m × pixels_per_meter`` + and capped at ``max_resolution`` so a typo can't blow up bandwidth. Sim + scene is static, so we only need one valid frame — the GCS visualizer + catches it then unsubscribes, making the brief startup burst the only + network cost. + + Builds a standalone OmniGraph at ``parent_graph_path`` with its own + ROS2Context targeting ``domain_id`` regardless of which domain the + drones are using. + """ + import omni.graph.core as og # lazy so non-sim contexts can import scene_prep + + res = max(64, min(int(round(float(coverage_m) * float(pixels_per_meter))), + int(max_resolution))) + + controller = og.Controller() + g = parent_graph_path + + if og.get_graph_by_path(g) is None: + og.Controller.create_graph({"graph_path": g, "evaluator_name": "execution"}) + + nodes = { + "context": f"{g}/MapCameraROS2Context", + "playback": f"{g}/MapCameraOnPlaybackTick", + "create_rp": f"{g}/MapCameraCreateRenderProduct", + "rgb": f"{g}/MapCameraRGBHelper", + "frame": f"{g}/MapCameraFrameId", + "topic": f"{g}/MapCameraTopic", + # Spec branch: publishes coverage_m once per tick on a separate topic + # so the GCS visualizer auto-discovers FOV. + "spec_value": f"{g}/MapCameraSpecValue", + "spec_topic": f"{g}/MapCameraSpecTopic", + "spec_pub": f"{g}/MapCameraSpecPublisher", + } + + controller.edit( + graph_id=g, + edit_commands={ + og.Controller.Keys.CREATE_NODES: [ + (nodes["context"], "isaacsim.ros2.bridge.ROS2Context"), + (nodes["playback"], "omni.graph.action.OnPlaybackTick"), + (nodes["create_rp"], "isaacsim.core.nodes.IsaacCreateRenderProduct"), + (nodes["rgb"], "isaacsim.ros2.bridge.ROS2CameraHelper"), + (nodes["frame"], "omni.graph.nodes.ConstantString"), + (nodes["topic"], "omni.graph.nodes.ConstantString"), + (nodes["spec_value"], "omni.graph.nodes.ConstantFloat"), + (nodes["spec_topic"], "omni.graph.nodes.ConstantString"), + (nodes["spec_pub"], "isaacsim.ros2.bridge.ROS2Publisher"), + ], + og.Controller.Keys.CONNECT: [ + # Image branch + (f"{nodes['playback']}.outputs:tick", f"{nodes['create_rp']}.inputs:execIn"), + (f"{nodes['create_rp']}.outputs:execOut", f"{nodes['rgb']}.inputs:execIn"), + (f"{nodes['create_rp']}.outputs:renderProductPath", + f"{nodes['rgb']}.inputs:renderProductPath"), + (f"{nodes['context']}.outputs:context", f"{nodes['rgb']}.inputs:context"), + (f"{nodes['frame']}.inputs:value", f"{nodes['rgb']}.inputs:frameId"), + (f"{nodes['topic']}.inputs:value", f"{nodes['rgb']}.inputs:topicName"), + # Spec branch + (f"{nodes['playback']}.outputs:tick", f"{nodes['spec_pub']}.inputs:execIn"), + (f"{nodes['context']}.outputs:context", f"{nodes['spec_pub']}.inputs:context"), + (f"{nodes['spec_topic']}.inputs:value", f"{nodes['spec_pub']}.inputs:topicName"), + ], + og.Controller.Keys.SET_VALUES: [ + (("inputs:domain_id", nodes["context"]), int(domain_id)), + (("inputs:cameraPrim", nodes["create_rp"]), camera_prim_path), + (("inputs:width", nodes["create_rp"]), res), + (("inputs:height", nodes["create_rp"]), res), + (("inputs:type", nodes["rgb"]), "rgb"), + (("inputs:value", nodes["frame"]), str(frame_id)), + (("inputs:value", nodes["topic"]), str(topic)), + (("inputs:value", nodes["spec_value"]), float(coverage_m)), + (("inputs:value", nodes["spec_topic"]), str(spec_topic)), + (("inputs:messageName", nodes["spec_pub"]), "Float32"), + (("inputs:messagePackage", nodes["spec_pub"]), "std_msgs"), + (("inputs:messageSubfolder", nodes["spec_pub"]), "msg"), + ], + }, + ) + + # The ROS2Publisher's value input is dynamically typed — created on the + # node after the message type is set. Connect ConstantFloat → publisher. + controller.edit( + graph_id=g, + edit_commands={ + og.Controller.Keys.CONNECT: [ + (f"{nodes['spec_value']}.inputs:value", + f"{nodes['spec_pub']}.inputs:data"), + ], + }, + ) + + print(f"[scene_prep] Overhead camera publisher wired: " + f"{topic} ({res}x{res} raw Image), {spec_topic} ({coverage_m} m), " + f"domain_id={domain_id}") + + # --------------------------------------------------------------------------- # Consolidate root prims under /World # --------------------------------------------------------------------------- From 62eb1bddeb5f3a5feff3efe696784359a0b61bbb Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Tue, 28 Apr 2026 21:22:42 -0400 Subject: [PATCH 47/55] WIP: pre-merge snapshot --- .../desktop_bringup/rviz/robot.rviz | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/common/ros_packages/desktop_bringup/rviz/robot.rviz b/common/ros_packages/desktop_bringup/rviz/robot.rviz index 4adb19f6..41ca4014 100644 --- a/common/ros_packages/desktop_bringup/rviz/robot.rviz +++ b/common/ros_packages/desktop_bringup/rviz/robot.rviz @@ -11,7 +11,8 @@ Panels: - /Local1/DROAN1/Trimmed Global Plan for DROAN1/Topic1 - /Local1/DROAN1/Droan GPU1 - /Local1/DROAN1/Droan GPU1/Traj Debug1/Namespaces1 - - /Local1/DROAN1/Global Plan Vis1 + - /Local1/Trajectory Controller1 + - /Global1 - /Global1/Global Plan1 Splitter Ratio: 0.5792563557624817 Tree Height: 622 @@ -30,7 +31,7 @@ Panels: Experimental: false Name: Time SyncMode: 0 - SyncSource: voxel_rgb + SyncSource: StereoImageProc Disparity - Class: rviz_behavior_tree_panel::BehaviorTreePanel Name: BehaviorTreePanel topic: /robot_1/behavior_tree_graphviz @@ -249,7 +250,7 @@ Visualization Manager: - Class: rviz_common/Group Displays: - Class: rviz_default_plugins/Image - Enabled: true + Enabled: false Max Value: 1 Median window: 5 Min Value: 0 @@ -261,9 +262,9 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: sensors/front_stereo/right/image_rect - Value: true + Value: false - Class: rviz_default_plugins/Image - Enabled: true + Enabled: false Max Value: 100 Median window: 5 Min Value: 0 @@ -275,7 +276,7 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: sensors/front_stereo/right/depth_ground_truth - Value: true + Value: false - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -732,10 +733,10 @@ Visualization Manager: - Class: rviz_common/Group Displays: - Class: rviz_default_plugins/Marker - Enabled: false + Enabled: true Name: VDB Mapping Marker Namespaces: - {} + "": true Topic: Depth: 5 Durability Policy: Volatile @@ -743,7 +744,7 @@ Visualization Manager: History Policy: Keep Last Reliability Policy: Reliable Value: vdb_mapping/vdb_map_visualization - Value: false + Value: true - Alpha: 0.800000011920929 Buffer Length: 1 Class: rviz_default_plugins/Path @@ -786,7 +787,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: Intensity Decay Time: 0 - Enabled: true + Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -806,19 +807,19 @@ Visualization Manager: Value: /robot_1/rayfronts/msg_serv/rays_sim/q0_red_building Use Fixed Frame: true Use rainbow: true - Value: true + Value: false - Class: rviz_default_plugins/MarkerArray - Enabled: true + Enabled: false Name: filtered rays Namespaces: - arrows: true + {} Topic: Depth: 5 Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable Value: /robot_1/filtered_rays - Value: true + Value: false - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -831,7 +832,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: Intensity Decay Time: 0 - Enabled: true + Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -851,7 +852,7 @@ Visualization Manager: Value: /robot_1/rayfronts/msg_serv/voxels_sim/q0_red_building Use Fixed Frame: true Use rainbow: true - Value: true + Value: false - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -864,7 +865,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: RGB8 Decay Time: 0 - Enabled: true + Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -884,7 +885,7 @@ Visualization Manager: Value: /robot_1/rayfronts/voxel_rgb Use Fixed Frame: true Use rainbow: true - Value: true + Value: false - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -897,7 +898,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: RGB8 Decay Time: 0 - Enabled: true + Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -917,7 +918,7 @@ Visualization Manager: Value: /robot_1/rayfronts/voxel_feature Use Fixed Frame: true Use rainbow: true - Value: true + Value: false - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -930,7 +931,7 @@ Visualization Manager: Color: 255; 255; 255 Color Transformer: "" Decay Time: 0 - Enabled: true + Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 Max Intensity: 4096 @@ -950,7 +951,7 @@ Visualization Manager: Value: /robot_1/rayfronts/queries/red_building/voxels Use Fixed Frame: true Use rainbow: true - Value: true + Value: false Enabled: true Global Options: Background Color: 48; 48; 48 @@ -1014,7 +1015,7 @@ Visualization Manager: Views: Current: Class: rviz_default_plugins/Orbit - Distance: 35.724098205566406 + Distance: 72.78426361083984 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 @@ -1029,10 +1030,10 @@ Visualization Manager: Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.6453977227210999 + Pitch: 0.7253975868225098 Target Frame: base_link Value: Orbit (rviz) - Yaw: 2.873566150665283 + Yaw: 2.2885656356811523 Saved: ~ Window Geometry: BehaviorTreePanel: @@ -1048,7 +1049,7 @@ Window Geometry: Hide Right Dock: false MACVO Disparity: collapsed: false - QMainWindow State: 000000ff00000000fd000000040000000000000201000002a9fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000078000002a9000000c700fffffffb0000001e0057006100790070006f0069006e007400200050006c007500670069006e0100000205000001630000000000000000fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000002cb0000009d0000000000000000fb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca00000000000000000000000100000109000002a9fc0200000007fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f007000650072007400690065007301000000780000007e0000005c00fffffffb0000000a0056006900650077007301000000fc00000225000000a000fffffffb0000001e0054006f006f006c002000500072006f0070006500720074006900650073010000028b000000dd0000000000000000fb0000001e004d004100430056004f0020004400690073007000610072006900740079000000028d000001410000001600fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000009ba00000037fc0100000002fb0000000800540069006d00650100000000000009ba0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009ba000001d7fc0100000008fb00000014005400610073006b007300500061006e0065006c010000000000000489000002a400fffffffb0000001e00460072006f006e00740020005200690067006800740020005200470042010000048f000002a10000009400fffffffb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000736000002840000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006f6000002c40000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000714000002a60000000000000000fb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006e2000002d80000000000000000fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c00000006dc000002de0000023300fffffffb0000000800540069006d00650100000000000004500000000000000000000006a4000002a900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd000000040000000000000201000002a9fc020000000afb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000078000002a9000000c700fffffffb0000001e0057006100790070006f0069006e007400200050006c007500670069006e0100000205000001630000000000000000fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006501000002cb0000009d0000000000000000fb00000028004d004100430056004f00200049006d00610067006500200046006500610074007500720065007300000002ba000000ca00000000000000000000000100000109000002a9fc0200000007fb00000016004c006500660074002000430061006d006500720061010000003b000001880000000000000000fb00000014004c006500660074002000440065007000740068010000003b0000016a0000000000000000fb0000001e0054006f006f006c002000500072006f007000650072007400690065007301000000780000007e0000005c00fffffffb0000000a0056006900650077007301000000fc00000225000000a000fffffffb0000001e0054006f006f006c002000500072006f0070006500720074006900650073010000028b000000dd0000000000000000fb0000001e004d004100430056004f0020004400690073007000610072006900740079000000028d000001410000001600fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b2000000000000000000000002000009ba00000037fc0100000002fb0000000800540069006d00650100000000000009ba0000025300fffffffb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009ba000001d7fc0100000008fb00000014005400610073006b007300500061006e0065006c0100000000000009ba000002a400fffffffb0000001e00460072006f006e00740020005200690067006800740020005200470042000000048f000002a10000009400fffffffb0000002200460072006f006e00740020005200690067006800740020004400650070007400680000000736000002840000009e00fffffffb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006f6000002c40000000000000000fb0000002200460072006f006e00740020005200690067006800740020004400650070007400680100000714000002a60000000000000000fb0000002200460072006f006e007400200052006900670068007400200044006500700074006801000006e2000002d80000000000000000fb00000022004200650068006100760069006f0072005400720065006500500061006e0065006c00000006dc000002de0000023300fffffffb0000000800540069006d00650100000000000004500000000000000000000006a4000002a900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false TasksPanel: From 7b190b92a2a0984a1175ef59fad314c0dc941876 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 29 Apr 2026 11:52:46 -0400 Subject: [PATCH 48/55] added changes from main --- .env | 4 ++-- robot/docker/Dockerfile.robot | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 48a550bf..4b429431 100644 --- a/.env +++ b/.env @@ -25,7 +25,7 @@ COMPOSE_PROFILES="desktop,isaac-sim" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="1" # Number of robot containers to launch. +NUM_ROBOTS="2" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== ISAAC SIM ===================== @@ -33,7 +33,7 @@ ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_peg # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" # Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/) -ISAAC_SIM_SCRIPT_NAME="example_one_px4_pegasus_launch_script.py" +ISAAC_SIM_SCRIPT_NAME="two_drone_fire.py" #"example_one_px4_pegasus_launch_script.py" PLAY_SIM_ON_START="false" # =============================================== diff --git a/robot/docker/Dockerfile.robot b/robot/docker/Dockerfile.robot index d47bddf9..b7c28afa 100644 --- a/robot/docker/Dockerfile.robot +++ b/robot/docker/Dockerfile.robot @@ -215,6 +215,12 @@ RUN if [ "${ENABLE_RAYFRONTS}" = "true" ]; then \ setuptools==79.0.1; \ fi +# Re-pin empy to 3.x. The RayFronts block above transitively upgrades it via +# transformers/bloom/colcon-core to 4.x, which is API-incompatible with +# rosidl_generator_rs and breaks the workspace build with +# "TransientParseError: not enough data to read" on rmw.rs.em. +RUN pip3 install --break-system-packages --force-reinstall empy==3.3.4 + # Patched OpenVDB (OasisArtisan fork) — exposes Int8Grid to Python bindings RUN if [ "${ENABLE_RAYFRONTS}" = "true" ]; then \ apt-get ${UPDATE_FLAGS} update && apt-get ${INSTALL_FLAGS} install -y --no-install-recommends \ From 5aab17b53ba69d533f4d1498b3c2f10cbb7d3d77 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Wed, 29 Apr 2026 13:16:29 -0400 Subject: [PATCH 49/55] WIP: pre-branch-split snapshot --- .../robot-commands/dist/extension.js | 42 +++++++++++++++---- .../action_relay/action_relay/relay_node.py | 11 ++++- .../launch_scripts/two_drone_fire.py | 2 +- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/gcs/foxglove_extensions/robot-commands/dist/extension.js b/gcs/foxglove_extensions/robot-commands/dist/extension.js index 28e4ad90..5bac3cef 100644 --- a/gcs/foxglove_extensions/robot-commands/dist/extension.js +++ b/gcs/foxglove_extensions/robot-commands/dist/extension.js @@ -738,26 +738,45 @@ function activate(extensionContext) { } return null; } + // Extract the robot name from a relay topic like + // /robot_2/tasks/takeoff/relay_feedback → "robot_2". Falls back to the + // panel's current state.robot if the topic doesn't match the pattern + // (defensive — every relay topic follows the convention). + function robotForTopic(topic) { + const m = /^\/([^/]+)\/tasks\//.exec(topic); + return m ? m[1] : state.robot; + } function handleRelayFeedback(topic, msg) { const tab = tabForTopic(topic); if (!tab) return; - const t = perTab[tab.id]; + const robot = robotForTopic(topic); + // Look up the perTab entry by the *message's* robot, not by + // state.robot. With multiple panels open (or any race where state.robot + // doesn't match the topic), going through the proxy would route to + // the wrong robot's state and silently drop the message. + const t = getPerTab(robot, tab.id); if (!t.active) return; const data = msg?.data; if (!data) return; - try { - const fb = JSON.parse(data); - appendFeedback(tab.formatFeedback(fb), tab.id); - } catch { - appendFeedback(data, tab.id); + const line = (() => { + try { return tab.formatFeedback(JSON.parse(data)); } + catch { return data; } + })(); + const ts = new Date().toLocaleTimeString(); + t.feedbackLines.push(`[${ts}] ${line}`); + if (t.feedbackLines.length > MAX_FEEDBACK_LINES) { + t.feedbackLines.splice(0, t.feedbackLines.length - MAX_FEEDBACK_LINES); } + // Update display only when the visible tab + robot match the message. + if (robot === state.robot && tab.id === state.activeTab) renderFeedback(); } function handleRelayResult(topic, msg) { const tab = tabForTopic(topic); if (!tab) return; - const t = perTab[tab.id]; + const robot = robotForTopic(topic); + const t = getPerTab(robot, tab.id); if (!t.active) return; const data = msg?.data; if (!data) return; @@ -772,8 +791,13 @@ function activate(extensionContext) { t.statusCode = GOAL_STATUS.SUCCEEDED; } t.active = false; - rebuildSubscriptions(); - renderTabs(); + // Only rebuild subscriptions / re-render if this affects the + // currently-displayed robot. Other panels will see the perTab change + // on their next tick. + if (robot === state.robot) { + rebuildSubscriptions(); + renderTabs(); + } } // ── render loop ────────────────────────────────────────────────────── diff --git a/gcs/ros_ws/src/action_relay/action_relay/relay_node.py b/gcs/ros_ws/src/action_relay/action_relay/relay_node.py index b7ef096d..5a36816a 100644 --- a/gcs/ros_ws/src/action_relay/action_relay/relay_node.py +++ b/gcs/ros_ws/src/action_relay/action_relay/relay_node.py @@ -347,9 +347,18 @@ def on_goal_str(msg): cancel_event.clear() def on_cancel(msg): - """Signal the goal-handler loop to forward a cancel to the robot.""" + """Signal the goal-handler loop to forward a cancel to the robot. + + If there's no active goal at the relay (already finished, or the + panel's state desynced from the relay's), republish a synthetic + result so any stuck panel UI can flip back to idle. A panel that's + already idle will ignore it (its `t.active` is false). + """ if active_goal.get('handle') is None: node0.get_logger().warn(f'[relay] {topic}: cancel requested but no active goal') + _publish_result( + False, + 'Cancel: no active goal at relay (panel state likely desynced)') return node0.get_logger().info(f'[relay] {topic}: cancel requested') cancel_event.set() diff --git a/simulation/isaac-sim/launch_scripts/two_drone_fire.py b/simulation/isaac-sim/launch_scripts/two_drone_fire.py index 9bd013ff..ac277933 100644 --- a/simulation/isaac-sim/launch_scripts/two_drone_fire.py +++ b/simulation/isaac-sim/launch_scripts/two_drone_fire.py @@ -83,7 +83,7 @@ # Top-down "map" camera over (0, 0). Captures one aerial of the static scene # that the GCS visualizer turns into a textured ground in Foxglove's 3D panel. OVERHEAD_ALTITUDE_M = 150.0 -OVERHEAD_COVERAGE_M = 200.0 # The only per-map knob: world meters per side. +OVERHEAD_COVERAGE_M = 200.0 # per-map knob: world meters per side. OVERHEAD_PX_PER_METER = 4.0 # Source-image density. Bump for sharper texture. OVERHEAD_TOPIC = "/sim/overhead/image" OVERHEAD_SPEC_TOPIC = "/sim/overhead/spec" From 4d91ddf2a0294b061125e254d53c8ba1bf2f1312 Mon Sep 17 00:00:00 2001 From: krrishj18 Date: Thu, 30 Apr 2026 19:09:33 -0400 Subject: [PATCH 50/55] PR for foxglove+multi-robot --- .env | 4 +- .gitmodules | 4 - airstack.sh | 62 +- common/rayfronts | 1 - .../dataset/ros2isaacsim.yaml | 36 -- common/rayfronts_configs/low_memory.yaml | 37 -- .../config/gossip_payloads.yaml | 16 +- .../desktop_bringup/CMakeLists.txt | 7 - .../desktop_bringup/robot_1_odom_bridge.py | 28 - .../robot_1_semantic_ray_transposer.py | 98 ---- .../robot_2_filtered_ray_transposer.py | 98 ---- .../robot_2_relative_position.py | 0 .../msgs/airstack_msgs/msg/BeliefMapData.msg | 10 - docs/gcs/docker/index.md | 32 +- docs/gcs/foxglove.md | 134 +++++ docs/gcs/foxglove_full_screen.png | Bin 0 -> 2520708 bytes docs/gcs/foxglove_publish_point.png | Bin 0 -> 18939 bytes docs/gcs/polygon_editor.png | Bin 0 -> 64841 bytes docs/gcs/waypoint_editor.png | Bin 0 -> 63181 bytes docs/gcs/waypoints_and_geofences.md | 87 +++ docs/real_world/HITL/index.md | 123 +--- docs/robot/autonomy/coordination/index.md | 3 - docs/robot/autonomy/coordination/payloads.md | 50 +- docs/simulation/index.md | 47 -- docs/simulation/isaac_sim/overhead_camera.md | 124 ++++ .../isaac_sim/overhead_in_foxglove.png | Bin 0 -> 558355 bytes docs/simulation/isaac_sim/spawning_drones.md | 72 +++ gcs/docker/.bashrc | 49 -- gcs/docker/docker-compose.yaml | 9 - gcs/docker/gcs-base-docker-compose.yaml | 8 - .../src/robot_2_relative_position.py | 61 -- .../launch/gcs_visualizer.launch.xml | 2 + mkdocs.yml | 5 + robot/docker/.bashrc | 49 -- robot/docker/Dockerfile.robot | 63 +- robot/docker/docker-compose.yaml | 26 +- .../global_bringup/launch/global.launch.xml | 2 - .../planners/raven_nav/config/raven_nav.yaml | 13 - .../raven_nav/launch/raven_nav.launch.xml | 8 - .../src/global/planners/raven_nav/package.xml | 26 - .../planners/raven_nav/raven_nav/__init__.py | 0 .../raven_nav/raven_nav/behavior_manager.py | 59 -- .../raven_nav/raven_nav/behaviors/__init__.py | 0 .../raven_nav/behaviors/frontier_behavior.py | 136 ----- .../raven_nav/behaviors/ray_behavior.py | 241 -------- .../raven_nav/behaviors/voxel_behavior.py | 239 -------- .../raven_nav/raven_nav/raven_nav_node.py | 278 --------- .../planners/raven_nav/resource/raven_nav | 0 .../src/global/planners/raven_nav/setup.cfg | 4 - .../src/global/planners/raven_nav/setup.py | 27 - .../launch/semantic_search_task.launch.xml | 9 - .../planners/semantic_search_task/package.xml | 26 - .../resource/semantic_search_task | 0 .../semantic_search_task/__init__.py | 0 .../semantic_search_task/node.py | 555 ------------------ .../planners/semantic_search_task/setup.cfg | 4 - .../planners/semantic_search_task/setup.py | 26 - robot/ros_ws/src/input_prompt.py | 64 -- .../launch/rayfronts.launch.xml | 19 - simulation/isaac-sim/docker/.bashrc | 48 -- .../isaac-sim/docker/docker-compose.yaml | 10 - ...py => example_multi_drone_scene_import.py} | 0 .../launch_scripts/two_drone_fire.py | 4 +- 63 files changed, 475 insertions(+), 2668 deletions(-) delete mode 160000 common/rayfronts delete mode 100644 common/rayfronts_configs/dataset/ros2isaacsim.yaml delete mode 100644 common/rayfronts_configs/low_memory.yaml delete mode 100755 common/ros_packages/desktop_bringup/robot_1_odom_bridge.py delete mode 100644 common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py delete mode 100644 common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py delete mode 100755 common/ros_packages/desktop_bringup/robot_2_relative_position.py delete mode 100644 common/ros_packages/msgs/airstack_msgs/msg/BeliefMapData.msg create mode 100644 docs/gcs/foxglove.md create mode 100644 docs/gcs/foxglove_full_screen.png create mode 100644 docs/gcs/foxglove_publish_point.png create mode 100644 docs/gcs/polygon_editor.png create mode 100644 docs/gcs/waypoint_editor.png create mode 100644 docs/gcs/waypoints_and_geofences.md create mode 100644 docs/simulation/isaac_sim/overhead_camera.md create mode 100644 docs/simulation/isaac_sim/overhead_in_foxglove.png create mode 100644 docs/simulation/isaac_sim/spawning_drones.md delete mode 100644 gcs/gcs_bringup/src/robot_2_relative_position.py delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/config/raven_nav.yaml delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/launch/raven_nav.launch.xml delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/package.xml delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/__init__.py delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behavior_manager.py delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/__init__.py delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/frontier_behavior.py delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/ray_behavior.py delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/behaviors/voxel_behavior.py delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/raven_nav/raven_nav_node.py delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/resource/raven_nav delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/setup.cfg delete mode 100644 robot/ros_ws/src/global/planners/raven_nav/setup.py delete mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/launch/semantic_search_task.launch.xml delete mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/package.xml delete mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/resource/semantic_search_task delete mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/__init__.py delete mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/semantic_search_task/node.py delete mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/setup.cfg delete mode 100644 robot/ros_ws/src/global/planners/semantic_search_task/setup.py delete mode 100644 robot/ros_ws/src/input_prompt.py delete mode 100644 robot/ros_ws/src/perception/perception_bringup/launch/rayfronts.launch.xml rename simulation/isaac-sim/launch_scripts/{two_drone_scene_import.py => example_multi_drone_scene_import.py} (100%) diff --git a/.env b/.env index 4b429431..4a058e18 100644 --- a/.env +++ b/.env @@ -25,7 +25,7 @@ COMPOSE_PROFILES="desktop,isaac-sim" # ================= Common =================== AUTOLAUNCH="true" # If false, the docker-compose will just spawn idle docker containers with no launch command. -NUM_ROBOTS="2" # Number of robot containers to launch. +NUM_ROBOTS="4" # Number of robot containers to launch. RECORD_BAGS="false" # "true" or "false" # ============== ISAAC SIM ===================== @@ -33,7 +33,7 @@ ISAAC_SIM_GUI="/isaac-sim/AirStack/simulation/isaac-sim/assets/scenes/simple_peg # Set to "true" to launch Isaac Sim using a standalone Python script instead of USD file ISAAC_SIM_USE_STANDALONE="true" # "true" or "false" # Script name (must be in /AirStack/simulation/isaac-sim/launch_scripts/) -ISAAC_SIM_SCRIPT_NAME="two_drone_fire.py" #"example_one_px4_pegasus_launch_script.py" +ISAAC_SIM_SCRIPT_NAME="example_one_px4_pegasus_launch_script.py" PLAY_SIM_ON_START="false" # =============================================== diff --git a/.gitmodules b/.gitmodules index b23e919d..8722432a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -18,7 +18,3 @@ path = common/ros_packages/gui/rviz/rviz_polygon_selection_tool url = https://github.com/swri-robotics/rviz_polygon_selection_tool.git -[submodule "common/rayfronts"] - path = common/rayfronts - url = https://github.com/RayFronts/RayFronts.git - branch = modalai diff --git a/airstack.sh b/airstack.sh index d408016c..46161306 100755 --- a/airstack.sh +++ b/airstack.sh @@ -119,7 +119,6 @@ function print_command_help { echo "Options:" echo " --build Build images before starting containers" echo " --recreate Recreate containers even if their configuration and image haven't changed" - echo " --robot_num N Set ROBOT_NAME/ROS_DOMAIN_ID for robot HITL containers (numeric only)" ;; images) echo "Usage: airstack images" @@ -732,60 +731,9 @@ function classify_compose_args { function cmd_up { check_docker - local robot_num="" - local filtered_args=() - local args=("$@") - local i=0 - while [ $i -lt ${#args[@]} ]; do - local arg="${args[$i]}" - if [ "$arg" = "--robot_num" ]; then - i=$((i+1)) - if [ $i -ge ${#args[@]} ]; then - log_error "--robot_num requires a value" - exit 1 - fi - robot_num="${args[$i]}" - if ! [[ "$robot_num" =~ ^[0-9]+$ ]]; then - log_error "--robot_num must be a number (received: $robot_num)" - exit 1 - fi - elif [[ "$arg" == --robot_num=* ]]; then - robot_num="${arg#--robot_num=}" - if ! [[ "$robot_num" =~ ^[0-9]+$ ]]; then - log_error "--robot_num must be a number (received: $robot_num)" - exit 1 - fi - else - filtered_args+=("$arg") - fi - i=$((i+1)) - done - local global_args=() local subcmd_args=() - classify_compose_args global_args subcmd_args "${filtered_args[@]}" - - local service_count=0 - local target_is_hitl=false - for s in "${subcmd_args[@]}"; do - if [[ "$s" != -* ]]; then - service_count=$((service_count+1)) - if [ "$s" = "robot-desktop-hitl" ]; then - target_is_hitl=true - fi - fi - done - - if [ -n "$robot_num" ]; then - if [ "$service_count" -ne 1 ] || [ "$target_is_hitl" = false ]; then - log_error "--robot_num can only be used with exactly one service: robot-desktop-hitl" - log_error "Example: airstack up robot-desktop-hitl --robot_num 2" - exit 1 - fi - elif [ "$service_count" -eq 1 ] && [ "$target_is_hitl" = true ]; then - robot_num="1" - log_info "No --robot_num provided; defaulting to robot_num=1 for robot-desktop-hitl" - fi + classify_compose_args global_args subcmd_args "$@" # Ensure only one simulator profile is active local p="${COMPOSE_PROFILES:-$(sed -n 's/^COMPOSE_PROFILES=//p' "$PROJECT_ROOT/.env" 2>/dev/null | tr -d '"')}" @@ -813,13 +761,7 @@ function cmd_up { fi log_info "Starting services..." - if [ -n "$robot_num" ]; then - local robot_name="robot_${robot_num}" - log_info "Using robot identity from --robot_num: ROBOT_NAME=${robot_name}, ROS_DOMAIN_ID=${robot_num}" - ROBOT_NAME="$robot_name" ROS_DOMAIN_ID="$robot_num" run_docker_compose -f "$PROJECT_ROOT/docker-compose.yaml" "${global_args[@]}" up "${subcmd_args[@]}" -d - else - run_docker_compose -f "$PROJECT_ROOT/docker-compose.yaml" "${global_args[@]}" up "${subcmd_args[@]}" -d - fi + run_docker_compose -f "$PROJECT_ROOT/docker-compose.yaml" "${global_args[@]}" up "${subcmd_args[@]}" -d log_info "Services brought up successfully" } diff --git a/common/rayfronts b/common/rayfronts deleted file mode 160000 index b2bbdfde..00000000 --- a/common/rayfronts +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b2bbdfde73e101bc1243da81ec23a5b3812b31e7 diff --git a/common/rayfronts_configs/dataset/ros2isaacsim.yaml b/common/rayfronts_configs/dataset/ros2isaacsim.yaml deleted file mode 100644 index ee7b1dbd..00000000 --- a/common/rayfronts_configs/dataset/ros2isaacsim.yaml +++ /dev/null @@ -1,36 +0,0 @@ -defaults: - - base_dataset - -_target_: rayfronts.datasets.Ros2Subscriber - -# Topic containing RGB images of type sensor_msgs/msg/Image -rgb_topic: "/robot_1/sensors/front_stereo/left/image_rect" - -# Topic containing odometry of type nav_msgs/msg/Odometry -pose_topic: "/robot_1/odometry_conversion/odometry" - -# Message type for the pose topic: "PoseStamped" or "Odometry" -pose_msg_type: "Odometry" - -# Topic containing depth images of type . -depth_topic: "/robot_1/sensors/front_stereo/left/depth_ground_truth" - -# Topic containing intrinsics information from messages -# of type sensor_msgs/msg/CameraInfo. Will be used at initialization only. -intrinsics_topic: "/robot_1/sensors/front_stereo/left/camera_info" - -# Path to json file containing intrinsics with the following keys -# fx, fy, cx, cy, w, h. This will be prioritized over the intrinsics topic. -intrinsics_file: null - -# (Optional) Topic containing confidence in depth values. -# Message type: sensor_msgs/msg/Image. -confidence_topic: null - -# Topic containing point cloud of type sensor_msgs/msg/PointCloud. -# this is an alternative inefficient depth source to disparity. -point_cloud_topic: null - -# A string of 3 letters describing the camera coordinate system in -# r/l u/d f/b in any order. (e.g, rdf, flu, rfu) -src_coord_system: "flu" \ No newline at end of file diff --git a/common/rayfronts_configs/low_memory.yaml b/common/rayfronts_configs/low_memory.yaml deleted file mode 100644 index 8644e829..00000000 --- a/common/rayfronts_configs/low_memory.yaml +++ /dev/null @@ -1,37 +0,0 @@ -defaults: - - default - - override mapping: semantic_ray_frontiers_map - - override encoder: naradio - - override vis: ros - - override messaging_service: ros - - _self_ - -compile: False -amp: True -depth_limit: 20.0 - -encoder: - model_version: radio_v2.5-b - lang_model: siglip - -dataset: - rgb_resolution: [448, 448] #[480, 304] - depth_resolution: [448, 448] #[480, 304] - frame_skip: 5 - -mapping: - vox_size: 0.50 - #max_pts_per_frame: 300 #-1 - #max_empty_pts_per_frame: 20000 - max_rays_per_frame: 50 #500 - #fronti_subsampling: 8 - #fronti_subsampling_min_fronti: 20 - #ray_tracing: False - vox_accum_period: 2 #4 - ray_accum_period: 4 #4 - ray_accum_phase: 2 #2 - #ray_erosion: 0 - #global_encoding: True - - - diff --git a/common/ros_packages/coordination/coordination_bringup/config/gossip_payloads.yaml b/common/ros_packages/coordination/coordination_bringup/config/gossip_payloads.yaml index ac7dc162..2db96985 100644 --- a/common/ros_packages/coordination/coordination_bringup/config/gossip_payloads.yaml +++ b/common/ros_packages/coordination/coordination_bringup/config/gossip_payloads.yaml @@ -26,20 +26,6 @@ payload_topics: - # ── Rayfronts ────────────────────────────────────────────────────────────── - # Filtered semantic rays — peer robots consume this as filtered_rays/transposed - # to avoid revisiting already-explored areas. - - topic: "/{robot_name}/filtered_rays" - type: "visualization_msgs/msg/MarkerArray" - - # Frontier viewpoints — candidate exploration targets computed by Rayfronts. - # Peers can use these to select non-overlapping goals. - - topic: "/{robot_name}/frontier_viewpoints" - type: "sensor_msgs/msg/PointCloud2" - - - topic : "/{robot_name}/rayfronts/voxel_rgb" - type: "sensor_msgs/msg/PointCloud2" - - # ── Add more payloads below ──────────────────────────────────────────────── + # ── Add payloads below ───────────────────────────────────────────────────── # - topic: "/{robot_name}/your/topic" # type: "your_msgs/msg/YourType" diff --git a/common/ros_packages/desktop_bringup/CMakeLists.txt b/common/ros_packages/desktop_bringup/CMakeLists.txt index 6fc2bfb3..159bf518 100644 --- a/common/ros_packages/desktop_bringup/CMakeLists.txt +++ b/common/ros_packages/desktop_bringup/CMakeLists.txt @@ -19,11 +19,4 @@ install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) install(DIRECTORY rviz DESTINATION share/${PROJECT_NAME}) install(DIRECTORY params DESTINATION share/${PROJECT_NAME}) -install(PROGRAMS - robot_2_relative_position.py - robot_1_semantic_ray_transposer.py - robot_2_filtered_ray_transposer.py - DESTINATION lib/${PROJECT_NAME} -) - ament_package() diff --git a/common/ros_packages/desktop_bringup/robot_1_odom_bridge.py b/common/ros_packages/desktop_bringup/robot_1_odom_bridge.py deleted file mode 100755 index 0c9b228f..00000000 --- a/common/ros_packages/desktop_bringup/robot_1_odom_bridge.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python3 -import rclpy -from rclpy.node import Node -from nav_msgs.msg import Odometry - -class OdomBridgeNode(Node): - def __init__(self): - super().__init__('robot_1_odom_bridge') - self.pub = self.create_publisher(Odometry, '/robot_1/odom_bridge', 10) - self.sub = self.create_subscription( - Odometry, - '/robot_1/odometry_conversion/odometry', - self.odom_callback, - 10 - ) - - def odom_callback(self, msg): - self.pub.publish(msg) - -def main(args=None): - rclpy.init(args=args) - node = OdomBridgeNode() - rclpy.spin(node) - node.destroy_node() - rclpy.shutdown() - -if __name__ == '__main__': - main() diff --git a/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py b/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py deleted file mode 100644 index 3c4e1b73..00000000 --- a/common/ros_packages/desktop_bringup/robot_1_semantic_ray_transposer.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env python3 -import copy - -import rclpy -from rclpy.node import Node -from visualization_msgs.msg import MarkerArray - - -class SemanticRayTransposer(Node): - def __init__(self): - super().__init__('robot_1_semantic_ray_transposer') - - # Taken from simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py - #old fire academy init: - # robot_1_init = (20.0, -7.0, 0.15) - # robot_2_init = (17.0, 1.5, 0.15) - #RetroNeighborhood init: - # robot_1_init = (35.0, -19.0, 0.15) - # robot_2_init = (30.0, -19.0, 0.15) - - robot_1_init = (25.0, 7.6, 0.15) - robot_2_init = (23.4, 9.8, 0.15) - - - dx = robot_2_init[0] - robot_1_init[0] - dy = robot_2_init[1] - robot_1_init[1] - dz = robot_2_init[2] - robot_1_init[2] - - self.declare_parameter('translation_x', dx) - self.declare_parameter('translation_y', dy) - self.declare_parameter('translation_z', dz) - self.declare_parameter('color_r', 0.0) - self.declare_parameter('color_g', 0.6) - self.declare_parameter('color_b', 1.0) - self.declare_parameter('color_a', 1.0) - - self.translation_x = float(self.get_parameter('translation_x').value) - self.translation_y = float(self.get_parameter('translation_y').value) - self.translation_z = float(self.get_parameter('translation_z').value) - self.color_r = float(self.get_parameter('color_r').value) - self.color_g = float(self.get_parameter('color_g').value) - self.color_b = float(self.get_parameter('color_b').value) - self.color_a = float(self.get_parameter('color_a').value) - - self.subscription = self.create_subscription( - MarkerArray, - '/robot_1/filtered_rays', - self.callback, - 10, - ) - self.publisher = self.create_publisher( - MarkerArray, - '/robot_1/filtered_rays/transposed', - 10, - ) - - self.get_logger().info( - f'Publishing transposed rays with translation ' - f'({self.translation_x:.3f}, {self.translation_y:.3f}, {self.translation_z:.3f})' - ) - - def callback(self, msg: MarkerArray): - out = copy.deepcopy(msg) - - for marker in out.markers: - marker.pose.position.x -= self.translation_x - marker.pose.position.y -= self.translation_y - marker.pose.position.z -= self.translation_z - marker.color.r = self.color_r - marker.color.g = self.color_g - marker.color.b = self.color_b - marker.color.a = self.color_a - - for point in marker.points: - point.x -= self.translation_x - point.y -= self.translation_y - point.z -= self.translation_z - - # If marker uses per-point colors, force those to bright blue too. - for color in marker.colors: - color.r = self.color_r - color.g = self.color_g - color.b = self.color_b - color.a = self.color_a - - self.publisher.publish(out) - - -def main(args=None): - rclpy.init(args=args) - node = SemanticRayTransposer() - rclpy.spin(node) - node.destroy_node() - rclpy.shutdown() - - -if __name__ == '__main__': - main() diff --git a/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py b/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py deleted file mode 100644 index 3544346e..00000000 --- a/common/ros_packages/desktop_bringup/robot_2_filtered_ray_transposer.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env python3 -import copy - -import rclpy -from rclpy.node import Node -from visualization_msgs.msg import MarkerArray - - -class Robot2FilteredRayTransposer(Node): - def __init__(self): - super().__init__('robot_2_filtered_ray_transposer') - - # Taken from simulation/isaac-sim/launch_scripts/two_drone_fire_academy.py - #old fire academy init: - # robot_1_init = (20.0, -7.0, 0.15) - # robot_2_init = (17.0, 1.5, 0.15) - #RetroNeighborhood init: - # robot_1_init = (35.0, -19.0, 0.15) - # robot_2_init = (30.0, -19.0, 0.15) - - robot_1_init = (25.0, 7.6, 0.15) - robot_2_init = (23.4, 9.8, 0.15) - - dx = robot_2_init[0] - robot_1_init[0] - dy = robot_2_init[1] - robot_1_init[1] - dz = robot_2_init[2] - robot_1_init[2] - - self.declare_parameter('translation_x', dx) - self.declare_parameter('translation_y', dy) - self.declare_parameter('translation_z', dz) - self.declare_parameter('color_r', 0.0) - self.declare_parameter('color_g', 0.6) - self.declare_parameter('color_b', 1.0) - self.declare_parameter('color_a', 1.0) - - self.translation_x = float(self.get_parameter('translation_x').value) - self.translation_y = float(self.get_parameter('translation_y').value) - self.translation_z = float(self.get_parameter('translation_z').value) - self.color_r = float(self.get_parameter('color_r').value) - self.color_g = float(self.get_parameter('color_g').value) - self.color_b = float(self.get_parameter('color_b').value) - self.color_a = float(self.get_parameter('color_a').value) - - self.subscription = self.create_subscription( - MarkerArray, - '/robot_2/filtered_rays', - self.callback, - 10, - ) - self.publisher = self.create_publisher( - MarkerArray, - '/robot_2/filtered_rays/transposed', - 10, - ) - - self.get_logger().info( - f'Publishing robot_2 transposed rays with translation ' - f'({self.translation_x:.3f}, {self.translation_y:.3f}, {self.translation_z:.3f})' - ) - - def callback(self, msg: MarkerArray): - out = copy.deepcopy(msg) - - for marker in out.markers: - # Opposite direction from robot_1_semantic_ray_transposer.py: - # apply +translation instead of -translation. - marker.pose.position.x += self.translation_x - marker.pose.position.y += self.translation_y - marker.pose.position.z += self.translation_z - marker.color.r = self.color_r - marker.color.g = self.color_g - marker.color.b = self.color_b - marker.color.a = self.color_a - - for point in marker.points: - point.x += self.translation_x - point.y += self.translation_y - point.z += self.translation_z - - for color in marker.colors: - color.r = self.color_r - color.g = self.color_g - color.b = self.color_b - color.a = self.color_a - - self.publisher.publish(out) - - -def main(args=None): - rclpy.init(args=args) - node = Robot2FilteredRayTransposer() - rclpy.spin(node) - node.destroy_node() - rclpy.shutdown() - - -if __name__ == '__main__': - main() diff --git a/common/ros_packages/desktop_bringup/robot_2_relative_position.py b/common/ros_packages/desktop_bringup/robot_2_relative_position.py deleted file mode 100755 index e69de29b..00000000 diff --git a/common/ros_packages/msgs/airstack_msgs/msg/BeliefMapData.msg b/common/ros_packages/msgs/airstack_msgs/msg/BeliefMapData.msg deleted file mode 100644 index 22f5162d..00000000 --- a/common/ros_packages/msgs/airstack_msgs/msg/BeliefMapData.msg +++ /dev/null @@ -1,10 +0,0 @@ -# serialized BeliefMap data -# assumes same origin, same grid resolution - -int16 x_start # cell number relative to the origin. max int16 is 32767, so this is a reasonable assumption -int16 y_start -int32 x_end # if we break things up in the future, could assume always square and remove this -int32 y_end # if we break things up in the future, could assume always square and remove this - -uint16[] map_values # between 0 and 1, 65535 values, precision of 0.000015 - diff --git a/docs/gcs/docker/index.md b/docs/gcs/docker/index.md index 6c76ee8a..47c721c6 100644 --- a/docs/gcs/docker/index.md +++ b/docs/gcs/docker/index.md @@ -50,20 +50,12 @@ The GCS container is launched with: airstack up gcs ``` -For HITL (host networking + scalable DDS discovery), use: - -```bash -airstack up gcs-hitl -``` - -`gcs-hitl` starts the Fast DDS discovery server process inside the same container when `HITL_DISCOVERY_MODE=server`, so discovery is owned by the GCS host without a separate image pull. - **What happens:** 1. Docker Compose starts the GCS container from `gcs/docker/docker-compose.yaml` 2. The `command:` attribute launches GCS ROS 2 nodes 3. RQT GUI opens automatically (if `DISPLAY` configured) -4. Foxglove Studio starts and `foxglove_bridge` serves on port 8765 +4. Foxglove Studio starts on port 8765 **Container command:** @@ -84,7 +76,7 @@ Key variables for GCS configuration: | Variable | Description | Default | |----------|-------------|---------| -| `VERSION` | Image version tag | Set in `.env` | +| `DOCKER_IMAGE_TAG` | Image version tag | Set in `.env` | | `DOCKER_IMAGE_BUILD_MODE` | Build mode (release/dev) | `dev` | | `AUTOLAUNCH` | Auto-start GCS on container launch | `true` | | `ROS_DOMAIN_ID` | ROS 2 domain (0 for GCS) | `0` | @@ -114,14 +106,6 @@ The GCS container connects to the `airstack_network` bridge network, allowing co - **ROS_DOMAIN_ID:** 0 (GCS shares domain 0) - **Ports:** 8765 (Foxglove), 22 (SSH) -### HITL Host-Network Mode - -When using `gcs-hitl`, the container runs in `network_mode: host`: - -- Foxglove bridge binds to `0.0.0.0:8765` -- DDS discovery uses `ROS_DISCOVERY_SERVER` (from `DISCOVERY_SERVER_IP` / `DISCOVERY_SERVER_PORT`) -- No `airstack_network` bridge isolation; traffic is on the host LAN interfaces - ## Accessing the GCS ### Via X11 Forwarding @@ -159,12 +143,6 @@ Access Foxglove Studio in your web browser: http://localhost:8765 ``` -For remote visualization from another machine on the same network: - -``` -ws://:8765 -``` - Pre-configured layouts are available in `gcs/docker/Foxglove/layouts/`. ## Foxglove Configuration @@ -272,12 +250,6 @@ docker compose build --no-cache gcs - Check container networking: `docker inspect airstack-gcs-1` - Access via container IP if localhost fails -**HITL DDS discovery issues:** - -- Verify `ROS_DISCOVERY_SERVER` is set in the GCS container -- Verify `DISCOVERY_SERVER_IP:DISCOVERY_SERVER_PORT` is reachable from all robot hosts -- If discovery works but no data flows, verify DDS Router allowlist and QoS compatibility - **ROS 2 communication issues:** - Verify `ROS_DOMAIN_ID=0` in GCS container diff --git a/docs/gcs/foxglove.md b/docs/gcs/foxglove.md new file mode 100644 index 00000000..4e745418 --- /dev/null +++ b/docs/gcs/foxglove.md @@ -0,0 +1,134 @@ +# GCS Foxglove Visualization + +The GCS runs a **Foxglove Studio** browser interface backed by a single ROS 2 node — `foxglove_visualizer_node` — that gathers per-robot data from the cross-domain bridge and republishes it on a small set of GCS-side topics. Foxglove subscribes to those topics and shows the fleet in 3D. + +This page describes what the node visualizes today, the topic naming convention, and where to edit when you want to change or add a marker type. For the gossip payload visualization (filtered rays, voxel maps, etc.) see [Coordination Payloads](../robot/autonomy/coordination/payloads.md). + +![Full GCS Foxglove view — overhead-textured 3D panel on top, Robot Tasks panel and per-robot camera + depth feeds along the bottom](foxglove_full_screen.png) + +## What gets visualized + +The visualizer auto-discovers any robot whose topics match the AirStack convention (default prefix: `robot`). For each discovered robot it subscribes to a fixed set of suffixes: + +| Suffix | Type | What it becomes on the GCS | +|---|---|---| +| `/interface/mavros/global_position/global` | `NavSatFix` | Robot location pin on the Map panel | +| `/odometry_conversion/odometry` | `Odometry` | Body-frame pose / orientation arrow | +| `/trajectory_controller/trajectory_vis` | `MarkerArray` | Live executing trajectory | +| `/global_plan` | `Path` | Global plan polyline | +| `/vdb_mapping/vdb_map_visualization` | `Marker` | Per-robot VDB occupancy mesh | + +All of these are published by individual robots in their **local `map` frame** (origin = drone boot position). The visualizer translates them into a single global `map` frame on the GCS using each robot's GPS boot offset, and merges everything into one `MarkerArray`. + +## Output topics + +| Topic | Type | What it carries | +|---|---|---| +| `/gcs/robot_markers` | `MarkerArray` | Combined per-robot markers (mesh, trajectory, plan, VDB) in global ENU | +| `/gcs/{robot_name}/location` | `NavSatFix` | Per-robot GPS rewritten to `frame_id='map'` — Foxglove's Map panel only accepts it that way | +| `/gcs/map_origin/location` | `NavSatFix` | Stationary fix at the configured `ORIGIN_LAT/LON` so the Map panel has a fixed reference | +| `/gcs/sim_ground` | `Marker` | Sim overhead-camera output rendered as a textured ground plane (sim only) | +| `/gcs/payload/{robot}/{name}` | varies | Per-robot gossip-payload republish (one topic per registered handler) | + + +## Discovery loop + +`_discover_robots` runs every 5 seconds. It calls `get_topic_names_and_types()`, regex-matches each suffix above, and creates a subscription if it sees a topic it doesn't already track. Robots that come online late are picked up on the next tick. + +To change which prefix is matched (e.g. you renamed robots from `robot_*` to `drone_*`), set the `robot_name_prefix` parameter on the visualizer node. + +## How to modify or add a marker type + +The visualizer is designed to be extended in-place. The pattern, taken from `gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py`: + +### 1. Add a suffix and regex + +```python +PLAN_SUFFIX = '/global_plan' +self._plan_pattern = re.compile(rf'^/({re.escape(self._prefix)}_\w+){re.escape(PLAN_SUFFIX)}$') +``` + +### 2. Add state + +```python +self._global_plans = {} # robot_name -> latest msg +self._subscribed_plan = set() +``` + +### 3. Subscribe in `_discover_robots` + +```python +if topic not in self._subscribed_plan: + m = self._plan_pattern.match(topic) + if m and 'nav_msgs/msg/Path' in type_list: + name = m.group(1) + self.create_subscription( + Path, topic, + lambda msg, n=name: self._plan_callback(msg, n), + 10, # 10 = default RELIABLE for planning topics; + # SENSOR_QOS for high-rate sensor streams + ) + self._subscribed_plan.add(topic) +``` + + +### 4. Add a callback + +```python +def _plan_callback(self, msg: Path, robot_name: str): + self._global_plans[robot_name] = msg +``` + +### 5. Render in `_publish_markers` + +```python +plan = self._global_plans.get(robot_name) +boot = self._gps_boot.get(robot_name) +if plan is not None and boot is not None: + bx, by, bz = boot + line = Marker() + line.header.frame_id = 'map' + line.ns = f'{robot_name}_global_plan' + line.type = Marker.LINE_STRIP + for ps in plan.poses: + p = ps.pose.position + line.points.append(Point(x=p.x + bx, y=p.y + by, z=p.z + bz)) + array.markers.append(line) +``` + + +### 6. Bridge the source topic across DDS domains + +The visualizer can only subscribe to topics that crossed the DDS bridge. Add the source topic to `robot/ros_ws/src/autonomy_bringup/onboard_all/config/dds_router.yaml` under `allowlist`: + +```yaml +allowlist: + - name: "rt/$(env ROBOT_NAME)/your/new_topic" +``` + +Then restart the robot containers — the router only re-reads its allowlist on startup. + +## Bridging a topic without writing a callback + +If your topic is already in a Foxglove-native type (`nav_msgs/Path`, `sensor_msgs/PointCloud2`, `visualization_msgs/MarkerArray`) and doesn't need the GPS offset, you can skip the visualizer entirely — just bridge it through the DDS router and add a panel in Foxglove pointing at the topic. The visualizer is only required when you need georeferencing or want everything to flow through the combined `/gcs/robot_markers` namespace. + +## Sim-only: textured overhead ground + +When running in sim, the visualizer also subscribes to `/sim/overhead/image` + `/sim/overhead/spec`. On receiving both, it builds one `TRIANGLE_LIST` marker on `/gcs/sim_ground` (latched) and tears down its subscriptions. See [2D World Map in Foxglove](../simulation/isaac_sim/overhead_camera.md) for the producer side. + +## Troubleshooting + +| Symptom | Likely cause | +|---|---| +| Robot doesn't appear at all | Source topic isn't in the DDS router allowlist, or the GPS topic isn't publishing yet | +| Robot appears at the wrong global location | First GPS fix had wrong altitude datum, or PX4 home wasn't set (sim) | +| Markers double-offset (visibly twice as far from where they should be) | Both `pose.position` and `points[]` were offset in the render loop | +| New marker added but never shows up | Discovery hasn't fired yet (5 s interval), or topic name doesn't match the regex | +| Foxglove "frame `map` does not exist" | The static `world → map` TF didn't reach Foxglove — restart the GCS container | + +## See also + +- [Coordination Payloads](../robot/autonomy/coordination/payloads.md) — extending visualization with gossip-broadcast payloads +- [Adding Waypoints and Geofences](waypoints_and_geofences.md) — interactive click-to-place editors +- [Overhead Camera](../simulation/isaac_sim/overhead_camera.md) — sim-side ground texture producer +- [`.agents/skills/visualize-in-foxglove`](../../.agents/skills/visualize-in-foxglove/SKILL.md) — agent workflow for adding a topic diff --git a/docs/gcs/foxglove_full_screen.png b/docs/gcs/foxglove_full_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..cf1e9ef13826fe802b7edd604e4c50835f803e72 GIT binary patch literal 2520708 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 z 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


IZz5w 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
  • j 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 z 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�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�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ÅL*fXkdMW3HAicT@h}dkd!ykMkB@lMGWzpk$CB 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 z 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

    (^T8%(R&Ly5%qkD8(`*ACq6*S8; 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 z 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

    r+=oQ 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

    ;_OYW?V7EnQ4D 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 z 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

    2(`} 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

    -hvo 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%0A_@pa(Fhbus*U(aIz?+ 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

    r+i!1Z#A>(y4_q9;qFr485uuGf^oA;PX%MnYq= zY!O^=ldu}RAXKIWQ-ZNAgVT#!5D2FiHxYjTMKU(FWvTF8Z*CG5PEX_nuQveWNJ}Rp z;IeGZD$ExZ7IS|vH8WAw;+VG&0GqAlzircmcXb8qObbkc6GDx1s$)f#t=JEuoM3be z!X2EGY+0==9Lr72ZpL}dqBN#>5a{syxfQ0rdl6H6KDfV!>8w`sa(px0bk-;sy3TH9 z2!S5?mOmB(+db%d96 z0W4^X(M^m-&S+=toZs3_mGj#!&_BLT`^~lmpe{?Bh0!h0w=K~6Gpc+_GO?!D7i~YF z?G5@4=sFW|S93Tv$zU>(PLmm7HYss$Pec?&{(@3??!6^nRLZRz=(e*P=JuASGHaN4 zSow3l0b<){vW3m{NJo;-`GVE}cGc+W

    f)PMJ9dLS2_AD?(Y6Xqy4cRgb0_gmM!H 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

    kZB>t^yD8QWPZ&!6u_J6k?93;@NWT2(--x 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 z%0A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 XU}G7)^SQXS}`E^;%QOvmeUK)LjOk6c@f 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

    &N$CrqSd|I@WwAWeTw#B!*-h^MIG6wHrEAUI zlm9yBXaQNv?UFm7r@9~ie@oTB$C=?m8+q|gbdcUx?+RvKLpnH*C=%G-_`Y70vQ^O3b;IqG@)jg+ zK=eJSLMih)&^2!@15tANFvA5M!j!lXT#pV{lZ62`XelesyDJ|ny@`4-@aS=G9J*hL zC~Lbi{M?u`V620IYCMq zEVnl(jW5-`as7hvJyX3o>#EN0 zTLhaRpWeu^PHwYni6eL{MI+>P%Vi+^T778VaW+h6c!Q7k8%aZ%v6ZDc3S1v0CI#ta zgFPWtXd3{m6aF@#)XH0IQh^AN}lf0=9!eKUaPs%sAY>8>3il zf#GSw2MYuCtZNIu7?1{b0wS5YcSIDHJ0ki8O<f_te70gH8LoPr7dRE+Y6i%cAGt#QOeILIc+MZ_L9 zK%H}sD;Chd$(}U@HGNu?P{fUoPw*+rA|dM54ln#SD6P!54HcG>(%U_(oM{_)?hUg! zj2YV3>wQx;*t2VV`Lb`o_#n4*S=I&qAa%d0B;>LDoD;mm`tV(rv?SOxU|4f-Q4_@@ zs8+`!eQ%m!$6{BLFFsatIhI+E-#q-*_3TI%LkUq3(ecnvzVN5)snQtQ%rxsktwcl& z>5zM%cD0D{d0Arnd)d33n>5Bn`YxGUG~Yj^m+f9vP;1`IDL5)oAUjLqyFPdJpmmpw zYqT0X&!397C&5DzeB5UB}8p%-cz6wHIR-$ZH@5W ztx9*35&PQI1}Yz_%*GhlJV4c!qnQWTSXUo0EI~=F_wR+4L`c_{V%Wk ze?8S;L%aXtAxF8YThH$@{^(8gum|t#*}sSSET7EDvI8~uFYh^9!0T~t$Ya?)IZ2+9Z(I}f(1XawFxW8$qoJcQy{ z?b|#c9Y(3}o1#YM%`&6f21_-?j354y4%CF-vu9~{ov4wcm#Ae1eyT&OnSg(Cgr+fa ztOA00;$=j|UGn3jJ_-$|&~)j{GzNrw*Gz(`wmC@C{m+Z|j5e5&24Q^@>4!wUzU$a~ijcNU zGbhANMAyR+n?@R^i8}IRCr*vV7|J&hV>Qz5^UjWE1tK6j5zAcXpLM^Q?+wP6oO)qf z{B!)O5JH&F_ohEX^W^JG6U!{cWs62U?K?Ko?-1=8v8~t2ax9@mjZ4;$^^5G!-Y|C;eB z%bzWFx6 zqn;EzzVB7D*)^8Sk0=S3-0~f69KFkhR>7H+DiaPI-FemG#jUUBZXkpaLRuA0L)9*R zS4PMayF zD!;u7seayN)*YUSXd))gwbl18^&bs+KtF$CA5N6E6l^l(HaTlbyX2D+X|pw)&-A_8 zz39$bIgDmdwaDY!-LnpagQk=Zs7bz;vN0_~OW`U08g38e+$^@ z)A^rYtq$}o)0_T}M}>AWu*V(WLnjD011L4Xbik``(CH?IvJs$!H9t7^7gopT9^%q%rYrpngVWUB2`HHKE539=q7 zu73U|ms=GjW1k#F`;c9txqQ3}2jU91%b6Cb0MA$R?%;)t;s%AHi%9?gMU?rv)`u2K zBu*}LJGvfApqZYm89aP!9*D~U0uoBhrQkHHADPDwUgW|p)=_jtS%qdlGiJ2e^zt0M zsRtg!N8MU_^MjqIonsU=onMaG<3z|F<0;=BHPRxH*XToI^Ik$MH*bv--n86+Tux5s zPj(!y>DDqxJ4K{@BToNxv1Ozs>5hKB)hQtN#TnhJ)Vf00bmN}Z12KFi%0g&eQ(8aZ z`U5TF#}9jMhnJ_a`bN0C}^f@>9R_jbNFY&|73%~qgTeQA`PPtyA zdRBIvrm;Wkrd4~WDF1t{A)(yEgz7(1=RV!hWN-=*z+NdC4|j~?qkfozJt!p5OtfV& zmoU?zKR|?Mpdr&q$SN zay0@YeT}KPK~g*ighBjtLL_6aFACSv9%(WpL4UJ_0ngE)g6LQ_h=ZzT@wB2jRXC~^ywX)M)BYoYT5mQuyYSdb+hK0 zf!f*1N31e)E3d>p-XEw-a%xT}p@%3I8n-ugiWvW3$oQ3e=u-Q9H68QJUOx1w^vK5Z z9t%4)G)+xW^?Pb0vq}j8V>@N&A=6-~TU2;msedr@D22OmqMfT_cf;w?LWo}8@AHUZ z-E}8$2JYsU`a7F4a<5K@!%lEg*j$vIT&jMEy>F8{mGDFS70q^&pmA6E$lhk^;eKlp zb^fy<-!E-NTOIwCZYI}RAH*)a>1VHt4!+Srv#sHH8BQKAd0si>Ro!jhn}SmEzjzf7 z)EzfIS$BrGaDzakil)QV(zJu2MY8wunG2E2AdnO3b_h1P4o1M87612*d$yA%`bz)a z#{F;8j`27C^CbW6NdNa)wnkk2k7gM1b(GxTDI3Vph0VrG!0pdS1;Em)OY=m7;d~A- zDz>btohcr0`_I}J$41n*XK}P zP=hrUn>g1IM45-|OSdfTYsGCo5vXXS*UKQv_%bTmPV0dv`69VDr=(qHjE7LSaVeM1 zisYF{x-xsejgy|vMYY9Mx6o|9Aa|kjzfs#+B@uUi|!TiD%o#i;KwZ z_(oW+;3g*o`yNxRZ<;Q**1--pyAj_LgyD4{ytUIVux1g=e|C2Ro+-5LFqP2}ua&6B zPxibAd1r5L)j;QT<3dsr`%S`7<7p)gIL4AXqGcc#^F{kI`L2E>hFgGxT8u)+Y>Jlr zkPp8y<|?VnQ{nqfpZJMy$3SH>U4Takl zf5D~Q`SFN?wWZ`;q_v`?Fg}{|MmT3rGosG!@(!l^Z2bm1&dG86?T-4l?uFq-+8;T8 z-+XTEHL0jQ?#>7MQFejbj-RKDcBFck*In*-w^V1&r2=YU|K+;!$7ECDt9^aNU;mtk z)j7U%X&14)TMhA6EN`f#tOQUGg?As=E~7f+>NIUTu>rfR~#X$&{SB2>6#Y& ze8(x%O}>=pxs7vAOd)q8_g?2Ax{I{ko*Ku{=yhe52`MJd{B%*Oi=MAvrEJ7c2^a-s zG-1);dgw3^5O!JU)L96|+GTTp0o*77|KE%*OVytst##))Ze9VpQ6u@dBSqk+v;X=X|E?YoNehgY4VW_l z$tq3|!18mU4FJ@qPmTW3Kmvf+9OV=MuZ0%%t~#v|6W!xls-R;8|{34yykP2KIgr6Fw~|Aj%X;c+hF6$|vG z$rtm&Z)9iuM^BqjW36V#u`aY#>qwGM;xq0f%*8s?JG@$X>Os~Kv#&O*6PHZ^-{j>* z*K-CuVntS*+!yxzUN2t1vlF}QX!(+}Z^<(Fdqw*$Netzff4cy?(Vw1026So&btP3X=zt{=V9Y%;S$;0M*Q%$(mB%Z(R$DY*_d zf}L&ipM;(0-I4NZz4-1Li=ViY(1p)920)^{#Kzu^jk+{nesDeR+Z`%tC| zBh<8054n|tlR-Z}2wEaic2d4t`*}OOd)ob$IpGa^?>M3NZiHe9e|=F;=IdUI<$K8O zm)s5>p;d+G>xQa=O3sLiM^4xMYrmRBF3bKhxw>o1X;%rKuTjDCy9pv3N&WsE=98EQ zL+6Lx199W-c+G)~1>3<1_lJt+$g^%X)=2&lXL}>fs%UKTuN~ep_L0f#&bDkqYE4(u z>R|lcn(>>8j){cX2U!#^m_B@0Q~ioJM-GxcmNAojZEgU%dRU|UojdXSQxZY%%W7dt zWp4cM-ud*V$F)oD30CVo`QURB-i0kNLqCJ>OX=E^nB)FnN+`Qc$I`=3zx6V}QCHt! z>^gbHspCMY_p8(K^mh_RP=+|3)Pe0%jZpvmS_LG7oh*-(gN-xbG`b(06w_O7J~myz zdi`5S8$thnTHTSuFz-l`1FM*itTca0@n?_c)&?TV$Dl+iq2lF%3VmYLDL{TDz_w{T z306x7_SioP0l;UC^B~^})OP{_4O%Qzfci!UHQ<&IKcV8gsVPAeT5-m6SWL)ra z@YgX$hU*b4iBadJNwOyJ%O9*)m6p)yd?g9Ba{RGV_zYtgs6A2Qh}llb8^7QL=Hyp_ zNB8gO9p{C`QZmkH0RZlpQuF8)cvY8xEvxUQr6boJE|5(WG!mq5EgX`<4n6YEoheQd0<#>_NAVt1l6+7te`1o`v&`s~lD9cebCFh>41f zYO-#H3A3FU!Zyd%qe?Dib5}JqFVdgEzQPywH$&`NJhA`qPj*5DhPGwc7w)n{{mS!| zsA-<}-Yp>HcIaukoMRnysfCyH7B=|r9u3rSU2+a(WUup?R;8cI0j`YuaYizw4_&Bx zYwd7zu9qgoYrMIL60tBydNx~=$SXSJHBUe1#88^z8OXDiNo+Bg>=66%gnsJzG-Htm z@V$~M=Z;{WV9JQ5?a_^tmUb1aNhB$$#1PrB%JD!J0x^qpNr~jrTlJS*b}Bzm3S=_o zt!8d?zG19@_Y$^y935(nb)A!FQomk$`N111nY9%kd)q|=jHfBxFZ86RlthEq`r*5F z)e1p@PG0MKPqJq-rW!dT%5$uzuFMFu^R611tRjA@G|?_tYd6?FN3x(VCD3!070EPt zzB}ub;^}vGZjh~gA#t)&SvGErG4iJ8ii)yd(56O};EEHMN9L_q!47Kjh4-@R?lSBp zUg`@{H`h$QKdY?CL)19nrxG=UR=+XxlHA|$h0Qmn+lhYK#7RkZ%O}3_Gn&9VaiII! zV2mX$ZC9dH`#sGWSqM8;Fpdotqg2vbZYnIhG+}ANs<#2p96SO^||&YyeF#|J^;2^9eHd3i@4{!P@YpxysnYvaAstm=cU zhRR*oZaKd9Z@HJ72`V!|AuJoXw{{AIwROBcukoLwu>VR9sH*>anWQR<9Rg=-jNy$* zk+mBK6<)WoM6TI)c<2W`5fCt6$fo9}4B}KiCY6%~gAJi-2Fm}Is;I#+c%l(5!++@kaNAHoI-1LC5{xXIaAgkQAMVsI zDibXgEm*p+l59ePQL2eE&WCidI@(jii*#<7fosn98yaROoXU8$l+RY~YqW=GE6b6bZ`n8*&LyCI^%vrRp|>;8c>^MQQOtA!EdSgkha_fGrKcQ z16dQ|I|oXfr;K}2mxxbPGYJEO_bx>YM&qsv<{h5jeduOZ_&(XrU@I4F)fM`DJ#z+_ z)jVx>BN0@$q(%tg)@z7Nsp8lYqu}xMt;4)Sy(R-zRJx>kQSv)BzUSA%+HUzqi_^Me z$KOTa87{EULxsa_6^ra{5rUs1LUI`$(BTc%8e)Q(D88l3ESI4L1i`ve(TKVXI~$FR zr$6rQ`>UfDnPHv|aUEe4ct;wjJAtw#t&lI1PP%Im0zoI?<{=k6W^cmSTQbN`kOItlm-ALh5DLJBdDP0bYpuKw8-62kup$ zBy+W@|8x)A6s9)BMk&KNY@g9X>%_Vel_I7YC$lhb$dw<5p+Ba3J z8;UXgYHUu}nI)k!J$}iL&gkXb+m2Kfk;66?rL%rtaVeO0 zd4jFoh^R9h`{iOx%E#z6aY-w&sQj4WXNS{fd#zo%i26`lpR?WLZX8X@|{`sBZ@>xQN)^UW+JQF6J75O zuPjxYL$?>V;N#XdW)}R>VFQAEQ3r`Xof=PZ&y-ves&`tOHBSY+#HMNhe}zr%TJk8{ zgsSBXaU%i$WWa6KLp(g8!#2&|e0gs(bSen$o|fb`hzea0`TcY#Z%28XTP^=xY@yC! z-%^{CDEz^M-L38}HvYGs8gEOnWunmvgd!v>dE}Xs zU$J(>AtyMq6KL;5V-)A?zZ3HRJpccr2=II&>-hVI@+$r^HFvO4Th-Q}6TxqvLaP|L z%@FgXmWh746JHnNPXiQKK3J2P6y(3enMlzgtHAyJyTW(DULH()-)!x$;|s5I5fPNI zO+zE8fZ`6S{@jr#j6P3iZB=p(6@PkNA1 zyh-=Ja&fZLaig}G`o9r8e{OMM&v@QbpEs_fyRbaC97Rtqy3o{2!|7cr$NjW@k$-%H z5>ssa>nJylFHl@l8=DhL_iGT|ctrzJ=_u?6A+cPGf8PLuaAARz2hH61$p{R$1#)VF zqF_sqX?@W7(npm|x;HU?QkLz@xOcc)x_%fp(^e%R7hf84jZ?b$Lu}IL+=iUM*kA^c zepH1r0r>qa;?K3A88N1f@>yeI^14mdmq7O>w2^gv5chWf$Hn;Zx4I74mdqhjm zW}RMAC^+hpla=23J>GGOVE)_Dq&-hE;g_d@VElEo0R!jAp3k5J3pOOhD{_!EMu1s{ zaK*5Y+q%)(Ub=5|=9^ZrusCic7d}kf8appB3>M;bJ?CRl+Q# z);Pzlmw2Atvbmtvh2}*Q7g9IGv~qMB@j6=xG*N+3f}~t)G(#Df_-EPkQ0ex|M)#QM zW*s#osvw`QO;onYszi`z(0=8|r*7Akpzn(M!wZT@DaD?P8^Y=XB`vd{7;G1tKqn#F z-z$WUf72qaG}0j5=w(B4$Zp)}xXM}K!{cxyUg^i$zrCa?bAbcWnEFSOySC)1vtf-&$=dqzy)VLowjI+w@{;;R zH(j8QtRJa*4L67f+t?@xg2GY_bZ$Jve6R4@jDvRVQITtyq)4BsHF56q?lrcO@zvq! zf*;4*dhjsY@ND&8PP01Sq`%!hqc`r-W7e(jvX0<)?%GOfSehwFOWu!o5c>K=<_(U! zlu{43N7VLeMEY1>f`mb8U<*`2mvHn|+Jek3YVJ3G2j?E_GB3{kE&rFT!a;`*=9w%ry8hnlfoIUgRZ(wp1@R1Vl-QwT1-njBosNh$zR2MQ!qX~6JKe_epvEy6=^DyAhqHi*xKm%A^AHxJoNH{f z*dNnoE4124=U4zy4svyIS9f=$h$1`-tQ}%qqMB&5@Jw>QRb{8t8^O*yJc!Eo3B8cf z);}NE?kY^?h!J#cyQE0>?X#{>8)tI-c7DC+ITgihDshD#8c4W)_wJ8(c6dtPcG&OD zG$y3doaMa9JYT^)x3uPS0w=YLHhn6n1r@{G(%8B7EhwY8BxSFxfac&LA*^!Z=E+QbUXDk>?V{Z#%X-U#&Wft!D4C*ry(Yo^ zc4v^x*VOn*>T|!C;D&Cc2CFVZy*+R{T9Y0`vXw(i9 zu_f82#q5+LnIMh5Tpctj$U_ml@Y{Vcrcmqk3CADeL7Tp7#^OzsH%)vHl8d5g5ZHvqCKdDD`mK$#aSk%_D5zMfZsiN%Dr#K^6(CPGh9ga%WeI-U0bvFC6V)*C zE3nH404H-f3+}AH{rbY1wG3jo*NKM#HIs62s}o2zIS-mqh4iXjNZRKo{H>wxdun*cDa>>~tNP6mVB z#bKMW?d?b&1qPs?gMcq6u{7oeq{<4wu;aPI0tAeIm{c379wdSD1g|YH!+1J@q6Wm= zrX^%u+5Nq)OTR=EKDXX8kv~~{z3+Yo_|TKE=xREzGyZV-L#I*=DSEBWZIXey)JX;L zk^F&szvF`LOHw)7q3xV()t?`fEu36iY|EWqmXK?d+0I`9mN#BV?c5ag!T=+Z2tDMKfYOYQXE`| zxqqdK@%3X7nBlDDMX3oIdU&`k-^y0}`QUR`iyDQ*5G?@Ebk_j)m_8fWX5L1m)R`^XR{Wmm%m7OQ97P}OTL$TjDq^-Jjp3rr;M3ek#d*t?n18RP*jtU1-Z&#z98?>QW)t8D(|k_P`-y!g3x%SgeSE* z7w)NPLuonuVf({SYp%pV@S*U{Cys1&iE^E9o~N1GmtwWW~}L9Wq!PP zT$8E!Wh!BQ+0fqyKPLh&EX3Jm`m#i++kB{JdjaxcAb=Ho&URcRDL!Zo91eb(NNZlyue zkDb+ghnma%_eG-`9|ehu`<$Qt*Cd4RbO8rV9!T5g`m7$+SbMw=@~k9qi@FE%hR0!# z;yX{=RfBpyYfSWL@YdBHv^98+1%aG>aHo*z1T9r{e2BBehhCH)53OG*jNuN-_oduF z;d(s#HWUi(55<54CAAlA;$Y^Yy4zy25+vz!4g}L)JfUTrI8mHLuxQZ#fzHg#%oFsg zpaLxRdRaj{uYXIF`%L;sh@|ga8{uVFb+=>5ixJ;vAg!O(x*>e3=OkDvpO+uK4H|g7 zmIqlWCq5`3r$%VJAG-V#^aEl+4Q~ck%-FSiUg167i9I0-1EZk0uf8=wWoL{De3>8z zn!#t$M&n~v7H#cL!=E16oIfHbnqm;|dVzuCcN7Q^JAsjeys9P_F4nFk*hu>wWSoG1 zwn)fp8L#FaJ5Bs^tf3nOlaKzhNKm zSm-*X3G$g*fPmGBbqWE5}Y<0FL>~)T*84bWzSil6V zz%0%H1?{MSMi%Ip`v@gAirbF%q$-eP`i&~q6XB@bEhfW?c4xDp{=m1 zw>KDYH60?CLYM$LTTic1V7689RwrI3>50xLt0l&?+O zuP4hBlH8k$*;`1t%`fnW%}|~2)g5O-vbD|Y;addus@58c(mic~8uD~d-5;rs1civ# zjH(76kj~%2BSWQ##ZrzH7%PWR1rxz1g-3ERLsvl}CNAb;&nnpjUOuLv2Ay)b@by!N z5=!;+$FRq4x7qHA3r83Bd|GqezSZ)$-arYW;X;zLj(DtG%$=GJAu1U`m7xQ{HT%Z3QCZX$TYof_YoMh3KEjlqoBwt0ElgMDHk;1k-j{pa&WaV(;x^53Qre#2>WZ(8mN9`w;%DarR`1`|k85V55B zUQNPcW+s{v54%>4Xt}BAEtW9IQ5d%+F^!`8y~QVjx-)N%gb9 zs(uAzUyjOVD$s!FG02H!z`^0j@xAHF6F?T&^kzMIPA7U~koEt>^z*ux&(cf(m=g$G z&HnK6D0E~`@x0nW=;+tiz~3{q9tZzRO=dYmx!b|!^l=H#^h-fq^2r(!IHAaMHr zvAI78RF?vqX(v2!YPOWWIq%iuV&S)SQX*sEYB-6Eg5bzeW@1(Yw{bZtY!7m1l%s2&o>VhXXnJQc} zv@D5i!Y%sBiLEz1ITqrME7@iQR|53pw8Wq|^x4<+#R>B~(3R$3M)Fw2YfBwm)UOW_KxM`2sER-GsK>-lV4g~( zPgW_gyACsOql}qQ0dV8%O*R9-@|Uh@PC@ul#z9X~k!8Ze=TBFIg-Hr(rSXKR($78@ zUBt+__Y+S?)R7)H)95+{UlLti+IYGYm|)*Uft&`EkF2fRMb2}a0|+jClYQ+PQLeqw z?GjRW_R2(s`u??qFa+W#j=9IZRLf7e839V&4C}+>Gn|S(>ZDed;>vastca^_fWpLXP7Dl^n{o01!KOTQ32sPBHNK_j9 zI12hBM3tveN-s6cGCJg4$UQW9ys4*@Q`Y|KGE_;-U))hBMLA^{-vB8V^-50BZ~ydX z{^izXEWvnxOZ`Lcqqo}Xz*4t2XjM!Zh7D>bO zglhH;qXXN+-T};?NBm2iaMLmAZ`$j!7p6^>tlf>QWtohVJmFKN+!=Fuq77biCGByq zBvnvG>sDG;$=e6d;*uj=hF$$P^@GcY-R47v%=-$e+n{@Ny9n}Nv460?L7JR1w|h7EhM)?44bmI0j${ZM%g?OAB|Wk0_Fyq!-dq5*D%a>?{Gk3Liz1Ry+^4p zaj&@_U1eaUXy9+rr`bW$yXi$%x^wq znle9-;KhV~x^{~1>RONI@{C8d;%%BJ`QW#lckpbN9Qxud?@FC=f35fB;WLMvdA+H$ zXIVt={E}L=X&-XMG;S+Tv#x@n!i{d2yJ3^wYWTy1s zrxds*`mtaZPHQgxH+qaeZH?KaHMOy^@!ThM)yrnM(1DJfr=MBJL`8ihF& zhl3?fE?~pc&a1t>ozT_9TYJtfqk=L2)t?;fO|)EQz)3fxV8I=FYK8IdE4#p;K2f{R4@B(UwEP-pKFF=!J#Nc%Ss+c-F~2D_ALX9Nf49&4nI-$i1%xV zv`TfCpSe+T)8eAo^vsOt084@6pC7ck?*Be(DycmWQvGhV;s0L9@GNlk^S;-jAE9WHT(-{Lj>GXi4()d<#6*u&rO(ex>53 zXtU+p5YB95lpKRdZVYDRq>#a3t-advNG)%*IaBQ>RI)yrTaFjy{kP*2s-XxX7J0)z z{RGV@unVGwdA~ALa2m@0rU(D|>NJ=_z>li0uMdQ4UUmVA{?upv1KdID#_>kZT5wJJ zPmcM^?ioqkVvZ-V&5s_eK%Skv<*c<^PPNg6h0(*uAX4R`|4s<9QLfgD|K#TWM1+sC z`i-%!<{!Tj21T5z#Uuns);tGV^C_JtC!=UVT;g_t?>?&71aa_7@?iW9$?aej?e}FL zmZQ1#=fS)0twl14xxzOJSmSmaK0O;ZP+;dLrSQNbIyDVWa8cA;=64rIpr*_Cs zUP~++#~^*_zh!M(6N{#Hh?$4RC%-_8=!^N)m$BsrAFgBuZ^sd3doQ}bpEvDiF)g2M z+(^TTT`x$etOZxn;e-HfG-Pb#_;4iV1?8=$r%{NaHv5>+q6Mcn%(Y=NG+L6sH9@hDSIidRXLLTK`--!~>A5dDX4U?!Q!gH)|_Gc^M^&q^2p%)!YXxtGF{Hy+6iP%lM$i zEu%`-4~X)KYPb4}swxjmb=HQvL=+?l|u2d}xO9VkEFZQ7?DT-owNK~s*3$;hT$zb2GL*fgQ!XuQwSsjd)dy~5 zBj#Iw7Q|31(}Nt7M(w~G>b~~XHQnTxv516eRi5D5KAf^SH=w-V)z7)MTXbbVVgFA2 zy10&f;!uQ>kl;OP)0ylUxF23o=O(n!d6%b{&=n}QFWcd3i*Pb#pzD%mVa=oXbgk^Z zy*U=Yp2ducCqfvZ9eI#DrA9ceaT1KnnezNz5( z{^=qgIuc3VW3Al5+hEFsQvE%4Aj%1^F|$`?OIm~cii)+kmuIwn{(Y7^uW%l*vQ>0! z;C^lUOeW>&R$harluvCQD$8Oav9x)@8{=%Stt?f6z|RK{R^8PR;O!^%%Pg?fZb$g! z_L`@~l=znIux8qE*_!RnjRZc;v@`V(i$9E;Pm{}aa1R?9_I~T{k=GEaZXUf{R`)KG zJs)08e6_JIIs73B(d#uMDhh=iL-GOL@U<)is0QDEG98 zTC1NoYN*aIR&Me0S8iUv8yXTkqq6KpTRq~otV=3I>=(A}?G4m|%JD7mTC$n>d))6T zn>g?&o&))cx1OCgm_94`Ay9<50p z(}8*P$gc^W?aL=<;lgsZBmO|Jd}`Ynr9I|Y_UhVy0s7C3^B%8euDoGQqrXbPfzDFv zV0y3R(x*Mr2!@}H*eRcb3El=#^Hog{A{7MwrrKMurgFC(?DAd05-K;{KvsU)Y8{i` zPQjA@DD`r^!i+K#*kE%wsN+50tJ&>9n(RICoj>J6ak8inV)dh8HQVq4&6LxP{rp#1 z{a=GUcvAW3o8u_ZV3P*?TmBJQDinv1MI3LCkm_pK&L0ckxxmza2MepYb}F29>Fz9` z?ZIpJh5oTzZ09eK=xez*fZ51sb~Yo~B9&e{!> zB1fXZTIBiGAtQ3ftZGuA_6-R4AD>3o#()Up<#&RJ)oxdLoBe~CS~g&1O7gg^{^{2y zG2Z=IjTiITSsx-fK3D8o>Nq}NZh0MK+2#1Dzz()G#0bdy^{oN{6x^GjFrfssO`-lE z-n6jkks96%C7AMi7fb2ns?_vzz|Ric5-qSu^ko7@(=cPeNA7L02A{j7)iP?YYm5~% z{YGQZ8h)RYpWNFn67*lIDSP6{u{7xp8$o4N8e;w-=S@aY*Qm6FU-ny}xoV=c2QzBP zTxTh&k$tqYr_UbY731;d(PX3$ZQG!n$I=;~T{76Ku#j2Ik<#)U2(W>`L*37^`!7dZ zKKK45T{l|dp{hJU3E3@H^UH+J+95Fg7{TwOSxTG!w#REVauF-V{&rJ0%qkPHMtW@z zljI?Vi=G>76w5$$GTk?=Ex}ZdPufvig?_3qKR72p{OU*U=J{W!?#J~IPwd%+pIi>p zn%|15&Mz9uwl%yF8f@7}jFhR+u7kb^#yDIxPP1R(<6n zb>59-c-T4qtHMbzuId7kV83Gzm4)ds$~t3kiu=jX%1Y~te_Od3n3`=FGaTIK*bBiowD4fafWRHrHaU3ehfa5nI+U?p;+^Xwz=I z$dZtXb(YRkTDOo%1n)6w^F;Wh?sosR<6+XD;0GMF+Pm(vt1RiZ#qAh{7Fe^7FPw3} z*K|>TI^942D)~JD+$!f0jiJ3s9K=?kM`T0KQ%$(2s{>#9VnULY$-FtVh*Twp5D>bRj z1ZYKES)Of?*~lI!y0TZdnsOM?a#$27fIQ>#@HbgKdH{oA**l=WDMg7y{js$JJp-uX z^`K_}WBlliSmP}H^7zUDm$?Q)x*G@tI5?xak!1kPPF(6A;r<-rPUAGH_x<%GKLtTb zl~C!6ex-R`pxZL`Fy*o}HGOOr=wOctdHpk%Ogh@HzI{AemkJK23Ii51p}*|DB>asG z{~c1)8iK~@&q#oMJS%;#Of$x_HV%kxszF56846_4m%dAG2e|*{jc}}j={!)04ltAu zI{G0c>VJFSFVE=kC1~&1u+OG$e5H8vQpU~p-J`=_G=>M)s#k`(0%Jz|u4|yy-ml)` z2hY1CLAJp_byiME^=`qjrsQL<+w)L5=aUsnkAU{q`=OxL0#?!ykeKJGn!=E^!jo6P z_rH_oStUlK0^TCQHtXku10Of=ux2i`W(aHFJ%%}DoAS(VwBRg?Ib1hvY2_UL_3e4B zrQ#DkrDs|i*FN<)B673VMVZn$cXsO(j6ly6uD3hajx&JFTAl*LT%S9s%z=2W6=*WW z#(lg0xLo(zgtS=7UfYjqc$X5$w#y-?bmUZCJ-OB0WXx4nIba3ibx{O={*K5AJqbPM zONggWG^-&R>V;yY$D$DvVwh9OmQP(yFDbhnLu2AuNIwy)Jl_ zX+CD>WNs(kqEU63?q&BBW@llQm!B`HX$?ox^zS>**y^EN9$)KS*|U9lPin$&?!c9& z|AM{Kd3;$(hElX;C_W)fviz%g3$jbnJbPo4`BH|U48$^1smk_gcIQ=3nMmJkQZIVb z;du|~N9+vLjn`>d)+oNnQnq^mW)b)~l7sY?oP*c@FxnzlRTo+`JSHyfgt}g_S37^( zl6yT&I1#~PzEPnpMdQrg@VO@=GGiKzbowzTTj|<4{ynixq)WSiZ7C&q_cp{zxeU{J zmt-6YhkyN|k<#>GJbRX?L2?2#Wecm+fsuF%tu21gFHWt!lV3HT$C{((bhGo5ZNmtlyt0_WnpEzk#L2 z8)Y`G_@;{vhh*a1w2|niC(Btw!N0XHdDZuQBQS+_XR`Rm(~7#9w6~_wN4>sOsb3Y9 z&zO7-L;K6xQH5)&WcH^cu@y^8^O=jPNDq2e5ynQ~I-)?ogM&~~9M2PZy~;_vvgw*o zrIW|Nx3T933uEOu8F&}-%Fucacg5D7CJ(0>m!L!+3?VOr`BU>+({o4J=Qwg`R_H^- zj9BK?DnB3TrfZAjTY2u!M?#{h&6i#(ZG1*2GI}I3e$*IS#4tha0fs1H<9}I>~<@`+K?lS1A$G*|Ej+&)^dHl^Un{ zljYgg_H&}SK1CdxtaN$m&BeNH{b*>1vsAY2ejVfk11L6Ve}Coq9Z+kh*^V=ElQeb| zw3fp>7C0rx1WH{y-Z^E3NjoxZofWcxcP7`|9Vb9i?ur|W_yG)JtL z`X)+sMDxAl$qJeRKwBL#==tkhx_|^STX)lR5hykQ~ zt?kcEEcRi4liUOI>7p=uqFsiMSWR?Je~MGV>(p$5gj_&Zaq{uYE&A8*cVq}+3?)L6lp^5%UIYu%C7!LlE zALS)%n)@eLL&e9(@M}a5yBiv1n7u`J&ML!8I3smQ?e3ycu9INrhPws-9MP1>2emmu>nXo>iM3?m1yoJccSD{wQhc30>Ud`^m^EOG2 zvV^$vjp<66G`QZXJm@ojQtVkZ-AR6;!|yhEKV1?fos+LIX1BA3y$7e8VDC;b@sN#* ze@?M2DWQ4F>gc?lM+ZemWg59F3`~0YFn66;o-*>_D%+HKdefgGo}=Wvwr0~eNJ$6t z^OMp;ncHqc6aMg_bBf+eJRiob<0OiUGSF4G(l5s=<_0*5r`3?{?fFF})A#z%El~N( zZ7?p$Xaz4}s);z9Q_Ef(+sS>^3Q48(paaEvWT+;*zH7r)%}r$hOnHW1u39?t48+0aM4(3XLCmpC-q|IqXMYNPthqLKgX&JLt) z(8y*8CSWD75;ik3kx~DML#OG}4~b7HPo+QKx)mdWGI!284yxPey?*3#(9Zy%^b}IRX+XCWIrdY!zlST{m)%-3J&Jw z1ABG?_M(Y?#+?z}z)rJ_x_a2>BA*`*Ss1VM9yu+3jD0B9ksb6bvdi}2@@B?TaKY)xsEhjvnE#h+ADQ_A& z^7yU}!`O;_#p2^WJwk?G;Sz?Eek?TIv?0aOvxy=ap@?PT&TjS-TLVwOG3qGRV+d^5 zxH@%jRnIxJoD?7%jxT7RIET@g*YEH$J>_JD(I4rR5RIF*-d{nf95*RTJqFU%JMK35 z@dVX*?M8W_p5Lt~OGR-8&{VbN=tPM!JU(brbCo$$Re%?s zc@LU8*lB71mg8c}Kud(8T*8DkqgIYro$@@^(}}4F6IPiK{$f{5u z2`NtgFstXx+%)y`P9w`0@kh|!yjSJV)cngiV*Agj&&QzKcS+&}aVojb<(#XgRaTYr z?xL}{?-~Rw!a;xvyD5HpaF2srIR0AUsyeZ`5So?b@2`t3H!5Pl$sj$eWwV6yoOpdi zQ_kbe3*U{F4n`Rf0=db-oVC>ZFw!dWyg)Y1FrdF%z2abkreae)C?-C|}2L z<*UBAOvR4a3Fo;$FaBb8B}^Quq;6GAj!hz(Gcc;`tecj&!$njhgQ36z4) zm^wBNR9yPOJ2$tAV3TVq7wOW?xCSi^Q4P@@;)7bI z`m45@X^Y>h5$U7$`EnHR5*&Yki5BW6Nt5?6Vp>B2}&}_>ouGH65cc!diC&F{aZB-S*(maEX)?Vv$qJuhk##_uK0(dkSr5fs z=PR5sGPemSTWIk2M-mIngCT@D*YSiPa+5hHb!Gr%;FXr!B znW|^EtZ{E6U^5)&f?0rlnsOM`$$bKdMuBT;LnHsB{Qt`3H~!=Ne{l*3;QTXi)K^)$ z^yiIwWzA=kuJu-Q{{AfwSjcN*`uhc!miZNmEi_*F7k$W!K@)rh1}{A3oDCi{U@SF} z+i!C)j7p9(mCA`3>+o5C3|4fqQyQCIdkXW`h@!O`3f-+wg6bfF(t#2=ECVH0XEz#G zo2A)OG9<**z>VjZ-_hMGpKieK$*~Ic=!r+BnMLK$lbqn+!c@${b`Wa`!l>8RmL3Q0 zXwk7NuZJ#PALdI6RdllT5$oZKK(eJLASFhoxD^{I-3KxjFXqCsF#~YkB*y%ZH5^y3 z83)Q0`^|RYTC6lGkj#cE-88a$XVOXB>i>X{6t)SUgKxeLqbrTNI&EV(e_mEz`*ApW z0ulip{O&2ssmW#UT&|hCBw?KBi136U!kDM0f;$E-UrVs((F>fx4Vx`GJc^yks?H<3 zi#2DDM2&}fGb+*W7^-*}UQrVgp8ECzK5+?US=ISD(MyTO@Z`X}(|$#amvoqg` zZ27J6P&@N}&Nj4ms%((vg!RTt{nkf)7m{sRqQvg|YJz)No?vwSv5>;rUzb#M>ByvT zW8@ojF)v&q$St}kM6c5k;aI02+O@6}eJ%K|SO3Ng^tN5N_*SY8J}GN5m?ekFekwhN zD$BFjUI5R1{jPj5$ z<3EQ3-G%p*4WS=MmR{d}kLp;WJqJp+<3jKW5;S!l>Lc|bRbLIX8)NJ9kbrT)cww?s zsl*f2Fj~{aCqyNMD79heV!eXP@qiHIDjS8Vxojir%I1S+gV!~DTAJ3a>)Yg&W@dLi zuz~h!7hHh0xiVvXK)yZl10F6vmA%#{I8tC}h&t3*WNNa2&+;xnwDJbk%#Oc2!^Zx> z2EO~9B=2bzwmC9E1k9~q<1m}RX@HeeVp*&4`r1F^lcf8<|6PQ48ukNYwdTzdFM%c3 z|LhF@`>=OH&K(^2PsT3WOKpY(Z4rTU{YH2+>ImpTTpW zh76uA4_913JarXU6H40kQta@}7&ABmTALQ?9oMWqb|Gu88R}84N_o6b$9Dy3rWh%2 zWue%-&aKyQg^LEuLf1R#`&HWos?TRuu2!uo>D{Pc{rtAq?i=?HHka+FBd!ovgT@+| z5mydG;MWVDfD56rG7I2Bl(RRr!&>NH>KApUGPKKJ245g|kZK;Wdm0gbq$kEuVR8p< zFSMQY-XVTfW+{8gucAyo`NwB5O6B5SR|ftYXDlV)iaUY}3-^)qg-b8}2&y`VN`!<< zt3#5yz@wK7NNE+QG}$MMMWoaMX0Io5jpsI;oAO^$VFbiL??oW>zcmJLohLlLDWas(VMOTsgJqjKo$L? zcLRkcCM6k< zKu=5ZF=qwaUbXm9S70TqAu3A`%(`6Rd980=kT(5Fi;B3NT~i(vomA1?LVZ<}5zWBm z&Lm=AG-HYZ5!~N(ESofJ!HT|3%)kDy#MY0tlsYI``g%%K3V0znvUE7LY8xAXa z{{1;c+bK!Z$1Rw}&~{usD) zM+uRX|EaOx+@*fM_wPgbf4tgP`j6BOSVS<`KIFX8mup`Ts~ux4eZ{|VwsM5WVBo^I z%;c)=4_8I#(-TAq2}%DWpyWY(mHSh*KDVbA2^%VDNZr>X{$;;Bt zJyRJ7Sa%^#oJ5O8*tt0kgz5_QDxX1bz4BoZBeQLj@ySG?jeeXCbL%6iGLaIdDr9*U zzepvp07!=xt_uu!L7d9E6QpjW3pthWE;y#Fh1i*V@P@RnNJkV;f7O4!>-lC8jhGMh zI1N3D_CpwmJodZ}Rp~ny=Z>ZhabhpMuWgGzTY5J<$0NPi%ujS)i^)EuPLkHI0xXD{ zjkTL!!%UtX24`knEcuGmU**mdRjG2xKh5X(6q1J5XuB*+*n3~VOBh~N6)}|)l9NkN zI;-v5jqrzJ8-wKA&yD%`VEDc=mR2)tXJX%*ae3WmSdL0>iy^^RV!$Go`7kF+m^S*H z7QQ&F5DU^Of_EpSdXcg{RovA0F-uQ4hse=`Pb`-}((8<<)WE(Bla&As&2&k@3fAV* zo=MK;q(+6B1rN0^xJcylsFc3a%IHmTEAiopm^wz48pREwav5r_!MzjZK&VJfg;7)! z>@g7`8qwXwzE1l+=u}FW@Y+47Rg?j5%ZgR*P*P24&~wO==nHmH69*|+IBxv(hRo)c zK&b%%hX_jBi=(#N+a<#y2j~~bTwd|6mU~lg#{&&fmTATO3u8r2pQ=pX!E(>KHF@&% z&Kt$@DC4V^XY!+FAr7$yD+WRg)J?+n{tyIL)eNj2l71Ab3bXm#QrYSZ;sJ#;f|@YW-~oML8s$Wr{7v2`|Ye8a{q{1csy znN@ePcf>5@h6lVpFbH2RGoQ){+jD)gZZcZMM5N$9V2N+PO4QiB4sZB2DxR+)dGu@9 z0sekm&U7GTN%e;TU;p*WSM})PRY^u;n^%~06Iz(d?TA%3!R@fi^_r(~MMYx=W~O7> z9bM0I-5sF3SX6iQzZz)WKm#pk5a}ezcLv#rn^JyU0A`z=odQ=&)68DejLA`>Ao*6U z@wsw>td{Kat3m2hHcg=yi{uQx*wkM99KO}-7k)Sew5gng-%%n$PQPqGMctW*daq1a zIf=pP*9V#iPl8nXTNg`?dIVZ%fZiQU{rst?Dsqg0k(TFK*Nu}tRb<(<@p!Ul55K~$ z5jb#+Hc_DPX+Fi^B_hq`PTT{28auEr0+LqG!F^lHVH=RTLp|rg?u*0+I=zAikLq5h zM3)$7aDu!$5QaKEiGIH zMLL|bVOG_{s^@1!aWQ;_<|yOoKOabNCcHKaM6vKL1ci$$x~AUi$dIYiAJ^D&R%O+E z7OW;~7bOSv#=ooHi78$c#eAJC&1}o{^TiQYStYFF?RFbrC`90cJd-5X0*&m!(+d)2 zoQ3nqPhDQQ9c29^!t!lPGswI9UxsX;E%PO2rdx=vjG!5JF(2`1d}mnQJ=Iij#XDqn zhE-~~+c+ggzMvDs=!pr{U7OhVgRBy=$U3-27rKv0>bE6#jIJiE04fkkmfwDd4LvO_ zD&Ex;Y2E5@qLQKNtiWoYUK~qeLfjMA{ai&w*vc3G{PY+hmDUc7v4#pBJ^WJpb z*{#=<0F9_oM&3_Pipxd6$3Q|%i<2v1Pw5KRy<~e%aO23M3AGp)^I0Otm@f|H)Y%X? zul2U;%Jk3m;Kuihk)as#M}5_iR1e{PgO-$y9_~m>GD&;yu)!o;J2+1x|WovoK)lVT$R?u;-$MjxH{aJ_EZ@npPj0s6ZaJ zkmn6$x@R(Ck$nm26T?kz1#|~EEPQu-b|&!KDs+cAB6!j}gDUOyCC3YoF~hYVINChS zkAM1|JKafIsaxrUuwX#H3P~K)`rg#~w{loV;krrj zAKTwpOV9e_xLPkA!}HPbyK45(YK!qY9}&R$>hV<2e8QecY4j_&;m0v4X&DVhkl8Y$ zFNeW7^5%=HUq@UgZXY170#uT(wl{IL+bo z%maUvmZ?5($l%@nM~OJo2m#0k-&v_IIInr7$|OhdnB6+c`(>OB&v@hQ!PUv2Z#9W; z3k1D7Pvumh#FhP@r^!wsXZIh7a*jUV$_mx+(S;iIpx&jVxR~*L50-7`yxAit!O;WP zYP^9-N=e-L`L>b+M$#WqY10tulv($;wU|`gQT9&GCMEAmNc^s>@i`boY2l7X+XWzE zJnkQKQLKI~YQGsGILH@u$`U`st|;@~RAQ7D87!V-y_5`rSz79UGR=ziaDHW5t=!@g z2EACj6r_4m=r<#a5X9`gA?m~O-fzm6B?(@9=Iob=YuZ!J{Oh9U;=DTi1T+jRO?Sf* z6DH2i2d39uQ;`8d*HkCWoLU(kX>MIF%V(W=rj0i+841cM=*;aN9>EC_Z;A95rh4aQ z4H#&Aclp7l`f;MfO}o>j#csvhV|`Q|x1{q+8+q~-X~Z%Y12Rge)_1y3t%y~U z6U0Sq_?BdeKH1H@%AraR6bF%OSDWNSgvriwCbF8&^e4ZFw8|MT*(bBm-39X0ifOHY zh4{ULbCBCBptaSw1LWa8Edv~K1Pb3#AC2ZJWhEHbHOLz9&g}0CL?+!CsTk(&lAXS! z=d0e5z2XcjrYIl+KksBw%ACHcnnmh#*|lgkG~pmM-G)7G0|H2!=zJFizM8ejGdkIT zTH@4=$v|M$A0uKe@J}Ugn3Ooe`L`FBX#b~YHubbmV!Ybz13ic&bHngF@RAE~Sm*p> zfv(e_^7q;Q4iW!R=<|>K*`Wm@g66+E_kcnJT;o3R^iTKwyQ|`$tHNMHfOz(O4IvLR zW~LX0Uq?#mM*K-CZ0O1)oe)zVR-RSG0n@_zf~;wqdU5WWJxb7azUP&YYrNGeYrF6J z&_(&V!%#FaxO!{-(#~d)SdnojX8)16$U@jhKKid@u~q}^$|D{eq?BmItUAfhEpCVQ zSLCv@Tf_;z+w|9EVAqH34^37;5|xQBE0B@hd>`+wR)qwD)IFFLg z=h__zc5dZBrU)@^ZNaf|3)$7n_k74~5rURkQ&Q~>63Y@BU0oFYI@Ifp%0A0@xvs$< z^Xqkn0_KYy>TJpfoY=Q0&YC>p?~@YFUno(W>32}CEzgRo!dj$Fy;h+L)Ln%^{e!N6 zn(0fmbUv1Wh=W^v$61}JJ_kdg9qvX}uNSp^PbS>$5WlU^msu@088bI7Ewv@pIDu<- zshj1lXi3ec_Ud}~^BS$Pp^~GpBQD%jC&5ZTC59+Dw;-!X9vzHI#0q@LU+%p)($4

    yP}!2XLbIrRl>WZ( zZIldRi3#0h;Wc+}t8!{RSv&ydp8vJa{;k|Sg>QO39ldHH{Q=#z1=(@KNH3oZMxAZ_ zRz=0>7w&aR=2j7S)PmkU@nomIF75|drC+G20a&SJfDXNe(a$B)kLDT_5G4L{Twz+n z)J7eag}fYhK$fsu^C<%G5iz?{Zc1^lXEZ&m>(sL#a~|3zV)~Zbr)?2Mj~3e}EG)61 zHo9(VQpx_*5H4m4`L+hW+U3xfib(IT?OU<-_8smzv1Y{yS!q%#)W8(PjzxLvwcN*aQ)&5|te)>R}UB$OIxRxX@&+y{U{CjE;LicuDuwKQ} zXu=e?kJSmE+fdYv1`nL#zbXP{`RNf;8`hsXa=upo^xU5D{=4U<{~r!iiS_{d17n$V zGd8#U@caKh-98R){u9a{!_+!;i)(v8VzP%qjcapNkl~~+c^o!FK{pDGWjMaSwPj3S zuP^_RFcv4CRqOqIhG?JmNn1j$ zog2D|33RFPdkUoE;Hyh&ZkuhG?tl?VOr@llEnr~F-cn25WogMo;_jN+mLd&3!5*W& zv})}Lf7;@&6;U`rBodQkp^qy{&7)6X8GH}M%M5D=S63u~2hi#V#GG^dA4k58 zISM>YX#IB5)o4Sr-NVFH=fP2f-kgl2fU;fN&0G8;7V1hSD>)7>Cwf%-Ls9hXSjfF1 zcDMUR$D$)s(jSTrzci5J9{m1r!O^$aW%wQ>rI7r6=Bxh3b3vJ0p@BXgSErs_fO;$tN**U6OFPyshvtTsW?*AE z#p2F}*7lS76yWEmF|8M026fl3RP=#9hfD2Ejx{racItCz${_!FPR+8v z{kJ!ZIylY?^C^Gl-bd6r8B1q?)wgyX%{>a!JG23P!C-ENzRJh;DB-_T^4}Ey?;|}o zJAc;e=VVK`rX+IRXzQS&ue236Lsy*g?%32RH~ITu=V06TIQJh>%KSZpU|B`LsOZn4 zauCUK2FT)#>U<_=uF$`{0KQ(uUs|6k$PAM~h>U_h?RZCJ&`2RwQ&q0(p};C%L514|A)1*h!XZ_fxEsuWG@ zQvMS&zfsxRTVK>^IorTCO`_G=Nu1>gi1mfv2Ofc|0Eb*WiiFmU+^q_i`2m{<`m*4l zHW7aC?bSp5$H5BQt85;nRXK_&UwdAUJ>tQ7B-@E6rJbPK2ZGZlTt3(`%ClW)u@zfE z7g<&IF928~V;1GXmPJ-!pJF9;v0PSRo_D+x&R##U_hAzcC>nZaANZ^V$=#dP)&0~i zudqN!cev9{wavm>&$$cbi8EB0`{ms!S=y^MhP7^g%>T**olDgz;u^ELS#&#-RQ2@x zjSiwYF(vKZ+-9yy>5g)jG9afa*-+KdmNRK{8r#vnRsJkgLTtLRMPj%u0~yg zhbuCtk!6@o-FfxF{M!%Ch%Xg0(h{s{FR5QR$RA3Jqxi&0VCQgM4{C^!E>T==B)ei2 zgUx8SzewVw#(KD*dS#m{J>z>0WRvRQ0%I$x?`1sqlvcLJQ!?^0=b>b$@C&1tb8_w> zQ@3f)eA_0H~#&!-Efy zub*c~m7Y>m^n|h^NOj{2_J#^xEn@X09qTgBQ(=9_MG1X%nlt%5G6QAHmmJ;KsU2g= z2|gMhplEqgPLZm+AZwC>E-Fk>uD8L=qSoE%ju{fMYnTx|t3BW!G;G|=zd-d#)l2Z5 zM74%ZYJdnm$c^ov1sOJ1Th!KYsc3Sj=2G2u@-_UUJD7{h@vk@!ON2IvA^k}IE8iAt zrZc7bLf!dF%djA#crKE>EvlKbPq*ajxF6_~w4}s<09y(;RVJj{^-Y)YCFoG|QX~Mi zkrE)327!PPoHFPm*P;3nAk|g-<-5Nv<~0{AU2IvH6)?%rKR-*@9SGL|{p_=$Z=5at z$5=~;m+k9wQk(5Sw)##{%btx+1Mfe9!SG(u$Sq)HH~#}%P&Hsh>HiwX$LI(|%X=T- z$xSE4azbVCJ1FpYbzlo^;Jb@Fr7(O?-+jFNtXDV_I7(pn_R0Oe zmM8KRR>1efL0=qA^PLHj+y$)B7ke{s=}=v&gN0#IXC1 zsdrk?G|4(CXYcFbi=Li)f8yt#9{`l~KT43poumu^mNBFBnCl;%Ly{RMC+E6O_-`gq zJGt#vjLHH0m1kM2JvcQlMei7H@FR=hv&darYm3T@Jas{!;J~ZgwOa!(<*^7`?Q6u2 zO;&lk&g6J>-eS@4X&!#F6H9B;wP$+ccgt*eR&=j_I36*!a9dh@kWn!vpxln}rM6mD zxZ>!i;nRmN>*~(yTUjq}&2QR@n#u62iQ(>bM=L&G9PF%qdhLfDLdVkRt`7D1u;%Re z$1N4O)vvgW0Da5pEo^kfgYevD9`UClCrU0!$Z;(A%WJ)@G_T5(-i~6>2%jkuhLj z%bh-o^9*Vvi$8tBApcgHOU~!cG!sdCG9{a;RD*bn!4ch$cQPk?s>=X;ospGG{OvcN zq*lGcN-P$D3!GWLn#W$_Lc0dksojJ+5o;ngwXcF(kjGIK z@tWS^d!>?24ZhT#j4<(w3DO@Npsx>qmV{^|Ih=mwC{k8A9q1v*TdO@~K#~RX8)iFm zrUo?;N3|;y7adP$Hh0qQ@s`GRjCx?rZWlekMzL!&<#$^O^OZ{A_vdLPZPh=%pyjT2 zR7*(~S+Gzzx#e003ycW6-pv*Ks1k=%h{o6EVj-%xWmTIjbZ*HqzB`A=raR*sd#xp0 zo==`UxMOtB3)U4-yRla(=>%O~2wNL_DBFlwLB7FzzAyH>dfe^_IAY=%Et^ekSM^O; zAc?10w>HKsu}N0R?XmyW1XtdXGClqwa(1!< zkEotU6+=c_kcY|B(zR?bKIgg*fh>jM#B0R9N19#{tCY2-KAerRQ?ul}57oX|!g=eP zQ~UOdQp-U4!SxX=I##VkUN7t+Hr&?ImBhcvy-aKX1~@2c$cM=6Sv_7@)BTyvxU@4K z?i;CTvN|dKR;Ann8v_=>Ht60!6o;2FAIrvO@(^1go^|*A%?=y&_(av)Z?*G$f*3Bm z47ytfR9Y3}tR3>h1D7bTE}MnYrY#FlD}boT4ih}h7WJO=CJ|%#H_~bQ++`ReYKF^X z?_!3_Lw7gUZ&bdL8wfq!{5xL?1kzZ4u8E$S;)l~}Z4xzUm4UNk;RoRLOk$>SAMure z8qeWD%VA61!rOuQJ5s?%0#@pHg!aBiBc3|$uyOuNX8L=0pfvVb5Lp_ z=oLCowha!JvfgeO`^hs9bWMX!Nt%nZ*+1H^Osr2K0CDrHSqogfd8bQ?zk&j6Q85v- zwoQ=aFmhLs^(Jp-AYOGHAO@WPinZ(I&|#<^j@U2sGdE7Mo!KTxvJ|-yE1r{cxNFn8wK~%#ra`F%J!1>~ zc@Wg^+y6&}@e1HN9g_+kl$r&q*`(EXDSsj;2t*n!QFl3L24GA-v0iZI?48bJ1O$x@ z8jORVG_?uiNSRyeVwxAC&xS*2TdU*EVXE-eF}Q%{PFwg~>~%?|KVn}~AK+7|{GvLV z1LEpx7kOTw(>?aYw|ZK2dy0#{BJ|%yGUZnxH_LY^rc{2m!yk(3jVD0Abn=I8t6Eg5 z%x}e~3Al{%vZ2I#y<7r*J?dLXyy}HEqI|ehIU1!fOUK+Qmzze2O|}wV_&|pnY^#^6 zpu@ATeh<1BDHEaFy5+EvR2CRHVUvczfajezgBgrJke1NI#Vow(8N}- z52Th&dOvfx`12n9fzOSgi%nnyW1L&c)k5LiPtPIKp3(4W{{g_qnL_F~Vmi;>rc~p4 zttvC8#Fs>+GqjLT=#8gww~R5jwAy3_yGL(#yX}>#-kMf)Pdu4t93vXFqqfQ< zUm8T!T27imwh>*dmz0>z!2duI9bBRET{GBl<6IL3^MMIZjt& zb1+E|Jzqvz(eynTh%m3Ana&nFtL7-1Op=LQ4jXgke5i&7my~6TH2iWAC-&v6Zveuk zNdVWOHZE8rLS~a|s;_tDEL1Av?caJs0IX9eqiKl=Ny7)9JVBI{gouf|Q6pXPR(cju z8}$zx_>pX1kRw5>e|G^U^+!|kJpBC-(n;M{4a7Q&CIUi(!6j6`i2d9<)?l!*^R9~o z{fD^f{_oLT5PCHFuua-g4=7`aE6OP!_^zYAMyWoPF|XV>Ir7!~^2C=}-(z=W23X#g zwk#8BW>*O+p9c%bb9vx|yU- zCIs<%`dg;k$m$vc7vE}@Pj}Z1Cb5ts)wA>bi&!bCgZ9luy=Eq4l))Yhj&I z;-!s=d{q0_=t)H^>^-q*F!`XXUTp@Oki66sL4G&OCsnv@-pnMTF@qW65JCBwVSd6F zXPC@tz~(hi3TkpJWQAsTf7^~PIy99$*=DrjoCu(x$$3?;U=OadKUIsp=oQzc<;<{R zytQ$@*?xxYiFj2LxXftQUW~M|EiH@Oj=~=7*>gKC@j6~Aaz3N6pZ&OUW4E_~7`;dy zyP;?kmAVNmlu7Li#CYcvLP_6>O84GSe~bA@iLzP^n21LMinP9Ft~)}F0n^VRiOP&_ zqs3i2J4yj7;}j9_&(`P4Py9#TD*?gc6M!QCP-$&k&E76FPS6Uz2?uZ>%v$kH!&_lK zK4<$pr&@aN zE`FE=@Odz^Uar6S4-mg)TN~!$q@>vsjA(=xJn(~9Tl_Lxdm5?9S{AiUYl|NtF+ng5 zBeNGi>5HlPZfEm=mM-mBpB<9OVA=ZCG2Cr?DdFU|j`N?}ld{|3g=1+<9hKJJZEdx@EqVZo{1aafp-Pto?;pNY!0lmK9XmQsb-!xcGEVEnd~xpQJr}T<@sb5x8S$fJVwqzB^+Ro^MZH z4c*F87w)NgN;>Mnp;s0QIX%Je-tBx?#jM=u)FLkoQj{|q2MLS1kKB1! zxiQHzAMEix7Vp%f?l>duGE&3+-Jv~pn!C=pew81-kbdO>#e(9zSKr4*(yW~F-uDmG zF3T0;LcyOUdeusJWB~+1wI!?pUX^~{Q_`E&?}@;~Nh{~suNtHTxt;*-O7Fv*nA&f! zO2%Yb=mb~sedW$yi^Q$glW&JEa_{*&Wc9YKlbZXhiAaxKO(gba6i zY369BC2=PrH>K6H(5@)Y8iXmV)HAmacc*SE>@esQDY{N)umBoR#Jz2wnHfvIU^A!Ijc$Pe-cV-)YT+mONC2ayHLjEii@Rm#SFE~=IfJ**~z`?mWW@V&Tq zlW#SN9$}ps+C}e5-Ba2OyqGspa&^D)Zx@FX|~u`8MFDkL@4Z1sFkA06vB#l!8)sMq3BBb zPyWQ2CWVTn(W3Be@oBOsoG7rRvH~ypno%=#RL_Rm)YH^F8Rm7(tzrNEcBwi`saBlU zR{!{yl0f0k4g>Qcd6iIgPh1Tv$a`~Swq-ztijiYW6T?~p>=gkJ06r;UtIPg-tUL1( zI%K_9frv4)+h6PRM+6HPhQtA_NuUoyLCECr5s(y|B9%AdItv8jW1uHbdx(@?)8^h{Q-kn5xpF7$q=m-+M}nzz z1BxvL-ULQCF%TaEye%$z;x|)2HG4ZWJ}C(T@K^poT)vaH5mo2u5${Y}_Nsx3*jdBf z|9|iK|2vARZ77K|aDjkQ*QO1J-wOCcMyPbVGl=G!*=Y>I;qZw-87vD}ngEu=0(I-{ z1|!)s2nZ9@%5Pi7gi`>PA$Hz%FaFfQ${$Pot zOq(}2szd+uOM}p=_*a3*`K*8S6q3UC^FYt~q*_>7D11^KyTqJrk-+w(zNNxLe*7U_ zQ>SrSyB61FLti|M4x<$S-x;ju!S~ewAD}T1G`=kIH}b2US0kAZpcWR6{edU|c21T3 zD$H_nasbS(1@^f}v{U4T>Xx|eN~yAL!r)7G{i|!@w=;BkR?Lk0QYPdQz8rT!?LR8X3q#`bI-);tWq!i7USpZZSV+`mc&XPmuSV@ z`u<{le<5s;H$X?;-D^JAW}vpz*suX2a}FnSEKp5i+`TsE*zd_ zYCs73s~%r<=|gvLhmx9Y148!0PcnH|XOxV?$E@Mo3Gzk8coW`t!Q6N0_FtW)B0(*^UhP#k`4rx&ucswvnD9TZu~ex1&T7lo zVrGzFcDi+HW+L3M%30Yo@@!R7Ri?%#Z*9gzJ6T$}4f3*Z?e%roq&;VF{Zgcf1iY;D zc=!d?KHjCvL}actGW2%3JESRiNim?a&#CE{_qCwVqfHWpT)- z2PEyfX7T}$UeEFR`Ci>$ zSrvh)7VA6Fd+c;SeH|hQ`P<9mSxz^XT7BtXerLbrZFCBO0JK%8y7h?wN46<{RKaEE zykbr$>E*z?-6tN;2`$KY2jSl9#M>`Sh|SmsqhB#=rWArg<<4LVJCm4s)5dtJ_#Mx8 z(@~RE4U0WyVg#)?wuiN`>8nE%1PpwU5NaLK%OBuYq^R)3ok!Gd!zAC(ktR)?sk~bf zgIf2~xVc$VtEreN&@Ue5c@VEU?lT){|Ig#YvpZhoPia2K| z&YduJ5V|s2oTar+!rU>KDJ>{@p4#xGpcF^n-Mc2nXni;iu#9?Xv zF6I-v^mGNG$gw|)y0%AI#~Y%#ru}q=oO%pah%KbV7`lzNUQyOZ27VLTSDGpd&6A7 zRk*o4AZ(@?iUbk~&mN{w!~clJ=2zww8Zd;7EGlbub(sX{1Ai{OJFQH3o4!Nyf%~FG z;dJ7_EO06IttNUkZJGdPNerq1Q=w+7%Cr@aiEVJx(sl(oXQy*!jy-1w7eSz`1-38) zk*hHZ|F65NiTdBq0-(BxIfwc{zjUHG=V|ZPKR01(`o;%=Hj97A34b%dzuwcC7tujy zDAkb#YF2dFe(zyqoK*9#yQX*khSwm>C$0N0m6Yx%-)P~soe9-!#FLrih8iyD-pWg( zU-g8_n5A;M47ncD8ft&E)9eb9*5jaz)0Wa+!!hO&qIu>}4T4tR$Rx+$o`PVpAdT(V z@F-i}8@J{ROGxau#g~Qs8JwbE@6JpFA@+HS}Lmeo`0r)ph{zHxp?Y)?`BnC}^MF z=43DObst7nst%%tuP1xtlQH_m8D2Ty@$$8v+qd$p-%Jy^D@>tRiY9_Dj^K$U@&Vn; zcMXpNmz@hXrj^LfQ0OV)%u;#J!T8%E+9QU;evB!L?5isi<0J3k7~CTz)ziTI;(7&1 zF=_Y(+W=Ry#}dzE+ho5*yG#v?P<4y7(qp0E^`*2v+zRdeCFX&T0VRXKH?f-{J&!&( zn#&b`mNlzI>Uv$U+nL+Ly1R=Utp&e<8JWh;!{QxUq?C)^fLk}M;@5pIzI&tD5n!$+ z=pa-hYNpdKCKNloH_wf3P+~S4CLANlH6%t5yjS0XM?S;e6?#4OOo~A`McQZSs0@7L z{1$2r3*jdXefo5^I9P*_N5}`Kn5)Ha7iqT@#L@U8vgJGmd5I9m+1?EZK`$F_B`Wt2 zQ)c-}L4;6~@IC{F*Ik-{T6lW#nH?@dQf_36<*b-jMZ4sQ)a*HFH?)j zqPO}893*~t49>3NoNQL5lzG~kdI#=2Hk*$aHDme>hVWu`o&-oX`(bX6Gxm8e!q>P& z@Y~-+QA61O$Jl!ZHMw?eyipWXnu^lPRs=+P??gpKrHM%IJ)s(q(1S{qs(@4>3IZy< z_aHS=Ly;OF(!~%0L=qqb&f_<;_kQ2`zBA|i!(`+vewUO3*%(Z}Iafqf z?O04siVpl)r_fDl98J(skP@grL@4!5DRZGey003nrnG7Aot%c(eNa6&uQ?eP4kd|b zYE|=4c-s)P<|IOR&9(~9^7StgoX%;wei-zpXT;0V9p$FSEQqJG&8+xGnR(Hsj90p} zZgsX|Z2%%7DESrw==-K=?&YoI_xl)3X=YLcMMh{ab)ooG$P+4s9ylP%|fU|6jEO4$F#og|q;|DApPpO3l>+w+fD z8~(JBRzd4RwRqsQco0WxNa}OaqyY3^X^9CR5nvh?(^2z#S2X3nbatZ#;@8u2!yqyx zj+hAlyl+!+qttrh6@_QII&RL6VzCj4@6Wrt`c=0=N$)P(IE~c4_}${%zPDAi_$u2C z|Bb#!(d&@bEOVxPz>r_l^xfl(x^WI=IyvL%74ADM&*C=rr_G|KMbe_zluC0zpu-=i zKu|A##U*@`n{3TGG|AG_4=cwuqf~!>rzIHYP@?sTnP7KxC(t|MucHWrj)1|S0e#`Z z`WJ$$KsN7(0m8KeGjwJqRqFsDFDIXWS7N4eHRuC#{VZF&CBE=BIJFX;etuL**aQTc z(2ZIn^G*SzhmC8eIR^D{D1}+Ee3s|N%NYS|2Br0G96p^Vh)J@zYn}J{Vn(w^S1ko~ z`bz?H6mQ6lWdsV_6<+WL`G`=n+xs#tzF?Rg3SDeqg>RiqIlbO*(_gdY81=g$K*m09 znJ;NzXi@kC?jU#ICGezKFBAQ&yV7m1Ix*iXUef=&tpjP9Bf&+vwhNnka6N#L82<9u7#1W~5WJ)*a4DMC&4( z#E=2==Pv&0%6P*gHR=Z}I%o7Wkq7iIYO1-U_8}=f>fUi*>OMKszLI-d9C4DnJG*^| z>cGi92`R;6h)QL0i;z$o*n@e*&8+FDvJv?#V*IL`Om|e_8?ZqOy2#%1Te7pS{gYXH z>NI%%&VbJB#%@m}h$8ZrQYem05L&oNl%%*_bk`Y7M+HpSFmudt0MdS@v09 zzE}JXV@{IodgzT+g1qVkrHtl9tv%v$ANlbO_CxKqra>{mgPRK+&(`e8LcbxhZ3 zgShwC687-%8*55h$(P#R2_u_lLQ#JKraRI^r?Agx^TqPzly)7(=**$n-}gQ?DkQD%KRk=t*@!!{lXoiT9qfQP=rDq zMraq-e3ZK|ai`QnQ$Vwk%q{7aXgbda{Zyk`anTAs6k*zQv@4UIk>Ga+0UhjCMLQYe zR_tCUHFv{YMLn8ZV_@+z(HLsT;r!ZU6v6zh$^!9%_wsV^moS40#ce(`)*}B+d}TMW zdULnbB*}iy&j=^8qo(QYox{^`dDC}$GJ4!MLk0G8=E80Dk5=$$00ahL{MDNE=}gyc zV+4Us@PlFepBC`>p+DLX%G$jBzcLS`MF$|d|#R@x4R)4?Tf4x9grw;YL>CL~3iSyct>+4XD*@g=MS5SqR(qLDKK(F$4rgi*6+#}QIABSt)vSj&EtZ`dt`!i?(fC)U`U%lh7kZq0ra1xj z<<6t%;KH>|U;CdGu8PZFReU;{fZg$~I{~Plep-RsFW?@IhM&cv?Ou_3YV!rq$iW4( z^vWT^lz}c9;T$$IrLeQ}5Z`8|uZs@k?)za7UZOh+RjkIBnhBG9`Uh8YFh!=TegYLg zTr@FD$-RA$Zu*2u0SAUEzK{r^D%&a64RD#<#G8F|e;ODz$KA)d>|E>MQleA;4IO_r z7eOn$W}Cp9yniA-a&c$pW@PZ9d?jx5`asCars zcwjbnnO><2twnWpE!=EV6>Y~b-)`b|EsJC)c-b^9 z8XD)|mFcv81ux$$PnfSpcYDjAN4Qk^L3iZJOb7&x+U)78U=hWHcqrQjNv?iuiXiHl zBK&Yp^L6vHem2|NI3w&BuN6i25${#xjnk8C6s>uPlRy+EkBH?Y`p)msB2zaTe}&Yj zGkAe{G@Y5-q_$#l&6$$j8(X33s8a*o3ZtKX?>T^zUcECt914_myB>;Dnr(qLKC;_a z$SfNebq(y^8-FG#iJA2g%; z&gMyH^=3{4exhEjm9asw(QL+lX%UynDaG(M)2b=Ml~`O>9@^rPt;|7Rw%O(VV1hj{ zG_$eeJ6hk@pd@wGBx4ByBR5)dP3f;4H7jt9M$P4 zZ1_j)ftJ`Zsi=0GsIcmX$LJC!BBeOp4+N^;WNFLS?NS)Z0AQd*$?S;;9NQ+6=<4Tq zoYWopEwIj2@o>|D_(O}Vi1K+lSD8d321H>)?s>8y#5E9-yi7W<7>x&Kwzq%?rZuKk z#DqBz!3d!CzX*u70Uqv&GV5SME$DFxXWG5LKj{G_g8%x&V3(?W*YyAJ7qXSS(_R6q z@;b%mqI4)cx!}kWJYwa7i@SWUDv^}>!8w>)#X}bX>I^SHc<}MyJ>@KKSIDvl5 zXWGGkU2a_J^biR@d;$+^P&McVuTMFHlC6J62d_Hv#gz<3$u+#rj6~7YIhL)b#x{%v zDp^P(t-)FeT*=(~qI=F1OSsjh1dt5@dwwjn2C z4k9D(rd=+>U1qj+PmkVzHVXR?Mg*VlIUtAH&&CdDzRBh($s7_N_N|LaQws#|@>D%@ zZ_$Wz_zJ71|9YBu(!{vS>d#6I@d&56Ldu68)??ZPWp?ZJ>9JyxPO(#=jkjrCKhXK2d-D#U<8=gJJBsXW%86{lCzfhyv$A zX*}E7eSSxkG@aHE8RO;-9(&np)D`*$ zKkh6I#G}n78nUT;Wz0PrSG|k9>Fno%-o8&=y|t$=nA9ENlAE5XVjcE<$!eY*yOd)X zTd`W&r!4GirkS2O;}B`79bceek|kObUbei=Pi3aW!hIcNt@Ub;j*Fp~P&e1G1F zEKQlWtDJhfMv1n+7H%?+lBuT@VgoY~$Ge`K&Kyhr-fbsu5T8mWl#T_ojtx!M)(jpOj>6 zlaf`ePGt05&_G6&&CEMdUA|cEYWQ#-wGI+}5vV=tQwo7nxwreMr{6v>#Ux+m`!msq z0LcC?)3$T(52z208Ug-`xJH6iOW10rD}Pn|m;sm%^mNW|Qsa!mKSmV(oS&=>e-|P# z`R@Q32m#hl|FEF`tJL`CDd=klbpIR)0#D%wF*6;7k>}N?CW_UGA>*AMe~;mLZnk68Qh-IM*Od>IMfI83%k=GCy8{myK*PH{ z>K}4f%QSr9s)xE`N4#eKM$7~~U$51Z&sS8`_Gtq_O2w|J$^~QN;SVB3R>t_@&&qR@ z!@8?-958IF&>MCG#knXBJys(Y+oaXF40vpf^Dj~jT}4u!IW&uQI>XB*v*CVcG)I;H zgv510DlfS-r+#vh)>JztmLv(Bnl?d12uKPWg+V@=sf1{9crcbLnZ@$FW4LY!{)!H9 za6E0yBc(1Hd|xmQoIW6M>+EB*Y#%iP`_{a<8&l$60#RuUhnX!>U)a(vrg z$V^r^p^_k-mjC%hmu3?En>-CMa}{U7p1-EN^GaU_MZsHjHDx|7+mVPoe7);tHv zoTnWPL%_*SCQJnLTQ)BCfm!oU8()oJHNX4&BzzMQr!e;xauxc;zA&f^)q;15ItrF5 z9fd0Qp&Ez3F^5_hkl~R-P`iy(XajT!}9;8!h;;Rm5&floYgngYtFS zSdL)xo2Eesv$T%0FIw9#@*AVO?<*{TS&{EPdI2Tj-}H5XeS~ue`^!^<9VSuuOW-Bc z2lMhm#q+lh2_w(455I=tMjP(3nacazg-kc?uV#yE>NN}hEg6UJ-?xSQJH+_AhWT%O z=@PpAFIftZ6&nzZAotTt+|GXc49G65-@x79_>pIizD;@Rr8BgJ--3hvMFT(>+eZUV z$YBi0PYE`1^6S_nWeAv+8+e1On^Mx(kgiIxcb>x4GNwKWlk06YrlN~57y^+`5_X{W+9|* zog*`R^RfpJJt?2eS8zR!@PwI^=<+eB0q5U*s`zf)i8beGWjfuVHyv5Ba|a_lse@vH z784@m)1LZ~3Q?FV!ICR@Wbf9>t;(DRli?Xt(%sl7QBVd&wmt|obgex+TR`22e44Yfd>=h(9YgySt4kI&zy7i*cWB+wq)e%#l*OubtJ6Y9Hm!X0jyrZg*GqsbE9`z*&u>b#AHt-09Cpls7~k2M3oJ zZD{rCa?L~&IzHxCaNOwmLd#!p#|-1Fd$UY>@wq);BTl>R3}(iMp@c7yUSlf6F>(W) zXH(28Q1=!QQVBXeMyglkH@VOsG-6Gd+?|7LKXxnhOQDMM7Ao!P`5xY~a*v~Bhp`$w zJ^Tn`V{e!ve{OEI?cY!8L?n|$XYP+x%S>3Smi~-BY@G6fVV)q4?=5-Fh(re6ao_6V z7maU*Fy%)+lh4;~guKa+CQhsPI5xZGN|Bf$@@5f-_K8SA>PF_lYkY==(qvtRfvq%&9oKBi zUxQ<)Y0U*g3vD*Fg4*S?GsssHh#5~qIU47?h@bKpNxKy`{gW=6-W;v1>4*M5d*gD% z1>Qr(rqg!2_nDPsf~kYw(PofIU;z~N*@P50ho9!A6aq&pD#+lUAEK*>e-cxkuhn^I zr03}TtpEX^|D%ifKL;Fugjiku4+~wy`Nh*uSK3Pf1;y-T5wN zZr`&Ye*}4z0iBYI4s>fpngF5zR^Z2a7vYEv+pBQ~=FRW08_tz_8TSr-WbX~n7|IH7 zUHb`q{PU<+v1apX*U9?1 z`*r?OAUoJsJp5!>5wXacb)#Jf913KMHN)ux+vMFEp`V$s_PD%+b`@`_tkZc4;;Xls z9|(oGsu^}H=e?0nbnBhCW%Lqko4L_{OPZsA8ZX*ql93qDmOTD;=~L#02wa0p@K6)& zFEbRUQjsl@_r^o3#DL%Ef};&R($$*bGjWG)=s`{N3FqttTE4(yCi9-xnTKhW-}T$SJnr*%bWQD+ zCKfVGvW72q?IHO~te$_^L&B-^d;O;~FOut)`Bxw4~;s zpvGn2qJZ*cztWxuGR|%7ywmz~b}yC#9Bn5?5m#+}9p_=pnH5@5_%Wu>FhY#5PMxi+ zp9!g@k)`1L($jM*e=TQE^e2m!u@m=q_iWALEs2? zf1b5GvfS#UW9LC*5XYVkb>q9L7UID7U}e9X6DF10X1t!F7Ip&LG`m)(Re(FY)jgC- z6A)8z0t6hoihw{svMu(7^%pSmB2mUP)U97UQ|B^8N&xQn`UHz}pp}3WO zh%k^hu?i*dfxhNu<%ru@*5ErwMOSM~R#+lLi!jkC7?BO`1-su))>}k(zNB_350i~M z&$yKp{gbQh@@#b341N?DFMMyxVQTwXR7_g_{WhU&?Wf3Kb0+>Bl2?Ef_g3d#x?R}G zbNw9UaOmsp8Z>3*0ST`L&(k!BXlrmT8aKVM58Yj|dvT@t3~O?MgT;)K`?;L1l;3JL zm97RkKtPiJv_0tSdvC(%Z?;1vMVeWdRB<(wbtphY5@U(*1JiP^2+2L}&HFlK;l=xN zm-hY0uKtyu)!%Hr7Vczj&Cz)GK+Z$?p8Y z>-8x6Lw0h>Ebj!Jc`DkgZLnx2t-#an<1c zc!Y@*cZ#xPP=3p;{M~S88I4kQ9?f*P9K(rb?ESnePSSno2Q?DRV|xxc5c*1@=G)}c zal$o0XWn~=VERsEXh-7n2~`z1`F zqqt!e@=$e@QBdyEi!Vtb|BWY7f@T*dl>nX0Ud#v9W3UZ#zKP|EA$BEzXv*0J$ z6t3xHbC#Qm1tLb4jTJcycV{NE&o-OKG@8|uWTcsx`6ss=_yzMT_5w5u;5<OyqT@9@CkIaH?m=bw z@^FgoRLV9aWm0gK^4^07#4?(W+|j!gfBV+#9S1H`@$6e0y(BVEt#syNt#9NrcujPY zEz&n`y(GJalMUzWF|9=%7^p=-D|yXoR3!%$j67wq`2P=X7VOpQ|FX?<+zd0j(VwN?D*#p%eq_Zw6Tg^p~^bUS7F6@up}w3AqH?o6@dyU!5DMYjKkC zv{v>+W?O=u&wu6T+!Ni4W}l@Wt{U4hD7WCNo8y$nRv$G6mD8a9%NE5VL!L5umw2!f z%_p-h)y!M-WWKPMsLB_{`({1}%B|GadLVylWM)|WvoO8a>HDFtOSJfXe_gjD-8y zOjwZwqqZTx3fo@1O&x1OhneR%w7wT?jD0-{jX>}TV6brKZ-+gGDCjzFvag7 zv1IG$-93fwq{B>m)aQlYpI18FI%0X&JS$BCRNBRr&Y1N2gcs~yk7rD~fGZwZW~YeO zh7@bs=f{ytuD*U1W*6U5GKGtziP_3Mz7K0dk|W0A_#b>x5>!v&7GUsbirXIj)Wa?2~|{HHZ9wC4PnK=i17kBcJSUpP(HLi;22xoujBGz zk^gD&SpTSLF`bl}fI+s`X46mdm$V{Wvz;GgbISLS+23oNOy)zrAAB6_892k0l)m)q zr>1-PiLmCtY3f|+?ndlN<5HW(ly>miUUpBe?H0gJ^MY?EEi_?kGl=mN=itIO4%tP_ z64O5+ul-2wrCDWXuSf#qd|%9Wd~0s$gFgiV=m(HcgV_XceWjcB-{kvabltR=kf@(M z2@2R-h;B=H^mlMoO!}#V{{Q6G{-0&T|7t6SiJtjbbM)xpNswKkb5WdB&EWg*J4U$v zm+zi6HG~O78f~8Slv#S36(;}bn)_K#USle{lB-&&))Id1@UY`5=)GJ;N@{ec9_Z_8 z&#Nb^{KqNwrKnS&fVzGo0+$ZI5CKG2?^w|66&ou;PU#p*L8JWZ7A6Vz@}DIiN<%~- zm+s5#Q9PxxSCeuOh>pXL2nUhX@K!wC z$LR`kTTokqKo+)+>N3T>>+$`aRppvxt^xSLT%QSN0C%v9^Vm+7^vewg^QpUAiqOUx z=flyjh8ZtnFIDE`O<$c>4hX%|tgXpX+`H^(FtT%TP$J(hlsmfeQJo@lI9EiWl7+5W zl1oPPS*f_X94E5}p{bUtE_3lWgU==CI>+6X|0JKB(1k*i?LU_=0=2Z$?pD>y(-BXK z$IzOSB^K)ljcJ=G^BIWZL-$+K6;E@=^LvG-a;LOQ`lU18JU$pz)?w$fXzuWv2q*Nv zo+fXIWl1P|C1(o9dlriI2%*nRZsutuw>oj87?gB+kxDDrS8$A#59fzIf_dqdMbJ~PbN7vs#?>d3g$qkHdd)6PB-S`Y9EfBODHFqYT5h1f{~p?C{3%1$ z{?%`1Rwdt(hEDd7$}Qu+Vba17?k9R0iH)(a0j+rlanMt(%`HZW!TRk#hkSyv#RqwjhKD&e)J8AH+QLPyRJB4Mu$)C+(iX}T$J?jVdCKrIjGlD{-{vmb*4}9 zhz{RtT>M3|Yn=LIN$=>tg0iJOjXRrCXF8EZ3spQGVI_1F7G7^PBk@MIp4lz^R}&R` zvR?>3&phODBkFIXpi^q%HJ;#*X&<$fTX;wo`%zLEkHas&;HW6^ndanMl`fNN);xA< zUZ3)yaY%We!J#SdhPTYvV$6Yei=@&VC`i*xY4-lCmjzQzV7I27Zf6a#f++7j@+}xK z=V_uww)85ys|6eH-){QN8JASxBEw)tw!)60N}z2Fl;&H-L>l=1ZtZ~(U1k`(X+ocL zlhFivXG7fHSP$H8u$yd&v% z^nYr^-*bxdw_^l!Q9^W+zzRRGVxA^ahVz@m{P+{1>#uSBKL!^l+knLphRWK5>+@St zN_3!A7OS%$$idkSW3WkEb8SlQ!rA@HrmRm=3IyxY`|Lpyw+zG?42xR7wZZ*Pz~y^$a9Br@3~9|D1*rAepUk zBHgB(ZbINMU<=h`^}lk4y#;DSw!Xt>F6);~Js|BqiwNs2Ttd?979WbVQlUqdM~%~t zT3BrjGvT~f=hlPxJ%nte_;hpfX1ndW#t!N+x%8k7Tg@{dv$;CWmZ@3>20FDlgkR^u z?`+qN0|#s_ZnhH9U{_x`RZXQ@Hn!T!OXheXeWE?s1Vb^}X#zY-?>oYsOR+T_Jw4!gV z7NE7szR?x8e}6}8K$;V}*E_}2t~<8ArdZWsx59BRCDgoT`!{@f#{Bb@e4YVU2_%GO z$C5V=J@28H@04Ia7dsVnh42@|VA0G)fYkcvyK{PN8ZJCgY^Zgi;ge$x)3}kxx4szS z7bkRITyDjg)6j=mT6)AKNvv3_wsiX$Bgs5S(!)K?bCn$Uz+A7_tM2@A*jB?qy^zc+ z8266dPucRS^W-B5?!eKeuKhG_>3WX4YJ59RqTr#oHV>BACV7D2fYxaqwn6n)X(>iV z0lai$Svvksvi)cE_tWI|nbeKjA84@(R|Wb%PI)gY<;h4T@{)DfeQLxD0#nxRHn2Yt z=_6Bn6J2mi-2G&irm5T&c${Z$5B!&-t}|zkY1PVih#a@;q>7ZgJt4-O@~KAMq(ebJ zN%<(tKE7vP1^U;(}If+J&`hj2a+{>Oui4udTwV1Y$ zE9NqdX}Y#~BI4!Hv&_LCwRFhYtFd%mtmIH>(C<080#1?cQi3^_56cT2hI%XAVV+}p zIJOK&BRB{RZf{mUyN&OxH=7p^`M0J|ItLFuO}IgS{8z%tVa|xF?MB1g7w0y{wY33+ z-_c^!+ZB@vm3rF*G~gGU_*JuzR#D0q7ui!9G+0L5t$Yd_J0QP2P6RzKXlx3z$P(HcnT{zE_hJ~8>9UyMmVhnoody2}u@)wYxb7`27VaL>l@TO{x?zm@M`?a$q& zKb6n6)KND>1qyW}F&Fj+l|gAcPKW*eDFgU*l71ZSlZ^VkYc2LBj}LG^dU$LjNo$y; zPJyHIM~hPYAW#dSjPY&9lw)`KY&{Q8&&6!qq3{u4sSlk6Xo8^UfJ+8RZS-FlQp3Fz z)K0Wh=3U%u2FuoJ5`!k2VUyP2IHRK6ZZOsLm`?wl@-{&}<=<1Cy%P>K)sYJ(Y)N4& zQYS##=^Lq}#!k~I+KZeR#P;IDpu*VGpqoOR{^zPAb3)WDtBt-{I;!mlxcp?eQJOgj z^~UO}gZ&RuSJYfxN=Zd17SPnR>qNz(YjDHMXI6L%UAvtO)omb&=(bbJtC_Db*(Zo z{jKi#My~6jMO=cMGEqy1ANRJEDfFpbVv#SzzK0i0cpp62Nl43S2!nMpIqE50<+H8< zkL02tCeO=`d&!x#FV@_V)e?AoxEI{Lo{-{F0MWg!pzRRaoZiijb?(?q-uWPUbte0z zifC%~z-=S_`J{XCkmV1ePG}JZ(q?o^UhVZ2?PkOI+JYudN$=~sFj%=cX36!#TPLGM zw#Llop!GE2ivBOa-`_xUZQ%qut4B+Owb#h0O<40X%IkL@41 z4eOt{M3Cbjdzr>#B+PUZ%6w)C%2Cau!yi>!kWt@A%l8lz({*nwD1b!U1#{gMi>)_^ zJz+k_dD78cX~*ZB@A${kPZtK%MshnpMn(>ye60$}=U5AC<#gBfTGM)9(_5YDJJETe zpSU?3MF!n9({Yjso)&RTbtkBCn77?N&E_wrCPw%br@G@)nO=N2mmrTLt%-eTG1K3- z0GF!GyUNFo?*uVN2M+L7j|0io-+E;_YJrVh;GierW&Zh1FT6q3^V4GwgG?D14Qf2@ zk*&}E#>$yp_vTyCfnR^`frS5`f25&62tZ)X)em`Y- zt&J5f^Np#Yj%8<`8|^&3*X=whq{8OhgNh|C&siyU4pS~&@KN8ayXTDSoOOZDjunv4 zq!l``Gqo4cOh0MK5+YUDnG;u9mVzFC7pr$4ZMkd{&PLz9!+-wzK)jV)Z0i%0i9yTk z!_2CU4Ed}RtP;}*+GVt77zQ4Cm^%FqvZ`9))cP$H{o*dM)3+{~*wmYh40ee-ZoJv= zSxP7z$8Y=AdF$bWex@qJA6RMKus=@raIhg~S$4P_YBWt(;tb?X%|qv`HbNg!{IY}H zsv75ZpJ{H+nhi|30#f-SYdyRDYHRD6iF$DXl)zBA1+`X3X4{_y9}FLl?{~L6;u&&u zY+@A4Hi=4VD+r{94zH7GV+7;eFsqbB{-fEZx1B07N=BdVByD7F2a{XZ3QM!)VZLlVYlGcT$u6Ou7%BFDYlOa(rEQEd9I` z{U0%S+I`vdBk`RPP+L)t>TU-aHvZ3q7Z~qIJ%6zD=^t4@HHTOppO^&iiyTYLZzm!_ zASR~gB0z5GU!VtfZatw7JsiLs`ZsL%m@e4TigDc#`3@0H7%L0EdPIF2jV}XV@H1aI==XKRvNqz9z~0yBtrYM+Weaeg|M(xq$V5Gg+0xPy z7*TI_qeA-wfHY{9_j_8)0qQ;0{xtE;CcG<*ykSm5|HCr*FZupk{DI<;qpN;b;3*#% z!HZ53U;zE5!Y_U|pnX>xfyi%(gzX@=c-pq{pyv$y0q5)I;A()Gy=txXxM{MLKbXAH z9?8hDH3p{P?Bux@CkWr`J~?Aya+CFiO3 zfYu%jKKrMG2NGf=)q?)&Rvh!91HliMsUo>Smq1%Pra%H4dCIc{dxFHdEx#L!v=InmzfK zqewL#1V;g(V57Hz#?|U(2JH95&NA58AN7Lq?TO>->DrGC`AN8S4g&BlzVD#;qERb* zUrfU1gffEi8ih~>qanI;T};B0kTi{ROM;g)ZdEGk6Z@Uce|RIVDKL?2IL+1N*O;7c zT-+7)t^bErl1WKJ86`T9I`(CZgzp`a>%RYb-toggQ;}yB>|&{D$njmqt7})NRqPXq zQ$salsR=Jb6g6a7aBn8-v6x9uZcOqUaZb|A5n_5hTR|w{&6cL9W&4-A46c}KJj;@b zg>C^N-3od7{Y-iZF%(*0oqxs6w?;*fl))QyftoB)?JQht{u`Ec+Ew+;MM>p5lMSnP ziy`t^k*0?cyRT&`V_p#~ej@i0rKC<(mKNJ1u2^G^WnvgjnX>ky;ID%Fp?R-g)!NH$ zh)<-hNwW7^91LK~)nY1_@y?a?S@BAloJdz#f$@5kv)ql5PpV+YWA7t6uT{6E2fr2z z36!+iiaSf+{h~w5*H<s!G!Z9UY2>x6+UDh{&X4t<8FiU!8K<0(^~n|uOA!yic~dr2 z2O$jXvmGrXq^U3Sh{zXl?gWqGH=(xgyj?5nX^1fCn_S$rGhQbOFT{o3jx(#OiAvXy zu(T@90#M;;E3IRW0u!zCX%yY++!@Olj_~b(`0W7oZPflxZE#j-*dIA}h}zAAVKgY9 zZ0UTrk;29-v^fp-t;J3CpyOrQo};iqj${crV)A)2B}kDue|1om)S=&(cW=~}HL zF#G;zWRM8rSJ8at96$oWBPmBaRkWo0xuImP_(RrW5&d@=2LexX)ch4`)PYR7fE6+C zuSYa8ShA5uR@)-ix6zr}1YRa@Os9-WNJ%a2^h+7w_6598eC_M&7C)wA5HF_^+gJ@W z_q)mnfBk(e|BCQ`Kf?V_X|0eT=Q;#1ruKW=z9Ns-k2A}pq=;z2B=wyZ3I_)euYpeF z)1f2^w0XFh0}qk+eUA=R0MyatfMaS{H^KUtJxPPiIlo(mME{`xg93nr`%zz|xo2#e z)M?B~X}U?^+MXo?KGogy2J#GkYsmjdP@VSMXs;7|7*4D({`WGwSkFZ#@^@_avpPa2 z#Lc25oB2V*M1K&d6_pbkMqV@ta(TmmH1%<0EtPH^ids={#c2m`ctZvkctJk~Vrhe( zr4AzN^=lhM7ag56uk|fsAg?|>lbOjEE#rtJIL51wc&KzI0KIN&bzO+vd zE3Qb7r3&+M@_Al}yzp}3)w&|91v?P+)N$Bfm)F7MfQ;N7(mEu_S;N38<(!^TS z8f{3G?N$x5)|8%*1VdKK%5!b1@r*!>+Wb821D5_^uH`JeO4`FWCZ66MJfBiID6hVGrT^TL=u|imPyEvE%h|egd0UmRBF@l<)6Ny2 zf-FpTIF-xH3<}pQT9zhN%7QwrG&(}^+KWFX(>*eq>bsI8d~#?I99b%A=JWEblwQ4^ z=#354{f2x`$axR*u}=~Ey`t7S^!Xvo_Tk@?+ZoL>YYM-2((E}⩔*TV(`y8(bi$F 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%0Ask?faqx(TCg&o z#6zTjDx}rzZrp$sgckD^SY_pnJBn`h%{J#QQ$eO0v}L!eC?1O> zHHB4I6X=^D7K*k!Cw|@x&|cc(ITT zw{av*%46=@EH)o{c8wE?8%HWV=him~rTgH3p*rCt@E13nb?C@alMD+&Ir5o(N0||$ zv2%qO#|R#2T=CUlp92rMpf7pmEJ_8B8)!Q%F>2n9QrlNsJN&v<^!Ba`=l6xXoW9{U z^(*kGO`oZOq2F|}>=sO#uv@vd=M}BEE3Mx~r0xS7fLcyy*2ZbY3IW*K0?OIP4YN)o zlDm7Gw$A-Ut|6W}JqwS7w+!JcC zSkT)J$?xHm^Ec?q&TIEo^w|hHUNmefIh$bzau;aNyRa#`CoyybzAe8^sK;};5uRfD1i&U#a@sbX{u`3M>PX!F_9I;v(4;1&z3B?DN=f_ zLY`nJ0s5Q}h21BN3ntUnW|APG3sj5tqL8B2G9H(;L5npVg>ttezq+E!8ubL9+A+u- z+Hs2_%$#6LgU6&5=6Q#BDXmWAB%;ocUzS56ljU-Y%ZBxeHdK8a5^#1L&N`<$s+~Q@ z(UH*i7i5W6GLOBKJ)iGSj$3e+X?Iu zj=G%5GyWcQNwQKMEvPK8kaHwwbPe(Jwg-(;eq2S)-ZspkDs1vOLrz7(n~26Gq)$%t z#ix*6M!_aG2BDd>mqC-T;Wq1~MV&f=UaJpn{E%o~!eyq3xHUdP)7%U+cH_(vt-Ct~ zpl^K-kE81Az$+3F#hSxxrG~aB?=r>$K+HYT)A?+;(Et7YFd#>?tul*I)YM=9TN>%- z|JXfCh(M7ivnM~Qk#GD#i*WT+Z)`Znc_`Duh}q5{H(KZLBg#HH2$s;JaMS_DGL2Q% zUmpI#XZ_a=^Ke;v`w$*xt2dg~2uSs5m&1qBRAQH|v4s~!H@t%mad;T#okx=kHQdDm zQL#neBq_l+mC$rJ`%Ve?CX+0qqSJ_*i=5fWqCX7pmU0Ro?J3rlqH;yAkh%k!Qh8wILOyk|Y_iVQ zSG`)kx0f8RFzgtgy@gDlAkar^wB>onh(PUUso>o#nWf-ydA0+MrHh(p*?EABlFi1f z@g`&lfA-1P-UoXfp+_HDpK+-4}E#a){)cHwlXrV zSA4@t6MO%*F{T#`xh)~xAXi371z@_;cCEpzqaE;2H+hkjaa1V2%^Uv;6v&}EZzP(lr$;~>u9n0sJNberZ(wvkzJ-KtP zCGB_VLv9)nqF5&Hwe=WFysC$i2E$!oIcwI%w)tSsK=`3h9w3+n3x`&<))tT=W0EXruQX4k-?7euH#BfUwLo~A%gL~OuRaYa56|6RG29633sSJVP|ms6M5i% z{-4L)uaL*bfnBF`ELGJ-&!5)-@$=TXO?QNhq>{}^$dw#OiJFKYb|kj;;|e)2+OMiz zWfF;>nO?~XZu;%**E>rFW#U-+M;nQ-diVD5e%BU0e3TOvZFs;rGxW7TQgk|ibdm|Y zZ16|8l=tO1%vbmG5QV#E3{q59clD({mA8kyVr90!w5sKp9iVEMUIJ|A?ck5%!RQXP zfy3p!%NO-Vb@B0Tngi9WUE^?8uoFXPuhZ*cE>piau46X?kNRkDI^wxmuie<_)y95B z2fN^>k>_xAjbw0Q^8*K#Q|}s&OZs^ATa>3RAQt(jOz}|{ zg>3KDA2$Znrvk4}-Id|kZJX8U@vEtEzDq-zn~~R`8Z8~hudNp1dtes^%Px=Hst;i` zQm3@Acldw4pVKluI1LZ*ZZJ*n>TC+w$D-~Hj_QtzoX{AHajfpyGKO!9qANCgPPMUR z))ziS3jE&G%k)E0QR9Lz^&D$1=yJ ze^ti~Gfmmz!Y#~Fxq$LtB_Zw&Wu<#6u)eZ9T8Ifp!-u}AX*0O|_RUdub#^t2vvGFP znrW?0zw6r(j?W~uS4xuS&mToOHN2#6mj;54f(5J+wgv&Bi@x@WJv**}v(YV2gGY;X z292emp47@`1s_S2|3dPflJlou5g;ct7vaLtiw+3@xV zksG)2?C9>A^xshZi}aopf_ zFmk5N92(^$zT0Dqn8pvKrnPgLf`u-q`8$a#c{#lV7%8pxiuyn5nLAkZH6ArHtbqde z)z&?aP3&@p4x@Z6oV8nS0?Zf-kte$bVi*BKg;(#?uz}Vl_JQf_x_8pWddk6SKDg9` zxmxQf>b;Cf+jSfqP7Q*83ED1r(Dd$`jT1*#ToTQqy}AJ@jwg@orx_El{iWkpee9x9p%XR+U#52Q}*f1LK0*l(Mi7{SVR1&viOWrq=|8 zaL_cb9)Tpuh)nHXTG&MtE2x1BQF* zf2jtQzKF0K(`#Jg3T0FTNvf?98E1MvIu@5DoPxksgC(cJgVnwf{P8Bh2QiwbO~LPb zW$&^fR&SQOaJyTD6Q9;gwN;JK)4xHLITF*#7>!|RsL2ZN>NFiu@9syg{P9XbRSi`o zeceoXO=I+}h1ib>4zN;#FY8pI5)~XIkk0seN%lj?NPEiLv2b^2=OF*$Q${aribT9n za#C!seOkLS_pLaE{nFS{H%MdDGbC9Ho2;DIiox`3HRJBDP4ep^=?NX4SO?5Rr!Px| z_)#B(`Qnv6n4))SVS0@6ven5aQ0=fhBNk0)9#Hkx7?;kvGfwgFgf7v3QMxa?-ZS{a zOXVN-{Mho-fApUGgWkUv-;4gWGv(T02%^p*il>7+jZSHMo@YQF4Jm*a;lATZ*@sND>)p*)A}L!& zusDZ1c5%nOi$gh9{AzUO^N}gD?+(W9lm|+6208}j1H)O&Xy;b$y76Yb3-R9)lFhLCc&$oqtg zzdu9v^doUWpvOV=x+rit@RHVqPdVjAyTv7GWJExDZQcM`)H30ZWUY`j(`#>&AgDEE ziUzVx$-|Fp$|V2ra-9D+%KC+Dd+dPgCT;GU$>lj)yCt0=rs1`8MjnqN-Jpgrxce4sJ({t%h{*!_8jx}xRjZ^`sgN4lv%ze84U;9@xQslhGNhU z4iwGIf-Ukvfn{?jI8nqlcfu&V%eJ6D+*ATY#Wd&Zg--3%nECO`c9tDl*PHGRT(@$W z3RW0&@U$zyvX}}ss5`MDh>5{E_>qj~cJ#6V7k3#XB-_sx1mByyCrNNwZGYOH9c;D} zc&%*wj*I|A%Tu;hJj4lWfp|9}P_SpyQ%X)@Rb`mf-Xx{Zp; zQ1o<=5eT}()<3_74R}xAt6rNhLyvJhzc`IL*!N=96$dPY$=vh9Wo!KoZ zY%46|cMGcwQlRIOJh(KQZM2Qvg|7Wsar<6N;c8mumK4lNVtsQrO06yWo^R>mC3?Q) zd`SIR|BdI{@gvp0U0+wf zR@igkV}Kh;++5KE9`R6ABRH&L{%Jp1SaUSInyaebaoPO&_9m^|38rVeVe1qPCBhXt zDw2tOCiCmfmxR_;jZzk_Id#!JAIRl-E~&bER(unWUO(XZ(BR^CHQrE)%Ib$2h@J{8 zv6zkG5YX?abgV5BosgFq@EdKmeYROAqj7C`^W4+FYXOR6Swr}4E$Uh+vDExf=LsDC zCc{$8U9vH-Q{l(jFchO#q5Pb>hj6b_sFj@1}QGd|I8wa<$XHbOoUR59O@p_fsW(q(z zo+JuBsCKx_Uj%W)tEJj#1Ct-9g{*39bh&5aFDPQIF>zoJavU)&pu_!%3?lfEzH0xl zDQK;@?UHq+T5KVTDwpSV znALq(!H4W(Qvazk5_?p??=Q}}5WS6*SWj(^8opP{boa~@8YqSx#=pT$`ta<|!o|@~HzF}3MzBiE* z?N$$7&~V*n^qo3f{pT`{_~k#|b$>hmv44gBXGq8WThWN$>7K@p9;sBxtKn@;1p+ge z>7(fXvD5k`x^s3lr&e$?w(l#!|Bs%WxX(14hG2AnXb1dfOh8IpUs#5%3NSi(XJ2D}9n4YuPMdR@P3zg7`Y#BF>$ zZSqqM=+SV-8GVAzoKh;7IzB*&9pj0m=x!5zuwF(OZ?51KTG0Rn5@n7uy!!8TAqs5I1ePc}L#)%fW0i zh!=gA;0HC*wZbAgJZlyRpjXbku8ZrUXyAL6l85TMLw}8g`BP_g-!^*2=XnfYad=>P zEhhi{Wl8USb?&DjntDsaGo+(Ydat!%Cl{nb`*0Dc-l{1BsX3>&*?(^h4p6&|z3Zpx zz)A|P+1I)bp2v(>6K6zQaV~m$z z`v8=gcR%sm_Cq}d2S1>^s+vRma7DLg9-8THRnoJ{3e( z+12L|qu{r3{u+m@5s+(NY))Dve8BG->`N|Z(mdR*7_UlYhB2vP)H-GS{vBJ)+%zA! zakbHaWB@lEb1GR0Z@h>|%DDkPD_6aHkq|fXt0*~g9qw1&>@@kQyzk?&%2yPnuq7KV zE^W@3ixSU545IRfTB_Fi$f{FEXF2MW2PGNuJ-dit-=b~L(=ou8D0Xv^A4l2m+hr@n9IRBph_Ma5)~tb~7B@_wwmdUfR= zkp9=j7nOh6{lfd><34r!s!@=)fk%RWpLU18%bV|0t6#anCd%0-(4Fwc%`o;i9puwT~NH$efr}r^#(&C zR$@YT@0SIhv?O`={#=FJN9YrCR%#^ml};IttpH|IVv6!63gG5B-DEi;JN1+51juod zYYzdvS(Bex|Mcj*(Y~mF)_Gdn%e|0Cwa zboQ=k4n2(Li^3?6R7$@et*_YKU1ht=R2va}6OzuI+ZyfrPPKo_SXQkYN^}ZLQgxuG z(s1_CPGyQd1({zTlOE-2B{&bz%X70nUv+JVzHxLB%auBZW8a%)-Rz$6h(5;x%GThZ?(Yy{$i3TtR>E|t z9N##V9ihksK|L%VV3%jxbOYirYP<(@GRDmRP=4`Fjsx*dOKW}Xm9Le{?eVtUxsz&g z2(lHY8~sR7>P5--Hfo3G$@l@dhVFkfxW?bnUFoiNX~lWVUI^E9Nd#+VQ$2%c9DT@5 zt$=B#wndpKGpT*yKYtis>59t9oL2at0{6KaEGZgM*B5N7Nd7}iDY3_*O&D&ex2hgH zYAsETi0ysGBR#Ot6M9uJ83p`Hs3D=|aBw6^&V0lxRnaWA;D*4S0JRGiXf#?aYO|&a z(KE*L5H;mL&a-c}_V`6LlN3bUgE~n zT2Tv^Y%Ob=z8g_;`>DnH5v*S5inQMna$9|qSzYh{4@i-m|I$7BkN5Azeu8@%_fYxStpqPvUP z2mI#5#ZXC2wt$8B!+}ldb&)02ReyItBDUee2DBV!5Is zRJ3xxX6WDbpuQ*>$FiY>u^EMN`9qcnwxY(+;dzSJ$OfOxrL9Oew~korfbOx@hve$5 zl$>xjl$HGJ`G^(`^=W}h*7?F?ZyzPViAvv6*qBpdL@yy$fiWKykmi7=jPYcywqUhB zrC+s|&ZT+YTFcDV0{U#f$|nb{KESZ>$^oSnSqjW(KqM-EqwJ=qtW%=f$J$pL37@hS z%ndlNS=2AcO2DBXUJZ_kcKY&h3fCF!i5Do&QDyELaVr+nY;w=KAN_X>EY+7QjTyyv zi>I4&9fc-NgO4|Z=IEvkm2KK{@@g102U?&9txG2UDzjXCrMYpmlYNXM+tnh1kZ-%G z>RF(v_QrX85_<(a@u*l{p&{bP)cou(S2ki`Z(99Qj`j2AX?j^S*1WUN$ZJUjAzpwm z)8KQNZi2AVMDkP)_=METWOeWeT($L?sA`%hy@u+yr1mKBw5;#UPtKR^#_54;^qgY$ z3q5ZaFH*s)D*LXaHg8!b5i`6@gPE=_V}te8X(Xm&^Hm_!b z8R4W5+nUO^6R`$-*Ou*X-ix4lK-7;63{;W;tHVTrh}FZ?2j<_qSNgM;J}>QtS6U~W z8#Yjwpf6?^wLxxXV)Lnv_t~kvX3qHt2Zf9JCLEe)AMfIj=1#lVVfpADkd$zf$HDG1+{9M9~HDe2T%li_2^u5(8g)+G9gW=<&tkh3=C_g=u)w$uTG8ExP0vsb%w5}}&1N>Z?Y_fI5vuQkQse4fEto74PE>LfyTHJw{4^IeE zs{d<<>vkXcB-mlD>~H$xr|&A~{@Vcff7?BiL``B-q%(-V6L_Z{7;aszvqvqw7q@rB zh{1zT9mz~VDLS^eW1~TOgBBinrbV!tL(Rr*9r#O@aPE&@TEtSjp)X83A>?k%HiNbU zVQg~A#vW8m(z`=8W1L0NgrOUe#aVu!1LhXBeK0L%U(MVtud&9@{MV6d0Q)7 zyOY``fG9aa;MFijqd&Z-HNG9GJD(aZjTB2!~njDTJP5L-^>G&+VW#Q(}}r( z$@u2k0Uyfu`4;X>1f?*v7*CdzLsIK2)#<@wc&mhiVj56Yl8g+cF2^!B>=*Zf34?al zWIWmaF@cNbHqhMs&Bki2j=3uxxj#RlCp?^G6=j*xtgMk0p~}d0S&r(cw}k=s9GWem zz1>FsGn+>}rczTsF6J=v-0uu@*``RW7HrJ)1RE%cFtYbs8@J)UBP!K?tl%O3dm1#Q zc}~L!CW?_#h%Iy)jnbH4a}&A;*Uo7+O1CaMA@u?);AO7_=rK&jmq#palUb5?))t+X z+LzGvJ_3X5_e=F{)phA~_Q0kdYPQ-LNBWaPj1jPO_fJ-4|LMvc3G``LddI#HQ?=|j zS`1U$GoJZ7$oL5f{-4JnS0E>;wl1S1-w29F=HU>m;eF%^f6zmPcjvW@fUul+Z#`=G$61*QLoc4w~q~QciYa-S6=`%Xv~LS z5I6fKrCqFKSb)bH^L7)s%HL3hqP48I(1&~l?zNQ8Fv)-?7s;m0*D0X|kVtzaF20~xfk|oYGKOBj~Vs(!=s}c>DLA}gD#?Un*cN?#QP$;d7i*xSFqu6y( z$dd*Em6$YIOiUDPv0D2~QZSYiDbEDpsn!XmP3&y|C6hjqq}r zj;vxMbUwE#C@qS~1jyRyClwd89{Faml$_%E?nGoZHEur|-?qPTEVP1m9a-eCp##tw zoyD6+iw8&Bt|{p~vtJo6P?U7^+v(%E>FPDzO{wiA<-3OghXEoa<)Gi~SQC^iU2>dh z=Vh~7D}SX8_(q1`zx9QjecpdV-DGi49g66hAMU+Aopw~kWyXX!u+r9SR5UdPKNc+c z*vo^fwR^f!w#P8dG>XOO3uI1-_wALSg=;?uPy>H~Cu_XrWdv%Wk;1lh)U7i@rp@-$c&G%qs;<`wC4fm~!h! z>sRYZ6Z6ge99#yszVZM(dsr?cdAX&*<>i<>Bf_`8DRaxrris96z^*TJ4*icRP+?9! zzf08rQCZ%4xCB`>ozXIEUY4TgJ_`j*ZRS;{!x(N%yw6rA%+rd|Bu?(WMK19q>@F_a zatO+gG<+IELLv<#tfb@KS!{Q@BTZ&<7VeHcUke=Tk?Q00=Cx!gI!(+b&RRxk;%`Ry zRn-ZE?1|@p_u`#8|9D@cjb*dDWFe&Y-bi=#%5FY$r?bA;BD=kDn`+p&)*SmG9RQ;| z(v^n2kPX{Sodtma0%Oen&3Dal2kKo;iCwepjg(HQ1#efmRxRI5CsQ&eiqjG)ruLK; z8yD3+K1KIY9ro##uzsLP_qHK}iiv5|Z8bu~z+X8t{A!`!nhqAo-BK!cSQ33F)XfW5 zX@Ys)@MjLOgz5~}Ms*%!)1xsr>o%o_YQc4V`=bm*m=x_u5;#ienU{x7j;ccjT`hGY zeA{&GK*iq6UaL6~-m9JNHpOD8GmXq3&L+c-wjnYB4pGa00E-L$G|ZSUkN4uuKwDj0 zaomL?&A-SC#Fy5C!8cnuKrOa0sNC;fAH-b8<#3H;x2WrtIA+eC=HUFv68GP* z{zCidf8OK%K6OY!?C2BY*#WBtT*J`3-E1fEpnRc=EJt^)Zkb?^z6n*gcVRSB%sDS< z7549Ibj>Wb^k`k0)BVDj_`Tc zb64CsBPI02v*e|)<9PIK8{f|l3zE59a~6c56T7_X^7bTVFYD821TnxnqB1rKB5l9* z!-AQ(^rrR1bsyZl7kFP`wZt{-`Y-R!6mrJbd~(OGOYe0Ux;p|+Govi)y->e@k4T+G zWu7*LzwAr87`P#mUxOm3ESV(W2X>zuUG2@i94wI+bkw)_O_*sIwPFrj>u^i7<(gzU zYMoPnV)fI8#q+9ai`u3DVjnyE%F_%62unKmC_eFTYA?hb*i$W_Q^&csC4SKh!{>2A0} z3ayQOK2i@aKqvr5sa%fe?kd{cVp1j#S&4d$pkcypMsFjvN)^gsmK|M$XW5QQgtY8? z1drDvGoZ^@CAlPz=Hi?aE8t~P_iB)jWAF0jnOrY3c2{awA2Vk^A>+YU-*C{`uP!2FF zbc~y@aGA30B7(g-6OEeL%7^W3doAOiDSdK6>xCzn6$&{`gzmTicxnqCuKm@bvE5@U zY>!QMY${xlxfj>M3A6z1%^)Lxyw$iyC4bbb0M}|4^rKE)IxEk%CZM`oJWr;TywPY0SNpevsxDE zt_VNKlHm11B&f~>$Vj2AYi_v{Eas~k50j((!K+~OP<|ojVslwhy_d3-_(begxgz9B z$TzcRZ66$r_N78j!8T60fkvJv16}^Sh6N&lFzT)-zj~_=?Y}?lv#KeWiwqT79v6MI zWQ_Ne_pkXhE*6v{d{{a7b^=3WNZe+W6OwnOV<5tqP76d}A@@wtnK&1Vudl~wkPY^Bo1F(+=1PQ`?)cxKE^-XEty6YoP^Q#@h_TK*(&dHdH3qHT>LyGv$7N60nNGK<9V>nd@J!s5*?S02^c zmn~bSN}0`c!~A5Gb2~nnX2GW_`##p7j7TM}pO#%5-bL}Z#dz1682m{sxGw9OJd{Q! zwFUQOsFzTB;GeVdv(B_-Mk&TguKf04M;KhA_BG;5PytHyF8qU=%Zq3@J)gfy4F&FL*J}%pp0JlQ9!6T z!R1Xw;BK!3fNi=^uq3}|bf^-oLyCewsrAvNninMJ|2j>OMP@;A(AmQ09W(&VrX{^p zd}PVZcPT@K)r(SlM`;OUnc-tBtb1I&+0k0fiI?}RA<+)FL7G(>?B&^3TbX%NgBc7R zpTLI9L^S$ywB&IAQW>eSPPS(uXY#*)A^D>Tr{h2WbfW&h2+3)4i$g1m4>J?FSiilLQKNNB zU>8_QMG8xH+5LBr%bc3;N-jGM2pSOiSUGQ%qJ>xwgTmDU9p19$Bo{rDKm7H`fKStC z9?JerqM>>gk|J+tJZ34v`Bit4Vt+(|dGZ?<KFA2H@_EFM7C2sWV{NsElf)6U&tV& zT@1#3QN}+3wS?I&yKW`czMIWPVaXkRXSq|SyO-DWhGYQ{vn0bhL0VVt+g#O1H(5LN zb8TT5vn`>L=w$s-=hWpj)pL!z-vk!-sPr6t!CQq&YzCm88ksc5(FC6>K7gB7lncx= zYxJp550&TN>`9!Z3g5~~6Coqbmp$yRWD2m!ZT0#+XbKXVN&h4}u)G%HT?*jM{Q1|z z$00AozsiwjPoY&lmo-35zgANKE-m_w62m&z9dW%{=bz2W?Phmtbq3yZn-=8A zP741E3*cF}pGjbjqIzWfTuL?^>29rYPQ7r3f=Hp-^63IguGIAY118c)wvRAstyA~3(oA=x~t|12yobc1=d(0@t|G1ba%GO3Co8__ zb!TJbcXNB$|H01ocjoff;XjdkpO|NZwO6!QS*I|NjIY{)%;{z<&D+MJk-Usrm)cZT z(d;-8kAvGJxvR1#R2hoWK16$bOW5*>{3LFo7KsP;I+pE-O8NS6Ak*mRUrrCfZxVC6{6%maU;qPwo> zjr>}I%V6`~3AA-|R#O<1_S|Fq=wa;-7Prr>GSxxIbIzd3&K;&osm8e?>EftW+cRD6 zsRMVjtes;oGg8!$6*abTj_w+2vwPr_AKS39mTfZ&kxK@bIFDg5xY7Hfbz2M!$>BwB zPNAwKfy-1f9}Lh>+&j?Udx`-nufZ2O~YO5)zwhiaT@3=J2;~ zQybkw$*RFbryG@S!L^A$Z)ogtNtr0_KAUGo(9{oAJkrL}*^(xDvQbNYp1l=~Ij(xH zxMjml1V0sc z6aqakCSM8@>L%0jdTJ&+NMp1Z@8;PE%;#p=AoPa@8@fg(agAS(HJ#P{3K`;xew;w!YeRcqFX`97NHEm#bi3rQr_f`up42g$=UJEZMs!N^qf z%K3>Hy?&dhxw56&UH(yLQu9`DaRYQ1x^f7fkgIua!b;>u7#{v>=Wgo`LXNP%i5qT8 zkWaKBGHVHDrk4A5OdU5|`my8kUga6PnV`Z9oSlcva>w^hd6MqGQGUdK;Q0PB^uMqF z7s@YbhQzW?d4a8%OWnI2+4z%|-C^n4l~wm%$1MYm!21j>cDJG-cPb64y{nToM4aZ@ zr6HZ1pVW(-V@GP@*XYn?uH&VChQO!D9T@MEpz>4!69gnO9o89@PpV3|DT!E3l9+k1 zuNh=@5?=sdEvs($YhC4fHGe(w(EnL%`<^%agWp;8sXeZ6{>(Ew`-7L$xMhJ^Z)7Wu z4&r3Z7A_;e9ZAPLt=iH|hk(D^&ct0*=Lt zOH@lsT(j-1ry@STPfabk;7PBMbW>ZSrC`-TlpKX1fH-c)^Cmo_jrukqI6C#k9&(lR(7QFH{b_vjD)sy`fT zxQSD;o7K#Yedb-WCYo&==K?OnCK3QkJ>%i%=4v%#hk+xHV~=uMUjg;(Z*HlmXZtuK zPi<+XtA$vo0wy!~yUU!3=C9Y|o*jnLZ||5^$-A*ig$6xT`|TqCfb$kc$EA`MSThQ7 zExlv8?!S+G;Mq#B?}^qGX}s1qF?iAXBH%% z7C##5^S%*M?)ZCY;J^YN*|+vPz;_5NSCOZs-DT=PBz$*VH^b*rWv8ErHDyb!{^>`mU8-AFB-a2QNk* zrIwfo|2OF12cEfPA!@uga7Rw77`mJ@k_n+EC%f-V3*BD(rXj*?CR{8F?HPX{0U#BV zO;^GvxqQ|$tstI)g>hKW1iZL7-5H+<-$V6@i! zAENKlXwnAB)3M)6`F$SqS+ur3%%3}N(P``OTX$GT?AJPLMcPDrHS{CLG^eRueXwS3 zFR$MecOy@{OkP5_v0m(D594P7u94oZ1J3TPXTed5MlN_cuD#lKtLmPzV>V`-;4ydY zd$~#|BMaDjKQ|07Xtaq3QAS?zpAe!1Ot!0dqIy8{FxA9i@JVN!2>-)+&3uK$aJTcg zFt!|uv6%%fV^hBS4`6?-;xe?x0*S7a1vWOih{IIMm-k!z%&aZ_U>&4tNJ;!=W&Z;3 zQ36a1(sCT-XT-;mXy&bntYs`bIp^|}_GZ+y6(qQtB;F=afT>HZ{d!24)fP@gdF%sa z>9x&`h7YH9z_KauaTXNZL_Ng@MF&lKszEdij-7MdIh_% zVe{-U!^DoL%|8EUGJbhOhqOv{ERnd?hz3mKW~MvGejeBMcqkDih}e>JVG5Ln$+$6_ zZNPO6rfe3H==2+5Kwdc)*O~a8?z``)B5DMLY2lzR&~J8it12dGj|Mo)uKqr0XyR4A zO5;&Uf6uT7z({|fH)BU@b2y?YIA*5_Mju&QUI>N&i8G=1S=zkl{OJ-5X`(f||FWVt zt2()w6hVk2&Ir?)=WGrfl|(+Jt1k`jq2`_N_WRS5LzC~H6RY0;+rZENe;D|oip5x) z-bY0AMO1N8Pmw6B!HMC~RfnBcu(7f7dlZ4XC9DnUri{}}eOHX4rQ>tGc7_iE4||JR zi<(oK5|Db-i++anPP%2p-r?)x;&#X%D*ZmlUMwmsUE;Jg{nWGI?|XZXcEYZyuj5g} ziA;R-@@0;KW7U?tgH{lf-I&tDq54BtlRep+;gOf+3K)(wd-BEL0#lB^a>oAm)2}U} zJai3ME;oLQO~orBW+Kd}*yd8-VBXc%WcWyhfn4H;Bx_=Kk?&G_eKZ%| zCvMtFuqvL*-HrErs8ICOR^{<+=Yo%p_bCMRKsJstcsnW?>wK}T8uG50UHTR8Og(Lo zd{-}mPp6pT@6oqty1KyK$h$N!=e$1OBEwKy_hB!jI0E{&$VOW5jwN`4I^Z5FMTvz$ z)1>;PsO5o?l~a}WUe%2T%}*xb{AWq0Ed%ek{!UCr-WO3B>ut|RO_dv-g=qZ+`;R;A zi5k5!Q~4cwkAT~M&J9T1&3!lWdoE7Y>HPa&?~XO`ktr)JdtYXIY$#oB9>nh3N+4Bv zA=fyqwPm%SiK{7Q~ssDPT9Udlzsi3LgF7NF%H~CkTt{@r~ z99>B{Vn-)KN2Btyof8DrJCqc}BXDjhf-NEO7fV9#YR{xbwPIMN#>(Ek+(S?Kh(zkR z;k(*3(R{Si%FM`7*^+{cBeNs=*l3e;_3>N|_}beOu1;J*^;;rK2Ky2#BwpaL%uCT}sW~!ZsmIq(Y0^h#eZMd{42}~% zIf!>C9Ea_r@qc~ce}EbMx7zmT=0BcB^DHq^1+u2pRC8|f^DG42tf*stAd3<{Pi~9b zsEJe=>6r%cpvOKsInWUu>L#2E!i?|xfa~o?qqSEWxLD1P4AGWg=<`FQzl-93L1ANl5l=zJ;#={wVUXtrq9BWUfU;(0Uf7TJ7j zAe?@0sCX0!wZXD0wpG=cj@|*R?wIpX9CJ;hXIJ(Ns86wOO7SVquV0_Pbdvt?4zuo@ zb|Wl;&&N{L(>kel-Nie&;(Du0PI|1pD{4c1rbcm?m^3Z7`k2wmmhU^n2YRucL$}e& z5;wU`L$%oL*F7x!{JySia;pD5%_4Vy2hsMjUJYPAxA%Y-xYJn?mQ(r1)Y?FtvZu@R zHXpP$cv|8tfdh`SEbfiQkoU!eXs!l%Ro>`_hpG`1N$_=^aAYby(3+g-{Cfk-7zQf~ z{;p(7iQZ)XCu{qzZQ`4OVh6Hm@RmX2p!Uf7oeanShZNp4DBBPf@_ckolL^ct%a^6S2WM|aXJ z(jb--J$2=Zg0!$I)}JH68TIEwkLn>z_B$q0`*fP(9g)~k%k{i+V%9ygV~>U_`O!jX2;k=`ykTeF+Vppcxvb;oNKF}|ln z|82b|NWwlzE%fi4|A6}PzjZUu{}Xwu$-4wIujhGbu%EFS?sXf;HS#_bQndb+9wY;u z6{myZUCm4Fph?>DorwdB>66bd#R{BtGsnoUzBr;l(8rcCLY%muH(jq~tA~HBy^%+j zMNr48V}v|2`f+TW?w1=Vr)>W|zkLgD1-Hu>Sj?#<4%|Kb=6$ejqdlxkR6(1zrY|(J zL7mq+oB;LY6Kc7fbaP?5F8VGEvT3oGKR>zY`{f>YUmrOeGQ#p+PaL|aU|utLve5|h zBs@0ab`>@E1BCmZu|6wk+T|dHRq}089HuJTz5=Mu^D8d^0xhg_6WCBL1NSFvm&{WJ z)GU+Vg>kB6SMBvJHY6n{U(mBeKS~Bdw~V%;BJ5>eXNmd#b~@jVGR?)PmL1D^L-M2C zX7@GfW%eqP+U_371~>PTR0_F2)C1lC6m!+;1<;DPq|8{KuxPEQjpfi1*}$+&WmeGr zS!>~8{p&fp)=azF4Ego?wgacf&2PK~T#ROD1pj=L zyXIu;N+{1nR@z_hQ;!1wVa%!-ogq^JE6tb8-JhVGi^ z?mam+JvDzU1#zmi1Y@lv4C}I16oZbxTEv{P`_s440^$A{W7}TLNo%@!k8VeBfuIdy z_T>AJ4ti%Jw)g0`<784eMwcc;O^rG1p80#f_)Eoq-3sFT$7Jiz@aL)H^-PYX4_f|5 zhf2jv@9jMq@izV03uJlQAJPnDxHA||GPi>qqZGr}oTk5DuE2Vg{Kl`mJUL(I<|7aR zn>JH^sHX5FyvZ`@KsGIuA+^8%Sxp$k?3AkF<#csKq3n^u{!@2U^P>-Ac;;X6olhy6 zxAp_iA#r8rk{HUP97C_~(K2Y=vtd>z!Ana=Ilw$s5oNa=yBp;a{z_6;8g48GxkS&&Tuq|lN6hxDIJs3 z267|fKVKfa(lvJOC*d;_=VpZMm}cVkWf$WyVu60!&+Cgjr^U<9B7-XRANVTzV~0tx z?w;G9Uw`(H+RY0wo_}65S@YtS6Ud-PaOVBD*9TVm%3@KE04=LIJ%rMnk`Lt1Jiufl zjkyU1BX&h}@z=rDQ4x5~Fc~En)aC4|s{AK%7iARg>q{_obBtz$rs${X8wmE_7uA=8 za)+Wr??Ah6@RsT1Eh|z2uV1q5>3KhCP4vl5Qc5|U-;Hq~n_g{JqnMee`TkG=&OA}K z&2gnVXUA}*5HVOKx$P{`rn6q~Hu1EFQ~|iJv{X@11MZ3+RC=FSM=^1TWelgcLKduz zu(-6Ng&3zvAXF${qtja&*Ebq-N`$oJOOP5=RVhBDv+<=B881Dr3&8XD+S*g>>kHa z3;PA0DZ0}!z!hWN{jjTJD^D`~Gx4j!e2<%k*d`r_@tNK=p2bXeSucV#I_U)P;Z4u* zR<~oYN&o#wk-C`c~vbFC(B@ZY!p&k1(FwoEY}EOS#0pSy1xrmz1m$PB|Bqn`p>Tem6FYdLO!3~lI0EHBIPec z95aI6vrwvu@p+E6%|p zAA=P=cE#Gd+g?s%Us=tx33=gtl}kDLXqybpY%9!7#Y>;E{Pg`!HP!TgdDCS4r`cKJ zt}1N0XDRSm+}oof!?;TU8en z+Jzo4n^mMLxd{K3TE5|@xJCfn$2&ch;Z$oldKvm!2NRr9t#6y(|2FU2F3MOtyXu;E zz+8ho;9yi&2W-lnQD_G7Pn0njUXr%U-*q!HR>b%nJFLb`>x>+2t(M@zW}TkW!MhWE z6QA8OK0f3^qh!K(T_U?irG#R_BLkk1jH7MASTLtd@BnRWZEwVbfPjwX1}+Sjp>D+NSFrIJG#>2M#jV?X%a4WsI(u^o+dXp zosxiT2;-o`rkW^ok0RHTFRmlOuOZ`gf!bv6;Gw;Lg%D=%(Z50q>j1|>oO*xjfU&83jKthSiQ3H2CVu81BMs_6wf)`dp8*5kkaQ1~q=z9U={=NBY-CLSho*;+C zvy+@VCF?&d94(jsq3Y8Dwe!2+;x`h17LlsdDn!t}g0wHp@zZXkt>7>L za~A$yxE2w|9nj|cV`Er~^`4#dZ#OQkuCYMp8+csasU$nP%nh^gXRBo9ItH1A@HtJ- z1=ez&{-WBvJKO}L1XNDe-DGqrATUbR<04OF;2-nmFs3n4hsXdG4q5XzIR@vl@+!5K z2do-Hp_v!fs2VYk0q<50-Y^vN9Z|>Bn$hSm)U-9MyU0Iqf`LsRUYhpP66IFh{zTQM ziW5A}{aN?Y8KX6DTRgaWtZ-mzwzLq?=<@~(ojKOnUg*GvoNU6}*aC?y8I ztm9;~8qe@OSy9dWDC(W;5A$wKd`+z98Q%2K$At{lT{Xm zIq~fx9&IETk|GCc^ZN!CSb@JO(pm0?7OoeF00pjk0Ur;9vQ2C00L&F?C;|b*So%k0 zVJHLJi#%1j?Pbvr*eDi`Mv(7id7S!1%%L!=^`*9ghrLDAEd$}M z3=11him}eSm`}rNkr!cK2Xw4!FV)oQjS9CcR7y$%fWT;Ye0B8#d@O$9*VL9U+I&1flhp~sbnWLW@cC( z6by_~%&cq#G$KBbAQqEuWn_t}B@Wr^)zLcO<)AJI1?4-@e7YH&d;3p2Q{kCHjgpW za~y-6l9FGHueQE^>HDG)tQI=T6z<^}2~}pk<6m~&(1a1fzOv6}HTH)JDRVHAnW1Hs z-)?Lqj!}4;73M=q?x_2BrR47aG(ZH-qIwcWTU!tVWyfwA?Fl%HGppv*8Cc9V^8OLQ zgLp`0F=ARy{bthbr0Rc%6c&MYbWb}qm82WvMkC#fKknN};?)^*BTD~`HTuqf?!WD_ z{AVSi5LXa(QZB)}Re_u@L62&xC-=2z!sd<>31vCImjf5aDpqS^MbsTT%T^)_GAoP! z45;{GL9?i=C?Z!BPqB{Tl8ntuc@jt7deE9zN>`!)=arZAb%Qkd!t!kF0kv#+(Z{|Q zSBy?pw4jVn$x_YOse=;R3u=Nn1kdF#Yc8BfoRSLIGxni>pB2A+Gg#^tyGrHqP~U(h zy~yFy=3a2yf#>A>skYCf?Ah0tmQaCXQEsKbumH{42ne8;w-V#K6evl*Abe(K-{(0# z<*Vj&j8Rk-v@*y4$PV)a^ek;-p?t9~Xqt27ZZi51G?+hMJC;`8*Xq^VTsYup_ee$A zE%&_D*(j#HfP(-=hZZ&xxB^`3@O4?e**1V`vB2=D6P~;f%a8Ic()4p4xhGgLEwyjO z8?zIv!b1dvUd(qAEan$ab{>xM5f21g3wlxV6HN%hvPt)`4~7YoV%v4LY>KC%);0`vn93ubB;1Wy1fsi_1q~@?R*`JUVrqpwFQ+TG?C)iFM+d^OgvVU<~yD!xSw!hlVQXbmpr&cfk9CU_s6r#$~5o`CL*`eu!H z^20RwM9wrND}5zX8W7sO6+)M^f^=Ib|0*?34p~RV|GLuUvCey4x+fi{{!+|hvUV+4 z2jpHY?=hA4F4L;h9X%1*)K)HSTDr}PsIVz5{2LoC~l{I!sumDaeg|%2xpKr z@Js{z#z*nqGORv(FY$(5N@2A~nX2xF54CdjOdE7`l1%WoN>ZjV%$Cxvx2bnoMDZL< z($_3*>%@ZDQx@N#rk?8qD_r#C+y^a_10h_n!d*vU=#12S#6rJ~*{#IwYWvtAv&gRM zEDwpN)Mr42l24G;d+PwM=kDg)Dl&9j+vk-trId$Z_D#Gcanlc=dn z$|DC|b{3Ej#A@Qth7w%LA=f7}`%z92i?O%!2sapGy8gC}C@;;GuWcd~A)lO)MA|lB zpKzxXn4NQd$&$zP4KjX|y{$gfHN`QKa)v66Em?`MRL;hZy7v1DY=8gN_pfer#ZvqB+-;RGyUzo_gdX@55;{ zKyE(yb%m7_WV6>JO4kKdiv)6fuR*EpHhvvm`63sb4nFMpSJ1$+4zf=LQ(~B@F?+SF z??Xd>?hVC6!eVrjoqLZqPm^Ytt3T>5*~uRc@c%IM|ECE5{_+d!zxI5$w|l$({Z=n< zFyh2|3!6W*^Pc6cmb&{$vnbqvpSEL!NEYjj!R*gPpZ5Mp`)1^#ErOj1IVUD!$FP9r z35nR=`{lNLXLoq%-8~g-@Um8X4_Qq$xhkOtRzUfZ^}X03PP45BnP0Bi5~GTD=(Yf- z!kOP&OSdYN<*?18afPjmP!U=V( z8_2v^iiM?g^my@?Mnbf-<@foX)13|%5_hds!FJt6RGvn6UG5=ERqRO5_HXTz$G7LY zby85b1iP;28U6ka8A8Zr#wV%i#aAF-#_T8a(tB`92Q&wq^^OHFaiQpeHhUm!H#07E z2wcjHH~WLQ*{t2Qo4c2pIu9KuH>-1mDhS|?b{Pko9fBxJqFKmV3< z(d!{h9&U?fjtUoY=ipHePEh(!M^#}X)%x1UO2ScYrh@M|fut`M`xIaF@Cu|}eg&-9 zgYxs(!FW3f;}3nJ@*T3!`2#ao9OhAi7E%*R8IEqluFG;uk38JIF;eXV$XmJ9wu=g# zr`u?q>5$UWb=$|4UTH%vE+0~k zkHz+f4lDL@u?fKoNW6bjtsK}w?$zlwe(LncLHaF8R4Z<6U}n$l>gcGWDsHX^cwSpN z7_9q=hq9D&V^<6x&HzLFleAmT!Z${bgUk=Iv0s}7^rU-dq;dU2WRdN6jolc-}he+wagXj|#c{?I6f_n$UdSrsD;ZVD~6>LUQofvkYVm@^F<%7eXQr6Lt($E|* zI1EfhlTJf$HqvG>z~`$jVxNc6db zshpF2Z_v-DWDi%56V3l9_{q(p1IP81Q{6G9yN%l&JRSa4)(V_&& zT`@%heQJ;g0fhZsGCbc*>zS{ff*Qze@?}xpl8^dzE@ZqM{NA#aGtkG*XDivIDu!#h zyeE&{Yx%TL9Jm8p&h!%#xjcL$2T=94eSN2BR=4-(me(a!vOSx&xF>t$gQmV(J?6hNwc z<56xE+D@R6AvjUwo$)2ctIJjK8Qw`qhZ)+Mq{)fXBhGKd+H&O#C1ktLWktJ=-xc(jE`Xiak(+j&oF6@i=` zBz{39gCiMyRH>Ru?&~xZiyz$y`IKjU$&Z@FtmX~XZl&~y@Z528#O$v`I2T^*hR^*h zp85#mKOuEaIiS~h&~9lxuY7j8c0&>Axba3X0>=AJKFVNP5`JNev4-xolxx%1^=2LS zo=`eijGQ|$#|YN+2|a*y=qmY_2mD4-_(zxbue*O=|FZ|2Sb_|D0*SZ3y#s6&Ke+Hc z@(+fVA7SI7Xs$is2{tM{+`?ih_1z<*;a_e8hqGG2_YM?FVum+DAIQh{0s5b7}>$QuqryLF=gLrSBO# zb=KHD6&8AK1+LM~_;U_&M+74ZDrZZ5H~s!*#X-%k%%a4;als-YPS*I7`TG8SWpsRQ zJ1iH6W!;F3e)!d27sATJ;r~<)QLs;VxHma1AR2ewbg*w^={dYF-6_ciWznh!?YY@{W!9FGJTZ0duGJe#3Krl%p|XM5$+OuyaS3Dd#&mc;Q#Vb@W+Ye(AT z1@g=tHND(!?=f~)T|Q|VUEHIxC%lxRH&a<*R!j>=uvrGDP1AN6%*_2&1g95&%!C|~ zi043#dAV{b8zjW`Q)J^R8*rnP`X3KLmBVmem&KV?X>c5=7*edRqgAKQ>HrS^v}Nn` zRcEX=U6r$_Vo$Gt@C|-1!A7my0fiR`o{uJvcWc@T)qE&47(kw-+ zaELRPrDcG^bm)F`^?CuMI$z=mY;FvZ#kp@_GGeh(O1f)v!c4{7X0^$x0ssE@qk%l4464R|P~ zExR)|K~=J{RfdG9-7GdVCSSo~l22x|23*WT+sOWcR?~e) zcd~Vh59;G?X?Mdmc5nG9{{H&u0GtnU<|B7{BiEPa(VJ{C9jb@({YM_+ zq+Ppo=R%O|cqKEfke0!^6jdvR0JR+c;3bGrtEW6_;}D1ehs7~J%9J+C~vnx z%5>B-{J`Qn;I$IHMipNwk4~d+(KJJ%)~&gS{(|rQh90G_PSD*rW|?j-#Am7c>ZT`Y z)v!kf$)^rME? z?1WGGtgw5A6-pvDMV^l}VU*~;W}Tz!w*tXbXzt$F5V$2fH3RT*5;?dUm$nX}`@U}4 zUASL%PAZC+8bW&X65Y8LcN-j~V%@ps0Y6rj|3xF7J0`K#rL8}g^NR46O?agTjvXj$ z(XBH^?oFpu4Co1^>dE@FWeuzf>+T9K-si0we}~7w_0A zAZge8-g`BiJan1zxwWPxyr#@w0qu4H-A7KX9j*^56<+ppeq-FQp$os1KNKQ+(e#-s zGaDWdwGrj8H1)vYTDB>_=|s49l&LbVrr@_b{Au=*L8K~KjF1Md4pP6veOYsJZ|9jsDV{v6_8O08E_!Xi?encMBTH6~93A668Lc9l zTx#+$B733Im30pLHfAAz8T}8sm;UDw6RPb*IK3tQ z&8_TV-<#k$dC;3v0&o%NJ?$%?YkVE}d0A@Bc}iCz7g3vh&G?iAR0?~bl`bn;lPY23?z_oE0pb$HdYM5_ zoa_&pt`8ix8vd}!buUO~;B(V0A3y4NDZPiMjPNe7JlG5is)DwT~Qq7oXakx&UM)=%JQd%mJB zVNgGfq~+jx%HMxEI5Ypw^dFK-;h*lM{#17kzMwYK2D-{DP;J1{jL}KXpk56N264ua zA4iN=4^VM)?22+~nUPD(m(G@DbN1@tj#`Mvq%CP#cg^0|q(-g$?BP6ZKUrEtAVM8p zrlQx=>)xvNFw=(2w2DIuL!XaVV2Z;XC*1%Gi$-QT*=5%q`xqWePJ<_dfCJ|>q5C`X zNGD3J^%F|AQ=>_q5($qI*AF?fP`LjXs$9&_0@2bjq(>Xi>RuTNrKZ7B5}NiWjG@EL zb7RZX9xPV~N%7@W1VjYqj>~qx)dX3XXgZFME&-X>v{T>Jc{agbeYlP20wOx)3Yr44 zdPc~b3MaF z(ed!4f9CswVP4S{)?k|U<4VjTp>8~s&+tSmdz{>_nLSNDD?1Oyho-i`f1L2A)K#eetJ%*0{vEECQtZdO4Z4DE7JcE2oWx8_#M3p?;?|jR zd!SV2?Tc|oCdY9tONDMVjW^Hl)u`Xb1r5G%%zAUfV{jms*%?kvbguGeN6;IUbg0eA z9(sopgW0+I{%v8i_gZtXOLTf?Ylt8eLG{-s*-Q4{r?c}703Jo1+%xnK;MuDT?32Ay zt)8|u2T1*{kO3L$k{dE^wDEjr#OspM7B(`Nox|aJ_fCG3;7&G#7?2(I{hb`>q8e2YWZracI8IK@YE&`Q4ZA1DDEs9rrL8G;cCIHX>~tt4k{r-3h_i>^a98;YT~2-0ucn|ny1#NStmG1 zk(Tb1YamH24smHP-CnJ|Hub}vAc79&Gtjn{=HYZst(>5KlKx?k?QWA1p;dJs%h2?D z>i;wI6YzO(w)k$^$aA;m?z+@10aGv@Dyt|~QRZzteJx zjg?Kt?-t(h^bu&+k;uZt5GqTV*Bpd_DT4Vb+BpAVeSq5FJIPj->neA$69LiwYY2{e zCynnrN2;!Ol*9SH*O_GIJUIt-&IcF8Xu+mi+4cd@ufBTHC#rV0&Khl9Jo74#su9=%G`d z{fsd|Io981WNL!eRQ81K^q$%+65N;86`de?+*Wj5Bvq=gZ(4Ps)WSMFV9z@g2CJu? zw4U%AjI7(JBzl>W^gFjKZDeZqBamYbJ6InND~Hb?6TS=jCfdv zf?q<_{ZM-!fRs4K;3Zz5TAU-o@v5J)jo9267&0FSRBM8%Kpr1XxqMFB+;=Y zwU9UFR0A;S?j7UDPFa%5O|rF2uMTYIoJ`8Jy>g7JFCUTquHji14>jzT@^YPbW4n0w zXP40+nFLquZYMS)pUEqemMzw>Ex3Y}h(TkjU+M|2CxaR3)7x7C%y)y3N5j&c7j{FJ zIbFCLZrCrp7FjZ5ix@xO+|!rkRfiNG41fmcawPh>d-Ok(_i!klw`eRMjniySdVj-d zLoWd5`>R9L-MJ?oP~xegV|;RM)H9bLJPI)-u(;(N2VSFN2Th@X`cc*FhP-7Z?}ZMd zXYI|>3#Uo0?$x;^j)%F;s=^kpEtZr zJ(UEoo0tu49)abPG6X=Z&6!ME|`Fy3`qF7i+(RrWrW;pI_S{&voqqhCJ#+2bC)c2!p(s%O;#4=hkkTy5eGrG2> z;Wq31Hn~^>9`EDv=FulMwJ>$&(twt@t})*Y;4sjJzv`4yK_&7~XeeW{8idt*akf6=NX_v%9^Boemli*ka;>V zQXTyJhVm}SZJwS1snlwy@7iOa!?`OuImXl%D&Ts|=RExQiT1k>56AbgxXXN+U3&pg z>gX&IthS|*7RJCpQdNm_e=|UTQRDdcMC9)j>#xIa!v7F;`)%vXrePQJO2tBNwTNo< zPvhph{)3smvwxE4E*@Uxk-}H?dEqMdV#gjC|kYw%SAAT{!pDAWa}O%~kbX6$32m#XHo0 z@Q&2}MRecY?l^lSs5S|v+t!v>UE~D#`d!!c$qz&|Rr6x|tr-qzUgjp0D5r5?Vlx$I zo20As^Tsi+<$2{FL)jlAEjF(4rq}2FnD}V4eq`!k;U2PPz@B@Ha_uPrW{qYT-hFp*w|0Q=tOygJEqQ~DypEPll zRVV_vrjBx3%aj7T(xme*?b;ypc`eDu3m1pXe zTfK<%D5y^0{+dC(@8bFnB@RP^VwCg)NX6=|n6Z`C2B*bO7$d8I=9iES^7mwMV@#AH z_o@)MP%{KA;h`z>l*zl_Xm$1TuQx9teD9--a96!_$_H#ijfCWxYAWV}W$%LU(HxE1 zmDyrj)it`( zp$U=>UbG(7iWO!hgxOi&p!WB?{K)hFqqaUAciO6Oj&Afkk{383faDfPIpp>zjxh8{$T)_Iy5HUc+=t zc&=c7t^3m0*~gvLi~JLnb$3~eCFLh3;=S`rxAV`$4OO0)d=0|sYr%Ocz7DVp z$jbl|6$?Ut0P?;`|LTvg^g1(#xv5&dpy5Tro^*ta*`M~~ww&Qh1NUt))_N2LT1eES zObM^u1Ga4yyM+EuUb&AK;q$@UP)yUxHl>QEX1wQ`6FC0j!#Czqy`V79 z@L3!I+bD9HoT)1FqxR%j(>h+oFJIaA+_Ph%Q2`W$nV=52CAuycZRGKB<}y^$3E>M% zp~NG8qKf{71&DH-{lPJkWlc3&+yf3-^I>YWcmvUAa}wg^*M(s(V)3 zJ=?NmN6(p`?+dLR0o$O7>FiZKY&{!4M?1aa7Lw274S+WdxOxp{#e-Tcyh(WO`}?rg z)CldhNwNx#axD;lG z5V3d_7Yo}=Lo zoi;AWZLR~nCb(ABTBXIRX<<9eM%my7wWiAV_a9x=kDuV~dI2|1jLFocLlR!p=79Up zU2PR>}`!C~e>bI0VO;Uic7o`^=lgacnV4Jw3Ru^B3! zRekgNR%);1#;N|?%*Sg>=L{|s$OTqp+%GQVf{Mk;oD((NXm^qe`|9V(tZpE6*%;aD*wJZr$!W$0%Q2 zcjhukXAldS^q!!?j{u%vqwK?jy`kD12L#CBe^K_HVNGUh+whFe=&0Bg>8OB+H0jbu zX(9*;(h`c4Py+~|1qjSoK;;WWIfZ-S)J?K%ZL34 zD53HG=FU}ALY!)j^v!+KT7n0Qe!unP9kC8os5EN^7}93709LC%viIw^o_r6U7Ymmi zz2UBzU$>_%Xx{3#aD@St2c`VlWDJ(so<4$_tkbVjM?6$d1m@3SUhY7LWNlzQ!@yQG zEdp`I%{?r_vwi9NArgDL`p`NIW=zET_pC zmsTyjfme&&rHGgegJF1IYG2%FhaP+W31e`epY}Kp=k#6jnCxulA`Bx2ulSwVxzDIi zG7vJbq-r}UoS6=lXOJCtXJm1UD6QYeSx7uS8>d_M&;E|O^IyEo&9{=9*R0GpXVm_D zU8vD1i(5Jd<(w{QiWNH)g%J@#U_YGAC zYN;aD`dGPMpe9ZVTNb7{PM!>SJF7qB((^WGfxV>_lqcx^ieH|2wd;OqmBII^WI=Rx z`!sKfpWgvg$-muE25Od`MfP6}Mqde6TB8d#wfIjxR!u(N0M-wsaOs!Mx8%c;wxs&M zuS$rjP=sEt zsy+p%iP@>d+S6ILRO`u_IEx{C@b0zoVQt!5IddXJ4V3`{C;+mbZy^t{o#>IoM*#Fv|3X;0|IgHSrDHAs5ORL@25(iwSdg znI|0r8*xSQkZ@+pJ-p}H4_k2N?F?6|lU zY>8}|Zf1irw9R%-Rs^{i|2~HpAw-LnX{T%&h^KNd{0-Uv^7xNIp8vDgbGJ84=6uu& zS8LiSDa#3eTV9eX${nZSPRe%7ozuR!zbL+gu^f^8wv|!75kvhzD0A^n)r}!t8w2IB zqiEygc$m8}LS6{%00eu7k6EjE71nz& z%*#YKIu08e%K>9?+4t$Jz+>3yTQeihpeO0cxh=|wQc%zD#n|82qF@@Px4Z3yL`w10P@H8<`>>wG!ldW=k#%xR zCCuI<`K`4ZJC!66DL2s~#;IxY&(Pw;Mwdd~Omz_gTSve3D@2UYF0QM4cDcF6h`;+) z(Eq~=;~np=+HVeE&zlhyO^GwK*s0U8fF5yk^oCFy^r__24mtQ`W87}1sX|%-8hakA zP{)eQp&ozQo6!s*r?|n~a*qhuTTo8eut6k>u{4t(|9n05tP#vj?|C;e5o_;s4U*ln zQkp!Q_Y9tmu8CAI#!vk8F}?$Mut_AY*;9d!6Ta+DoOR*2F1D8CRhgS0?6QxT(Y-ZZ z3mWEa1?%I(-P?Of$vWex04-KaAb+1WF_|O^8{HA=44IniaRE@J(Zb$uUFJiag~!p%;cYLrSmSsgrO#L2+`Zs1_*; z)`LrN9qDxts1dO(QrFSaBz59`oJE447$y025I)6b#QtJi+WyOE*Le%JK5OuegJLXU zC!lvSH(xPxXr&_mN0WRe)29nxwLhm6I1tb-=rw6p1xv%OOnb01y*t@Mi&tpZ1I%UZUIEo0P31C|}FDo{8#K^GKdwNnLdn25<2mkhPAr zQNOD%|Eb`6;{SVua_)$i1R1)#=dU8LZJq~oJa^@q-XkHZ93j^w@~b7?Y0y^x#LlyQ zF=1ATWDz$1weI5!wNdpYDBth>X<44JJK5RFL$*b?Uguk_zQDaJI0Al`rC(+ksOT+v z?nL&spB9;j%A_xrns6A?W~rf7#to{*?u&u`A@=~P$dU`|E9TO97(Cf-mvryDBo!E8 za`B73lI!PM+PghCzL`2Tb;K&1R8qpFaAqEUMH-Y%KSDZu??jz4IxBF$JAZI|FEOB; zW^nTx3^3u!QUr#^9}%0u+|#XzgF0WRwjuO9U9 zUaV@-mJ{vUd0be&aPUJRg@r38RPcAZs9t_NOM?h%Dap&eA}Wx74;mRL?LW$s`&q@Q zo$spafvRj@JFF_z1Up#zBcOFC-aBtyrT=m^G@{KdJvlqw(Ji_3{N(W~j68C5?#I5( zhuA(7VVAE9>I-Qaz1x`0VdSlzkJGKzZ4?(x$vNCfoA5QCq+eF<0@H~qhn+o?>L-u7 z&bkS->7n7P zn@&x<4y3Otyb)6w5Hv35+YsG-3L#@Xd5@)fu;PTH>x3A3E>q_va(c7Z@_U{&I-T$E zn_II!w7({sE;uw8)x@*3SX3_R#8l>4jTzF5oyv;DZn#@a?t{ZiC?PFPChGLf8u<>N z4adJGKLN&o_U`g}Dm>BtT;&FxX<(5*L&TQd4z?BF3J!sH)K8djen;4Lo+J6c83kht zGLT+jiGV@JFQ2|kl{1*edl_LDyWSsk858B6&ijtX?UJ1$@}DKVo2iEzAWn@ZBsgM# zEa3PNonPc(^N8ad*q^4 z1#~WWaNrL1%C+R~3!BW-RTBd*?d85QF@G;_wC@l88IxCZ@Z|B>ED0*{4qARCOM>yDKLxYqPyl_H(Ambp*_k~^kgmLk2Zjsv{ zvd!xGz2TkhJR)h%qY!9g2k+zg`i*)uSF-Ax#A{n6wh_Bv64~EsOZcu{UchUFs%wAI za!&PR9X$UAyj1P7xv4BEZ_9unaFl)-MWrW0XHg9%w6$ldK%do6Dm2Sbw(*{lIgTuX zZ@tRO1wCIb5skhuKQq`|d)!*}jG4k;c8_ZPaInx_2fO&7!yssV!P+@p+-iEeiuDec@7e}mvZ2{kr&Mm&ngFAUi)VmNuFYC@1FpQld z5nRI25+CchoNmKEwR^De+g4N*MD(0=M5j&4`bp+ zew}lJ(C8E4))6D{e&y*-;9y7OwPkO9B*WF;%rfFj2W(Z6);2rebA4=+E%WNg$+G0o zE6T3-Q%a*j!C#`Wzg#a|i=O4|=IE;FO$HBm9lB_)v(qYTw=95G{5F1q$TrgZK+4z} zn{Fte;ve>{K%?3);kS_>Vc%9vm?u}b<#c?e@k*I$vPJw^?@Y~V;Ry=~*RH;DX+Mi_ z_XN$#6B0C?H~{+JOcZ&H`<3c+GE^+<7I~qEisElVvE!j2+K= zc3&3)lXtpSv&u?VKjBC6&=)<*+)EG)NFZVheb>6W_66bWrA@H)qJ-+{1x8Hb+`}+l7MtMmvbRegj;P z*=?Ar6YC~T+eJYUzJ*-#LBv*w=#-00OQXO9;-%yR^DK8r574lsnxNX@KerW4dB`2` zS4e=O)?6RR+6DiL>2y#_WDP`_d#8xsr1!dGI}9gX(#$yTtfA0| z9Gg#}=3_R_d=+tdiqRa2E-2BD;}-)y-g_M>l@7SqUhN;-j`LLmTK#My9vV1QUm_*Bgy((heMRG}<|Iwsw}AKe|l5p&pD+Mi9Bd8T~Ljk5E}$*EVh{9-mPQDdYDr@Wl#V!qcf8_$Fdyvn;k zujSu;>?odc4HTJwa+FtU&L*{s!?CH?taz?4yjZCtS8MCCC{@k|G;H%Z!4IWgzR~5O zlN;q$XI%SLvv68A#O&~ka9(N4wGuM!_EsP(VaVTaekrYd>VB&>LZgPG1rD#AlU3DA zzUJ_1FBz<&E`HmQraOQ|gJdF5*$mutPX-7wM<-xNKRuICd@R=^6!!LW33kZ92WrKO z8C5GaQJHDB8>AKGCH1(f(Vv*UekzLogA^Ry&@mMYIyT75hXJ)#tb1|j;ZfMgok(Oh zwPvo6OXG(fafnP%9yf$gDw4@()gX^wErMWf%i98O%lP0=9AE$W(3U3mw4K|#GAE1H z_Tl>DnYC?xj{?QaL?|E~2b@&E1Sp{|Fvm$NQZ~K1MEgjj*S5M5#_1SNr96#K0gNTt z!?zz%R}gHNQZ%D?(eN?fcm&uzK(%EF6jpPtcogL^o&pshxLo~$Sl|5ktL!>{#ZcEMl_Sy3(HFBE!(6&(2wX!&m*TZM)C_VDd; z)ZF2p=k;Vxtox~6Y5w-vRIG2Y0ytMAOWyqj;rK`zmA`?$Wv!M z?Iu`Z1F@nmd9Z=y8!EQ@z4XOFtF2jFg#r0cZt+R3@l;^Rfh-1*bKNoiHuFtM7mwh1 z2U9tGAL*QO_jWNnZ{7Q1JrhW*@x2HvM(knbd8}Ahw28~%!sdWX9m zfs5uzq~z6xIxsfxYBCI>8Clk)-ZO)&9KelSzLbe`yoSm?eH{{uEnZu>4PoRx2#sdr zXydwD5PbJcMu>H`+sHFRQ6(Q?bBB0E#MNPrXzRI!{ny$ymXqJ;ZcWuYoX{(uI447! zhI^*qKOyg?SEx~c5{&iU8~`PgH!fEl0#;?k+{D zvXJYydp}MA7lYBJ9zNOaXEt2EF}?>VjBf;F;e@=Z?ti@yk#$XimfMFi>xVLzYAkob zx+zs?mE`=lSKCrOzFzSd!xop69%bcvUGd3kXAo6A$jNKws|QF(`aUgSl|08e-s<4< za>#P=AoqrBhcx5In2|&>e7@Ec{Hw4MyVZOzR|_=>eh9p#WVd`~)_ei!nIGplN${a; z*J@riAy0pHfkiHShb+LUN-fFLgUhhRd27ayVd7W(T?q6p2Xgs}SUvq)2Z-&M+@d7h7uX%SFXO}$kJ9Aer-cDEfbC2m?hN8GNhCb5>c5az%n+@8&A#{B$e;~7DqmkORbmxxh%=W86UPaq91oXNl#RQ zzr~cfF|gy}FU~h8B?>7K8{LJgD(Fq33S$XY1oi>!DbuM^8cT~UhfOP+on=#*_Ym}u-LiBvBsr?~F;i)qJ{FWzwpr{18- zQt178cB{##efbC{X&{d!o{6>T}g2Y(YX- z3zI%g#I;HUJa4cEYh03y?M+P}-hhO$?lt-}Y{x7rB!LwP(^XX;h`!mXO?*=ncV>Vk>zFxA5+04#qoOmf{&eC}>44tm8i(n1s%uQ}$ zfEz?{AD4JY92H@OT8`t3xx&=dK=k+@I@%5c)^UpTNO>mOkxhWEzX=3BE z*Tu_en8}azy0QCV3cRmB-#`pt)46vp@Ov*InFPx`1_+>k)3DU3(8X!hZauQnL<@jcov`)4W3jP1?0W;*CmKp^Cp&GbKJF-HPX}2 zA2-LV5=ziKlY7pEw2{um2Hc5-KS@7**+%;KH{9Y;$r@&-|K8Y|<=ZEU2*J%W;h(II z8~HeAUMQa)lSG-0O}NjUCcWgd?LKNLs2>J=v0o=z3w3EO_AM> z%2$_A4(DVsy-Rcbm+WXdteClkHiy*7dud}9(kb})&~W_ND#+eWYtZ)6@pmRujy&=; z28ZG6AQ2^3U}l(SVc2(;BF3^17U@M9F2tSH9j!%V+sL8jZRbdTEEIS17+;!y+Pyzj zFT@;shxC(keN5Azq-2d!RoljVAwB8+!9WUWrkc&y01Q?T8xV@DTTIn?HZv!#s$y01 zQQ<2`O7SF=zx*s+3-!*YCOIHVD@2-1)*k`_X#tf-B8opr?TdzLReDkK;JA&*&%1{Q zjf&b>r_Kc(G{v%(>lGXc9G5-uePp*&{cuOQ{cJ3vgn?kTE0x z+N<{NU3f>rPz^G`QjDnR1;z<|pKj+=Sht2z+t*Ow$muiMlTv`uXIZUG9DV-By7z#u zYPnI9q*uqhpJQ94u?gp@y0prLPR6KZ-mYW!?$Sr*>fm3K87edLx0A=qi1OSSwyxyI5N)!@LSs=9if135V@oQakiXmHLessaFv|Fp z_c{wbdM?u|mC*2fG{rmhX413?WeOcj>6D=(@T|PYqUM@&2L(y!$NYm~rbqP4*+Q@L zzL@!CR@8!y26ev}ud~XU?(Lq1XryLf#XbON@`nSU@La&k8Hx+|KxhY(fUz&z*au4r zUY_pLunsZ><5UILGN#xe{4`UpSz*$_o-<6VB#FHb17`bv$>Sg%Mhvzl+}iPYko-3n zAX~4vS>!rB`HjsoYkQuq5D=~bDAS0l5xHo@YeQs_wRa1Z*LG%H_8XBjzNG$sh+g_u z7w%g_{R}IRd@PIhfXiSkTXNUcg9wLB8g>pH=RJgTGlo}+a6OkO*7Aqqp^xpO#~-vgEk|v345{mctl1MJ z4qW6in&9if4s5PgM>XAp64AaT6zbs8Rap&bN@i;AB5`wl-^)!B$O06PHla(B4Qqf0 z%OSH$UciUo>QZFq=C06KlpgzRPFaT3mkFwY6vVC`F@@Nn`id?x?W%FdvFsC#A}Os7 zszQwrVB)^7z=z^|D| zMVEULFc}KvX@~540ZMVVZR32!+5>9Pyn&b0KTvMk@JO^FC+OhJ+f68!5WXFowd5yP zhWcFiQWd))4R0E~vwv{K5Djsxzz72;YL@6&XxHUd_8VX4#4x2;{k%n;IHWH2A`b6l zqju(@-29ccMwV;k%bf1+wEGA}gFRc#VJFMsA!IZ3(a7o$6!xcxRynR`Ml3Lw%o)_#n?-jbKpr#^nXvK{;>j}3+G53w9 zTITCgF+sf~ujgk_sag7idkAt(yi_+!6Q5B4i*^v?#!zLk4N*trNU#ZStozOs@Liru z)|d(yYISh;c!pr9y(NMyHTWFn$GD4&v?bNlxjXpNU4h4I{H&8eJVADc!RBePO||C= zGSIJ#T+b!)9k=77F=37h*zADSRda8GnFsNnq8=jCz=bp>h!^De_DTtttEy3!_vdP~ zi#uw`gqYSjT_&|j4g9!M*TV_clpVWI?F_L*?8#MrwNE0snrMbe_*Jw_ zH8!Kcnc;i71EHPVm%HdnXqerjxRc!GuS4F{LSli-LB3-hrK>=h6WzC3YL7pCWQTRE zZqlG;+K#buqD^G3Z=?+6X_Ger3XgoxOXcwEp>|7BE}N#r(UaVrd243jsMV>_Uv*>4%qRmSjaAyy0Cxm zymp~#bcQ8qOF6VHBc0oG^L@y<2uIUfBnQ>Q^87J5$#0=v%`Tq($y-+hG!-#-wA)2_639GDo)=V@^lHj%^RnZDpTo&-ZGILi*UXV9hH8YdPk>@@XKO~ zzqisuyV*-0VqVP@P#*Z|dFMjsNVzuE+RyG$(}XdRJkZ0Qvg>K@$XlZ5j#w$VITyP% z?8O=l+`aNEn5`CH4>%0qcCKPPwfA>bzZQw!IR(~GK2Wpl5nXQ-+Wy0_kM{Y_6`31= z2O<6kx7W85W0KZ$7;yy!9nC@&*8%5^%$Jy;{bq~>hjx#2x!hWg`bQ_x{bUoNT8e&IVWdWWtjKfTVUewG{FpR+nC8`7_( zW~;T^E=eDf<%EucU;*|}M{JM1JNqi;go^MP=o5X`qP=gjtMBtB8PQkTb84;*Lo7uC z%n=X$c*;yR1T#5Fc#$hI`{dp@g3pdtXQ@71Wu z`nOFeQzKm)R$jTY1JZS%Bun0^)J=xp^XYstp{%{evuoP^dlj}ZwAzZRu1VFd7x+LzH#tR|gUJnKAO}0CP@~g#4pn6* zzwXB@UjN3&^f^X|g_ETVU!x##h08dAJbSPT%(SE68s%-sh1Ms8q z$}qL@S^w~_A!D73ABH_dvoar4{~S9(=ISNLZT+;p6%-L6MResMDjI(qMyB|l@;mbF z9apQio7AcA+(-<4l;&OuZTQvg#{FTVUo1wbC5JcGzu7%3*N>n&{`R@6GbyLmA%tJa z``W|k=u$5mKmN<3W~9msF0u_}Z%Mr)4uU>Ei?idunf01`ofmf0W3hQGVq$x$03=?^ zvF63R=B`zBd>f*#ous9Fy+BuHpyzlRZft`^^qbzw<&UC*q8nHhlk#!51GZ%+vvcNG zWjcDMEe%9l&O64~rC$hBdB)@K&rv}WTq4`nJ@gOXWcLr59r?;yWY7p|XW}lNcpu3K zm;{N;OfVjIe^ZtAFO)`n>g}9z8_Y_LoCCwiS3eW`XdF1Qd)EsDtJZU;kMB?t-B3e1 z-PC=hGx+IXnnvltlUE6V>edO#P+#BvKuVlDXhgodRb#=}_F=Lnky5SC+1V>V%?`a? zXppru)-7A~A`E;d2?skir*0T~IK=(jkOf`4B&9xltu5)?Dm{Fo#SIqxYQFL1R%!HZ z>fsM|mS}GM$TZpkdP{R+Z~+R4$VsI?Bzilp3JNF7$Y$P%sX#i{w}T4?6<{V@A6xG> zS|~V?1U5XPkVo|{!xqBT><(|@><{b5jeCov0T@H)n@F_ribsQVL{Y7vO!BV^NA$Gr zd&HJm$7K3V-?Yc5wYrI;_^Xr^*MUiK$!5F9U+vsoEjUjDho@Pn)xA6FU3Sk zZcp=mA{w_G7!j{{F_G8C*inzwI;C9io7$~EI4~+aw>1Wc(vyv{Zqm9M2;Y*Qltnf+7w{~r8L|A+H^4W1VX$2nVJZ11OE^$1%ftopDi<0bdwcjJvl zU42oVTbm*BMN@p!fz#~;c}}Z$oz%WI+m+_YV09T$>gn2)ijz!vhD69I1#ZTX5n`Q) z4YowOyo=d*mtB?>0m!9h-pJ3fWGkaPe0WJel{EdS7W--U+2dnYUKwO9k*Xdsa+p@j zwKs|OBN016(Y}RY0d+6ynXwbPGS^89MHN-|T`#-W#YkdWB8x9i*xsFx`>>Ps#&aPg zYV94ram_P7IV6o&vPCK0l-5%V>Ax4`nuDfIXTz9R8lfvM^eoKA&pvU#-V#^{7MC{< z@pGHX%^*}Zdzw&_FmqNcBi4GwpH10?oiCe?=!(J)v?D(aIFts=er-C$W2uh+#!yMr zS-yi9Se4_{_{uQ8&CBC|Z8Cfl)a9b#b0Pj}kBFL*?BXg>tE zFeF~kY5EhWfIMtvow&1+Z11HLUsN5bWCHQp<$Z700u1Gf*9t91SKndcOKg=*fUG+Cc13Ne^cV(sIom(brIJsphoxxLy|+)`3vHaP^Ds4Xw+^MovMb^0Mxx#8-TdKS!*6%y_-{_^ z>Y3*e_pD4%T2?!cr_{Q&-haILsKzeDx9Jb=V%xJKF#Cz?r-yCL0wK1u=Xt8u3PFV**zW{9ofrbJ02hiZ`=F8ZyQoxo9I=?Kb{cumeg<5nUk)ZZ()d%<$>bCcOsO! zciB(G60P|=_4jEJiAi~(xfv-88`-A9RcU80Z*uB;-{WQGV)CLZSDDqB~MA@!|E z=#tIDRD9c~&$Ku?BsdVRi8vy&PeV$pk4T^7aOYbslb=8l4=^FdqHh-mb4f%`!8%qa zh7LfL4k>!Xwy1tLPs}uIC?Q1+)7vlyOLOCtR)|pLjd8|XlL#ncLEI&s!BLSFmUdZ8 zc(8~Bf|tUy0mSNzHsLV;;J{gQE2CFN*u*gL&R)D4Lt^POsz4yzgU?8wEy-wmoHofu@u zrKhgpLGTD!Nh;36#qvjb$>9Cn+NdmD?&WPuQg_KEWYT`c!EUFn&W0D$IeGwOd0gL2 zk0EBK{=}@9=(^@my%9)p?Xps-K`*iH1}}1m?cCg(l|eBR*eUZ3va@J9N8CzD^BEo= zgDC=Z?5{UOGkSXGV?-5Bz#PO={aaHFcV%Ax8o_;#zyZIvcx6$D??|Y+IyA0Yj8CNm z{Q9H`^D*|u1IIpJGfA*_3)AJHZvtPB$f$)~(UG-t>N;)y*|9bDi8^T0jG51Yc@9PK zb$f|a$hmyi_9TBQ=GtZ4qpS~X23r=DDu8yW<;%s`SQ=;iu3ln_S-5C%Hya;UdNFX2|)3p}&V86+T&C7g5tG;D94?dxPZA`o>`6EmMKrLXKM z_YqUV*7x7w71*6Uy7*BT(mv^=QxmAOh+@gP}$%q`VhG&2^F()0tsR+^BIDm(QipvZ@THnVPhKi!j9F@{YZ>r(+rHWT-qd zg58p`{}p_ZX;Yn{^*56F>EJ)dG70)V8RSpz~x$f7*`>aCKW0Eah-x(L$Q zbG!O|4m?SFQ4K8p4%fFd75K6}%dkp@){gmIO|U4Kbn{u&BzaKlr^FzS2NvJ^duT7Pw__s>$<7)f;Rl7Lc&Hj$ZoR@GZ+LrK85CZfB452 zHv)=3dGM@d_N<7ZU%)%7Qf0AExOT+1)|O0F8c0a7z0>jPt{&HsK8XLGQJE+am%Ob^O4@H z{ig09pRA@T@nT3Nn&5QgS3G9e+C;iu=Rh+9`;El!rnDNAHX%s|pU(O=5o~i1!H`G% zLD3%Og^^9G&8rm&v@2R}vNi+L8KkRTunYtHsQP2NU>thc2^pmYs`-Fb(&e|Xq+_Krnl&(in%1U~gT znFOmSjExgR{p6G`I~6d!oKSNrsQkVet3zjk97-eG7_YehR(pg6sMyX5WB1Li&9dIz zoMksSa7>UGA;lEsk=PpiS}pzCf{(&PY&5eB;GZWQ{xx_ZbhP)${iw`(aJGS1jXf zHIsM|d%e5N!eJRlLp6l{7jO9|Kz*t1(*3yE(q}gjUXP5joL&7qLbM(F>{O$+w_iLS zZIxHOB6u%3dEFk7+_SzlYe50b*oHc0SvJ zh~t){msQO-cWQX{H{4dl2fCO7=Q+0Ix%S_@v}a8rUi>ILlt1RSk)HyWS1;+7wn>CT z=9}>$`zBr6`Rc~x1j~44txN_K+zam;Y%QF<&C;({>wsCOxzD9RL_0d6TrCJxRh*%bQ==t?aVHUlv?)(57EN8 z8XmCkMHLW{RE{aJiy2Mfu9~Fttp?@wd>uBdO->e_Ew65`5uFK?USD%>S|!hn^}_dG z*Mus(wuz`=NAz?rKI~sFSHeCAMVPUyyOMM2-Th*#?guQ;oc&PiAL*|P)N@_A;Zmh4 zrC*S~x4EeP4>Z9s5r^+lc2?)kmH|Cf{Fm=l9{%ywRJn>JaCP6!e|Y!F$(O4Q5fw|I z^aUu1Z`(0f-HgL_ER)1%Gam~^wCJdg=-~T^kN!q2e_+oZAmsm^{a@cdbpPG{fbyQh zjIQ(?NZ_NF?6{R6Etl{{3!&;P*x=J;_U;8M#Pq$mUk#D~ObhC6Pt=2`Bh)f)c%eaj zn*}-XR9xZ3=J+yGomqd;tL@zfgYNSOaPNZdPl_goe4>Z+VAQI{C)S| zRy0v6V%p$+;JX$9pm)V$2Sg^AK7Iop`>Sl9waUAx2r;bnd_L(F*uG-FE56=T*QH#G zoz#(D{!+J4k>axF)|C+}RFfcWun-c-@#tFa-LkP381_Ay#pr^D$A8Y8WDklPTT zGR6!$G~P+bbQEp*x$x3FP$8}*`{>}!Qn#lshgNjmu?!Wo)`@=hILTpywcegs!FMvs zRi*18=<7Y&R(e2b2zo6BXQgH*9|;EtTL$uq0S>I*z*mL)hB(3KC5zrZ*Tgkp8&Z2= z(--58*d${+ir?YE`hrXdAhS?N)W>vk-HL;jOPY-C-<%0;?W_#Im_!(g|q>jb1#c`bmithbsmB(>Ld3o0ei>&dRMyP0o7V)%vJn*xHo;%(yFuhuBP`grP*$|Fgdg6OS_3PxAOWV+v+ z|C)yp(=;YcdbMr_gg@qY5d&yaAI<%Pkh4tE$m6i9D-#)buyeEp-Qmo(i9x@xRkX_O^KjdvxGybnScL~-Bq<<`Hfbxsr&g(DQFe$l@B46l zE|fm%<6aOvZ^!z9hEC~LfW6~SNe={D%Ovc2a*ra02O5tY}#=OAwAf9QIP464hNEGP%hI(VI zD1RX)_`PTnWlyUL>|Fz(f2$8sdIgtoVGZ;c)jj~=v6Sf5-Tm5=e$e1?qS`ERrLzue zjhz%pW(b-enl=j1rFGPjHzMHez}7ydGCq{_+%KB9#NEihZ3c{vVJzol zgFTl~ul|z5=qZ#e64}H1Y|oMhiPb97kWTSCpi%80Thc0x_f?bPP8+m+$wg(4qPgRx z((OgU2UN=)v^M*5^iNkDUjHouISUV&yeHu^UZ-kT?%0xjv6z3?`NcoAd{6j4HYWA{ zZFT!>IMe0ETgWu9jUO^2O-J2|lzXN#N_qVIV#eP1z%uFB<(OmY z0f+8y*3-9oyj_mE5DmC@TRjg_AKjAt)`q@AVY+;3w(H8MW$Zj;?0wn|Z|x|YV>0Dj zAK_yzU|yfCh(~C9u>1KcV1@GL9+Pc{%OTC!65FANi%T$J|G-Ppqo=FudS#E|BzDzp z9@YeY6TV=eU$IEK^dnvKdT(N5EKE%Gvg+qUIj}^V#W!1G z!LpqVIsGYbzTH`@$Cql)sFrsPj{{x5saKy7Ra%`wfq#q!xb^ZUqS=Bslo1VlfYaWJ zBx02)_BJ)6UlRx^>vnNMsW>Mdk8&XX=@PcG(<#4*PFV-4uh4E zBaO2FPr@zfhD;T5)?TLo%q_~`H-JxO?$A)T1Z(~7a%&?I%JvN~p{3suPzh>1HSqoU z!5pp`f7PefWpx1NdE`9Eevmxs{t$U{Tl_0anY(_6TEn>EU6SkWx^Zt)<@f9lxW~HV zLw2gk9<3qi2y7vDt~ZH-;Y@y=EIRKb>QUuO?41vgDl6^iM1`!jth%25y1#!mbY z@UJUHP{>$xC%^l5MRLmYc+}Mod)lLBP4*bNj;r7?1#|I(Asm_k z#F}zKG`8ZLSKi}El|{h7rMZ}@mND~2N8S@nqzw%V>E@n&Zf;E8aaB>NU=i@Di0y zIY9-LO+y<|UblBfex&qv-9tMLB-Pa^m>Zhn0ToPcS?%laY$>HgMK^jPe0_W@;4V|L zu10E+sWI}Okr(z@=aT>NQT{1f@IO&55B@z%@8DXtpZHUso zPc)5Z@YH@^a;Zpx{#qNffv2MVj$a|}f{KM}_d!5Z6I5!%D(PBEK<8j+nmk_%4?edaU}3hDX~GvboY5w{g)7;`E%u;2LOFH&p4q zYU|Z9-G9J@NfQ6l6E>l+y6~o@*AjGlV!++IX8UwiRo~|z{$*9H z_=$LJ$uv!%^VqEYu&)!mken`+J$=9^%>2^F1^3t|dd!Wu(6wwM%U1tXHVmI>2&fP8 z5tXl6t+Oty`qRgL$o^oDWw+ydt2eY{H#d7oV|eh=v6_NGkrS9Ll6PGn7Vl#@^m9XM z;?l79`tCta$I5!=0Bbolq*m}u8?U9+I|=xz^J6E7^;vtJT7ZbTCH3v}Xk?*#W;lfF z9YGIQw6M2j?sg8id`TbwO08$3a%@v|X~B@3QzLzQ>hSWf&b%tKbx!P-b!EY!%1PyY zaDxgyA9;Q*?YDTVg065#tG`Ki%|9t;PgXK{0BkX~UA{YAIGC7=ce2gWviFh@R zVGWhfIF()0{6KNEoPTIst^CNIt@K`=ZnYRtS^GyMC(jvG{E zqT43z|KsdEqnb?Dwqc#3qk^ai3J542Y0{;IQKWZ}8Um7-AcQh>LI{jqdhd{kbRl5q zp#+sqDAFOJjI;nDAOsR1l#lnv%-(xFYdzn7-(Ocr*2<6j$hFS)a0jXk zZa=$6>ZCB(pRhW9hCMu?qKGxn_1X*Q8#->+i<_SfelNZC+wx@D1 zoNcEAEL$G2eB9a$$(v^)kr9osxhvgg_4HIAQACECJAur70RgNK8?@D^d({KNZ-CfI}QNaMof zJ6OI|Ey47e&VjlGdEkh`n|`~lPxeEen7p8SwCJij_BBnGJ_*u`oZVaYTdpkSLUb~%hn=BXj4tTHve*7)DxZ6O z7s+kLR_5uUuxal{oI$VSWUt89B0=vNl0=)<_i!Ckc-Ab3#9|l;+eR}OqbVQcMg^ib zSV2W-)Mue@xDF6XZ&*QA{R_Z6|MgKF{!(qO()BZk(! z%0k-;J*0Kt&Tp|1^A5mFk3*PEq%T@ejV%i$yymWE`RwC1L@rkX0sU~ZXh`e0w*DadG8 z)ZmASE2rN$p%4_`#H-3*O-V`j(wFAmdTp3`-G174b7f}ZF&wtx%So7$^D+xUrx&1&e zdSfHLLM-Jsb`O(%-ArOw4w9?4p>eSHrdy@saK&!_n}lxGt>`l4W!Qj(@k@$w$L##2 zj^y3@{ss=HkjMuuNpE@ioOmb`cTs46Ov>&j3MD?nZuBSXb+NZYdElxHR^8Qv z)2DNbk1oKO7Wovgzc1{j5Jx>T19{swIOZ0g8Q;9aK(EUcm~jh#$Xm+kjy@|JSmYxd zz*e!BkE?eVTpIlN&VuslX}M&@}zpZda`MoWj|#` zg%PfT{31_=Ent!tt#kTaPQ#4fW&YY9L@BE9x@^xosL+g!a@5lFQv59ApVGm`X*h+d zSMS$6@3gj9hn^;|4qV6UgV_uh3zO-wet$7Y!a6Mjx@&+sHwH_HH&>L>SCJ+oN^BN%A%_EiF4NYWtu!8b|G!$sL>awD_jJ62LN{Ci>>Yj89rC-A5xNSO6y(-S4aD-|xyO^9+r4L2iO*PvpT%bc13e5aYeP zv%LO66YMMyx@x;TCg3eWT}9mdu#O^=CmXtD2$`<$7$mEBuSq6?& zQRXQqRbBe6>Z}(AnBUT+U_XsJ2)UIM#Cr`MAV@_trH&?qlv0h!tiO;)I0fQqn<$&S zkXlQ=c5r&Ns@43UVU`SH;$C9Bf%#OA7T070*YXpCeSm6P@6^s;Vy|3sNrZ51;Mt;_ zo7!WuLWuUa;{yB0`p|c;^BeE`W%hkc*l-XG1rptv=QY}oTk2kB>AtzObkc5lvU()_ z*WKB~9Y3y~MLw8u$P)ctT4bi~b+vk&zl2fFyxbtx2Yc-CJ(8CcLS)~+weEtg1;es{ zttGV2q%Tb%HmEB{FNC}uB6}`JCV0OzcmGo2sNq%ufX&#%dk;K+7Xn86)So7>&1vEV zya(|TJg|~Grxf5STyyo5crThlU3dvDvzD;4a-h!~gkm@Mb!$I7YE&x(KP1yFhF-T@ zX@1NStsn;8PLVO13wsTEVVx)=KT{gBFQm!F7wiIs50dtwD(S&j?dQ(yZu zCo!J6)N7ujdt>HES-D_Y>(+L`lRip%R-|W+W2Q(^NS#W00eg`Dl;+^>zO3TJT26g- zDZGOfok{FEhW2xeI8-b^cZv?4^+|Knzqr zd&IvY_WxP^4fB7-z5i&G$b`bNU6It#ln`#Qa{c{9mW#vduj>%l%R^A@lO>^7T4#m!eclLjDPyrZ^1)I62P@F8@hQP8Qf@6@9(?mteX+Q>u7r}0 zztw9ia-sEZG6}S}OVZz;5WVeuUipEid#D}s^g7rMz$Kgd2_Xf$t8CzO%C+vC9F}EA z;Fu0Pm8iu{%I4;be^&Z_t}NYv-NKsm0DJ4snIyG3z!f>WY>z+^8qH>}#^D~H**XG< zWp3}4`kO3!rJ6g@UKX0DdlwM<2MU(4-Ev($zZurbjopUWlX&NhFxVS9=sQIvu6h-T zgpqryb@;K4f)z}6*i4GGnyEb5gvZ?b*O5}_zOm*EW-zU5g<(^Xv2jUcE933{>x`dO zHVAfgX>g1{qMP|35d$B@4 zN?w?YJHA$(Kr30`P;)U-LU(KauyniFf3cU0|^^eAYF0;HsdN>cxyk++Gb8VkL{M$yHOM8RPh}jg2;lKI z|5E9;sZ1Mp1iIU=p^gp~cDqJdt7YTMH}?sx^-E-0*KmywE!*bJ>uTpN*^L1^9bE*}!wA|(xuT<_zrpKK&(?G*B3O{_dccp0(ax1K~bQd^}-%kFU&wMC@ApLN+iWufTSZdlm@&KfU82gso0cq$JCM3F z^1&;37|vaHkW5vF7utman~sFaP4JfB;tq`?i(c=op|0(hOBI|UbPd&dUHc)c&p^Py7fuN2w^zvsl3y%0azk&SpBd2A9 zjaw#OgA2s+-7V)JA7t6)lH){Zyo`Bc+H$mK?{pG@p*D0Eod!q&d~)G?G7Esqjr#L6 z!^$oTP;3FX){(|dIu5Qw}Wus;DAgBdSf3{{X*XD(4?NzYN^n$>Bhe)oPn?`e; zZUQW%6Rm21b+C%yS22?zDK}PN!h1ZyB=4frv0c0<4{-FG+R6c&I{J55a0!9BrTsi*f-$+>h z1M`RfLD9O5I&#ZZ5TJ}k_deM!J@t%bQ3C$c0rL#yydC4dKPza^pM-1_Gvi;tST zAh{VQPwBRa&PPHm(Z37lk}87o?yqSH+RYKSXdh#{>!PfR!6FSeIUKdrPAnHDM;Qt_ zMy$jGdukReXetc&^Zjs7=|XPX%wIXD*OX;A;yMmea_R1Wr@D~x!02Nfl@$>rZ| z+5^@GYbKK{!8$(%buoYa^un_^#Ls_~Iwb=3TIIeVdD1tYEw=ntlHNy} z>VhYtR!sUnW_fxwrZ?510Ly9?ChT!B7n+g~Q^sbszl`nQ<|ufeWGXY&e@A}FuvTCu z`Umw#Hf#DO-a+_|^2GGEq)Oeh1@|Hz<)UXM3GHL|?H7_6EvwdkCIaBCDdO@H!@NVp zKhg)vzvG_erOrhovot&~+d&d%=f=~U;mi2t?8&TDONW-#?tA#Tiwlx!N?0;%8OHl_75zP>u z?mi*aZGq2Si7{S^UJk&FqaN_+ByXYi)M(MUk$Wdg%J}xn?sk0UgbD)QQ&?=|pj5sS z^0Ap-{!p_qK4FXd;a5#(*p%=xfKI8Xljc0Ur$@d!BHl{vEFS}yZzMn4^jy1Gn0aK+ zR~}RwpdCNDYEcrnka|SRNA_CPYZ6pc9mzg>y-L;ca#(Q%?zTs1kY@qV4f;x%Q)jV> z)08z#aw*Y6un*_^Z1&jExvAMi9o>wgHVi-fP zmUGJXT5)l9B(z2BEt3!CcN2U`DotF=ezrAYnC@gR?`ojs6nZ=81Ng&T?hJ@uZRTZY zoaVOsjz^w4%J*)Vec5P%ujI=p`yfhxNAq%8G9^bpU3=7kdpu`%W)kD=g}bQcl#5H( z=er9$^Pvx+IqqA4n(1{}MeXNDkIlC)3}49n`J*qMtpL0p8HouOZrS}>J+YkAz-x68 zyx!Pi3whNiuR1l#An8prTeZv)U+CX{3ogqJE81WDzy<786|eQm;kzwu>LDl3*=b}B zsdTU|IA<-ctNG2tiSozjCdK|Qx)qxU1LWWq^~aL8^VWXtPocOgmsb_##dKK|7W9_Z zz80rnzXOdgXz)NQ#++Bj?=Y%CjQVb3MbmpsGmsZMLq1I2j=?>v<2Q8b<*jyrY#{pP z7MxOKUul%hG-K%{?Ct|h4%MK*?4Nms{rJ-@O0|}hH%qW#Z?NpJdU?1_9Nfcq)o;!e z2!0;J=Fj4A@L4`4$j*zllNuQ81Y!F;tmg3C!%}C zpWb*JJ3XP^Je?dgKFEI|8^h>f#t({jO-mwM-5LboTtkdjcpR1j+fkqnRd?9eBloqM zyjS^XBVf+EX;#^s2xqg%F>hC(UfVrcWjl$+NO)~keOvObk?RZMcq3Ss{yks5d+llN z$1R`ACvnt9?v7A*Xbnrs-CV5xq^lpQsLhPv#4=6FpsSq9}2Z~5z!ro8OCK2nfXmBZK>#v_4l z`wdt_b-*C<#fYuA8z=Sm3>E*Yq`Grjjqm@#^P%X!T~z+F`}gEOt8?~)gF%yE6{(oX zv%~dED@?7|GtNn=TA+BT*4zMZm&n5I{Rc+*4%hv=lg+0&Sf(n_X*1V}9j7aK;)j&V z?Iuy&GrSgiV9~R{rVQZdS5B+=HD}8*y_*0(hqpNyE^JRfu3o8rAk)NirM<7prsAEB ztjecnNR3_X*5d}RJH=L}%6?gd^iqNSO3}#Rr{#^3y6iX0JpHtYd??l?ji6*Ucjj=dv|txBXFSZWWji zm$VNq8*m3*kq;12sqOZk7Ic#z9a3(6@<<#wTa`fw8^{6cXa2fx^w!Xn57g%NHy1!C zLX@_YmSKz>0RCL>wa&%&Hb#*zed1$xuom#GkoM|%!FuJ;Q+xB;ag|F02_Z7$xgW)Q zwm#l$kalqq+$N>W@~Fox;&)DjaXQ6+cFM%6d5D!)m0)L-yqnbT0$q(PMmc7#<=2Vv z{j8RuXX3C)6XW84qDW55Vzln!BQQ)o(N}%bW{tlbg;f>Scs)H$g<#2x5BQ`$4GZ3R;TYKyvyqZ=7cHZR}_s>*BraLGvyLkele(pc=eG<*Wk(j#&`nz1XU$tgSbyUgrK8$^!@B z{b!T_od%6`a^f=i{)cyg5}pb0Daf`U=J0O`YDv~UTBh< zSGPdN$?6@XNbLm*f|sSmM?!~7{KL5V?DEt9mOk^J^s6T^Q?v5f zn0s=)FB8tL+y1#5b(62?KHL1G5TsARFVmV&)Vgb1D8rc_^wb-KU={ii+p5-FzkQoiqce;z9+RZK^eUwO*QZ_`@i2DkCYZa2rnaQS zQuFulwTh@a+hFs1EYL%3YUiv6)=J~|3E8H}w?bNZHRMJuKbDtpVwbg14 ztRqi+Awq*3YkK=^q*xa_19gfMGm3UvLQvhi;i?MKD*59dY0FM2F9s%r$dc!{k+O4! zJj~85+`6H$gIrMDr}f3Ey@lvlpV@MVW2a0{b|9GV&sANTv2u&9y82C#4R=IqIb?I`{2 zHF$B_=|TEK;Vwe^(dltLm8{9=zrq?z@Kvs{RtBt{Nv^dxRf1pU@pl?l8L|d4@LU>g z_H_rJ!|hry`U76HQ$@<1pGd_s>McodCsw# zGEJy=E)~^hXK~BHV^h5rBhpl8ZIdT9ELhmK5pOGL>YujBA?v?yeDn3~Yw@?RBpFj< zU?!z#TB1`xt$&t)YX9+vvM4A}GKe>9U=x2U31fXl(>hMuwkZ ztt@V?c4uz*oAqI}!|gtvQ1zD4{tZ&(mX!)odtYBxPdZ{fVmeot(uCK_$}w>vY^x9W zjj&4z*Bf_`w!q1FlFOn-ZH^N?T4}dHzBc80ayIuv)2pWp$)eOxeYe&*y*(3xjgX`A zjm6HP)5Cl++H#?nn#$|qsN$emI`u>E{TmM7o_Z@E0j|Se{RZ&Z6*<>eo$2XO?D5?g zxwPX4)!r)FND{B?}7iuQg|no6LS__J=8T7znqv#3)KuFQdy*T|!QR zk7mJAS2;~_4;n32H5DVS8R~{5BE;xJBPznNY<*yFX&%svC`WO!*W)q7b>9QcQ){46 zeA0vhi0nNR&}e6BRbNGJb_x=z)ehu&KJ0DV<@W2a@4H$ccrLjA;&NR-{r>RoDD#YC zy)nN}P_Nczf+G|ew^7y`tj*AymLq!dxKZn-x=6Fjj@}N{=xJ4Fh1z-}|Fu0SJtevM zYyvAB;%h{6V%W$c*NbIotATwBJ>=5>xMiy|S~?6i8OAqy53-dU)VHpaRzxNg_{apY zsUnx&JkI{WN4RYL`$R%ji;qv^NtV2aJ*H9<sIG|9IyFrJ1eF1~|Q zmk+=jZVj}FQjqyeb;0RQ|@D?0*o zFr7T4b``ZaQ8(x49?!%u2tNN(==1&eFxL1#t#7WAe#WbN5854!I)41P1dN;`WYkXw zd@ru2B(E|*6diKZC1;oZUMPZQE|u)hR>4Z_&$T}uX(BvZ6_@#azogHn^3!49Fg+S`@a= z;gAzmDE5n`!S!g;m(cHsrY!Nfh-Nf3bV;jVaLjY4kj*=;#PM~GE8Lq{t-{nCi#sic z@Ajo296F>OJ3V!KxYP&JUGUDm_Jk>bQ(J=K1kSS43a)H1mCgOrs0744Dph!X{D$(z ze$G|SXh+z#s>jqPxq!a9$8W@-QhHY<#{%ygve4!FW4%d8nF`r0IJ#>hUn~YF$;8Py zT+e?Wu0TgRrh>mGuyy`;unh?(OQH25`plACg7{*hA8u#Cwhr+bg((VpVKWup+=9`J zxXeeI%f08l_YyVNaV`|Zgt2teZm`QpU>uTEUvdYUIjrwI9;OZGh9h=>y-p{4;cLOI z5n5J0@%=JD*1>gpY085Mg5WL$M4BA_5t@@<@oHE7qsR}_dgUG#xC&8MHK5<`aLumZ z8LviTP1mQOlr6PKUHR1VY#9n*n|>?kd-0&PvP{L~p~2kZT_xJc@B#Qbi9H5Zx}8$6 zDR3gzGJeqYqJ8ZW=th4psqZF5t*CK&y?!oq(QF%Wt?=3EudThTn1nwweb=goi70@r zc9`awtWx+<94coCUvUB(+E?nePu0RixY7J3^*#3kr%DQTfxDpu0clRVsRgV8sky3A z8kbD_P9ePlj0>o!cn*X#D59ROAG}>G9CiRT31W+rA!Y`bz1AxMIe1y`i@UIRwR`StLz zzqY&ENN`0iRgkPs%O&}O+)$;*y?-hEa`C9x@QKQA zUiWxN)%G2J3T-mt6a>}3gzc}C-q3Be37uZe+VY2wA9NPZq}yA92WIVImsf2&fpgu( z>G+7~y!3>cmii9+N_}lY8BVpr&r`Nv+*W-g^HDR=Hr_)NZdx4a{-TkQ$y+a*mM*rO zc&)fyoiZmF#mzwvjo{G}O&eu;vRB`za_v>&b**vV-$y^mbQ$ly<`b|@%y~zycdpy1 z620rGfF#NgV>=D%wJPwNMVWySrSPv;mZS{s8nSuu*&$lwA$HnRpnzK-rWj9UG}Ixh z*t6N{tA~xWd}(S?%j;RJ$##0hgCk)mkap}q^OO(LQYphkpE}vMZM0Ccr|aV<279Z* zPeXJiS&GMG$Yj6ok=+TXE~64tUs$Xo;GY{a<6JgANh2`ZkC@T$#@&?*2o3$ zm(we+$~ zO^>mnR(66TK|ah;ZV2tbh+9|ScEnEfzJwWWbM;^}!cH-k@0abPAFu6QX{Uz4 zA1b?!Q}e}t)Yp-9x9?kg>FCq_!4yz_(d}QmSn|4`JIIm#^5H z-al>xePO!>)3|#OrNi$d#wHF_tpJ}&pE6Bc%MyeTV}AVcAy@sy0jfIjwjHJ-+rRfJ z6|5I;lf-R3ygY7b_0j$LS+Yx4;r5f2eoh+5=jA7Fr~4l~TnKEI5KAzYepj`qkb?8Q zcy#T(r>A-Bpt^pqW=hq#VeRZ7lQKJnp6pH+y&SD&(Cc)dpkScO_A-7k_1`l0(s&nU} zzh^QPNOpCzeWfbONZ;%&aQ(+~S#mn0E{eayh`%^HPkJ7BcnhXRlWOQlrrV=yStHQQ zpsM(HWz%js8W^AEkXS*D@ zkUZf*dno zL&<=o)B^LEye+os8(Wc?a=hi!S>>xGSe-8;oNhDCNK1lF8u{nmx_UtczvJuK6RJ+W zU+p)yY&;0LpCw z)e#ZJ=N3~6JvsWk?>{|Ub^gY91Xjho;9L?%6}a+0ZEdFX*PJuWY|kQy9B>1);9_G`^Y^FH@07MtJ{U0fRpIA+MRB?k;dUA(qasy_(32ha&oCFc)oLRoR9VrQToy-JLWr1 zte%eh4bbh&igrJiZ%lb=P!x2K*O;@ag@ml7Q+u{l=MxO8J-GtGuI{F5+pTwn)abpQNav zI$Kb^rksC!^n28^AgNg0Y+Pp<#8#=gVG-v8_nma{{BwyA!>HFv1Vj6Z8Y-e$wrQkJ ze6F`;c?Ml}%U}Uw$o!GJp}MZ>siOu<0WdiRkh&mh7<-D=Ge!T*{=B-bLZFG(pm2Q@ zVd@hlsNMaI1cxks9ql{=>2NmVZQl;BDIX5Dn!IO%I5#H@eMPPC(9tQ7}Qy|Vwn=VAR*EH%$}mO}BEh;|5S zNtqpsxY-c74$cX%1Wqk3qNYx>pT4cFfB=3?_1s01zx|Fl6QdSUtNTyUu{ZJJU-qH@ z1IB-GJpb3He{onG-8>cKfF~^chpzO;=I$Nums|JHlp-{EW&sTu0w1KQ1p!2tF+;M3 z&jABZ6(vA@D2Ql9}fmiR{WR{|3`4y+w5=? zR08&TD7b|r!?>i1nP#){7{Vp*7IG}s4o`SrxA9y zHzWLb@)-|jeIi)6UdxGy*x1DHl2|D9*5BEDhCAK1DeR8P9=QL|Cn%Z1& zdTf;Lekf{uISM6Nm9Uj3R_bDpsJZTaEhQ-JQLDC4sKmM7*tJP<2OymGYC{s(^R=~x z*>#)Y1cg~?1;=x_5gp5Sa897RNJK4qS2%huD77m9=j`5>iO50!hBQ9blR?!BF%YQj zIj1_WPX&jq(8iA6ny{P_eDMAqWGF@>3V-M?6*=uovnweSN48<1R$upuZ^c ze{EqWFH>!rg=h=)v^f|)W+?m`rR)tIxD55lwkqDMclqIQgq=d4Y_Y_tQh&qt^W2&L zx`3X0UwN{}vj@gX*rtpxhB0YRLU6fkYL=}%k@Qf7#@_pAjcp!8EcX#sqEE>OVYDSV1A7W9!!}l|UN1M4&2*Ya4 ziDV}2^)#V{;=eK$G+&f6Q^f7@!YM7=wS!a}1LCpp7D))pauCxC4Yv^V9OrI275C_1 zw86h!&`Cf=2<)hzZw%@yr@82%<2iD1YO(jGy8nzii!d`k7fXs~q%R9ATa~?-yzjl| zrohqmLrk!N--sT0aKLZ*+w5|ve9W^ckh171YmZaPsC3#rCh9C?Ce}j2_F5!fmrF~gJ8j}>Fl;7uK4lmdYyq$WhlG^bdrCgda zs$^D*5Q)#0g{2aeW{yAkdZp#+e9 zs2}(>eSA%O8X6s;3Yy>kKBtWB0OXes@oE%meYhkF6EE9VtB~mU9k%eW-mEGf?nsf` zUu_kx`=&h6pHdEha0%kECRK;PQVz8pI-^-vDXeP%F$8~P3pyJg$W=NDeJhD zc%kSAMzO*@0FgK6a978YpujF05%6Xzp`NT$A#+3mgUptg@YOQBi4Y*}AbBw0HQ$y>iwxqPd1Npg z_3$NOtJ@U0qWR(G`Ck!R~2EOKAlx#BmprNOb;fB%-pO-DY) z-zorv-`{Cz5Qxes!U*_8l4y<<~(BHMQ%*!)f8}{dEctsC{$b#60Q17lnXfnjO}qn#zfd}ee8dXgpk$YPFxD6c z937JkY=!NVC3}`ilf4d~x{o{v2OC{Abkse)l}Vc$`7{@Ob;aU1TDdzJeemE|8oivs z>;GjL=is`$bu_M$9Saj;`oI)pJ1o!hm}i+@zYS#;1Q#^7Doj4Zq$w4acUXW`l5;%e z#k@*1{gFw-aZMzFq(4cPSp@NkmSUzkVz#qxysVEM-m0A0+ss_A0eN$V%)PYFNgKG% z-j_fDt?_MHjNj`TFM+}x_1@3STeBy5B;odVdQzWFfdkj0gC^@&fgblYTKthqyswrt z1YyIf9_!nCnO%^ZuNhM!(Q&cjwY1W!B|VM>P(R_4@+GkN?&vUkWF)B9o&iyaGs^X| z@t*mSf)C(jfkSDI0n$0>zHkI#4(P3|41zNhHJ!v!-T-eQj7BDY(y28 zSJv(rxEsQY3p~NKEGq;|?Q$;ky`Aqy6^`W)mWiQRF40?Jfw@rWXE7uR@;xAYaG|7E z#fSAc7Za2@QCEZtd3UD`^08bLhZ~ga32*OuF;`C*Ky+!QDUdbiqEx2Kn>yQi7pe(I z6x7V#rN2vsANBu+-oH2h8UM5FtzVHD5b}}fySg8$eFe3)x4-F50yni+)m zLf?&?GBTR|P)d-#b^Z&MUy`dE_^$@ao9?^sFSX!{1&XJ&mHDq;Zb;21ihI1x92W0j z)d(ST301%3_M$Q(%>STALKP)1&Miuht0PzvWObu2&<DDGc zbEFVzy3AKp$9?MhG}GU-#wLz38Bv4`Cpqib#r&@6Mfn(uivtHA4-SsE6mlYz7%C*|TG%T7wDA+zF3-&2%AgP^Y)iX_R%rV!eEx zO{~x+4Q80bw8;vY`k8dxPkO-Wjj@5w^s&h-3?@_2Ru|9JPR zbs@>fywtq@s$rO{A zbsvC%WHta`Yf(qVWc-fc9a|+1QHn0Wn<`+{E4yIId{|cTlN{-9E`Y^SnN9cRW_LaH zo_%1_V%W)@*JZX=t7N5bH5htM$;hcmK-f*de#bk<`I6CwG@s(yq46u^2yNjAR>U#g z{bc`-%kqCi_AvKH>;Go%`X7Wk*=nz@XtMjBgHO`sXO$Nd4l77kALZYhalGTyCt_ND zDM+Fj^C`SrBZe(>o4_UNW?SZ0jq1K|teX6a`C7ZhFbv8$Eq-n=`;6eU`FU1w}318jJ{ruY`h zkq-SAI=>7R?&1+bedl1@9ExyM0Qw`BNxzTi_i9~Tti9CM_7gJZx9!Vx%XT8ap z@Xwr6U%`x^W?t>RN)Dl+@>!*r1*Z#e#o~pNxF2HbJJ8Jd8%=p9*igqQR@3>Zo4E=0p}A`8d;;Z(G0rzRryA;CJ~x*bewjDpu*LEb2e{jU z^?5aH$H2;zYc769^WM=-q$H$H?itUt#FAL7r+Q1(~+p)yTUd)s*=f3a1&a;I%{ z(0i`3lHfjR<69Wkn$kW$y#3f(&rILzLiMPxpxe~#c~LI1-r^^=Ux!tl8Hq9y9S1^1 zzt#4wZwB*=dq`Wg86|o;mGc2)JD%M0pE70@?nuj2>y|*U7@b zj9rG>U=wsSNYRKE&#)p^GN&+9z6FIq%rhH^+GM>B_057YQ32 zijVMP7Rx~6^uU2`!63DwaM-yP31Cc1PI?b^9ysK&$Eqi&#S0^k(|!a?q`072eW%pt zKQ>nzpl%)4cw@6mvezdt9)FPQARF!(IGU;Y54r`pFl@KodN2@yK7y_zH=i6x0Dvr>M=pz zl4Y$AF;a5{N+oCSk9ddg>%amUfJeEuJH>2i>kU+`M9|cV1bH$Ns z4#tAz1VoL)BX%VbDgM4TA9DD^?bzpz!~n+z5AGq^MmN8F;6NEm`ksHnqFsznt?F1~ z0i-qVJZ)se%(b#q`WHeSh_S*Vl5Y6vuv^+)eJ`GlwRinl1vtYD4Pl*B568ZmQ??kb zC>E>es=yM`GP`0l;~G1E%Qc3!@;&tZ1NiNNKf>j}smEukK6>)0o+-Q_nI!QubY|Q#OQSGa=Cdgex;*Pb`>mn75Tm1MLJDh``u^*i zOyYG$QtCkRc|R_$>u>c&d>>12Uo+OA@Qa-vLmMdgEr?A%^V&4_D#pxBd^9oCzhp@o zIhdVa>M;RK+b%HG4_&e9%weKqt_&uA#3m4g-PT!AJR3`OY z8eax12Zl%bF5^4Ckg6nGcrAr#RikMP4WQ}Qb7|B7{srA;zncvn{5=Yy5ljz+>%@?4-#e_|6sJQn{i6CcZDj&8B{y zf=eCgAJpk0O%&0Ntn&Hz)!Ym!Rc*CX2mGx6UTSSYwf?|wKdli-xN7l5x-4qsxq{xnKa z4=;~PD(^(Zih?SQdp=032PvCN0%w8^uPW^v0Q$V=ZrIljbsp4Kbds0v^Thv)e1G)6 z6F7gI{Hy8v55)hT{Kc__Ihp%cmf)VMBG9LLcii#Bd2siAB?dt2*s%%i+GHNA4HyxV zYo03QB1|6)S2I~bn=EFvk$j<&e+%42lkqksucpnGm{SpP2RcN-)&e{bKp;)f#}OH` zDp!6UfAqnO8eShjXoV16BLGZBzwTD^QLGw0koY>PMubDAu|_{dX5!1Ggo|!IKr|j5 z?s9hor8y8V12u`kZD^+r*z4{a@YnlnU;mNZxo$_LK*wsH{?KRN7Qs~t9XX|=3>-8x z!*i>*4?-*lAmd%BDTZ$#QZ3jXn!BS*3hbLo-8meS-Vg-{o2X@bdgQ!7mN!Ct(;$4H z7Y8i)A6NXM&J!>CY8`XX+zXY~Dx%v*SsV~{hK%eW?V+1PY;{%2@!E)HHjK!%mr&VJ zbi$j20Oih&xjEA4mSGYVcD8CgT-1bbopUzrTeCkwwqw^-UqTJb85=6&1ses;)MpDO`N-ZQK4Vi+Wb2lk>e;H19th07{=X-kzqwqwNV=8@TTA=DsuXVb!v@aEp zeI6<|{#^NF9dn^g%mTeIetxhKE!cFD$Q<9i_y=g>n4jZXNdw- z3V|--3--o1io z{i9e}eVxeDR>OGux{sCrn{-`IN!Ph6Wqq`#`)w`5H;yYv-Zeg==H_+^$((zvj|*4Y zfJt9hGEznk1D#B8riT*?)%ICRN63q?EB8tx(QB2RsTB)W>+T*xB|$~X%M(5sj+cM# z_r^Qu5|fA)Qf{iU{vAYFsAd*BtR;2(iuIcs6c;(S%k_3$6Z*7=sYMblw(M$zVx!(* zKvz_>QJVV2tIOPgwSx}4-^16TR7?K*CXLM3t5 zU0=0e)14#zhxwhqN5}@{0y*I2mVuDCT1s8{798ZV9PW-GDgYOXCm%28*{0VRxki6q zKAi0@SAcq!@F+4@JKkFj8yVKEy!7X(+^U>BHPI{E?97-@Rv)yEZSja4LX@GDwDcBz zbFmIp=eLE*s{pp`)2EN$XC9+)zB#k1RBHX*wfyEk$Z9$1f!i?45eBvD{ID{K$yq2^ zWA;|LrOd|Ac}#1t5A|5@ZE-qvwD8F0T+sAD?<{3uE22O%0Fb(R>*X=a|ALUbG(0{< z1p5C`_Lfm?uItwDTB|~-7k7#~EWA*p#XTjsw|LN^B}iB`C=MZ5kQ4}Rg%TtXXmJk& z2~N@A6ip!nUcRyS+Iycd&ikG7{>t-==TCmjd)}AKYhIx#s1vBq z;oJD?B;>OCZQUi8MrQZ23F!Rz7Yi5JlE`;~@qpBRA9$G(Y;aa{o+(^4C607La6~^{ zSYCgUa%0kAcSIvY=!wEzE4>}my?=8r)&CxxH@^;6X+H=2BvP;7=gO&0FMj22;2n0b zY4q=LuJ1~<)aYIh9h==w^5acP&8o2-&;s5x^!fN}(J{mDUiZ}cL%#N{sD1kz{F_`& z#!uDJVIH{_xG&|J=y>A5`DcgcM%bOl>ca6{U+;TZSdZcY?=1Ip#u^I0grYP5+$JTp z%#_ic)bkarLf%U7iAE%q?wB*i8c$4@x;SW{`MUmcJycN2J3aVi+@H0!xS{3LEK+wf zrbJkS7Uf}%=>5Fo26$m*$jIC%Y)C(vwVh%$LD4@$2o!yvNh7-7Go$YfKp|^kfNJ~> z5A}QVNBEu&Up{ql*H0UH9S=ofI-bYf*~rW)Jb7N5+4V;?Sj#$=!OcOXKiK?tudZ}^ zY@(8gOm&tfZ2T?`H=R z7;O7o2~= z%Cp!lYuK`Sh)TF)IHOyw(7`T$qNMexScH{RvfnH{^ADdiNE}? z_!wyWpk-rbE^p_Fomc&B(b9*^-8K*|zWx5KRmZb~i|<>821Uv<_BpdztLvw3^!(u~ z#4#O19Xf1jbvNz{fj%ZC$F0iwk8qK+?{Oy6$|axa@BBqCK10iSPx7U3(>K_IPWwkE z9R&8fxK6aFQnB3!8dFv}utUyQH zVO&|t2_Z!G!5slhllEZI$js%%67F@_?na-oRqLH!y%>%N`k4w3Oex_^e}P z&yFQSZ_ze!`;C=sB#ejmvfg&t({I)@>u-?$cIo{8!k@j3zaY~gGkb-jeLMb;LqUZL zFC|oXPsVy@EstrIg@LKrSh`PGKFfsdeeXA4zghea^q{s+5m2F$c5;P;*g8LZbS(p6 z%7e}{QY1bw(Xw}9SKSQcHx?IZ`2Gqh72Tk5PYCKSZd;tCT28HL@V*K~*Tvb?GRfUs zHPCVV)u*%Ty!%3e^i2UwTa)x{x+L?3KIK-Xv&-!P~rBf=Y>3+6&IKmkrZ?S-P(r6esQs z3UtHx9U$Tl>}--zIpCIn5`@x&*?h3@wkIa_qaVic&g#@nYLJ$N2P>`7%k*UboMJ5Zcoiu_{jRY;{&)@>)+aPmGzLmgt{^6AB+U zEd*SbNvL?$5^M$q=*XwCxF@nSL_6wFpfkr&*Js8&>i1!Y%}~KYo$9EP8`U1}vqwf| zt)gA1zzi3+d7Snx=?=T|*2Qp=fP+RQG2O6bVAOAhUMmTHB_$v&9+Um%-)lIQh=&C3 zh=`yD*u`(j^9;>AIgFbxxh?IyWAu`2N$)RZcv6y%o@jAGR|~Dd zy4&`#=nHtm8s7|>O*X)yT`R;KwOS9@$j5o14Lm@-*7q~Z=;trA7C@nhv%QF*uPdhu z$|>JPtl;yPqj1KFf8qE-;(w20nXs=$lUIJ5_x);&vapI(*fM)wE1)&o3q8g&aKK~O zxuQt5{$!f^1FoW4JE0`yCJa5_QQBRuC{ezirX<}OXyy?O!DA`>Jp5Oxza#VO(Z@k*^!F>lE99E;b!_xwgDX zA`N(`51-PR{Fxa=XK;_vE(h~w?nCa*ODFT=;O!YP)uw5jP*|mNT3~K!34>u}L@bL< zVZ7%^z=uvT%N1B9oC7Ej(2{a034v7I{g|P%lpsBy(xRBU>njjJH@M=<*mbMApH}zd ziKf0v6Rw|o-%|hegoIO$PDtRrSSE^uPZg?VTxl3sZ;tzREos`IF;;xGUhai`L}g5b z{(#@CFXYj!_SEF=3%_5&E5@gD2RY{)2kBq>v~os{8?$S+ybzWorj*NDT=Q}}CG6-& z0(?d4f?U=%mqSXTk93q#^eKQnKr%%)|Du{m2&Jr?~}=)!WkZAlB!PI zV5DzdkmtwDme0LeZ>)wzyt46{-gqj9cm(;2=}yMgaN`NQsHi0IlxTS?lMwl#Z!!&~ zF->Ufx;~d?$v$n~LxN6k6UiBSo}zMFQozhvSo-I|38!!tI{Bud4M;zf)EBYaP>UI2 zv}y0NU03ON+Z;YM?qqsV6q?cxocMm6dVFP8;9y52v-(-onyz}X`cUIz*O_O2(;w(93B^e&?ZsxeD$?82l1KfPk-=EE*^d^dyHNw)Cg?t`_DuN7)i z{}q{@tN;I31^(mfuX}6Od~E>5&h!2<&B^+SZP-2`$!N{Ho0xD&x$>1I+Z%tn;*Z)} zk2>z1ej)Wl(uE`7PYvp(4;Yhe7Rz_%ZNfLp5dM58(M;ks_cRvR^K_ym)<|xOw>i2~ zbBZpDz_h@YTQ}Nblj0byl62q` zl#gs3-)(FG(|n>toc+O_TDS+{C9ej8I@%sN(eK1zQ#=N~;B7-hHy)h!uNiOZicL@b zpdK~r*3=c75L`P|3{{FhvPrjco7$WllVGOm9-SM6`%$||^@g}jSvh5ic}vQ-1=vzV zPj!dq7+={EwvD2>Ow;=a(W4`yg zBB@BT^zMoAPfPIQXM6z)YmIj7wfd&lSwjl0)-bY7OeGTb6RUR*_misq&1LT}=_>3V z9c?We+q;yTIL`>g{6M#^MeOPtfchZc92UnUwCrY{98k@)^v_f8y|TEo(-f8j?W~PG zX6Z&{M0T`m$rj~@AVrrYg`H-ao6@_k81JL^)L$LI@zs`is~d&RLOjaFd9(puVb<0?5eden*yyt9PFp}mxtt= zfAzZ-4-yB( zn<*^`sEA*Zqrp(46FSEkOV`CB$+^9!YJy{Syh`{aRT z|2<5ZX@w=DyoKmy#BR}8@e>>PQittPApAB08Mwb%F5^|uX8o> zsYBzu5VsS};LV0!Q+b68lsyy}7w&GWzKC;xFb3&bSN`J2RgaELr09~_r{I5^u z6pETA0iH{z*HLxudnS#)g{NJIo*`sE+l{7+ir4)LPr8-M`r^*|{#YtHmf?=mI>UOl z8nH5~-H^)tfTW5C)|DXNvlfU>wF%IkqI(*~Xks9Z`k{P0)p2a@4a#mdVFm(~uY%=f zmAB>t)n6o;ez)smd4aqeHz-}x+LDCxKmX;FsAa%9q7qZgwBUs#9~B(ob@fssHCMap7pYMTiBu3LDOh{t4UgL z)ixX3xkZ;S>XscDFF{3X!mS4G4Q3Yse(8$e=uVERO+Cd57yTX}U?f2P^8t5>@3{is z!fMmuIfZ;t$AIFF(5cc$xZRLZ4rtR~+#?-fS#GiCSCVN^swx{jLJ)4myP5$gjV>Bz zNA>Ff#K_W133eC$tA;_*(mAZ?>mnh7^J7W61KHaCt@YiHyoNI0Vp5_e7mpAOxv5n_KqhUNz>g@e=rb815gJ<9 z%8c{#l${8>&{@697g*qv6|whI(e0;#X58El$Dy&tTz*;Gw7gRa+;<$fNFICXF|F-g z`OooC15xhR|04c>gZ3LI$KRFTC!!S@D2z#$gT(h2ma4YGHq7%JZ5saZA`9}6`B}25RPl2& zs8|g*5EtEv<*DEpuV`Iq-rL$6_u)BpUP*@wzo?6}?N2Y4fd56UgWD=AVZ6hK8#9?T zAXylCSw-%I7F@tO#@s(l*KRK!x*kuX9A>bi$gjpN+%H{$UC8>ra3xO=JLB@WIjL8A zut-Ee4&>+Aeb9_+IDouBGF`1nJPN*;mdg2I#67IV^eM|d!wZJhF^dxFPn3;5)j!eo z)+`%b5r7FoI4C`<@OoumDrD+CmO)0=tU~YfPn7Ov;5P@4cRBHC&x>g_4 zg)nqJUOiz8)Wgm}xqoW`P;MnP;cQ#wM0^%qJ`wNZ^ehQq@idi4ul-ygf6!jVOxjmc z2dm@|Wu4pBPF5jh2HNQN_2bJ^u#trNS*JdW;BBzGM~)Z`ky1d5_nS4o5`dIK`^K*P zP){h1dLVZyH`tv$PYS!J(y-kMdp2Wu=F<9TrTN&RM*m8b6L$=FktwPCbc02N9?6il z8sonpyg7~0^PFdWYLody<_H4h)i`}{`tq@Q{lWK4T#Lq9^=`p+(8r>aUyas68V7W` zp%}n+iNDgNZa8<*5k17uJvn)(1bFC?x!Wi*NEDAM+f~8}B+ZdfQW3{F`5Ip6MjK5f zErMVxYMMTRfU)21%nwxW8Eo*Z7%=>2L&D(x{|M~gad}H|&G|wHGv7*2S~M-y6bsW} z6wJ0Kc4h`*beBZDfaj~n>guVl#F8D?#yfq9b6x^T8k;Y;J$rWH8sZN}^IvgWrbn=> zbcn|=BX@Yjk;OI&iA5%ND_&OZJ=i4f z3;U~I=on4dfIl;u=%_N$W9kj-q~@{D(+CA5urBa- zIWTddTan>3%Z9*b(E*!hX08nYddi@)VD9}&*Ndc;N{w8;Z$RR^|Wju~P z8ku=8EOQcX(5heBdO7UQgIAl@r?&JZ-Akyhu^@FbZ;+TemlsVt8<;bn1_*bO-VKST zsOb8+>diQqM>xmr`L_Iz&e(*nxq}&@8lpfBfOP@z2HhyX8ygQ@0=$9y|6AIQR8rB9 z`{|=UnVKebj2is+1KmoKTyX0MyIpiPc{QEqg zg2tsV++Hurv&4LUa}e4}+u_)tQ5Q7b3&lw@3UFbf%kb_8>L$jbsR+AZ=8l$!re*jV z9wC~a#2a6eHDScO*m#QFW@6VK1q zyayJShG5??m#d}WUFNXNaVz{)1aPcp~6Re+1RewJQ|0sQO7JVU~K(Xk>Q zi?l;5M@Po;er=sAaS;z8Sw?kPHOhkxo!}raz*aeDNzJm|%=F8l;v zKtr}&-4IA?Z51n}cMH$Zr(!k-i|%mhf;LBYXJ?dM<`K){Ob{n5%f;jOZsFKdTS? ztV6v9D^>~o#N?l)P(*tq3;D6qW~^6Qm)4ZR9HCldO?Q25(Re&5TRKYL$lA%aFCZp- z8CKu@1YApAF5IW>HcF`ky}7PmDGan(ZFF?JFS5(4&iQI@YHCJRwG6E$%3hD+YY$#3 z=Up`MO&Gz>XiqNi&K*`MTgi~Gi+V@OpX-I0+L1EGIx`~8)A5ay7l zYD7mXf`i=WYn5B_l^!*}= zIC6c`@`{|0nnTd4{RntzLnirpT+(&g3Sfa^k=BzKlTB|My}g4Py*g$#E)b+NY%A$L zpEgg$2{uQ*K(>z($)(%Mm@VwjCMFLQZq-uT9Axvokgt-Ow#_FGKaiW?!+m?uT@j78 z%uOf8V4Y%xU$@4XFnOh!K85e%^C|g3=i@#xbsj&y*oj*0wlg)RRHnr**k;l#>+bq> z`hC27(uYb3v66e!O(b3AaMXGx@zyoRnth{d(6ygc{VWY-8x3=beA5_J%NG} zMyki~66S%9dN9?;2+e&DPAAuFhd9zz12$m@d9B3nuqh4TcBrhlG<_!;0o~tYXMME~Pk3k3{f^@71=cZVhrv<@HH1(?UEwbNVIfd8s*F z42nnA{!?uE!%_7Q`u{@H|9JV&gzp9F@Umchp^0bAh~aIa+~hOpM?Rm`^iN*^_g~;l zHk#%N4B+4LN`9BqLRvq<;LZv=ZUA0>>K-CUWZi`>uo{Gnq->C%#FcljVO6Opak_RE zO1w2IScj&Nr||{rwKevkNg9rrl-*JLV{waT*Gz%-8q;>kp7J&bS4VY-eu1mr84%%r z7sHEr&?fFDYu&)U5loWP=CY0aK27`T=Jb^o;Mlpcn3%RTisdn%;3))`xCjrn zf3ElXPtcamiD&dt`p0C}^GPK$r13{ihz8W)EM=JHp5ljd)55fMX?y~T`W})4nQJw~ z=j;TJIypTD4z;FBIx6ULrWF={P(>OiS5xxy`k>%hhRBci>T7KeN^y{EB7Z*v2blxm z$vjW=I}}P?845E?P51m zi!8WFN+J-r^vNU5D9|wnMw2}jzi1iQD&@I9HOw3!?_A$HU5T5-mFt?YMmp1&D@nbQD}27cwrvO&t99JmtP0ZTYAmSR(F^YK0Y!6NfGO!$#Os+}y#e@oe(Vcrk2|I;Yuw zZ1G{rMD^CSl6VQ(SVhSX%GZw?pPeNSJuPKesP=07F{vcyBp#2t7@Los4H-QzOfbaR zX4C_u8^UrdLzNEEXM}55#*!5;W;sNy%~{B|`mL@Z82v-$;mgXS{jJObm$BVLnYhEy z=JSRXO2?cDtH`kO=)Dm6bbx=r8R;9=ZnvF_Y)bew$56Wix0rz-^6QtEX7ppTv+;Dv(?`$`1qgtYaM>l0`qUH+W zzl{{a63qKK!*aFE5>wWsdkgIz*`Vy!`}UmVpIPs;>irQNU|@0A)4HUUQH%9SACCyN zGO&J_=Kcbw?Wl1Ptd@iDXChEM_yQwx=2Ub&vt*Yks3HDR_{^+)bFwiF--1t&s^Io~ z4KqL(JdLlagWLPVZfpyvwHgF3eXjf!F0ObYC{G1f^W? zz6&)61hv~Zes7VI$Af-dfh_rX1SvTpfF??4V=jH-5y4Wip%TOg;^xYJ!WZA+KnIe< zVf_a_*lRA^M9j!j*t%XDygV|FFWjf;S(G!Oeis23ItIs(c@pZ!+}pv0;xD+%CvSmd zD;)L?XnM`mZI%=~;g)6tDL?~$o=XWCr@Nrq=#uiqMoHA3);5&)hp~g-fXZOGfJ|rB z<0{P|W249VYeI@ISHtpgTYnn+Y$&gOZ>q7+7LwbC-IbN1H{TTm(+$JYFHYAnolAAA z`a*0%C{+j_9dfUq#c<=|nqSt{aXw6<(E}9fh2@5%?q64|D4Vw{_yc_FSjk)Zk>SRZ zxM~R8bQ0N-6VzH9eI1#UY5JsQzG)c@mH}O~Z0uet-&rw; zs_pgD$ocVgK6$UT@Ci6bVg;P(>yFVzcx~VtOuRpf8;q&$E*h|AaoH z>%z_1RbldG`kxY)f++;Li;4u1eVG=vjTMX;PY#tKa+>0{;tUVn5OOoe<@gj=%U}bj#r7B;S(`J4U9ozpFQV5c%@Q2mv zrlpP+sx?&hB-Liw`_pODN$?%_xyID7h&Hh>xBL0$&<9`_1KndNzYtZDqov+zWLh$D z&Ltc9_WUH*rHB&_9q06IUkwT3JeR<$q?I-@QY$8@;@sj@?JlTkzcxA4GmIGkOp-X7 zFYkSyA8X*qisFo1L)58GUBj3y{NY0};_(_z<1cGSZN z08b-!MKJGIjSh5z$IcEES#Qm6Pq~W0v!z|2wxOTBS>lxSAGO*KUmRgy2sCrC9JX10dOxs;W+eW=U1?q zt+IuTVq_qeqO)tiNC~kTVm;doJ<0IDf#=1S%(PG*zIx-W6+XQ|dG_7Wy5KOT>hRD_ z0cDxPcvIumn@LDW=ix-_8zvARqQ0z>-Qc`AEabtEyZs+#Hh_iv;cdIc^Si># z$6aS_+O_`x`!`w9|1r0ux8MkMTs&sDV}w#-~Z=S!lz`)z~UDJ843ZgS4`nj-kn zCkmQCJ#Ix+!Uy9Uas_$sq_BC1A*yWsHLUd2@}br!300ZJjc-`f}B9m)}}&DrDv zH~mG7(oT+U>Ay(|6qP4U&Qci}EqTeW1yrUaYcU5N!uR$-zPMIkS?o}!=j6~pxqi0c z=*MQ^a76_d8WGzpXuLqe)#!_fZl@TLw&G* zbQA7N<-paZk6MJK2l2{Pwei7S)(Yq;KcZ-UlxNNmdSj-JpM#&usP?(O%SKIcwW+&i zRkn9ka%7fODVo?M?=`W&A7EJJsc;FqFHk??tHhG=I3|(}gZ1CLulSlqwr0^`W6ZGN zx+wVmzHv6^G|uR|eTXTDbYKqIo2bPsO~-M62Ng))ebIe5@{X18fCFpgaF~{pHlSLu zTZFxh!^il@Cr-nlxhuR$_YFy*yoZ_dvgaA-^(`MS!FNU!aamQyHV6SH;=B2#L&P1Q zA-1se?eLXe0F-}A8NM{F9S#FylH3XBj8X}#%4rAOeAKNnHgh=X19wipFT8X`?!^I7 z*e5w32vtQ=QPpX@S!;ZlB7frh!psG@louhn_CT_*bzz6E*KuBXrpt(2h(@T3n*Vwv zScLs%lMzXXpG<0pZ~v3cvsnI>BmO6w|D~?-cU1nm`O2~@xRF1k-Yvv?e4plG7*i>w z^36Gskjp#RP{Jc#Ek{q}HQ+X0y9W%A4a zhjp@G#Rv8+bL6#v)}RB^3ZY@$=&0Q^ReAdZ4IRq$>@shtQB!j^H;-m~E}oYMs@0~! zrLA4k$irI7q$RA?dyUFJcV-i1P$liuwnQQKP;16$h{I-J9;KJ9JRwf3TJ#$!T@751 zpSxcaq_rCX+Vk#P>))U{@Dm>9=TR$AVwKgxOQbAE-QPz>RvO(_P3%Z${y4<3sL3b* z{LtEQlwC^c?OqLT`RZ#e)7b#^|CD!C!d(he=ABz1E;Ee!rx(8YjhzJ7nC#&;pAg|a zaz&f8L{#sBd)But@1FZ!jMP491f<7)%@W3CyL0slojz+17*l$Q3DIJjh2G*J>y4(? z0^Fa%>hH8hR3{u+3S3Tf)Y4}!=#74lrdlF#8SVebS)8luNf0FP0R~4J>lkK&yL=P& zeI|@+QtU!5XLU>3_S>tETB;U}xQK9TFsRiZ0C+FxVY=l-UUI4w&YZ^rcsn)DT-?OK z&N|dtEX`V1N=l#ndpyZbkd_0-p+)he8O=)2=CygdWy!pG(XH=n+hMJlTuoax^X|)- z!W9xppij+g0I@$?0pCoaA#l0#&51(1C)`~Y$<}@d0&n#$7iGD?%K+DtPxZRVxi5MB zR1{@eMHH+LPdd#<8|y>=5TH_Aosu66xd1as1;1twuf89br6M6AHV}@KjZC6W^)ZfZ z^~c7~;BoYVQ{K6E2hUm9wkBO|mPLdY#8xbkMdwL`+4JHbWbyg0_R`BNBQ$u|i%4bf z30&0y;z9e4jdsY!p*q~J=w@)xzQW9oeiwuB2wtTUlMN4{ja)rcLDqoKy^oImz zOE4+|g`|l)s^gAJuWZ}xW)QVAE3MLi>ad}n zJgSN>u18??d!B>-^k*&XW;k6be8!Z@tc&V~{`b#A?pgbs9G3aIk?OG>IEjc&k>o7w9{v*sH#KWrE-kSL?7RN!h+#a3dh> z>(lS@idpg=p?Sw3*tFLrM# zMU1#=9=S-ZL!`i@+JwkJubUJQlC>wrQurPe;5;i>wLqgC9ri5Rn>jL{hbS9gZd^Ny z<>>{!|ELoXLofi%^V-BPcxL1%qgi>OrB=2132$$(N%MS?#S(ER)ESq}2wLsebLYxQ ztyR%#^CK7YWtmbH^Y4W+sty`9&uo@^-|s^by)z+*oDbIuT&fel(LSBzo`Y39o#=pT zLvpUsS9DA!WsohM+Qg^u=r#p?e_`oI0xL{w&?Ho4h1 zIR0VA<)Y9S@vF85XF}h@ss>-MLFa+0>-oD~dzbDL9CI~ z4=lCsXqA1{jn+vqh410@r?r6!Ocsh2T4+}s?(9$*=l08UQn}(!F}#5E;mZLN>)-8W z#PN!3LN>a4e4fHd6}Y|Q zlxN7<`{F1yBZFvpZJk(N8X8Jo)ePo}+T)&LEwVOLO;G#oNNrh`yy4J2RRYeFMQO|t z&I#^cAsZXVqCvIyef#Fc+&2=)YNe&Rk;P8=3X0%4M>eSY91Wg3$DON0K7-roXssR{ za`=hY%GgJg0dd+KU-G?;bZXh{hk&lA=qqounvGXqs3+**`FUS&oXh^XF<>^eQ0dtG zpzuQ{Sf`D7R4mS;YPqyLA0|n)kao8G<5%pmp!Xv_og;?9DiEPY{3kjJtGqY1;@aukWiy)nW#Vd_@DKR$4 zi+ev?7RL6^YXQNmQul@Kb<-5)XD{?eU0MDYvws#UV!zFGjc>IFd3YdKr`x%Y&uM`H z$B-O2aYq~dz533e)W*_F!_63906XKG(?bXA=a!`8*)5|6(+16eUI57B4Y_j^4WG0V z%y??4O|RqU5*!hKXwCD!FiD0%KHHKi{{XcMMXg+vlvJj4N`3b2oL>|-C@v0m*Yky*HR!57BZy}ceCMKJ zZAmU!*0dYmCA$HWFGv=Uon=!h$pQ@NSl@H=5bXNp<1Y6%S$5Ot%Pvhg1>0`A%Wp5) z4mp1NvGw-)zn201`!JYuhyM3TZZ9+v{m+{EH`%(r0l~6Ow+j<#Cue8R@vzz2L*1= zD~}FjD_FHgl%*c8Ssgo-GB)?>0JTgZd(q`+QgZ0iZtIa8hfu3>JaPyKxJ zZmU#o-yIOzv&?jt)i-|>PJjnpLd7}oli&sI?xcH5w|+{L{*q)ZEeoL~S(K4QvfF<) zjH82;bqVr+%J@FAmE9=2z#(28<-KT!{H+C0ScN3@Rjy9bVW+m9fWi*n^2O(6cJ5En z5Lk&qky}~-XfL1LS&-eWkGj7o3u#&&WTNhSJUlG z?s1Sk{CCSDAnAc?Nln^0d`7Gh2uz#x7V#%phS1I`Tp&_Wj_OQ^v`=0dKtYWeb7fu`>zBNu{!Yv4g2!<3DSTr#fdE%XH<<*js%_ zh0K@1>{@#d#_;vpqh@dBHSe?6^(Jw>KfeB#xAF32CgcBiD1Kz#`@6XF?=y1s^j|KF znZTIHkTzW%N=Cb|5jgEF+yEtt;`W@($d0gHEH%soEbF5X1e%YN6uvlhqL;%W8TR94&8su1LhuLd^sktD-5tC!kPlZ4 zq$PxdRxC}qqO|1#cw6RLt>t+1M|GoT<0?0EKIcYhiy!1w+OuN?1R)}%J+W{XFR=UAI?%1V`^iRi<_$vD%!Bmg9@tsaDeSu(1lo`dLzIs90#h>QrWsJrB`anw(G-$Bkxxn%^1^a-_jw-ycQ`- z@<}_hfOGRLj#{3D3Q?yOeo1-c3=x%&I3s@kZWHV|7nkHOfXc1~kVu_Rf!%KFnoqjS zHxpa;2zEon{TC(i8#x8%EKMQC@EI~E@pfe`-!F0dD5dbzuMToD_9Lpq^`9C^!P6*1 zBPGI_!ZP-15q4++_lqrPBTiA|ego{L`7Ff}Sqg0fF`_w}FYNOh0?wjP&21JBplvBY4?monpyKi&$mFk8r#&^^` zLnxxFsMb@6oY&ml;jrq?y0u*1DWQ>*22Q@76K)wBlN*oQpC-Mgg8i zmdgJ?{txc&mk0lz*Zuc#i23mMP4eT(7|O!N41D95C0zQ_;c+4os)nehT~%x>1T9M( zx7@yfb#}ZpHI>K1J~qdPn?ZE?dXGyq%xs99%h4NXa2cO)l!zzwOo85`m>Z@Xn~y7% z5SfOO^!9FQLVHCWbQVzC9Mk`^5^K(+dce{Icd!_Ah;ZWHG48gj0}nu^m2yZH7gu;RZ$ZQ;EF3+d<(}4$w1^I`-}`j?}F{vy?!W2 zcVaVhJ8G)sRP#OyGPcU8^RwwjzR`KDRm4!G>vJ1(Mp#>ivZ15Usc70LOLcp|_TlLh zI6uEbXM%fjEx=%A*x?@HV@@k?jO%zU7CETdHE`|%JTXV7#ZzvGkz?aHPN#L02j7>H z8j7Q&L83cUApe@g!-vm{7HNs&oSZ4gpcX2w8>UbrNg=IiPMJu9iK1R@7?hbExsBryU`|#X7+k zr7Q1!t+jv0T>^1Avzsx5L~RAzTR(7-55e=eFIxJi{Wqq5-p5tc##fxPOiv|$*@U4t z{qhHreEk4K&IM6L?hZczTm_IP5}0#jegUzbsZDWDzMoy0P28_!*m$AtPD7;Kh{VvZ zqN4D^1u`2Chg|@eqJ)d=Mem>x(2|*wdB$4V;n3t^Y3I&LBM;9_Ix=|CXFkoF7OH33 z?GDlpoi8?;l9%mxKZXlHe=C_C!cfGYD;Pg8S=dDD;tvU7Vx=iyrSSoF3B`;$1?NeF zGvKdG18hI6=prxx`@npkLE>>ttsJ|Mjg7napN*Fte(_;5-UuUsI+Q3>^&e^SU&%NA zXVM?7osiPEIb=MJi84U)}pY;XaP-s zv9TO%aYfidKk-t78BLlCO$YIE#}6=dX!)=te$JipUgtT2ewC6Z{_TOz>Aam(W3JtM zTeL>Oju0iifWC0yZ+bup-E)Pp!EnGU`D>K47>6RYx4l~SZ}Hh{4y1 zH+Eq>ji{zx)Y^F?Bn)+jcy3H~>}PFp&J-Da!oF~x&<%<^d|_Z78{olrph4TMqSJk_ z6EI0jnGeEN?vj6>9@nPUok`arXdbywA%|G@dK)E_=9k5{qzae(w6iEMdtE~o^if5J z0Senrx-JG}DIR_>>4CBxcPB=y{*6H%Oo^W?mJ@aCRjlOYpaO*Fhm|d5@TU@p2Ze8L zgBdz~kQk1D{lyt~urg~jj;YweirZ(E9Q{JC5tj2ZjTl=MHjs(@-ON`4{3L#$m+V+P zfuN|}BPom@H_>d-^8NG&;ZT`9a$T@m1-q_B?(D;F)>fpjFDEN&LDFG*D{@_Jgigg! z?vfg)d+M5bYeH>+_e{f~F>wSc0NA&3(@p((8TZc{fRFG0(hd0H|L7lA!)t|UH^_}p z?T%spWOThHY0{qTz+Q`93DrSHY0C^GDqxGa;@ zWatW!TwF!ER|VH;WnKr@J{zy@w`gt5Aw?&%rigpX{eV!rWUi~~W*6DvO3IdGyGqD} zvd|f%^iVQZhq5m4I`GE-uATj}BXTSrKC_6IkH0ZU?5R3BOh5lzH0B+i4Lrsbez=QZ zMqZl$WficZ+10aB#uW8k=bAb{>-O>mS47tqO7Z!72U*%|lG^*Wvuf_=dSMbmITLj1jG)|p2`PJNA67&y!~}P)#2L*zelDr^7XaU+g{FZZ*+a8-H}A3*hM;- zN3oS@{kDC=tlf?~8B@xw4uqF7RD$5wFv4@Df_rI}c_O2j86!L{ei<*EW7OJm5jD_1 z&jRIysrUhHkPh0URiAmDZz`=CPxPigp(ZmHP1$wGsy{Q<3Oe#;&6q3le4P&K-EbngZ$#H;22!itCM2w{oQ`XELVy{E&kuT!>)-|O!M(fXi5s#Nb+C4Pu} z>t3>PQ-GF_hpk|eTCyJxZ2L~-eN#VG=StY^E?~07m$mAD-EOsYbMxU=4p!`BN@9>} z7Xf^Qq(XTp!>SV91Sl;$b(o>WMM)Qgov99I1By=>Y~XA9HtS*s3!5$%ExeIIOghXn z-?0UvL;Bq|^*E>l1C7Fe9TApny-jbcT_?N6_j4xro_FKc^X^ z=n-X?RdUKMpwAayRky9RNV7H4@^aDf=p>iY^i|r(%u5A8HgQm6S{gH<#91NGeakaQ5|DdY=Gdjx10$!pHzl{~{L9ux!72iNEcB>b~T?s1BpIn*OAW*(@MG8?yRB?xx{(czA zQ&9P0iL^TC&>9ym3%22YB{aB~6GV@2!BnmJ|5>6Y|5q#Xj6OmZh_kL*bjvU+-HlBX zw!pDAiCoD1bAHNz?tdZhaj1}+MJfD zn6CQhu97e&#jXSVo%=Xnivq;0E(FUK#E)0}AL`yas;RA88@D6UR1{E}4GkEB%l0`4}a%~^)H&}4clb19unFbr)b-8psN7Nv$ zF8Z6~R?_=JW%1KfzCYX5hxujvtu_wcp;6 zhu-8w^!;Sie9 zncDKR&?v zWmEIA@p=DcKYu;nGNk7+R<)?7pqgFD#7$PiR18DDYm^~w^Z@9hMh2dsbhK~C)3oA6 z)okl+*iJzP;!`cn*kyfmuB~?E>By3{%c365)|21REJ5Xh^~{42nb>CK-YAIS2fl?) zu%tdnU9`efaOwDeZ-X#t-|~ND$Uzm3!<#2BoP2T`-3t_;-|`7#Z1GBh7Q~*xJ^A3` z!h6(#+T!7rKaAJ=Buld`hZ<5gX7qZ{h>v+b;{$KkKNa_T+E}uJ9xkrM$KCJBFkbfu5;6N_eIF*kJ&kI{@&5G&lIL^GBxIM` zKgg6$wtv`0Wc>V8`=X$6m8A5^_F*kc>cQ2IYsUU_!;({<^C7C(2Y*yq>`dO7zLA%; ze)ij`Ll4;2YUjPutNT%+!E)=Wz37ZQ4HK!H1K%`p?g}RQuT>5EgMZ#=uK*27K9Hm? zT#S359;n~{U0uxK%3vuR6^)F07a8w7i~SaZy_9v%PfOtph9hO;(yOfN!dV2&W(cvy zRvFx8oVRN+yIGOcH%)v$kY+1<<4(_jTHZs5vnDIFp^myxbob%?507Ic4GH8V6~oZq zG1i-AE>Wh$B(Fld3wI6L`|RH(O-})Pp}t$&d^^az9+{P((p-fIYBIV{5_mIGs%|Lz zf$6v)WQ#Chzu2!?`E&b5{}Gkktg7fsU5_Vn8azJU`?zCsu|ssIudK6~7`s7jh$nY+?sJD@j{{e<7q0mj>O+kZjJioeQXf|1WT;A9 zel9mO3+{hf?)jW+xHEQ~NCW07YCc{zt10tdxoprMiwM6hn_sNfequE)_l&J@e|ap; z1#z+8r8Oz-p>4WC*M0h(6ie|r`Mx_%sr5URV{r;DWg?MfdUm-942ifki?;5YV}DeG zD6t5ZOr>xDakSp~FPu{0Gx!P%?5R-QpVFqt;h24U@O)W8`9=lebO}pU9vuap_2=I-= zAPyQAATXCSigTPxi>?M6U}qmhkru*iT|4o{D-JO88f+y4mlY(Q%$j>c02>W8Xqjem zdJ3b*vmjCGN>9Du7lj5*PC+!>*38QP4Luj&FqT5KgZP z?T{@CFk$I|pp^SUJ%v^;*vtklD*Wc_LZ2X5Wh6YIcsw;AhgtYc#JY$3Ai zszFAt(zFfqI@>ljU#0oX!SCs5{#*7p5c^5BpvEyL$yWCI@<0&#KH-46vm>mE9 zJo`OO7zxBa4x5QC+{_#Y;53QxLOS5M~E!(07M z=})Glbk3-XoqrIoWAOToUERtYHzjtc{j*EnR`7?$Ijqk#R7~74DOvx4&qD*-<$eiu z_WL^(y1BwGMVmbJvYa5}f#3qA34ishQt8O^DUBnY<_{K3C6mQWY+>{(NM8fP^~98v zkMs|i(ov3q-DP~2spR$I^q&n`bqiMMMi(T!t!Pq-s~V*s+y@Vj-(ryz%w6I$()y>0 za+Cp0)A0J)@0Mb@UM>cG>qH{%_sE)E8}UQh79Y__um($Oo4bRMviGPvTRw~*#*>0d_>uiRmOpdMAhN|;u-(z9=L%9TJ7slWfsOEj1JnJ*#UBmcHuucP} zGpTP=LO-UHY+2-+ZZuutF-{y0&=DtN8dGYC^f~&?dLCj$vGPhND(&HnrlvMU>O;os zx#076or4#@YSAAoexERGkbNh?zd&{mEQI)XNrrnHdjcE#ny*AekMXq4FK${5K$m?X zwXyMMl5z`n^}gnsddukf=4jdlhI%CZ9*a9EHKS5>5bN`B^oQ01a_ToW8uRxO6<8NP zma!Qsj=31OX_ZOhrEiC7%mmMt)gN0wdx|}0gEOlc$8)37-UWMvNh7Mmxd*`>!>Mhv zPl{cMZ8IoFARfxLD*va5Y=7sk;Z^?a^XeI5@a+)B;JK!&mL$Skh^Jzsonve3G280i81QfO7v-`&kEtZF|nP&I;r z(qk5U|Ni37tGnbXe2{fdAX(`jBu%pW+3-|8X&aMJd=F4p*#~Lj1f||T&C+zThUO|&}g{a212?e7d|O( z&Cbq_aiMqE+tO*PRW&s=cXN6Ex`W1~C|Oi{QQgXp-Dp5pLJv^Bs+ym3z%OQc3-FZ* zYp)A{+Zv&gh*`BFByvlc_sl(fnL~L`clSt!X;*CZ6_{)GhU#=K1C|6spC%?k}ouGMkKI2*C`@I`Ox?8$$Z_FubK%?Bp zcYfY2#*S8ko6#CQy}jZ8eZ%f}Q+m5jQMo%FIl9;O3!Ya47`$o1@@GXf-{o??tRiytKZ;+Eb}xB!&YUPKPFf!RimjOikn)X12CVF zrsW#J=vFJPNLLFCXE7;e=w?OfbOPLiGDEV2P3cp6X)6^xyW^H5F0HlrM@)050qX^* zT&W(MW4&!?Hp1GK#pt&A(X<$V*ba{?Ct+ZR&03jOGZ4?%l zv&dh#6sf1%zPdxEJ1rcC#IzjIJN&F?YJn*11bGKhM$~e3+1WH7wHT*K7nfjJGiu8e z3`}oTIiHjv3Xfxu3H7}&+c==I6lqO_Dl`NmNOHmmGucQNoj@M4+Y}`ni(Zr-FsIdk zouFicN)hU;&7xg9SvokezKOZnnSNJ`P(yB@^2@4%EB;y=ax%3eK{}Q6QTGy}#KL#Or^`8Hs?Uk} zQlPstN+a_Bny)9sQ#6~S(xx^DPmA_o6G;RY*LiJEFJ*)7= zD3A@>k4ju7p||Adzp9`e39LR0UJ5~db9iZUNEg-(Bh!a*MJ(nq$a*ozX21|y!`RTx zum#u3D)wkj-K9#QX#>g~CE@~LHUIYnz% z4uV@0Tox{dW-(@2WX}NXoNSdDh?+DVrKtl(G)swk8p2z;NMcp2XvRbr$elHpO`!@G zhtz1Wy0fxlkfg|~OOtj88!g6$XQd8kTaem`*f|Ix50;aho>J5y8ynQ5QHx57s@l?m zVHsD|xTlj<{kVt}Atw);22QjNKo%}Q+1xxRD%52sjSd6rTDOw!u-JyNr&Mrp8UNL~ zU(AInkd4+x3ZY5~=F$LNl5H4%Izey3mc}#MW9vJfZl?(&?b-V?q1K4c+R5!pWhjmyE3=Hgjq=nALBT_M5NBcHg6sHfh?;V9Rj3E>ZBZl#d zxKc^i-WhhR+u9upXoF0+tk!KS(nk}EDp}qwX#5Y)n!#R>rTCTc28J3*Vi?-WTwj#M zF*}$0QhZ4@{Doy0^i1(GbRZDdkdrjNjyo98TLp?gSvzQtJ420k@~G0WVkA<{%;3MM z(poLq*;;lH8C3Ux2Z7yUbS*nI_)HE-iwPGk9ghg_deSYI*bQw#Z6tt75L=ajBcJHg z{M9j6wT60=YkM@;%si`Tp^F^U7I<(DqqB`0zu;6{K1Y&M+wC^P3r=j{sfgaEK7&-1 zAgcVbm{aIPQ4n5hB!VVV>fg0m0$!c4$JB3?BEML;Q{w=C#fZ>yGt|nm4zg5x_{0as z;enSaKgb_iXN{yCq|QreIwDkk-nygc@&V1^PNP+b@? zYPm_L#nVf86h2}A-*E_7$qi;D7bcF96?<{kG$ENz@X}Dgyf4Te(?D{krlQG?bh;qg zIZzKiGQn!a;=o0k&VnLnNvO@zi-f;+9&1(2BlMzlTYK-1tfa-tAW*!93Zq6VMgfhC~HSY z;IxuUa9Gx~QpCu_7csuQkV-;M87s+`(AqG(s>kD-pL^B>hbkcK2xXI=5IyH`V!b$P~Z1`s$q`sfCSrY;YuG?qE# zi4*h~^K^7%Gl0}L{Pym0Be)0R7(;12P>N!mJJy3f-7xgWs8eo_rej=sFqY^Z;^`iN z*yM!lm@#n^q0P4}%eOf#?IK8%iGg^2bafjlBxt({Z`u{J5zOM`o1mW1H3f_YVH1ae z4{Iu^vkP`=%8R78waGLnh7uUgx%Iv6~dE9NRZ9>6hj^u-7*SCD$Vp@-`V zcO3(8W3V}msuAYmk57NMG3#8VLzm+o-n&1pdXJ${6fLMUx=r+yi2i#^q)D6kf^y_5 zIBOJ$G?R(dJD>?U`PAg(QUG0uU`q{CWWC%+N?@BDR;h~aXZ3Na073*7z*>AY?BL?+dIW(rNU%QS((1Ib{nJCecE|G@Lm^AOqhQ-5)INn6r(mCCkMDG*918Dn6Yh=t=)2J@07>jQXshY>+)?;Kbj`~Z)whtIiCM;vJQ7m)eo z3}1vJrj~3$pG;gWZwPps9@2T=4g1H{d&zCKWy_q9FH$%wHjJo9&2SHLbg?SfYVj!m8ps&G!)aC`a%m{sj-S&TAl&nodPEk2O_zP z$Ltef*w@INTH5GP6_J)mfHXP^mgjO2@wAN6wxXS%Fg)6)GTn#O5P%tz1H*qCE{~5V zx(2L_xxg9y5+e(~G~BqaV^5wu>19qK5@QW1AFr7`1+j;YtXQ8DbDOY@-=3_XxT;au z;1kTCCE{|rCjgvCH%;8iz355f5Dawq>JwKAuS{jv>TU_tdA`J5*}q0#xVmj6ahh+8 z>Wt8OUdAn&T+U#dcf*w#FL&ppJLPMJL_>F&bJX_JjuAA`60rzTb4yIRHwsESj9-4B zMdO2DdeZ~CSQH^hld(*NlV+{f1osGv2R7oNLc|5&&g8qX22kTNbxUXIZI(QoNa&DI z34|v}!)H7f+0>mqAAnDMN5m9br;}e+Jj*yfy&=!=?r1+mFot zZlQhCeVN+lUAm&hyeWlN!J#asZ-3~Er5~^p;DKy?B!rf6_xrDAO8|)LXszg3GEi8Y z6sW#AgFLR~EX(q9$PwLr3!Tf@y<1r08#rR9u}G$3)I5<4cTW}_$yVwcDz_QnwCn;W;3IkH9ThrLSj|m`M$nyLs;FIqB$8^uHR-|3DxB{s^Sd>9 zt{J&n;7*-g1XIzmXCoD=jyh-xbh&i|qFX0|eqon2is|xowzRdXpE1Llw6Pm@w1VJz z4f4mKfG!k2T>%G&_kr-wNof<;76Sb7{4u+w=*Y)zW;; zZIe2u=9%R)f|hmA)%|Lrzh6{P>x3RFp5@Ul9iJ$2dL`8`J%sk>ArpO zOu-R=in#;Zz;M7K!85J$Zyy)2Exv-i054lQdR%8^uJ)?YMgeFfvIbki7FUI_8M-|l zD0AonXdqWxJtO4?csbtKKqb>(ImNLwN8B`B^Xme5e-IIYxpWJqvv~LM-k%{-7=6?J9m$j6Ud!@(J~MtW{8@_@-KvL zGpFnfdd5AlAjT6*sxbd(a(N++H*f?D+qz&$DW%~kfx;pa3zzx6c6)a%ugQZPi&+yU z)L&YVuZ(f`(p{XyN{Q%pDgWqQ!32>?s3M$dLGPl=BKZ;HBbg4Vq-Fly?~LWI0eE!i zZ(StX!m$gnZA8b&hSUNc${C;0UN*nn7{TgcLYD$Z$`g7mpgY?EzhW7mp~MNE5xQo> z>i$Z~)F(kwF2B~WIATX{k;lZhYJ6t_?>2XsA77J0Et<+aLvJ4fRfrMDKJ;WA*hJCp zmYMtN@4$kUa=d2fC+O~&XcY+76FWjvr+5eK)Fk3LU{m}geoXby1bm3UiJwc<{IB+X zj>A2{SAwfZqm}qxRdAF$u53HAs9))ww51{*;QzSIO=&<@00gN&Cm8~EVGF?IDFS*A z0}&BujRujOlUTqc-1d<1Qej=p(ul+?hgBc}T9uq^?bFeMbm*F&jPxoXYsJ%M7C5#DxP4l2BPNXc*mM^_QN;4U?&zBw-Fe0V6S_X)>PeI@Im?#4d{JKC_?WORJVBS zga>AHT{_@Lu5QezX4eY6pn=8ZS)qjpK{jj{vIZwMmL=)ksT0m-q1$gNDX#elpBgC5 z0l&PNMS6)JWtUkRv|cUO3ZBs#$;sG}rxKWLo;c6+fUt&buGO+wj499eLY|D^Oh%&} z&j=SHgPoDd+|{R+R`QQ#InllzB)Z|+SVK%^qa4^X2yM+8dW{YW+#ybY(UjW25gp8~ zCVhbbjcZ_3!TX;o(9T2f#Vk|HiOp2;&o2LLqPtt~{*3DA1sI_laLG16BaZ{j z#|dj4$oR6W_BSEg7enaoezzA~yRX8r3wy8^huiI8W1QTRV*naHU(MqBzNd3a%z|YA zxLjFiiEx%O>xEyR+2iSe#|KPK_u)h>gL(!qLNn!3UY9-34%k86dyFEv6HM6Gt_=TwgsK20+M@4e--WSuZlgiC0i|D`#3|fS8);0Aj>F*%) zJYoW1g7K(>H|Bw8w8svW&lAEde8$B5_9P^rP8#;8 z9HiG5HBeMDKl)=(x_o=KFh`T}vH}xX0cXL~0JY0aF8LIwbrGGBnpzIri+oqEb>O%^ zmc8(A?Af>u)MZsq_n3_((yesQ4QJP_45x{5fIsGz#zm9Mzjd?Z2!e`r0sQJvk0mMefO%8k4 zo|GF%;JH#$Q`M#@e`})V?X~{kfiJ#xF+wV~d(=lvH(?~%DZ?d@(14+?jMx39$fdHX zB+9qp=YU>*H*e{eCP=+7-M3c-8Mr!O$CSgD{y<4KhZ;XGG z{?!K;|DIX&cL{qZUS-o9|DuuqdaLCA);|_>^(5-ARqpn_3O7@=@DV_R%sQ6vh z@_1mHm45?k9ZO4-hgt?GH7MObkb6oplU<%ar(q*SUq1hCiJHX3e6RW* zRI?a+;bGjBbHXPrZnK~NSi8`%;usj<*sDSyh?dK%m5bpnm3JIim57Z?SMi-sBPXY8 zq^@n%6E9x)r$g@MsmYTk{?l>hTy|#W4`4Xn@&9ziiD0$HpEJT-ZC_MtXM%j5w*_;)d(xo3-3deKp- zUgxHt36-3G&r!N?94*%9!Qq9CxTC1ncjoD%H@EH_QTvZiO=?t7P#9rAPxjZXOdSSG z4~LCidiE+xUM@V6r26Vv`FR^-zG1dIEE}&-V@}!2KhIqV`%nb`=SSQK$Yi$)dt5yA z`lx-j#n}4ww9F5%)vi0jW9!~c_Az>wbluJcLe=g(8KJ2+caL|ug3Cyxb zP-eWm!pp;DxT~c~`}S&>Q)abd2|)~gY-VO`ZGHFBNiibP8UO2^t}aK7l?OT-6$%}<;_1G?f7oX3ypKi;lbtkLDZUI2J{O3btNBM`PvwMX6^P1HHF)KeDA^B zZ#;~g!SKtkjBZOD%RTZ2`-1<+S^lv7g3l4JV;uGHj(SNg0$<;!*I#THFM{8=aYIOh zvr8X8^>y`lRet4g&VJO$3q#WI9NRz6nhB zm(QIQ9@^PmTn|b!zZy;qer03MDb5#v;Ahh^U_K7laYsFW{!v3+>JFJaZ*hePdDIa#e9d$zWw)# z;PeR7Y`jr%y$OTT`qVsc>iv5?3Rl}hAmmgS#_J=z&kHR~#=JGPC-i<7xaFJT71hGd zhWwRZvO1Bnd1MC0W_0|}$l`}P_w?+#3%1{>c*$@@QwB}VKD=#v6SOU^t##CSwY{vt zpA86`4n6r%=HzKR`_!i`6~IF~-uVDsAo(z)L|!D%rA7KDpQK&;?1s&ry@%WJXj5_!OdPMe=`4gi%w3$t1rIKNZTS>` zQ~BsY>s!w35k1ekKZrVZ*4qiFgeqIAT}>SgwNSeqV6QC)yMGgZ<$kTjBppwhDi!8Cz~U9BtAXd57crikPduO zYI}IErh!_Xz&O>e)(;iK8&s$xb~Upfqmnfs26s~e!_G}o=8DM!2xffUNvz8XVU&9cAi-Z7 z8qz_#)BL-0vhW2KNA8XZ`cErh!gMd4wDRc?6N2xq10B+*M(Eb@y(a>|IbfsPJmkx{ zE`g`Ta6+60fH{$r^+SplK1#!Wf2dBBdtA% zs`bX|>Woy@raQL9UqcH1OR_8&#)Ij|L4P9H=V^GfB>mHTO`dYbE+)ipci#Mlm-QOnL@I^VDZmx&B# zWV~akYAg=?J%6{9q*-z3nw;YsfzE@VjYh3qYf&6?qT~9zhwsiWQbnvdUOtyV zgnpDNs(yJ|it1jnz43t(T7U{a;^}30aBPun7iK9%cv=OFA;hKcORP)?CeM2V#NdNL z4h~3uqf>v;=Hy%lFT1+BZfzu@yEo>#Xq$77|8y3BPlk&Yx4k^fQN1-C-z!Al2Pz5Ly z3gFTASz*OKJzQ@VWxl7cqTvXA5#E0XB_Ei0y7#$*jbu(NNG&yvGS z^!7Tf`d5YcT}DXE!q3ZRV^HsZmUOszke@W5!k!BWBtBPAmQjAn%wKQph(I0#Ec`ql zCCP8O?FqZX`JxrKrpZeICpWzW&&&~e#k97By5ziDMVPuPDl-Q}=xFTv?Gd`MUjO;; zV>bo&eJN_riEy}1DimYuWR?0mDcf`yy<7~&XW z3(?~krT-!92hbi{)BNc6G!@@~r8J>78(>pzE5BcNLpS0Ov)e=jkxgrBKb)}yVq0^g zg}0cCjx-}~rLvkWuBBt4sc%qXMewW`6{f&XO28t=lf3B*UWLU*zb!)u) zL2GURTVN2!xjEJDhn!o1O>DxT4%gIlN z%}Tn+>Unv20ykVw0Wy&iuY`g9;P*cUhlf9Q*ee5WIC$~}+mQm(e>bxeINvb2MoOf7 zxKH=g&$o2wUtJmo(Al8~&@#TK-o&yYeIae7zE(ABp0-FeOxdemp+9LFzgBmP126A#I% zU8oB&o!b<>bF?^gZC|TO0)LaHW-#9OT#Bbq{$P%;;r(Dvj?vCAll1e_IeFnzIvIKa zOGlOkW9P868~*u;`w|bk=3pGQ>I||eJX#0f;MkdOF9Wi%_kse*Ob)Ln;Pw1_Mvz@C z`A}*d?&FOL_l}7Chah7AB%fbb8Ku^m$#bw`?)Jn;O4b$AwpTn%(Uew^p9zrSW_R~d zCq%{5Ai_I=>o3=5+KeqN0k1EmcxGj3^07d8%Y2)jxHf=EJyF}@fYed&8xk6*pP`-% zE^bKJCKFdF;Av%U@_f%sxS+>mX`6`Pn#+MYOxq*ev%69hM8;uvb-8HAllV zp?c8LLA8qgz`(_8CALy}P}=Knd{*yy+~-Ew zRV~)>$PZwAQ#l591p%ypt35Mlmt3~N$9EX2gcam>drcp0YjJyUJU6s#SXt?yO?%1W zsRvbX7qZ{z*EYP*Az0EpEifkmVIsON}O-&#c@Y zF?n#jD}L-UkB9&Gf^_u|v<_L2)f_SSL&7dUyp$9J_Cj7INZ5$kamqXO+K*Lx+n3{P z!)$CWV407Ss^@BDDl0360!C~KEGpmfgF?O0X&4n^TC<6n_1!C<@_xgF+oqE2Vy1qu ziOvcVwvGU*koH{~T7pw^MCjAeO+PrzysaMaTKf>&-A>h;9EsC4PuGd(_~*9>r&&Mr z!7yF%?#-kMEC|)JKG|9qY(LXb?>TtJ>e@Ew{=K~Cy9z~y@Wp}0CMN6Yo^Yo|Z7aGY zPmRuz4J$Ahysln6@=YTtkxC7C{#I%2PbR`FGNj})q1Ny~zp(Q@86&E^4^|1`sU7sOD7|3mGcz}h6r#ppf115(oO8|>w8WN?oL-r1axMOb{6FF z*=W9l4*v^DuU-Od4UnF$IrRzwn&~|#R0E*q>KpABcemQKjywa{nU(*LiBRa;j~1f) zM13;2s3ttsqt>Mn<9+jhRZh>1-L-lFGCGcQV$z566;xqZ@E{Rd!si2nZ6wS*7o0~t zK3Z(f!DrRBMv{&B=AxZ|UnOWBci5DCcd4}cS#z(KX-8OtK4B4wg1qTU>dm#{t`soS|BMCSGZPIKp87+F|hd#RDm0;B}UGjeAiQ3oYwH|7%@1ZkyzsSdm>kUn2Th?Wa zG(0Ix+-D|WI2D7qMg5c$ncDB(dCNJlhDUtzUq-w!6Svx~;X%2Q&8RISrwMBNLRjtfTxK|YigGWs_;2DfV1m&%> zF+wn*_i!z%psCjdL3W3$CPJ2;ikJno_*+|Hr42+1e#-gI-_lD}Jor3I7c~8v|7qR` zO1Lf8x!UYcsRO+Tml!5kUpo1NT$^1iev&;UB}JLOT%HX0&*wtL+1cR$(F^B1bKs`7 zwsvXj{YzyS&Fb6#%V}Io0snWN`7&vR~^FS1R_2bP>J?UTh7 zfz!F5p#+Je2SN$5mbZ0rwt9Yvw~E@oW5{&_I%{nNt0qsyzqQkqq z35xibH7biGByX*3Of|rYzK(B$Q(Q)YQ#%?6gcg)p8kR!zioc? z9?)4=-Q&m3&CoSV&D{{tV~jvFecU>{s-SXgFn(&#$wFl+mrur`zctU#Y|S-z=}2$L zZlaJs!6a>SvU038#c$UcGWwJ`H)vt53NHMvh)DM z+lQ%c;;rsYbE)1qv=+)y^St&B3_2zsN(*aNp>J8N1Q#}7?&WRE+bOGPAuN2-dnK(@ z-UNxc2yA4YPUZ2=I?2uQrySx7wLQ}&{09b^AVgEIsNyvY=(SLd$lQA0HI3tJ=2dYO zLd5e=o)VuIIH(Nh!rZUYZwW2k{=M(WjGD3mtiz1|=JDgRsz=L6v%uObsRA~=5$2-N z=8gxP5Y#`03Bec8_(2T2I_xN}A^3DiUI2%@ZEbYS6}_pDZFbcZ(@7NVc9R&q4fkuz zebjVYp|Hu#`z`L zBZYcqDp@ZIdew51nj_JxAjqLz?)n1kZ)3cslZ zWu^J{PVEAti|4M3jL(x9aKBTl=)tpVEoP(JjIk>(uTA=5m^}KzJ^S2xkn1EdxTBuW z(Fi5I(FK^+dZb~AeaA_U>Z$Ms*=)jF{$>r^cQ%{9uj?f#vt#{n^)B+2mHq`F!q4Ht zbnLp&dk!`dWwopr)Y_NX{1%%=S@5@_E~85>;*F9IF5i~vULz6F?L0iJ8*IaKI>FgS zl101JPic_eny`?E6PDIfPS8NX4xQ+;KQbeP?l~X47cJBQTCL#+OScN-8FftG(ERl9 zl;G_C3CLpZCF2L#hKODQld5D|WL0U|v-BzB=9j;*I+}NBwP?+AyJ;PewDyoC0E`@p z&9a_=p8z=h*6~LsCMIb=^VbsoT@$Y7-IKOja-XP?N9uOXwu=u1-9+|hx>U21K1-^OObU-sZ0n3xZ^~&*)9~rj#W-&vbzn^>$pl~+ z4xjIQ_mrI|U0_c+q>TrP?vcnXmCeLTJ`DLt{Ri)j*^WIR!%*!Fv-HszE?hhs{8jp! zbX~T<#FdgpK*pGGc;4kL#3T`z(QTsew7IUt)#2?`@UX?%vuBg#DEo|ZcMrAPjw>Pt z0~GdS-r`wBH*>=xjR^gSu#KI-*$+A;lNuavwKz~c-g94caVZmzVQ*vF4zq=3*xgHi zRq2K8wA`9`%bK9`{vH%rp6t8}nlx*hxZRoGWYJY$vu7|o-b;n>yb*4l3UV7*M_*-owL{e7ujvx9qumBC|UO6IHBL45Fune6J zrQ)oD=RP%XXYJ(^)_?MNAgNg!357pb}M!s7;{Cy`}WbRvsaZ9 z1{}?M)33d2)@k`H-1x|@6ZGxFugGqL9;e%(s+CbXYqLJF&OM5GZ3WLp-Vt-p)SaCX zcvG#RZPhv}VfjSa)!;Njx$p&==`Mw?c0DPPQ5j#kB$f1NFPrUwT7F?jyPiDb^;RKTzOKSwGm7RC`oH-{23y!0V04<*wITy|x*G zT`w)I<50)I8&bP{AHNIU8{aJ-f#Czaq=a0hUU5Sp>1ax!=XF3jn4nM4eEJ_qcrWJW zYyghh7cg{wt=BM+6xRdpct9#a3fvj}WG+gG^>cRN2??*;*ME!EdRHv&K~V$M0+>G# zyG(W*Vm`d|Q7<`UUvzY|hKRg40(n&n> z844(0xn~LYFFjPSupX}GJ|4awRuooSYf-?p&e#P{(lw*_wG6NF;a9nq|0YO#**v4y za4=^=-{3P9o`2WiKD_W+sUdEVJmGb1JK5Rdu}(cZEG6{Om;wjm(b=1t$t;@yQniAnez2>v#Ir5+Yj`Hy%ySZyjuMA)96zn zDEeG!=x)?OV8=a+33+z$Xu+Pvq5O5I=t!_~K6-!A?Ke`K&9>#Zq`}MeT--K_Kkv|B zAK&+wFH`sBG_4j^v)QBXUrUVc?qkSpr{vFQYd2McM;}KPw=SEze>qUBzjkJ(r*y6$1R-U@v zoU4z9biJhD_>zW;lPM8OU@%&GG)-X1{f)HWPTr{-Csjo@4qyQ zK-JuCKU7Whb>)~$&4SEey!i5)AN~xr-L>YuB-lE$l`8HLLinPFIe+;nhc0ZU_k>Ngq}6fe_z$Ar26pFl3s@_!?_~F02wtmu6RokYDv$g5 z=LJ#w3{)aD%P`K8dEf!>BYv{iu{iAS;5RSrzxhy>f#7wC+v53y!IN7^^+zT?F)gXD zA3f{{U^O^fG7Y8}6Wd8Y`Vz{me25_{=x6HD9lMu`;&L9Z=Q|-kx#{4RepT{lAH8Gj z|F}ov)3911RaM06Ga%dTc~ze#c8O~qW6FTO+O0twE62nT#&5zeF!@nyuhWlwtW7nY z+ZYHl+NCXWF3Hu<*`LwI@;nmHJpNTsm2O_}8x=`Nh(9Jt_Wfo*u1a zE7v@*fPBcQfo#$H3jLHW_xAT8Kvo6V0hkmBSQ(%eC<-dNO;WIlJe~8gn_HYz}=>`r+9bcj8Bc(VWFrjvZlEv>Eo3%o7^c7_uF$9c3q-?d$F3 z#q}yi?C6DhpSIiz_uT34QB1bB^7JX`T2w%IwSh`rg1(y1;NzOmjd!j4*}aCcE?lxb z;Zrl_VTc>WnYDQzeYp?o?=8fJA+M>&IxBP*WXhW}Vk;FqUE9vo5+$>q*>MlE1*LXj z%`QyJeJct#_kT6<(lSfCX5aM9I#1lM%_9qyT`o(*W<-HEDt(XQE=?te2IWUI#np-w z_#Chr(7VNj}N8Y|LLW2yV>x?drw5XwCjO{r{15)=^P- z@45$RX;C^=K&3&tK}Dog6zLiel#e-qyfnWCp)q5-E-Z&L3k-Kf-)7d&_ zaDH8_N~-7%-3kkmHzt0fT5_j%vr*L19mn00n`$no0n6=~nmTMfV|)(l=)pe5dhmRZ z6>N!OU|s^*Tk1%jTx2aQDS@ox61_AsnjN%SZj0%pk4ee_rXGqTmitp;9t+$qAxmd( zUcc@jfwP&|65IDzJED3Fh}9SqahZ{Vm5U#Z(L$x(wOKAuEt*Up49k4XEbNDsP#~r9& z;`5P`m}`zkKg!^zbMYhs7$v!O(MT?*twJ*y+GruG0p1uP^=z3iK{DbH<{Cpn^-F=c zc=^4XTJjgXd!E7n*%5OJ6ATN^#T}uvQW?eJ z{oY~a+;Yuvv7*IZZ*LFIdkeeB`wDd4XRbWtd1Mrk;6_c1H|L^GE;`1~SCVXZtodYi z>2CULRz+2%U7-2xUsN;ueqg9X931EoFBx8^Gp|J?IU`FfgrDIYS|rl0Lmwl0%kH6w z!i-A~jq0qD!7NnED?HR{S6Pk!cW4%q6rl{!ZB13j-k1B?>nYw35)Rqd8HX>MMc4Ff zoFX(hjpaYMew5eTbK_-Mhj@b?&hFK*Za0k@bUJ(6dxvoZ?jCkD8+S`TQZ%lG#fjbh zw2{P-0pbZhLKremTDQSl^pEwYR}ZSR;u_?EeEJKqW-zXQB{wXjFt7dEL7TVJQa$$$}Uwu~{Ga=Hfsy%UN=mh2=N2s`8s1k)55Lt^HgpU)j8(HltU@+ zw#tp#qhH?ox$Yv*mhCI1RqO-%8e5Gkhc0Q%I-oeWV#gY%1@!q|o@lGQPH<=L1IE~V&!(1ZOb@&p~NqF9|t z&zk+4{v{+lwqwxk<~&cQ(}yG#FbO;f5Wk3uizB1qQr|3Z0^;H8*SE~*_s>ZM$~TV? zlBi9Qs1EaGXNH)hI~mN`&y5C5pR^zuPB$K_fDmp4qXQb17VVLKa&0M-#^;08zLMzAgoNbj_x{npplPxj&i z`bK|hpDqx|ciBN_b^b^lgCnkF3S#*1n*a0cy!-ft=2?(W%tX$(6I8ZxeU`j2tRC{p zgZh0ugMJ?Zc=ew0GYv+-TB#s>q2c6eR*MlF5hlJYMD=J~{qb>{Git-&{oNGEK{p#7 zm-#Q+mqMxER$m_=BA`1O>9UXRoUZBSy{m1=Y8;aVuAFAta1Jy2VFlS8CLdwS(hKS7 zDSgK$kA?nZFD7i;irqC#4I{_>Bi?*+nBq6ZLk*|$IKVBvtm;~UItS|BRy9}mBIY#2 za#fe)!Ho2#e!~6Lg=TIYkj>$si^I&G+Mdf?Lw+JCKf4Yji3j$tvXSeuu-Ce><#PHn z@coj>^RtQzcT)T0?Jk@+<@fs>zj=MWBfh-Iy8vbue9vhjC_8paK=;=d1l-;@X9a`( z`xoKAJ)4PKVZk-Y$edWIj<@s98WgBaXkIOo4bU5{9{{dsb{y45imx!tZw6#yM>_j9 z%D1i@7gv)et5cSIoceIg*^I2=WbI<*qj)SwyWJn1onKID5Gy1_o*R-+W>F@7< zC@wxSJlxtsG`Pf#HXN)K7vDr|%;!e1gbU@LOkMgN`GqP*Zn+=zPEbfWzq?&-?NFE7 zrUg-+Mtb>tb!Ce$ZUlH4|5{H!iOr$5W350QR(M}_#6gXKqM!2Mu8v~ib(eJ_Cqp_+ z0XAY5#=*8!iyAn$ET&p2ENQDbG$9E%#@k%7`tnWb&c<j}Nd4+}EsTwFy9(*5pXJ5Y;pXo6-2`-(Sp=(wHVB4;FtR^ol+bi<( z|MYg#<^KO{=%^<>t|ofzQ8cOrBfLhnpN=*VJMNxEqrkwb``h|O{1M3YAnBS;2($|{ z2^NA$`G0r@+LYa3fsb-KUL*3Q^W|=WHCwaghY5}aMZHKfBp3;APLqo4WQTAdmB+c? zR|{f{5WCqfa$W7p*i=KZ3hMYwRN|4LFCy>VT8oVHQ4>`@%lins){+gf7)u{L=PW%| z8}^6Hl65<4+&(>SJq1wLoQf*(XrzQhT*yYPXSND2?VbOc**?8{Cd2+L`vA=llRRhr_y1%Aq((=wS|!qLc7wz5M|YKjVdjM;opZ>g4| zNmx%qn+Q88=-|ApVWXBj%}gB9F}pt*f1meen*r@EvvNDj0)8sf9XWTgl-7+m-i5LS z_UY$rmeaRPu&g7$Ypa>w&@IA9RB?tSd$)SsU8e_bntVRbRf`*`F|y{6Jf$ig@d^As ze0^u6^==KcQV7y12xNWM4LqCE__6faDMXIAg>Aot>O+P##aENqHYy z1E(U?03}2*m*qpEjBUU+Y*aV3E&`-PEFEUKnGrZ-F_tL^V9 zVe1>=i`q*90S{B-Js$6i3?aWKd(~AbC~-Lr`tVaho$kZ~m-=eEcV(D~@$#@7IrL6P z;PxDU9^9z<$a3nuG|E)ut@`{HBU=ACSZ6Y z9E=8K*I5;t%|Vd8Jh9hqOGMA{(Xg7@=|RrUUB=m?##jICcJv=J(MvuFz)3d#=e*<5 z97Sh5+u)8rTADTB+zG7wCs($nY_C-Y{@TA^ao3U<;3Z4uD%Yn8p!O%C1M_eJV>lMz5h^=3aBk>uAf1*nG6Cj3lgW@CfO*b_6g;5(R21W zTjP$5={JAs%af}OnQDf(mps4UzQ0c6re2!Ubr?diTtNF4zhNW z&9BAP7k{>A z+LqLCw5g7zik{vgYIkCO3qFjVWFC(VL&6@A2C6xmZ)%$X3hfS(PSE=>jdl7{IP7); zF)*NmwkmG??eLlyFbkA5HO92-q(;5H2iPne#V*81ibpL{gf#kH!D~2H(h_{8!P)&) zVaTm0@F%8qa9GzJOgYx@vwa5(SYct7TKZ8@#US67N9h}!pCWo8V~+aXBDa&;8_uBf zuxX&UQyGU|&KJMiBJue6*q_xwAn)br?zmn~pcBo$wuDCq{SSv`<^bo*6*dNm|7zz zVbQg;kKOUu`$m~mN_g3%VO<+Z+bVA)u_}uaHflowC?{DMH{7NallURHk;kDTqY_Nh` zH1Jmky+8}PK2l}~Y$@~!1q%z&LRs%LY%g!Mbmt9vL1*n!UFf#X%z%at^7}g4CvZc& z=~N>p9%M>w=d+%MfhMR1apXiqQR?pXvkJ@6Dm5r5xt16m|FtK&yiFiy;ixp+*BJ^$ zV>y($7Cz762?KlLrrX8k;fzbP*Ioym#L6hz>1>USGkN{`WQsA?ciw8cn$LC$h6{K4 z@w1fBbnmNG)RV8eOiOm;|uU+$rsRUKZBDYc4O{{F4ObcK}$fe=QS?PPCZYtT%>7^ z|22IB!u;&4d*==2Z^)6I^jsR*uj)IS&ZdOl+ibYkc{TjHa$5D+^h#LFG2?*wUgv>8 z{imGvYDy-=e>~_O<`>DMiFWy%(|tqjg4q+h9#X+^i7Mpq7>Vpx-}h-c{ymM(e98?;A*C&PKJhoWOu-saBSI`%^f5 zF#AGYs&P-mFT+&e4SLAPNqntUkXNiYSq{2;-r8RJU$GcG+PQ1=H#SOCo2G5-YiAv0 z>mhP4{rUYVT77prGBEbe@iQ^~hc~3|$-$2$G>4fMa8hYHqS{;B!^+%6Ns6EgI)j04 z{6hp-W}8(gOK}$*u+}J(o$1i3S#Tiuti=}W z7!9T3osJ!!@J)R4vR<>)QT!eC3NNBizu`gdBt9_aLhC$9Dn639(QGPV(@M=t@8wuF znDtUL#$n+6c@BnE$ovuZ!z3KM%K_=j);sYs?I3^I5yhPyqb=-bi>WRFzk+pskUI8> zG~Q1NFz=&cNvF6?T{b~KgVL%KN*gdWFhMNIzIgpQ%!$m*>g2r-d^`&uW~x%1oFmW} z-Wyk6>uIF*vdVAzg$hwg^}i55O5t$b zc2f_bpB7rK4#QJfYX+V4#-57=tey)&<|6uNzf^yafW8NUA|Uz$Iv3!01)Z~B+(s=u z1n6#0@4l=zsny`jlZi0qZgr)!yQMe7pt3;5GE&v4Z>wV9q{jUsOngJad2nX7m;X#o z=RpM%jmdG~-ffBOh$HD8^c`5$!PW;#=S2=TL%}lIKyJkM(VT|JAFt{Y53keOqIL>w zKh9c0cKHObaWvfZ@pn|%-WZ}UyGgxV$MDXNVyBPSea{jphHo0vkv_VE$Gqgq+!vFc zhRzC4_aDj*gI>SRQA(p34#smHO#?(e8ROKKD{nIw?+8XTlHO453ldovrBqTAIZo#` zgXVwUYRD4(td%aqV1wt|gvS)#vEeV4F^yb3Y6U*_TL1V^4#m=tLW|(Z%C~#aCfSGg z7*GDQkwR@QX1DAEd1zdB<$EtPhE}o0P4D3uzt2k4e`L33l<<6*mTkPGj$`w?0rqMg zwA=+0>hiDV&5I{P&`in6v2#E@Q=)tcZrtGQHhB>q9{yoFpzNCAcL){vGo7^3pr_-m z{0ajR?8~JQ0}CyWtxRu_M0%LUbfi%sNF4WeW0dhj=on>`43)@mC(h07o*v{gcDZv| z6_Y9wuMO;`Y&7paT;{b<_b1_*Z+>MxG&O=l*ZkwfH{jqO<>&U)%b@hU)v8~*VP3-L zpXl{Y8LZQr`Hr`^CO+8%_V}>zMa7WL;(4tWQutAvbi<~vlnyTk)Ln9{GLFCWfI>cO zW(mW7=)?LO>X;VvxvN>Mhf_<(I1<9Sz7Y99#Li! zi*{F_I@=zOINSWv%dzc#o{OgzuXPyDw$pUOd)vJ__5O+ z=S?GQU*zU=Wl|kjF?i$9l9ihL0`ysZZM3A&hXPB!N!#ir_yo6i{qKC4mfD;$TWK5N zou@m^2i}*WJU60-=CbFC2#=pa6|$>16seXlm;5Xsu&fdF z>-|^|5{X~` ze0N;%y2rk4FoMo)TIHQ*>A9fjpN6#aVYXaKv%r=OsaW&KLbR%GKE^%&{2Wrcm;o0z z52Tpi@9+^HPN?(?Z$D$2amHz-VmcJMuXQ{zz<)A{(5c)z-=QgiDU73+Y0V7AIRR&>*AOQ`RRplgS|%j_|*gNmB+Iw zRE*H*=;(7JBklT5w*Y3-(|yEMiRj22Qbh>4j-b`vx0;9l_zq0!w)DXpIN?AQYRZO| zH$;`moeUa!^k8o|?f1h~1v=bF{RdN7VISdduq6nTmwjlwCKf+hT&{zM$z&7lHQu@2 zvkm?I`>@uUc*(`-ZoMgSE3ICoSQegC@lWh%2LgbFq{ zo(Uh9%0oStVn)c zq*HFO)*JHG>wg`db-?rLz_wi>GF>?hvpQn2+~|BAi<-dB&t<{8Uyq$)1G0RI3ekL7 zeqrD~2r6QRlt4v=_DI2=1wo|n2c)pP_}fnmPh9D5GQSA8VQBS)K$QI&1A!j?ZMDF= z7A7Pd1`(U89^=L~4QOBNkJ9zR?e*`{KiA`yFAkkb4A676Xy3xZq7j*aI=MTgtu2dR zIZ`Wr`@is>U%4~a_T$40c6`TP=AV|E+X3Cc*sTQY*UI5!lB-Unbo_moD(L_(w?-5) z^HrdYM^bNdQ2MNiaInG9pRf(nkNKa4zxp$8s7x`vKc%0CpRmS}EHS1Ax{>IIIFM&M zketbt(!o{RTcRNi5|%4ONi0wqI$yf!b)|_GTFJEadlZ>lVG7#|vWVR@FhYrp!4*WeM1ri1JPzJV5i- zW=YQ-`KkM$e(yggkk2@h_OINwI`&Myq8W{KI~S!s9t?}dDI&dgQpVAtE(CE0}F~F zIP_w+_Z*rUF1~a9if5hOYb+{rSZHLs3^f&es;WwomzP)2e)qpJ?*GqSpdVn>07joT z$rlc^FVj_^GLMvDtby_BFa`wdcZUIq1PeAQ|Kamaa;r z5%SAmWV?2pChK#&+jS>?`C{tMlbEjBd84-rkFp*G_EuDNI~vObawJTRHvT4po*z$# zn|Ef{urNhZsp;Cbn$yU^SUc}J+6p(X=+Vu4OffO*`3`b_+;yZ8QkMzWXlIZ+w6j(X zhwidiQ!J@mOEXhRL`F*K(%HJ;&jEGlRzrKx%Qp#Ak63~9Mk;lObgVllK8lU;p;K?j7U->Q-nH9Ess~{bv)rrg zrc+$%$W@|B=I6GMx7Fs?EBYO5IUC=J4|FNZQaI$@r6}t-BZ(O~Le|#_9RnZgIhM~OO?4b>=Nm(U@RE`eh?2?jsx7EgZbwK_{C(?5*oMsT zS95zuZqm50!IDK7+gmVL7gjU~i_0lF;}@{?VYJ~x#MLEeWn;pYA+d{z)Tu6eyXnRD zx;+Aj8TgV>*=oHpJJoVbq0`!d_(SGQLTZh;vH=DF0)c^*|c(53McLyU^-*78nyKQ1c?Ms!F-AmF%U78M_2M_KE2*A;P z?zZ#k+0Am!?T$*hR0&U)L%GT#loWv=pUv6^(jyEYOydOCj_ls}kA}YnEG}N-$midY zy(~{s;uo9v)BEeQ27f`_C~0iC@SZdBA}f;`yR5kVg#0#x9Pua{o#d@vYnYDz-8l2z z{MR;lvG_-Y%@XA5eAm=W))T`ft8D15@>`hOHeLp@Op}rQEG^ZV4b1tsP?De{=BvQ|p8QNp@wLylr%5h{>Rhy>@v;_Rcov4vzfJw31Ebc09p3_OS8kCZT z5F-0(Sr7IC)Im;yvd&{c{;>Nd9@G7^ds!o`v>IFmd`%>f=*Y_& z&mIiQV`V(%ytuEdSsCIE{9U5pyX(am0HNyHIMsTvR?#D=&>O^P+ZxoznXNxa?9^a1 zFrRs9^&z@-fs_44kRv`51@iG!q>4e5ih*joeiU4P1h;JYMyFc)Nl|z7J&i}Xk~sai zU=w^cCHOiv?T0EM?CSy>iQ=fj=r0Qwm+b69+lyPB>syi{Xu6kf2_w{BpLG+9=1Eet zsFee!mEY{cdFa+t`&m1A8(MGE#9u4XETACv3U z>#XkMA<~^QTjzmNA7w=3uFhZbZ}>SpQ+kE%jfKk=7>I>`{Ud&8ev=}P#-aOEq|s`S z74SnRqg`$RYjRJ|vv3NQCwh8%WpeR4WyXL{(?Z`CIHf<3E)k^|LWIV&k0uxCyqyg| zbfNFIY5&a8;zo{l@9AyRvl?Sb?E|)=e|OXoejH#G49gh2xXl5@e8~_B$B)|Fs1guS zdFvrzSZ(X&e|;y`k;#4K<+;f@{_&0);qO`q-$T}x#uMMv0fSXPgxTfd$krks=@Dix zV6V~wRZ=at{$PCTSG>I0jGK}D$xws@q%W-)PR=5gwukII^4>qIL1~(eb|vT~{oz)p zAC&job_rF=g=iWMqVe7TGnscSmQT$-XPKw^>3}Uv`mQ22$YGD1WyP*8y2(^tkSuKl zz{6!lbbQbyu8zHH#Eufg1R$1{P7V6{G6H5h-!oklv>6dJb zdp?8d%mc^48rU6@6$_8q9>X3bdqo>}=7<#N8?$1B5dPo4&B^vb$qX~Md0=CIIC;EK zTi={6f9Hi+RsVKnp1coxj9Son@{||(YArGiw^(Bc_KqMa zNXOGin|qY6%?-J0Bp9GSkNWcbrq!ge?cA5HEDo&tBO5{wA2Ur({^rAYmxeGAJN7dK zWU*%K`0yJ3`h_#7MEU6U#A}}2ojM{4wso#{%Nc*^`~U3)$gLv4Y-*px%ZJMjeLNRr zk|0L;Ar>vdp>eD&O*=jl$!Z)owhx@0*SbRwmX@d*Q)lh^(Kif_OMBA<{e9!P%e1m( zq5z}g+I+N!zXY&r$)}}}6 zV_pqU7A#nqxdw^`MT`-`~5k5V9!03~Q-h5fv@p z_NK~`w?iMhOIi>@Yo!Oi$M;a!=dsS$AZb}xpcQc&x*eiJx=k5>v!RYhe47M99@~aj zRxno*ZU)G`MpxmERL$+xgjtc!Ts=V5w!K4M5P-3*{?$%oHpyRtzxVD){bhbp`&|i zUgEprNV$Q60{`@>r53nfOjXLfoiF=jP;d9;WVYn~`zN2`HRnyxolKjPl?4c7PlhL1 zo%^jzBNKQHD&qOe#0y-8So0iDGVB`n!cfa{bx??7=>_{LBxjx2;qjdlj{v+nf4lv8 zvVy>Db=m;GKN~Uha-S+HgaJ1zHdbSFoC2r$V9C(`bR~vKK29EcO3=FKIN)-Vj?QJ) zjm;F4Y3-0dhX;ru$3R@X_r&v{I$3FjJ~J%c5C(87u#t9xj#3Y5&l2@$Ke~_-T$bXt34Du@aAb|9ORMICW`dM? zqG}-?;lxhmu~%ba!5W&+ThC0T!(fJZjct$r%*L=D^Z5JxeXj%6Y&K7%`CZbXzgyA* zr*fsKFK}n546lFkVghe4=z~P4ZzSj7E%Cx1`EhzujC-V2I?H!I(!0#El_;WW zDK$j78_@w1Dq)CMk!)(=^Mb%MTqF#C{(xkLgpQMY5#k6}4_8om@aO)|uS?O`tRvX( z&t}gh+5NoYHL4eWQZfZ=gm0Tu4bgWZ;ul~PfCUr7 zESb2z{@zzW@iwh$Kx5O%aIXwzM#d0f*0bFG@F8a?hCGlI2X=IocQ?bvkuoA+9S7^;V;z^}h}zao$oiB?={5xnp3Xy8k@= zAI+(X*-f?AdmR8mo{sl4@Sqa_R%i#9PYxpw3|;y~X8&y#FBTh2f1BeF280{fpzF6x{h> ztLCZ&39=*onySP2(NvxC2V!wqdx{S+d9V{Q*9-=>iQdsfsh&*1yS(_m#1j^#Mg0oD z{Gz10rvqC6DT9r_gZW*r+k*BD z9y&4!x0aA3VQYp?SgX8w$gO+r8<$&vxqwS+7I2JeVhUSWa>&9vOwQaoIl>c77i(kl zV5MrvLaQhvUp`Ge(MDO#FFmd^-E*lk&zBkb8T4X=etBwr(tSIdbzehOxFz$en z8Lxcx4zvETx?)|~1!q@gvmWtP`3^jeJ-vfzN013?;TjuUdGEmdJd-c)SKII(a37w? zpyzycRO2~Kz?8f#T>R&>4*d7K5e9kxRw3>b?`-&Ro?1oRo?lLXhFHbh{`cnP=N_+R zsDa(YX?63CJPvU-|t&JC$8j0k*@#@tlA0FGyyuI|n~8R&q1Utt$i;2@D{Aj#ydR?WE;{skKdkVixnDkHKV`Lv zArZ$!8usn1UZOpkXoE-Cb&*JT9Il92N41lhYjDdrv{6O+HQ=ET@rhPF=)rh6GS2c?8yCa}ZI zhTPaeyXRRfb4vnz-$l6>)YH@4>%Cx?M++nkv@Qw)lekTM+?Ie! z9P{enK{j&ijd6Zno}`V51oK-^@8dia6&1p+(0T2Jc@-FX@~jN2322mI#;rPX5khg2 zYaLFR{Adw6Bz??udDC6p9w`4A$4YL`p(iL6+LE+rSJ^1IIa%9EjiQXo$tc*Kxvy{b zp|5nI51bQKMGLR4=UR4&O4f7teve9W6jAcD882NKL(u*T2=Gg_*_?*vq@tQy*F|lH zr>~Xv9+Kvx*FT4yko^ZOs0BZBSzDXm1qZTpPspv=Y%7(6Y2FEGAeIqDXsMsOmSKH@ z{waEQNp}OX;wgZMC0Fs$lR1Ov;x6#u05@z*W_;b!2c93LrE;q^y}i9PfL4L)x!=uA zDu%vC$pXW%sS)_~nG_O2&%%@M?;wg7@lg8}GhCMqA`^4eq8o!OkapyBuzLdK%ZT~p zw%z`Cm5-{Rfi$(HmZF5bYU0s-`z}i@i5>*P4(GbGUax+%5SQOHn^Cp%tkjj6*r;>; z7R*Q0En%Aa>wCH!EV~m~E>JkhBx$r~s5Q&S;nS4_E}4k#YugJ#^iX8Udm5+n@U8ZB zofey>j(&TM$4{hV#bMwe9m(3M)jn=v_hKiBN~`TA#^;4B0I^EtnsE}y_p zs#hNw?)Uul^pnS4WT4z)r}Gzv zS-#9IDaN5=SS;zoY|#lZ&?J~Iq~q`ry>Ag{A+HHV?rKdVoFv9Wx)-@y4rGd}2uRJ2 z4#nPpgKqcfdYY2ff-vES5f&KxQE<)4#Ay>(^)B@@>=u;1>5eY#>>h2oiGSXmFQcMc zpH}O!q@UF5VGw94`~Kf72|JZ(fmC~~WD4`;rcNmlDz{8q0mX@=tmH z2z`p%OXHt@nN@>RE#7>-A|#$id*~Q(YQcqJmtz$k(>(J}Tu9g3~L-nQgS9Br8t# z_!S#{_hcvs53b*!;0Yb|B<-ee13P%vr~BHVZkKcGqk7Z5qW$yY5+xypL3>7gzSnrd z{Jsgp5VL_pkxYk;NpbT?kf^6E@T3AFB!{lcrBE4|bTpmzJEVzNX|hE?$;RpXNc=lJ zv*An|<1e9Zq^PU_T&DS{=Fg%d?H8^=hGnS?t!0z(MZ8<8q_vM^Vv+hNLq96~WOL##*Kh))LK>{(>3h z5O@Uyu1QGA3VQa>pBde^ruxB%4|f90GXVXUD3PWdyL-Z>*YK7PkSx9z7JfDroIu(z zLWZ&K|3Nvt4!Hb&?LhWI{KN-dpYzzq1hVl*LvK1(=oQ_YgT+0z#TIgO0Te+?x!k$O zwzhXls#o;Sz3yp1<+w8lx>eX9`0eYq#DZH)$1ee(Q3McvaO|5d+*$n&UjS~Dx9fIi zXJ>spw6dN{aJ`Sio}6#BV9$ekci}ItvVj5U@4w>X84Gt=o*&yA`d2(o>?U?eAK>7Z za$CIiOPAdl7Mg;G=Qu+Z^ihqM(8S)b<8w;L&036(3@bNqm>L>pGV8E;O!l}<8+rE9 zD}%@cW9(|tIloezs{5;rn+wkf;*^s3IdxwoC5yc`z&=nEuYJYUn=?5B&Zm4(wZg=5&vzR)Y9Gn{d)K&N<& z)LG*oGG2b*ispn?M)8G|Q#d-y+W=z=ufLy}e>lGBb&NhBsASeyqkvz`)**FD!cfoAMBf{aM{CyGnPM4xuW3f6Wd@M|ID^`Q=X9Cm4)e{U zN0M57D#2?N^4z6b-(aE_G*$4HZcZt2%M^Ee@69456#+o-l{N_b_clcN^B%HBfx+tk zYiyzgJ*yiT35Xz44|Fg&#(LBRj5Dw;D8RC{G|x6kV%zk6*4@o+{j=2SP6DXi8~`hH z0ze9pD!=U)R!Q7igr>mfebN}v$Hh0UPs^+O{A2ms9v4!UUgydP0RlQ(JAFEE;ulT*R0)+W#1$2kUUgW}qy7mJQ*Pro}Fbq8x=NLRj3zsqyr z4R1a~TXMz~r?Qt{iYn!62l9xVCo}u*pJX{Kgc%Tj()sQ|z-9czw?9WHz070XlQc+< ztb!im`1!aT`KQiN{?v#tM^cDo=^5)sIpJ?e-2w$#$Ghtu%qnPjUXJmI)4&%S30-JV zzsq*$H;f?s#8HyrC;GLrvh$MV`ZQYW@z0#tv$M0}oIIt9@%;_~|Af`mRiyipaHql- z%$EeGIPBggM(&DaQ$20J0Y$Vdng5;fE)AIU#lGLTOHU>Y>Ev8Pzq0un2K_v5O?jVN zJ_M)dnx%SCOtK~JzQ#*{QlyPT1mrm!Y_sKuyK{1Vk-{NI^ zHYd?5RXS_gC@+8w1UnK`Y?AtWadC0)ac!-g?~#cEp6SpR#ZM_IZ#9$#>*uFQHh=#A zmHCaRN5*wDbzIG{NbF@O*8RR~!@tI~1s?#vaxa(CFA`uJ;t5PS6NYaw)2I(PE*=40ZXRUCUJw-z+<&ua*n?MJY-!7J)ubWH_9rr@k}wR z8TpiKa(#3AAP7fX- zUUrx2-Q73v(#@mgXU*P^#P|w)r(UnQNZ_d~k+DRV%#S-Q9dGzFa{ht4j05(8^mBN% zBorcloI?gO&E}1qk{tchaT>gGWEz%m2 zao{!J0ovk~gu}AbbDocG%zl_A*&;M{tJ{egv~0aWctmHvMUtyhrtRxuL7*kXXS;@* z<**OxDA6b0xJM3{up^XNP+@u^n~*JzQfNf9!{{F;PT-E!2zYUzCfkpMCnhBU!ZNDU~iVSm3yUl9kDBPdp` zOw#h0$-%1`7%)^2AWT5r?*fE^_-SB-(dsn#BF32_nns_nt_@`2IO5Il+T4*k@E86#h~ zk>WSIJOL?(JaBe{+KU0iV&jmeC48Q#C5BL05@1QwtM_zLPJQC$}Zw7641L3wuIbOac z4jnlT5^(CwLzvIvkj%4k!;-0IdmhZX%JL(`=TO-n36 zu8~>FH4-dl?H4Z;1?klT4tz~w?j)hS6!w`=$UO-V23_0LdEe&;sv~7e+4iN5=o(Ol zdm-xPk`V_2`oAN~{Ev!2om~~sW^kV?u<9@%vKPPn=4FG&nq}$@V*C-bpUkD-J~Z9f zhXn5f;bK~879u<~c6r>Tsk?ytT!fUezH5WLZ1*kl{gkcEeqf)8*;W&=vZfFX&)`bp zl!r^l5E@8vj;RM?qM}aVt|@?x(ps+R*`93rl1~xFYyYp*o;v6}UkEGf-%=z(ta$~J;%Q#!xMLSq<2<5*z965oJ~X<<>+mo%>h4(qDG0is z#QIE%qwV!Qicx)fIbVH;1aCBU>_j?Re#$iRah@*^F(?iC0h@62(SvkPMG^VQi1)W|4yDi;dK`NXBqhbQHt9e6PRQ4K@+buO8Wa;O`(Pg~u)7#5CgIB^<#a_)n0+IS0# zN$X(ydnhlN!7Dt)m5N;ts5_GJ_dmUzhkyHm4eTO~U)Ckf1Jf^X`@AribT93BHfg<- zAAkAsWh(%?1HhdZ>BN8Zq5{Z8*48vM-l)!9$o20~aAuQuj1U-kMOR%2J* z_<4~yJWomZryE4wd*ATxja%iZS097C7;uEjyG$xX7Y?DFn6 zf%?RyeMWEqt?E@=S5MCHE?Jwfo7$nrQ$#%9WW3!U@zdZ;*yr-x=7x_rcbm80&ADfk zH6s|Igr^^$9=f3O$kNR^FDWDetpNy%SE6D%xE~l4w=`G(Qs5Q_IJwJdBe*Hf=j!L_ z(jNT4=khG);FAS2FNJB#VGF7-?`G&EdV>CSzK<|&Jhj_B=KUfo}TKeYz| zdemivW&PzfuI9fV%416Dr;!^z*(yLZkiYDX_u8IBU1uEF8knlSm-IpTCc#7-1dwhK0BhH)WF7z#zRqRUPz4Gw`U%PD1Y`@c-4E-V{Q~Z8s&~Epq z1o5Bf2nPiVx61_=4rg(#S zrYT~J#~8BH${o4$f7-hCa454dKI2lzC1%hTjV78TY}p}$A-QY`i{z5~<&i}bkLz5F z+w;iGYL$AQarA-@->`SdGRNoxS0uG=9~ebyioqsr2Z6p^?Ian7(+01cc|V8ru{Webj{7Q^&Q zYw(aMevo3zcwnNGr-C7Cg3FCuaIzhjKqxqWRu~ah~c8yg&2xN{p4hfAaQ_8 z__=Yqkg(cqi%nr&k2ig~qW&7_H@dkmyb=RR!W zZpe(&@!k};9iaaLv`FREF`dAFy90nLU0(f+Xuccug+UBP1={-h(-rqB$4NW_;hK;&?nIH1TYSZWvoGM`<5P zOM)Ujk5@(!tBY)oWRvltkXmckP8)BiyJeHlBddKv!jF<=L%y2z&*y4?GuSe_NEwV; zweHAX-)=nq?!S0Y`c)+sEcE8GPI$E}gb}RZ>PUv8@DdPqJS20-EX5Zq3xVOvmLA-a zR(tyb7pT&s+9Ik=m^v8RJntVKDF<=jOSy80vW$c{a~kt|{yKFswvnU~edkl^zGKF1 zyP6ptOW)kzHglLb&v-s231Jf@p4FPuTM=f$j+q6qB)RK~Sb+fvW0Ph1OlW=~Xvw@3 z#S~k$MyH`j%?R6b?)VMsD3cNFE{w}ZV(KP*YmSU>&9NBbW?rqu@~&Ic5;qy7HqF{|NLp>+uDG;6DHQFy1>3w{d?3s-s-F)ua%cfF7XDtxhk6hRzrX z3A-7$EIK^HozOmy4%6LXT47{|#p|ek;mG5Nd@G46yxOWXrG7K3f52RlE10-zy>yBv z3Qz99CGYF3!iZm!a%mo`&uL!M@Dma)N)~^y5dN)Ph-Q9k^gDHR=M8Reo9m|rnYI}o s^y`KC|9i8GcAM5Vq~gB@XAO~pEp6N+yt|sVb$jV)YX_@JOTUzV09dkPlmGw# literal 0 HcmV?d00001 diff --git a/docs/gcs/foxglove_publish_point.png b/docs/gcs/foxglove_publish_point.png new file mode 100644 index 0000000000000000000000000000000000000000..6508d1bf1ecd94238ec6abcca736c76a1083d590 GIT binary patch literal 18939 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ꞌ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 literal 0 HcmV?d00001 diff --git a/docs/gcs/polygon_editor.png b/docs/gcs/polygon_editor.png new file mode 100644 index 0000000000000000000000000000000000000000..7407bb21337dc9c219723787726ef5440264a994 GIT binary patch literal 64841 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≀;||hAGnrVL_}>+ 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 literal 0 HcmV?d00001 diff --git a/docs/gcs/waypoint_editor.png b/docs/gcs/waypoint_editor.png new file mode 100644 index 0000000000000000000000000000000000000000..774625e15e95ceea4aecdc7d2a9fd6c275863ff9 GIT binary patch literal 63181 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 aGe`Zenw~y?a$t&ruUj|oN@YvxKmA`0&X#Kc literal 0 HcmV?d00001 diff --git a/docs/gcs/waypoints_and_geofences.md b/docs/gcs/waypoints_and_geofences.md new file mode 100644 index 00000000..530235df --- /dev/null +++ b/docs/gcs/waypoints_and_geofences.md @@ -0,0 +1,87 @@ +# Adding Waypoints and Geofences + +The GCS has two click-to-place panels in Foxglove: + +- **Waypoint Editor** — drop ordered 3D waypoints for the Navigate task. +- **Polygon Editor** — drop vertices of a 2D area to use as a **geofence** / search bounds for the Exploration and Coverage tasks. + +Both panels work the same way: enable click capture then click in the 3D panel to place points. + +![Robot Tasks panel — Navigate tab with the embedded Waypoint Editor](waypoint_editor.png) + +The two editors live inside the **Robot Tasks** panel — the Waypoint Editor appears under the **Navigate** tab, and the Polygon Editor appears under the **Exploration** and **Coverage** tabs (where it feeds the `search_bounds` field). + + + +*End-to-end demo: enabling click capture, dropping points, saving the set, then sending it to a robot.* + +## Place points + +1. In the editor panel, toggle **Enable click capture** on. +2. (Optional) In the top right of the **3D** panel, switch the camera to a top-down view to make it easier to drop points on the ground plane. +3. In the 3D panel toolbar, click the **Publish** tool (top right, ▷ icon) and switch its mode to **Publish 2D point (/clicked_point)** — this is what sends clicks to the editor. + + ![3D-mode toggle and the Publish 2D point option in the Foxglove 3D panel toolbar](foxglove_publish_point.png){ width="380" } + +4. Click anywhere in the 3D panel. A red marker appears at the click location. The waypoint editor draws spheres in click order; the polygon editor draws a closed loop. +5. The **Default altitude** field controls the `z` coordinate that gets attached to each click — set it once, then click freely on the ground. + +To add a point without clicking — e.g. for a precise coordinate — type values into the **+ Add** row and press Enter. + +## Reorder, edit, delete or duplicate + +- **Reorder** — drag a row up or down in the active list. The marker numbering updates immediately. +- **Edit a point** — click the row, edit the `x` / `y` / `z` fields, press Enter. +- **Delete a point** — click the ✕ on the row. +- **Clear all** — click **Clear**. Doesn't touch saved sets. +- **Duplicate** — click the ⧉ icon on a row to insert a copy of that point directly after it. Useful for laying down repeated patterns like a survey grid where each new point is a small offset from the previous one. + +For polygons specifically, vertex order defines the perimeter — reorder rows to flip the polygon shape. + + +## Save and load + +Saves let you name a set of points and bring them back later — the Robot Tasks panel reads the same saves, so a saved waypoint set can be selected as a Navigate target and a saved polygon can be selected as `search_bounds` for Exploration / Coverage. + +Two-step save flow: + +1. Type a name into the **save name…** field, then click **+ Add**. The save now exists in memory and shows up in the saves list. +2. Click **Save** on that row to persist it to disk. The button changes to **✓ Saved** when the file write succeeds. + +Other actions per saved row: + +- **Load** — replaces the active list with the saved one. Useful for re-editing a previously persisted set. +- **Delete** — removes the save from both memory and disk. + +Saves are written to host-mounted JSON files inside the GCS container: + +| Editor | File | +|---|---| +| Waypoints | `~/.airstack/gcs_waypoint_saves.json` | +| Polygons | `~/.airstack/gcs_polygon_saves.json` | + +These survive container restarts and can be hand-edited or version-controlled if you want to ship a curated mission set. + +## Use them in a task + +- **Navigate** — in the Robot Tasks panel, select the **Navigate** tab, pick a saved waypoint set from the **from:** dropdown (or **active** to use whatever's currently in the editor), pick a robot, click **Send**. The **Grab** button copies the current selection into the JSON `waypoints` field below. +- **Exploration** / **Coverage** — same flow, but the polygon save fills the `search_bounds` field. + +![Robot Tasks panel — Exploration tab with `search_bounds` populated from the Polygon Editor](polygon_editor.png) + +If a save doesn't appear in the dropdown after creating it, click the dropdown again to refresh — the Tasks panel re-reads the latched saves topic on focus. + +## Troubleshooting + +| Symptom | Likely cause | +|---|---| +| Clicks don't register | Click capture isn't enabled, or the Publish tool isn't set to **Click position** | +| Clicks register but no marker shows | The 3D panel doesn't have the editor's marker topic enabled — open its Topics list and toggle on `/gcs/waypoints/markers` (or `/gcs/polygon/markers`) | +| Saves don't persist | Host volume `~/.airstack` not mounted on the GCS container | +| Save name silently overwrites | Both **+ Add** and **Save** overwrite by name — pick a unique name | +| Tasks panel doesn't see a new save | Re-open the dropdown to refresh, or restart the panel | + +## See also + +- [GCS Foxglove Visualization](foxglove.md) — the multi-robot fleet view alongside these editors +- [Coordination Payloads](../robot/autonomy/coordination/payloads.md) — for sharing custom data fleet-wide diff --git a/docs/real_world/HITL/index.md b/docs/real_world/HITL/index.md index ecabf770..bf6057c7 100644 --- a/docs/real_world/HITL/index.md +++ b/docs/real_world/HITL/index.md @@ -1,114 +1,25 @@ # Hardware-In-The-Loop Simulation +We configure a multi-machine HITL simulation, where a powerful desktop computer runs Isaac Simulator and rendering, and one/multiple jetson compute boards run robot-specific programs (planning, mapping, etc.). +## Requirement +A desktop computer configured according to [here](/docs/getting_started). One/multiple ORIN AGX/NX configured according to [here](/docs/real_world/installation/). -AirStack supports multi-machine HITL where simulation and GCS run on one host, and one or more robot compute hosts run autonomy containers. HITL services use `network_mode: host` so DDS traffic is exchanged directly on your LAN. +## Communication +All machines should connect to the same network. In our test, all machines are connected to the same router with ethernet cables. Ensure that all machines are able to `ping` others' IP addresses. -## Requirements - -- One simulation/GCS host configured per [Getting Started](/docs/getting_started) -- One or more robot hosts (Jetson or desktop) configured per [Real-World Installation](/docs/real_world/installation/) -- All hosts on the same routed network with mutual `ping` reachability - -## Discovery Model (Default) - -HITL defaults to Fast DDS Discovery Server mode for scalability: - -- Discovery server endpoint defaults to: - - `DISCOVERY_SERVER_IP=192.168.233.25` - - `DISCOVERY_SERVER_PORT=11811` -- Discovery clients: - - `isaac-sim-hitl` - - `gcs-hitl` - - `robot-desktop-hitl` -- Optional fallback mode: - - `HITL_DISCOVERY_MODE=static-peer` - - `FASTDDS_STATIC_PEER_IP=` - -## Services - -### Simulation/GCS Host - -Run: - -```bash -airstack up isaac-sim-hitl gcs-hitl +### Run +On the desktop computer, under your Airstack folder, run ``` - -This starts: - -- Isaac Sim (`isaac-sim-hitl`) -- GCS (`gcs-hitl`) -- Fast DDS discovery server process inside the `gcs-hitl` container - -### Robot Host - -For a desktop robot host: - -```bash -airstack up robot-desktop-hitl +docker compose up isaac-sim-hitl ``` - -For a Jetson host: - -```bash -airstack up robot-l4t +You should see the isaac simulator being launched. +On the Jetson computer, run ``` +docker compose up robot_l4t +``` +Once the scene is played in the Isaac simulator, the rviz GUI on the Jetson should start displaying sensor data, which means the connection is successful. -## Two-Computer Validation Checklist - -1. Verify discovery variables on both hosts: - ```bash - echo "$DISCOVERY_SERVER_IP:$DISCOVERY_SERVER_PORT" - ``` -2. Verify DDS discovery server visibility from robot host: - ```bash - ping "$DISCOVERY_SERVER_IP" - ``` -3. Verify ROS graph visibility: - ```bash - ros2 topic list - ``` -4. Verify payload flow (not just discovery): - ```bash - ros2 topic hz /robot_1/odometry - ros2 topic echo /robot_1/odometry --once - ``` -5. Verify Foxglove: - - On GCS host: `ws://localhost:8765` - - On remote client (optional): `ws://:8765` - -## Multi-Robot / Multi-Computer Scaling - -For `N` robot hosts: - -- `gcs-hitl` starts and owns the discovery server on the sim/GCS host. -- Start one robot container stack per robot host (`robot-desktop-hitl` or `robot-l4t`). -- Ensure each robot has unique `ROBOT_NAME` and `ROS_DOMAIN_ID` mapping. - -Recommended: - -- Use discovery server mode for `N >= 3`. -- Configure backup discovery servers using `DISCOVERY_SERVER_BACKUP_IPS` (comma-separated IP list). - -## Troubleshooting - -### Topics discovered but no data - -This is usually not discovery failure. Check: - -1. DDS Router allowlist includes the topic -2. ROS domain IDs are correct on both sides -3. QoS compatibility between publisher/subscriber -4. Firewall allows DDS UDP traffic -5. Topic namespaced correctly (`/robot_X/...`) - -### Foxglove shows no topics - -- Confirm `foxglove_bridge` is running in GCS launch -- Confirm GCS is receiving ROS topics in domain 0 -- Use `ws://localhost:8765` on GCS host first, then test remote URL - -### Discovery server unreachable +Screen record of desktop computer: + -- Verify `DISCOVERY_SERVER_IP` matches the host running `gcs-hitl` -- Verify no port conflict on `11811` -- Verify host firewall/network ACLs \ No newline at end of file +Screen record of Jetson computer: + \ No newline at end of file diff --git a/docs/robot/autonomy/coordination/index.md b/docs/robot/autonomy/coordination/index.md index aab36cdc..cabff92f 100644 --- a/docs/robot/autonomy/coordination/index.md +++ b/docs/robot/autonomy/coordination/index.md @@ -22,9 +22,6 @@ Robot 1 (domain 1) Shared gossip domain (99) GCS (domain 0) Each robot builds a local registry of all known peers from incoming messages. The registry never leaves the robot — only each drone's own profile is transmitted. -!!! note "Partial connectivity" - Today the system assumes all-to-all visibility via the shared domain. If a drone is out of radio range of another, it will simply not appear in that drone's registry. Relay forwarding is planned but not yet implemented. - ## PeerProfile Every message on `/gossip/peers` is a `PeerProfile` containing: diff --git a/docs/robot/autonomy/coordination/payloads.md b/docs/robot/autonomy/coordination/payloads.md index da9cb678..48917b47 100644 --- a/docs/robot/autonomy/coordination/payloads.md +++ b/docs/robot/autonomy/coordination/payloads.md @@ -13,7 +13,7 @@ Payloads are **config-driven** — no changes to `gossip_node.py` are needed. ## Step 1 — Add to gossip_payloads.yaml -**File:** `robot/ros_ws/src/coordination/coordination_bringup/config/gossip_payloads.yaml` +**File:** `common/ros_packages/coordination/coordination_bringup/config/gossip_payloads.yaml` ```yaml payload_topics: @@ -41,20 +41,7 @@ ros2 run coordination_bringup peer_registry_monitor ## Step 2 — Visualize in Foxglove -Payloads don't appear in Foxglove automatically — you need a handler in `payload_visualizer_node.py` that republishes the payload to its own topic. There are two ways to do this: - -### Option A — Use the Claude skill (recommended) - -The `attach-gossip-payload` skill handles both the yaml edit and the GCS handler in one go. In Claude Code: - -``` -Follow the attach-gossip-payload skill to add /{robot_name}/your/topic -of type your_msgs/msg/YourType and visualize it in Foxglove -``` - -See the full skill at .agents/skills/attach-gossip-payload - -### Option B — Manual +Payloads don't appear in Foxglove automatically — you need a handler in `payload_visualizer_node.py` that republishes the payload to its own topic. The manual steps are below; an [AI-native skill](#ai-native-skill) is also available to do both this and Step 1 in one go. **File:** `gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/payload_visualizer_node.py` @@ -73,10 +60,7 @@ def _handle_your_payload(self, robot_name, msg, i, now): ```python PAYLOAD_HANDLERS = { - 'filtered_rays': ('visualization_msgs/msg/MarkerArray', _handle_filtered_rays), - 'frontier_viewpoints': ('sensor_msgs/msg/PointCloud2', _handle_frontier_viewpoints), - 'rgb_voxels': ('sensor_msgs/msg/PointCloud2', _handle_rgb_voxels), - 'your_name': ('your_msgs/msg/YourType', _handle_your_payload), # ← add + 'your_name': ('your_msgs/msg/YourType', _handle_your_payload), } ``` @@ -85,23 +69,35 @@ PAYLOAD_HANDLERS = { ```bash docker exec airstack-gcs-1 bash -c "bws --packages-select gcs_visualizer && sws" ``` -or restart Airstack + +or restart AirStack. Foxglove will now show `/gcs/payload/{robot_name}/your_name` as a subscribable topic with full visualization controls. +### AI-native skill + +The `attach-gossip-payload` skill automates Step 1 and Step 2 — yaml edit and the GCS handler in a single pass. In Claude Code: + +``` +Follow the attach-gossip-payload skill to add /{robot_name}/your/topic +of type your_msgs/msg/YourType and visualize it in Foxglove +``` + +See the full skill at `.agents/skills/attach-gossip-payload`. + ## Visualization options For `PointCloud2` payloads, you have two options: -**Default — Foxglove GUI:** Publish as raw `PointCloud2`. Foxglove's panel settings control point size, shape, and color per-user. No code changes needed. +**Default — Foxglove GUI:** Publish as raw. Foxglove's panel settings control point size, shape, and color per-user. No code changes needed. -**Preconfigured — fixed shape/size/color in code:** Convert to a `MarkerArray` in the handler. An example to set`voxel_rgb` to render as 0.5 m cubes with per-point RGB colors: +**Preconfigured — fixed shape/size/color in code:** Convert to a `MarkerArray` in the handler. An example that renders a point cloud as 0.5 m cubes with per-point RGB colors: ```python -def _handle_rgb_voxels(self, robot_name, msg, i, now): +def _handle_my_payload(self, robot_name, msg, i, now): marker = point_cloud2_to_cube_marker( msg, 0.0, 0.0, self._display_z_offset(), - ns=f'{robot_name}_voxel_rgb', + ns=f'{robot_name}_my_payload', marker_id=i * 100000, stamp=now, lifetime=Duration(sec=2, nanosec=0), @@ -111,9 +107,5 @@ def _handle_rgb_voxels(self, robot_name, msg, i, now): if marker is not None: out = MarkerArray() out.markers.append(marker) - self._pub_for(f'/gcs/payload/{robot_name}/voxel_rgb', MarkerArray).publish(out) + self._pub_for(f'/gcs/payload/{robot_name}/my_payload', MarkerArray).publish(out) ``` - -## Bandwidth note - -Payloads are re-serialized and sent in full every tick. A 500 KB PointCloud2 at 1 Hz is ~4 Mbps per robot — keep an eye on this for large maps. Reduce the gossip `publish_rate` parameter or only attach payloads when needed for bandwidth-constrained deployments. diff --git a/docs/simulation/index.md b/docs/simulation/index.md index ddde7f33..0a3aa935 100644 --- a/docs/simulation/index.md +++ b/docs/simulation/index.md @@ -17,12 +17,6 @@ simulation/ │ ├── extensions/ # Custom Isaac Sim extensions │ ├── launch_scripts/ # Python launch scripts │ └── standalone_examples/ # Example scenes and scripts -├── ms-airsim/ -│ ├── docker/ # Microsoft AirSim (legacy) containerization -│ │ ├── docker-compose.yaml # Launch configuration -│ │ └── Dockerfile # Image definition -│ ├── config/ # Microsoft AirSim (legacy) settings.json -│ └── ros_ws/ # Depth bridge ROS package └── simple-sim/ ├── docker/ # Simple simulator container │ └── docker-compose.yaml # Launch configuration @@ -35,7 +29,6 @@ simulation/ Simulation components are launched via Docker Compose. Each simulator has its own configuration: - **Isaac Sim:** `simulation/isaac-sim/docker/docker-compose.yaml` -- **Microsoft AirSim (legacy):** `simulation/ms-airsim/docker/docker-compose.yaml` - **Simple Sim:** `simulation/simple-sim/docker/docker-compose.yaml` **Key launch points:** @@ -76,20 +69,6 @@ Isaac Sim is our primary simulation platform, offering: - [Ascent SITL Extension](isaac_sim/ascent_sitl_extension.md) - [Export from Unreal Engine](isaac_sim/export_stages_from_unreal.md) -### Microsoft AirSim (legacy) (Unreal Engine) - -An open-source drone simulator built on Unreal Engine with native PX4 SITL integration. - -**Use cases:** - -- PX4-in-the-loop testing with photorealistic environments -- Depth-based obstacle avoidance testing (DROAN) -- Environments from the Unreal Engine ecosystem - -**Launch:** `airstack up --env-file overrides/ms-airsim.env` - -**Location:** `simulation/ms-airsim/` - ### Simple Sim (Lightweight) A lightweight 2D/3D simulator for basic testing and development when full Isaac Sim fidelity isn't needed. @@ -133,26 +112,6 @@ A lightweight 2D/3D simulator for basic testing and development when full Isaac **Learn more:** [Docker Workflow](../development/beginner/airstack-cli/docker_usage.md#robot) -### Multi-Computer HITL Simulation - -For cross-machine HITL, run simulation + GCS on one host and robot containers on other hosts: - -```bash -# Sim/GCS host -airstack up isaac-sim-hitl gcs-hitl - -# Robot host -airstack up robot-desktop-hitl -``` - -Discovery defaults: - -- `HITL_DISCOVERY_MODE=server` -- `DISCOVERY_SERVER_IP=192.168.233.25` -- `DISCOVERY_SERVER_PORT=11811` - -For larger fleets, set `DISCOVERY_SERVER_BACKUP_IPS` with backup server IPs. - ### Custom Scenes Create custom Isaac Sim scenes with: @@ -204,12 +163,6 @@ PLAY_SIM_ON_START=false airstack up isaac-sim - Check `ROS_DOMAIN_ID` settings in containers - See [Docker Workflow](../development/beginner/airstack-cli/docker_usage.md) -**HITL discovery but no payload data:** - -- Verify `ROS_DISCOVERY_SERVER` in all HITL containers -- Verify DDS Router allowlist includes required topics -- Verify QoS compatibility (`ros2 topic info -v `) - **Performance issues:** - Reduce scene complexity diff --git a/docs/simulation/isaac_sim/overhead_camera.md b/docs/simulation/isaac_sim/overhead_camera.md new file mode 100644 index 00000000..86fb91e1 --- /dev/null +++ b/docs/simulation/isaac_sim/overhead_camera.md @@ -0,0 +1,124 @@ +# 2D World Map in Foxglove + +There are two ways to render a 2D ground reference under your fleet in Foxglove's 3D panel: + +1. **Real-world satellite images** — for outdoor flights. Foxglove's built-in **Map** panel fetches satellite/road tiles from an online tile provider and pins your robots on them via GPS. +2. **Simulated overhead camera** — for sim. A static top-down orthographic camera captures the scene once and publishes it as an aerial image; the GCS renders it as a textured ground plane. + +Both paths render into the same global `map` frame, so robot markers, trajectories, and gossip payloads sit correctly on top in either case. + +## Real-World Satellite Images + +For outdoor flights, no special AirStack configuration is needed — the GCS publishes everything Foxglove's Map panel needs: + +- Each robot's GPS gets republished on `/gcs/{robot_name}/location` (with `frame_id='map'` so the Map panel accepts it). +- A stationary fix at `ORIGIN_LAT/LON` is published on `/gcs/map_origin/location` so the panel has a fixed anchor and doesn't auto-recenter on whichever robot moves first. + +In Foxglove: + +1. Add a **Map** panel. +2. Open its settings and pick a tile layer (e.g. **Custom (URL template)** with a satellite tile provider — Foxglove ships with OpenStreetMap by default; for satellite imagery you can use any standard `{z}/{x}/{y}` URL such as Esri's World Imagery). +3. Add `/gcs/map_origin/location` and each `/gcs/{robot}/location` topic. + +The Map panel will draw satellite tiles around the origin and show robot pins as they move. + +## Simulated Overhead Camera + +The overhead camera is a static, top-down orthographic camera that renders the simulated scene once and publishes it as an aerial image. The GCS picks it up and renders it as a textured ground plane in Foxglove's 3D panel — useful as a visual reference behind the robot markers, especially in scenes that don't have ground-truth satellite imagery. + +The scene is static, so the camera publishes briefly at startup, the GCS catches one valid frame, and both sides tear down their subscriptions. After that, the overhead is essentially free. + +![Foxglove 3D panel showing the textured overhead under the simulated scene](overhead_in_foxglove.png) + +## Enabling it in a sim launch script + +Two helpers from `simulation/isaac-sim/utils/scene_prep.py` do all the work. Call both inside the post-load callback (after the stage is loaded but before drones spawn): + +```python +from utils.scene_prep import ( + add_orthographic_camera, add_overhead_camera_publisher, + get_stage_meters_per_unit, +) + +mpu, scene_scale_factor = get_stage_meters_per_unit(stage) + +cam_path = add_orthographic_camera( + stage, + prim_path="/World/MapCamera", + altitude_m=OVERHEAD_ALTITUDE_M, + coverage_m=OVERHEAD_COVERAGE_M, + scene_scale_factor=scene_scale_factor, +) + +add_overhead_camera_publisher( + parent_graph_path="/World/MapCameraGraph", + camera_prim_path=cam_path, + topic="/sim/overhead/image", + spec_topic="/sim/overhead/spec", + frame_id="map", + coverage_m=OVERHEAD_COVERAGE_M, + pixels_per_meter=OVERHEAD_PX_PER_METER, + domain_id=0, +) +``` + +The three constants (`OVERHEAD_ALTITUDE_M`, `OVERHEAD_COVERAGE_M`, `OVERHEAD_PX_PER_METER`) are the only knobs you typically need to adjust. Defaults and effect: + +| Constant | Default | What it controls | +|---|---|---| +| `OVERHEAD_ALTITUDE_M` | `150.0` | Camera height above world origin (m). | +| `OVERHEAD_COVERAGE_M` | `200.0` | Side length of the captured square (m). | +| `OVERHEAD_PX_PER_METER` | `4.0` | Texture density. Increase for sharper text/markings; capped at `max_resolution=2048`. | + +The camera is positioned at world origin `(0, 0)`. If your scene's points of interest are off-origin, shift the camera's `prim_path` xform after `add_orthographic_camera` returns: + +```python +from pxr import Gf, UsdGeom + +cam_path = add_orthographic_camera(stage, prim_path="/World/MapCamera", ...) + +# Re-center the camera over (CENTER_X_M, CENTER_Y_M) instead of world origin. +CENTER_X_M, CENTER_Y_M = 50.0, -25.0 +xform = UsdGeom.Xformable(stage.GetPrimAtPath(cam_path)) +xform.ClearXformOpOrder() +xform.AddTranslateOp().Set(Gf.Vec3d( + CENTER_X_M * scene_scale_factor, + CENTER_Y_M * scene_scale_factor, + OVERHEAD_ALTITUDE_M * scene_scale_factor, +)) +``` + + +## GCS side + +The GCS rendering is handled by `_build_sim_ground_marker` in `gcs/ros_ws/src/gcs_visualizer/gcs_visualizer/foxglove_visualizer_node.py`. It: + +1. Downsamples the source image to a coarse triangle grid (default 0.8 cells/m, capped at 384×384) — Foxglove's 3D panel struggles with dense per-pixel meshes, but a coarse triangle grid renders smoothly. +2. Publishes one `Marker` of type `TRIANGLE_LIST` on `/gcs/sim_ground`. + +### Hide the overhead in Foxglove + +The ground plane is just a marker on `/gcs/sim_ground`, so you can toggle it on or off in the 3D panel settings without touching any code: + +1. Click the gear icon on the **3D** panel. +2. Open **Topics → `/gcs/sim_ground`**. +3. Toggle visibility off to hide it. + +### Sharper rendering + +The default downsample (0.8 cells/m, cap 384) is conservative. To raise the rendered resolution, override two parameters on `foxglove_visualizer_node` in `gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml`: + +```xml + + +``` + +`1024` over a 200 m scene gives ~5 cells/m. If the 3D panel slows down, drop back toward `768`. Any change here also requires bumping `OVERHEAD_PX_PER_METER` on the sim side (otherwise you're sampling a low-resolution source more densely). + +To change other rendering behavior (alpha, lighting), edit `_build_sim_ground_marker` directly. To force a re-render, restart the GCS visualizer. + +## See also + +- [Spawning Drones](spawning_drones.md) — authoring a full multi-drone launch script +- [Pegasus Scene Setup](pegasus_scene_setup.md) — single-drone scene authoring +- [GCS Foxglove Visualization](../../gcs/foxglove.md) — what the visualizer publishes alongside the ground marker diff --git a/docs/simulation/isaac_sim/overhead_in_foxglove.png b/docs/simulation/isaac_sim/overhead_in_foxglove.png new file mode 100644 index 0000000000000000000000000000000000000000..6d73704fd70b1f80521eb6022059e5961ee8b72e GIT binary patch literal 558355 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

    SHqOn0sIo5>1(EIx}25&(t-A}ZrX;e_*zjck< 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

    Rpl9`H0?Mym-Qmp zj26C+>0on8o|eVQ0bL8DSh9>=JW*H3C8Jy&k0em@x)8`4G`vJGhd*B=k2ajJ&?Q6( zGL@3953!lBYBrJZLa!@m*G=-n7D%pyo?sEDxIpD^n_uKAScc*xBmY3L8A{-k)tez& zFEl~*CdGF_uq!%jmEXSIE(^)DEfT?^`l6e)FU?M_HS6bGK9$z3)rz#8rhz&_<;g{$ zAF8dNNfzku%k9MRD4nw4b4N*J*g`+)#j99zhVD7dmP|81k}A$LBFaVwCxu^@tE8wa zZGe(Lu|NEgwcMd|QN9=FnO=h!TQq`tKo1za!ftPUweK#i8+Q=?r=Kk}KmU}?3c>vU z{NuWui^nn~*#Fo6<$JD2Y^G!Q$1m4hR@m|vpIvGG@&`AhMwCiFe)vM0#wx0u{)C`Ghg3*CNlIeBXr!{{P0p}mF#`JfHyZ{9UbD{yTx-dXg4RZzajpX(a{gd}wR&2JyKB>l)cbTERfXd9RldHdhNS<{!ZXO}K4kHw#ezr65pGY@1$(`P z!c(GMRAF1U7!HVJo|sBIVBA{)v+114J46Hl4v(0&i%teN_hoIcfDm0HL)uO+7Z=Wh zfXl0z66oz}+>uX~O$oCq@yZ8c+92`bKe3nnFodtO#pT*ri@zo1E1o;HYpAy+bXH$T zGm|Qe%)?-4uld`*)o#Pcpgd6@da5IH(d<2zhe3rYd5WIY?#JatMpUBQPbBwPFI@~n z+@99LjP+axOv*VU0qo@DgxBSi;(fUl7|p3f+QErlk|%ze!NG$^n=fpmbm<@4KG@A@ zI~i>vP{$E-*_d2_um+4EnJ*|ic%)!$;Yl6>$zKYVj*vqdARNHn5=<+&nBAUI2JyG@ zKyO9JE197K>F`9oPzDMquj(qU!DoGGAH;q^iyrYI5xNint$7X757%BWk6@VRMe&KZ zsSrm*93VnE?3JBBhc4g_sWa>pB-w0>2}%};P+0jyUmG`V{GjJh>z)Q$S7vU0XhYRL z1l`qou6?gp4YQYqG}4&mfS!Hb4@c^h9;iKH%b#Az5wHG1G9kZ)R|eOujJ9)Y{&BN7 zMJF?4dEqvRaBL#i5bD7?t@}^wvu?b9y|sH~`Ks2DF=85FYBCm4SDFV@)eHXD4w*~O zB4ly-X{Dv^y$?PTTi6KyfMb;uoCKp=wUk_BFe5s^R8CPQS>& zx<3|!6W|`!^N&EevZioH4^QBjIW)|4ZrFq^*cO<$`o5^bNg290z+VxwRr=f&s+1)n zbX{y;tsGId>d(nIpI`(n^o8s(?_h;le^SLqlLKlm2AiT>iI(yxlGc9URUVn|mL_Gj zw0+qksy5XJM}9CYLn}YcE#X+w#*>zGkJb1#jqTmtMTUyJU%u!!i}iMSa{>7NEqt^) zG*6_nX$DkYzs^%-1fQFm)*7zv#Fb4A0O4w*Y+PAlT8^OizNWNaJk1Xw89{r!dX1Tg zDEqY+8_jEV(x9c>IQ;=Tv4Z#fpTBshl!Ab>>S(PlN1c+#O`WyKk!#L_ct5pE!R{OAB9CjJqYgP# zP&O0*r7w^vI}I*P#+eXh7^ti4w&`haz+As3k00nv+FIR1DjJOiSSt&q&RX0IsB_t- zYS8@E?~q0f+PG+Eat953FV{A-h&neuNa#ScL$zK=3hA&Bw)KTDsYA4{zjxVb8tvK4 zUhBvc;MvJ;v+q$9lc>|FMU%kw#~P`JkJJcJD!IpUJUr9$I=`+F(_^nOBTve+UNT3b zBd%lQ-C?sZv7e}8J2KNvI1C1d&A3KR>LIp0vY&^r~vbsjHoX7|JHk z?1&uBsecBYDB=@uX&0gBhv9{Zps#usd%GND7e`EW3$)8piZbb~JlH8-i^%*SqYEXU z+(+3`X60%IIz*NX8&)b(o?)U3{zwH$+{cB7!hfhop#IuA2u#4+JP6q8kd!{Xv(On< z_cDTgi4E{?P4x6F3N1btJp<*`65^8l|> zZwVdmxw1itP^GJ7Od+MYgjPGabU7AJ56F}Lk%yiA{bn+cCWHOkZ@-CA(iF;v5AIdW zA$xJ7qKga$2DTfS9ccX~>oZ;cqFLL2RVK)Hn>uLntbN8gY6`pCQ_aq3cz!1{v-64% z8?4=41QOrk)edu}P!S#JU1YV~X?G50wx;KD4c633~QS zDvlE#(X#YuY zn3x2*ARpN!f@@ot79@c2$&=`Fc{i%lYc1yl^>ft4^NrR4-WFS4*05jZVrxtD?i?7J z=@ET3Ev{(zM&Vd5pN-c#&PE=E+X~Qjc$|z9fE{ZTDEu$6sCz`CSD3&eSprR;E zMX1`sxiAYSR0ZJBBpxs}!du~d3TRi^MFTk;{Lvr?=T!@%{D8k0P)8$#vkP53V%^PZ z4PvUifp6tXsqNR*c+s_ZOyDn-SYsIp3|fqVm$a@$YsMPo01ln7{DazB1T&{a@FgB? z1MA|5rQpCWHb7X1<)A7wfg@gaa2?UK62~fqF1<+9Mww0r2R&xFZ*INPrk9;Hp@4^` zhA48tq8Vn8Lmf#1ys^8G7aAOT;4`|IVd!+A%?R@pi}5UsK9Jjr2>5!M(F=ilM+D+u zmKSPd5cpU)!X-rlCN(`aHL=p#yn6YvXkv82<){0{C?%frIq0Q<9fG zIA~c2AJdq@KXB(2!FnO96TneVU|ff?kEw^!yDv8chq-#&Yjsj4yzo^0kxuj4a;FU4 zuE14+5?81;;I^T{VgwES4tc4hX&J7{;N6`muj~d@{K;PAzJ|U4l_`e#1&%$1tBBGP z4h>h=bw4g(-U*qPpbshW8#+rKmLeyE6r$523#dfpfi0fxl%RA4cjVDFr5N}TVm>DX z(0@mvN!jKn&YyWeCY@j*Ct$WKqW(p8m4l52DhB@XF^D|yjMB$pN2!8kFR72I{yn{S z%CIp#7e;dGVNB1I@sV+_Z*w_I;GGX+dJ1+rXzP19{S83vH=YY2oE@#l`m4Znb_J#= z_s%rcLYWA-ujj;JJ}b!c>FKj(RA&*Fp|?L_>M$Jn?&?{!x~x&5P@`o7C)y;YQJ*ZV zr{s@kmM#?O_ixSVbPtx!M0x$`s~3Vs;3=U`U9(bF&({u`-~6td0-T&0ZLVD!)6yc9 zr-EFy^#ae(&_nq=)yX!$lJj)856QZDd0HQq%D?Q`+}0>=e&}Pzu10lN1yrHAt=$xQO2(_{mWBcGorvqieDn((;JIaN4WnWgME2 z5roy+%SOwPK$)x%H2hMg2mv0lLJoXjgC3q+5`#M&IFeDcna=ocWoCb>r zM}NE8qFTA$ep*B1xVzAeG#WdgsG!Hs_M7{UVj(5+{_4lGY7j9EK>ERBJ?vBTw2pzg zbuDm!Ml}U;q)iYMDDFGv<_GEk;D-mScKPXEh&Yne!5ncWNa)y!QEdTdfu?B1zaaM( zgRy*ZD*Z~^ZY#{ng$Dj@syy~IlCxPmJH*Z=ztET*ERuCaa@EuYbDjiU_7y+XCs(SC zft+|3295i~(7X8HjAUOXN4Ir1tU!u#vW%sqNhA04ZWN-nZSJ$jfLkV`a8OY!7816qgK3OOatrGFh*c7!dMBAwz<^u0h|HQ?l0uK6F=BTe#$x ztx@JEj4})!8=(6zKA?gRygtapXgk!&I?MG|;IW7ug~SNnM3Q-9N`LGiJ7}UiQTwE0 zNC^EJ*^nPBfz!lwM z*LrJ6hxOseZrm!2!SwfKLs+48*v-oa51pp2S69ZHzy8@LtsS#xx3r_MyWfx2f1g@a z4!HAiXI>zQW3BFPoByWy@WVxQN_ozpOL%Nhr@KPAMwT)?5p^&3nmo;@rmTye&N6}D z@_|>QG{%G))9^zwII8>;rMfK~lY1%^KCOTK~|m9XUPp~6PVwh8{pM9NEJYjbBL%chjwmj}vuELnY| zxj`7&V!BipGl_+@WX@uns?2j$a9KH`pR{k!4&i&i`e+ayO|(n?Dr{@rnS<~uG5yPT zuFB$tjw*Vw);$kD))7fsnW7`h)a@7jy@zQ#vfch-vj&>jVDYTCj`T<08*Oe}i8bXn z&Ze3t4`W)Aa$C^o=wJWUwbqUoI=Azids>qwh(tHP_-F4o*X1sQ0R7+m-+yqNp9SrR z{QPIP6e9ye%>%jF_`~n+gL3%6k8bH`r+9h7`|tnlA6*dBayzxC>CX3VUok5=-_tYZ z?w3!@NBYY3d2Qb6rY3*)>u;i%rD|TYJ(sVlqnvH#KxZz$TFVb`;ji3S)HAA^=6~IKqhy|kY(vdnT)6~Dljrl0M-S#&O^Yx?SWuhEViRZ zChId8(jR4nCiTQ7pm^voHQam9;8 zehG_!cKq-WUsMsN^NKGk14M^^CWi4V%xbIrQLjV3zM+nSd3m|3k!#HkdI28jB}utr z1^*7%(yk#J*R8&uhlg_-LlpSUk&9FteA0}o!zL-J*J!OF5vk;dz=;k(ZMR0E96B=d zkzecb#|0E3C;`Edzr`qIkEEb|Qp1qZMj}BuIsnJ04AmYZ8F2Dc6lN=45fv-#x)wV} z9>B#tbnyx;e<6#jVm+BdLp{{oy?ej;CEUPl>~!mU zSo^lm&L{LK4C($q%MJi_xv295!?4Ip$mFJGy^lVUd^&(xeI_CsI-vP4q`ld%AIX*H zmv`S+?pu*8ma0lBEmPgn-UKr&`CG?TUM}nv2MSjf4v9jRl|DXk1(^UPS1z^l?R>hAD zvqmokBM|{tT>Jb4OV+JErI%^NA?_Ej3KLEh0*h4818;az=7&rR#ghJ*rBlH=L|Rk#BK6PnWN zwwh1rD{t&5M%=*JWFd-zsdpLmuT=Wbk-gYu~yxI`l8wbN+-dH5M)^ z;K$e1_R%U)bp%E<>@UAca%Nih$6L2@}!fED_7_$3qC>Q{ge2j( z4uIa=%{68M+ii*(68~Jc(yMQ_5!Oj2;7D!G>$`M6z>XK1M+{vEJh)Hg=@>sa3EXy`98a%Cw+O?O>hz{uSD~(#Hv*)@K zOlQhOhVpQhIz1=8S&2jH*bb>ow7CQA+B>&!ULU&MPTVIe$fb1nUer-_L-FBDdVFY4 zzUuS}mBP@ofE?EtA#6ai9K5M&AmG(yrxv~5w& z;wRJ(d$|3ea0Q}0KG@7S5apj|NQf)=IRHs8HBP}WL~!o$Hx>99Ia`nfm)thH$G@X3 z9=c|kUoUOqRGF0YeIo)?;IG!xh2G-8L)sy5`mfK-ICc5GI%rRyX)$MMsUiCt-_($x z)B1{(TZ~OPGsJfmdQPZ<$EP)}l1jhQ*I8(aToym)gGl)}AHBa6BS_#}(5^<^R{jU} zTbIPgFDzEiD9*dgr51b1TV0QyFco;?s)klQS_367N*x>JgUY#4@KoI0>{B||ZGab= zbO<%Iy*`~a?s*qdDi0&cb0bm&C^QvNrJ9Lh$_!ZWHL8UG?Lxm1^!ardT`Vd*iVf8A z#JHzMhx`x3(4c6zmPVz2>D20z2nC0A(f95Ez&$%UdHM&NB$JZa$_Kz-0wO={3>U#o zNsoEkH*Q-J;g~^B9&`$)Ui<;-eiH`((a-@oDVq#^?K1*JU>%iK3b$oq3%CaZ zM2OF}(L5#yKCB}<8jK-5mt`kdZGOL}obZR( z1d&SGHHK8FaHRDt$RvAEj@^dF%g>JPGwJAQ%tYWN#Ri2aBkM!tcvpF3YvF*(%8MeH zv3cagUig(3{Mqty`yv&j8NYC~weNvOU$&JGFM?gJa*RDGLtYayEi&n6dmW&x*_Cm(CGpcYlpOp1j+fvIPtypD{u(I*& zihE79fzS*tihepsxy1gpRMv{k{D&2WYgmI(s93-D4;!hxRfiK)_7o%kt8o) z#x87^$2P$<%B*rFZcEY=RcP3t(8&h(bci-=p~^H1ejpMP_?QRwFf6Fc#!i9MDqh-P zf5FMB0;P1{HzrKpq7PdIChW|SA1iMrA;RoZM#%-=@nAYKHm*+Ptk!yF2TeSlJ&$(` zOpdi%eNrbH1S`FfbZ-noueL|6Pig1>B=@ip^noTng%#B05?-#k62A5jtK+DA>&l57 zLt5X76X4K!L(6-r_{Y*?QlnxOjt2CxRUI|~7vxiGEbme1KlCJMJ*^R5&f1P}(){e#8-j5^M9b9OuTBPblLe?+uXT;|tlW-_OK&s=a;W$D zD`r6ya6j?E2RaEO%fl!s4wR!zTI;FVkjt6^3{G;twe(8&Y&TLp*&BetuABL;hxevD z9Zcrg%A~inWMxFIMpPV?ThAnpmedtD9R$}-zb6zX4y8dz9os7~LMc}T3}|L4v-o5_ zaw^z$T;VHFzh@gGbTJL=IDW>pH&0_7vdi#R*MEXp{+C zihg9A8wX4|0a6_R06+jqL_t)(-gK>=fGGAfg0io4JQ|eV(R51Mno+MQ4q^`#^w7{Q zsP*(uBc%uB?CR=8))GV*(i(+9R(LB=rX9VoCvqoa;bfHrLH%Z-$*b@ho&W_)bzHV? zEtx2L^zb2R+=ACtz_#rfqth87*qjG~*RQoql6{}nbt42{k@)6N*;SV=h((4%){&pS ztkeVCz1$oFcl3(&mz}H`y$pglbupien<#Nzri`bo*K{L0bpeGSvaW~;1cttR_c#~; zULs^=*p3L{Klt$0NZgh_#%iPk`ti$r$&;y|HgvGhC}_|yq}M&PgrhSA^%MMbEpPZp zW@_!;qa{d{ua_Zh+wEC3E(C8F5Wih@(jsIhQVBX_@79N(_~NQ>NB2JZq>;Q;wz@UuRPxw;=SA#KXgC5Bf z0;W+D(|S#FZx*%2>aAPz)(yyko`vh$JQ&P4`DU&e#Z44~MZC7Q-n@7kCux9m>&_LI z6)o5x^x3D+THHB()Ly<4?{n<2Di<7Ua+OhS;>KIuyPl86U;pg$P*8fzXtUM(AKX+d z+Rvkh%gq;`i?<;s%?IDRBZ<;UN-w`!lm9iQEh&NY&`09U+uEF!2HDkys111o@cTv> z*Kc0XZv@uR-u?WEb)J&DD%#pb`(K0jqcMeEc0BdkSv`dU4p)6myaapRyks#b7g z>owXahH@35?e}p_BiycmiklF!e)5_n?*v2)#L9Y&=^NyTibhN2m3mHBLir`vm0|v& zFzK#y#%>fkR0v0RT@+e2N^fq3LVn|`iqwyn}DjgLkzFWNnq%$wFSO&kP&h~q?1O#liDr4Xv)@Wn*ROyZ(?p8`tN;b zx|zSGk(<tAx9#hY7gfF3DrmI%Bx$y8_UEXb;dmUZK^)WMwlETl;B~3+c<77^BX=_L?r>*8x zdRun1@e;$;-@o8kpWqs)u&wn3kVMg*(HmfeE^T=7BRBLGGO#4_y(W1T0M~s|c5eY7 zDHC!iOeKP{okf9D0ba(c7Md9lzJ@HA85VJOwJrH^{u_wV!RRF|TzqphGWP4`>9c z^58Wl$LhO#09`<$zllT!c#u#p;45uN!kwv~$TMbvd=*KtP&#-SOZ3pZ7K8%p%8M&> zFfyg}b__)HN+w_hQsM`|yjc&9KkN3dY&E5IzR^NEMF?%HyJ4y;tBTaWaJ9b`9c>8lmX1c8ksmZ1`l|4Ib4;C(TEf8V8>%Yr zwGy0SKq7^I4msh+7H7wulv}J9DI$fe6pVm4$mM@{PML9WK)=?W9p`h|7XJ+K+QysW0%t+Hs zJ90Sh9&1=qshI`2olqHEP6=4mB5=-Ci=Yt~y_Cz2IQTr&%PefI1*n>`n3-8rCp>oY ztRJk&`C*JOLBFA|Mgn>d$?usiX?T@iQ>F8A5FCLHo0g<=6QY+8hjky;23g#VVowKb zbs}3GbX(X@*wvypQShg|f-P8*jA~k@Y{%KCewe~c`Ch=yu~;HLU`>s#ZdaKPz_!wl zA8g7G+XaI85+#t4g5ZI8>*TCzc}CO^xxz_=el8f!b|ij6HvCBkk?$W;#YA!BvS6aK z7x)qSc;+W8uI5$+=_?Ic6(D(Zg~!fJWu^SqC~2qEz}(G4Kf-BsXya(=LY0KLLeqjn z323WsN=>6gw(-jp;8~UcB{OIXIj+M@*%K8bk76RdPylOGwRq9lu{`}yt}%7q4)IHq zVR}+C4Bx#&uL}C1+Ix6a34&wRTxEciz8kg3@3s!2Uej?$1R!%d zYj{#iTB@w;Yt*=i1i&rS@G$SMsE65w+s*9x+opq_cUkxD9%w%NNACi5;G~yz9idd= zKRUnK+&-@lR0|qt{_h`eG!K^epbtGRUehy&vMOxrBlyLO9I26#SL9*f55ChaF#p}h zFPqPowzU)|o;AaGtj~ZuodbqI6|glOXx3mOR!NG;`{`?Dl zaD$j3C%Yo0XM?LE^C)|&91tbiDbBP~pOY&pi1#(IJy5iut>WAx| zp8GCqlCTsc#N~ag%uZI1ucFnqZKysIa}f8m3s>tYdFa^|M>K8RtVuyfB1(gf4goaW z(SBhou4~`ky=n;_XMTUL4%*0AOzA>PKlZ)ghSS&Ytr z&&&DU+vpX%2lTeu*A!wI?e>k(83XLgLF$^e^}-h39JGtyrNZ9TJUz5S+L{lJH!+bZ z!{gRzOb-X_3y3*)MwOhcG%h=iY2;v2$-1_oZ+$V?^Dd>pgBzU_f}245RGxL?Xn*^aklV69$YJR8QEDcKx55C#~E?ztTpOt&J`)`{da>-Ss+ zMob2@IDK>dJ?o62!%GONw?)w0cq+kZ<1HL|<5Tylzzb1kiV>FTSkYLw{E zg(lwcf*#6gA9Y|Q%mn5Zu}XJWD7z3`BYpZA73D^ILfAcMtzNQ;a-GJtau5}<%MRcT z!F-}#BUf&acC_wU?vEfR`$X$b+XCwSwyiam1az9aHQp@D>K&BGoFKEIsq}UI!C~s+ zHRJk6@0a7_=zzj_QLda8J#7|p*5oE*Sw|WXmR~f@zxYpYDHe?H-`{NhYV8SG4%{Vi zr$pK#q&z!7SBNJLZADt>JvWpd2`CS%UO1q}?L_%6R&^YeifCIZ{jdHwbl%e1FHZ9K z;g3FVoACwtNc-@Qu3HA>d;V-kAE?qf+s?PXd#O~`$kdM9SejQxS&Q`=yj%js>M|N4iMhP_| z#xBm3JFInW4pdU+hmt{?CUac}|ALSor0uT(;*4AYLmEiL&LX!|Ssz{cD`RFXK2;D9 z>xK>eX{>oOOJ)@k1wsXggME}Wlr4=pK>0xHTYS6;G(xB26ROidk2Fu+?bN(*dqmS* zJ=e7UZ~Z zrdxnGs(Sa49#M$q^4w^ny$#j^+6{K;=}I`!kjKbTY{Mu0&NY4AoL4JX0Qcd2H5MIK z3qIoRKHF=aug8LI){_m%Hyjovu%>3Y_fldpI=gwoemd7r9oQP#86RWnfgxq2=&MTW z0&kZ+BxqZQa{uJ#Pm~>XhJTk$Z9Oi%Z3Prk(EC-RKuih7%`&GK*0#=7ix4ke)|9ib z*KI>_U-_KQkZM#?SMs7=Ag0=pjncy^JR2ve$c|D4|DcWbQgVDv{ZH`>v8_C}SK+yA zBI0@qKNFT`Jt!BpIx+u0(lb|W&ySy$C3BpzjJbuJo>UAcHdfo3Ni zS%P|_G!iNK?AFSnlC*IfQhnu-t_^dRipA6U? zjyW}h+G*F8Ve4@-u=Kx}4}70){#moPbv4pb;E%pF*nH0?sRZpIZ=}?VlONuD|NT%( zzY}AVcJdpTp!L_BQA6FUF*EmU{c4)MY|YimS3(kzx?Un3023?UAv-}-IInR<_Oqicu_k0y%gWFz(7;emi8LV6l>2o!M@ES}0{qzEm6!!4?e^ONlAu(mr(;l7Cg}XpUSLg0 z+(xrOMahb3r(b59*m8^EnJZNE&HUgYp55=d=L51Yik^$4-=5}zU8>bH}%cTr#L*MoYVQ?9n z#2WgS<=jvwtHQ4ECNzwXT=?(r4K{DzoDN<}fBfls^YQ1J*2{c4dwdO7=r+j67nzj! z_PgDVz^6+)&9kL$1a(Yn>;`hJ2>QoK5ot5Ij$RPxsDw_a7#R&)kUyxh;d72a_PAd3F~J{g|3sZ;@CYot zAH*?f0=$@8w)M*sz4=p!HmQXEOAUpHb43RES*`6guy~n--u*P~0NPVDEpIRh;B;-i zj~ghiOQtq9U( zi5^y~TOei~r5vPH zC+!g=(D*|orp!aNs9WM?dt5K*ZnES9jn1&M)4a@79`Us!vC1_ulcNv9#(&`7{|7o~ z3cBoS#9-H7qyPq*x8A+h-YY=VFK+qJsT{;j4hkw9X@kL$)`dp71+eVA3TK}6cm(v; z4R&&bWAO@fUPtWO0{ZQZWp&bZe>>=&)BU)vkx>FpR~enHDg8qY+wS6GM|to&)X4yN z?I%sx+Em$(x*3woSMu2>12TF%$ug7-gL*!cBVz2ulHehCOrkz_Pjo*EZaMjZ+}6DW zu54*YDTCc;RKk@d{YpvT*g@%PcLsqMS>10HL=a>dBhVt==LtXK>Bpgnlc2z7a!-Ll zO`h1GWV+N@_9zH=Le~Gl;r>VkloeJg`5_^T7v(li!gVP-23^4YTQXD+_nO{!jO)q@kKbZ&pItSG2UzD)>?OgJ3pLW9F zGo5SJmY>W2n$MmMo6XKmY7YI%o%nG4GD-VNLN(&*3dN1hMV*C|_W} z&YxFa&!R_kheZeISW|lQS{qP>7}l2_3tTDjfm|1y4W)S5$k&uxxabrDbP)kY0o3Y; z;9>wOOa*fT3u4C&CZCWpfVDge*Ze8FvWx&y1d;}UQ}~tHzk-BLJ^F}7hDjBT6u3MZ z0|PeIu!$EN=PDso9Ur8JpYgz85o`?A0wcU!(Y9+{JB}nG7yH?UnJz3~NbA#t9v!|> zgjL~GI)y{S%gKzm2&uCbyn>p`v0gl+;d7+jdrS!$UwZI(KBiL%58;lmGmQYD{`U4_ zUD=^F2{gk~T9Z;vZ<+GeuH4+x4f^3pcJ!2B%5Fqc-KEpMIwXgh0w-{D&R?9=fx9{M zE!gJj3yUNlzfI#)HQcT#It{muvSlA3QgVh)b8RIT=)HsQ^EDqkcuDDg)M)cwjS>lh=l>yXFd<;ikzQvUn2(Io z+mA9c6*?vtH4aL@(o_R=Hl`&7gcx0QG=B0X0LO!EbTY7`{^57+Si6s{qp*(#)VWh0 z=`afVNUr{&7k`lp#0lXBw)2Pr4iLx=l?)1@2mn4K8;%!Z;R8GqN=|{XMW@>td?nq6 zja&)^PU&5IfX4GscuJUO8UdN5GYXg9!6|TE5Me<_unP*~wv>j$JWv8&`e&w1Ruo)I z29YXzwD~rt!#YI(Sb&}lNuCOAIwGJ(o9M|+Hlw;n$lqn1v!|g$zR&1YG^5J`Y6NLWn<~n*-?*;#qG_{U<;OAVhi97(@xGtSeT2h~{Y$u!67OAgYJc+c zB}r6nR;+|7o{u;Hm?| zhAxFUcS_)I6-@6${)BbNB%kMla9wZ^LUyA1LRKq;xDy>Hkb*LJ8Io9vhbnD4N**}v zFM3c;3yU((FXYIxkgNhY#Y`|p*h-yMt%K}kwX$0NRJ;Q8mSMsq$-EY~7wKAY4|q1p zmr@0-;A*Bdd{^P*a7Sx4Vu&1>@7$SdzVTix(5AqG)2_mK#Rj3KGs^91k6sd@LP9*Ov5|l)4QFU zjcK{(pF1BqV;p?3?T9|>LhdZI=u-Zfygo*>ljGfv#*MAx=9Q*Mqw>_*(G5J-^G`LW zN~8}8uYH{x$}kFLHNK{jSiDX^%@K8!4){bPAtZdo9CROGUXac9c{3A^`54vTpNhR6 zl9h0Uoi9t<0OAbb@J9gL@eQ~~&mdPG8%QG*h2Yt6eXVR=k=bw1#G#_SVUMye@**U@ z^SH@LtM-$>=^=Iqsx~QD$cNbfqacEJIFTo|4&b9i>EWx{bCW=rcyY;JBeW3nXmf&} z8J5tL(GnEg06LJxFNFb5P~Ud_G64tMzrtmMz^Fz<@cjp=?Uw7&7*!ZThMvM4yD!ATgCyY)aTVX)w4TfE?gC5}OmAV*W#%|Jabu>%%p&W$n?5LBwDH-DDnW!`* z%`M#MC<0&cVO*!`(@sF~-4>b61ML`$dz~o`?ciO}=u2wF=^YoZbHCFrbVS_pszy|F zV}T*|`&%1c!$v2SFs^m6wx5t$fW7o$#c+P)A*Z=G(S1Z7o@m2_ryIip6LzQ==yVEB zwBE1kd2r`xGy3?)&P2D5cSf}4CvZ{hwzk>NvRg|Wsh5$lm>vNmtPt(Z_7sFWH}VvB z*|}nQCi?Rce*j36C7RH+V4=5i$@HcDaZ>rvKx@W|R5*)n{t{Iv;%Bh} za38lm6cwMI2)-yr-ihvSlL;4Z_M7|j)(B$N`KG2MJ;iT~_$j`mKKgW7bU?Js;PQ0y zpZ^!%wa(CQXsYj{-#ip!m!i3L?R+!IIj50qe)sDqrXzn&Zn3UholjI|G=}BwLY-*k zfzFz;1)UFGZQ(wyFyJcyeSqufW@B5=7}miq$$dxJ|gWg*#~`HTq48}o)im#(!K2CbZyD5f}=Fe-uE-KrVBa5TeaV)XkhbeT!aQuMD!4$ zZZs~fKV6+Upau~QjjZG2{pQ@oc*-K;=tx89YPj{#qNBuTL^;7+oC#VOv)=6Ebd3S; zaeXAz+Cikv$p6};*1S-OlLKQ~ztVdV(m5N_13dM`H_@IBnB;e~w#(N@8T1F-#ir(l(=fkY%4N=@O^)=SOz}ir zm>X}-onvGtXcnid1Ii0n>;2Tp+}sL18BO`(k?vwpWjl5c+Np0&-N=~AP^R)|_lJh7 zzaZhBqDh%T5&{gO$tl(hsId>~jnDB}us`&fTG76Sy=5^-AVt+^cVQFLi>lff@`cS$ z7t#P(Oy`^T}bI8-b zqBj!=j3A`s*Af#6nuzgbPrE2RleyDTE;bkt>^n{T@cl(VCQh=qtNS<{OIJcZ>KBh6FRdI|$>qs<4+&{;<*HwWtcVz*(9?jC3~=9mx5467P3 z-Ip$IGs0&Ff3zQst}0HaJK7nettwsGNy>PHmusoY#;?HT$smM!}KRwp5S1i$T@lYiA2E0bH0!`RGUcsre4{2ymg_0laUZZ!L zgCz60+8$=3#2J2|m4qUTYcUAvg+nUJ8g$eHp{`E&M-co3lDykE}Htgxu# zm017jdXpwE>I_WLj%X9sT+&X;zbQ^^S+8cBC?8iD=g%|c9ooHEst>!EJveuvTh6n& zy4k$cpiyewoIAgu&M+Ogu)w4H&q^h?{oA*-){R`T-j-{Pk97!rNRbb;%X7{38*|7DB!;B0`?|#)G}A3@TWms~IS*t6}<0n*-4-v>yK8lB=@H@vObW zD-+m^yi)U0a}aw^NeX z>&BWggyOdd38NnA!Co3p$GbfvDxfQWXjNO()p=&^H05014_f8Q3$$)ZMprFHqZJyt z<*2Blo#o6!O_^2rKY#K`M5X`2;zaYuAKs2m4`rqUcwA-B3tPuAX&hAjhs)QV_C)hFB=0pn>3GhhDVeWZolN7<1;xdR#H z#15T=FMi|dbXOSEm+Ful2s=oRQB7Oy%84bQslk zg?;>s_9L(=tv;|iA;HZYqC$cP%4IMYl+s@Z&CF6(*SLQI4rb{I+hQH)%1Hp%&`+Ed zF9`+P_W76MnPs{#%Ty7(QKv0vWn0IvLGUX+Xl32?0~PU7y>tbqbS6$fMBzEDpOk9& zsruzJR{Sk#M37lop53FY!K%;{gK>P z`#Mx7w$@`JbVrN#y}Ou%!l)LcA`;%L1sm^=7^=ArXw7C7erAN@nUG)#%@(kxlsF(P zm>o1F7cMU9PmL|JhX&sd71IP?es;H1HaQ)<%!(j2H@oSzpL$Vx5->Z>4rWKSoM%$*e6SWuG8?4RE;b?` z9EOv9dW~e_4{n?euh-F`soH7Qf&1lxu)8sGWM?g#r~}R6PKSd*1LTOE?H14ah#RO} zf{O-GaZ?-`;0BYW(Au6nrwz^@AU$3r6Uq03bB*B`d`+Q9HLWsnWV8frq<>!l^gY=U zrMSYb0%W?%UfEntuPg1|W$PCfdy7Yu%Gkz3O3Mow8Cu1pLq@@cWttB6@+><9CWfBz~_B+N}IWSuZi$mSfiCmH6_5HQR2dbX-I!u)BT` zL#iowM#F+htf`12HSlgx>FS33N^NLs{#e|6^WuZAtO`sal>W#1;__5ZX8H@$bLp^u zy|7hmuKdBLDy2s5VbvMFEKT)CFkRMw4PF^0Oe9_U;5SzowI!?+;f7Xef&0AM#w5O= zqfOZsiIyeW%8Ll)j~5a+1lU&~&$$RHZ403u!Kk8eKVp?8-a4{sD1CqT@13(Xy(eL$m3TJ*dq;%hqcvVRhw<6 z1fbQ+;!qtiY(Thng|9JE;-she$x+ww+u2#yHgrubMs{=Ktt(pG+)byAdL#gQYot=^ zIM+Awr6g5HHT^d;eJ*UNG@b6UBMjN~7BYOCSSaO|;JjVk@TRKGx+9^PiWSIg#5W)s7iuE;Ji4lt1V|?`m6XjKQ0HVdF z1Yh9U1;zDNMrO(7O6brs4bb&ML;?G9aU#+!5x^>=;?^%Mb15Z352f=6dr|8>qOy;P+2H)S9~t z&sTSwUw@M8)da)Q|AtQBNwxIc5sjV!Rj=by-3Zc=?q5bhE8up6HR!F<`OL2TZ@)j^ zJjcbB!bPn`e<}ALb#HBG3hE6kA!P`2AJbQzHUS}|256cQ6?$n3lx25QXKrb(T4iupJl~BHjA&)&#*-S!(4xZ4 zp=NbkjWVWZn>!aro42o-lYR!8j~>L_F?=W0FvgGL1qEw-lO5?r+E$)k_I`LnDT1XZ zojWno=N5*wc)O+= zb;E0VU`>q;op{O2XzGzbUGHdWaZ6K$#K}KVuad9Z2<#42BlS2F2wH$Xn|2loM`9gl zH)hbX2%N?KMng*-$03J{%vU74eMYgwn-4L2tA{W{HGpd1$U5~j4DAYC*O1y{VTjR? zXL@9(&7hR*k`u|WC2@uXqfr~pApgM2odr@#hzBouf+kvhO;vQs8w51|L0ds2PMS1t zMB)I0opnttQ$bH%W0OKH+(;)e`KeR2wO}B6J|z{3K15-Mvq2Ceg-yErpbxzQN+}7a zWSwP~>C&ssE~8jyctj5C3b7wASzsw4uS%=4hZTS`>lS>mjR1@avMSqw1;?~+GL$b~ zCwhQ)HdM#TGW6t0!2XM{Ag+0_eZE015p2E*#Sjd9c& z`NAKO3kw3+n|dML|Lk{8^E06}2Ujn~hzjU`ckjNQ1*LP-{NUYpf>8QSaIBkNj0TAB zpgQhHJ9rBZJ@&Yd+82*TO@{Tn>R2@!uU<66_}Wp}+U#C@q*?Gjs+VjDW0x{q#nGU5 zzWE_B$>cuQ2y66&orl|yHi+n06@h&nbmbI{;Dpz8UYgm?gj+VGZXI-`PFx}x#4WtV zQzjXC37+|zIQ@17%d$;fTYkmJLPeZ)>12pNxhOwCGvlY?c_p2XTyTm_s!49k2Uu#G zSF}QLXE=@>;E|FdqyL+@1{o;;gY1t>vyj z2W@*RI+@_}9N`2D>J&o^s2PR^{L0;hI%ppx@tQiA|L?zlYP~@J{-0cH-v8!R&|I!x z$<5QVr{&~V_voL0(>h_Z)s?O07eDzTI0^sOJLjA4epej>#S!>RxzS+#I&}f>KmF&i z%m5p#iT0O2{n8G5VK6;2+T4CeAJIwsSgt>wGv#SO)4czkE5Ss}aCZFYzBX=99EJ0j zXPXO`Yb~743)RMsF&}{#*1LF>(bWiRD_RG;#8j$HBf0X$sMBytFgrN+wK%rq&alxk zb7xk&j%%`OFY(#XCcipT%)ltaaOE#xQ7X;qSP6^b{VH8Zp$=(>TXBW!PHQ zS4Q?Z4|eyO%h%HI$ks#l`H~o9;JJLFRvz;8pk@6BQ(_7f?+?BMZIpXkn-d;9h>jm7 zSvKx|hHC0CwdPibE6x-Z9&@Qg- zWjLXi`!L`;Lm$Zjq@Mzl1_+FHQSeGvTd8a4;#MR=u+6~i3)&U{*5s5t z3g&>EcsRQ56ACNqBP#OG2B?cg;B^?GSC_UVvxqVqUqJIPnlVB@$9i#B+5Z3nb2WT`+(f+`awa;bW1TZV{}>QugQ zVO)HKbj&qO%UE0P&WGGXUrhZvC|4K~E;WK4Yft zl4dD5ji&6&0qSf3C|xF*;mh(I$aTxE){s}gO%ms45gNxdHJ0>HW--uvMro6lPx5v; z;>K{nqoKB_*vo-V2cZnRqZfVU6$}7zc=q|Y0!BhSEKs$=W7u_z-FKEQI>#SY5ppg&OgDI02_V8r%u))Vfo<7$VS(>od^lMB# z!0SNkaE^zf9V71GCBAV&j?T4`Z#F$Vl?H}SxW0G%wN0geU}!qp$xYE8`??m9?0I0;fcMormofvP#>!LTGi9 zxOkYKGE8NJphpPze&NM6epQRf%!(QZy-f+7{-Ha|E`YlnTzk5M%V;?w$zQy1Im=TT zhaS*C8F-1(VnzfUg4kJ}<4AKFSZ6bEDj>Ilb%a2F=v-Y=I%+M6@Q;0(L(oyqV~y64 za+y`$;lp@kn72ArCz^Q(o*E^R8<}IdbAcavjOj=oh>24J+%=&eqcJ*bRQEgq4!Dju z$dOv~JAa9n8+p=6Q<6K|FP-LxjS43@B}w|uop&?^&c|KgkBxs{P-~%eoZHRw#}6~5 zXVTPymkLlG!X+(H*zw2{DUCwyh6e&t>>^&#f!Tp69fdcy5HD;i?cruwQg&ljiFLCT zcC-{|OB=#$ca>*C>sBvmZ7k)dd^}kObLj*$lfBs>hO`E9MAh^f<=qy4lL>bpyVFJ$ zsN!uuQ<=fhG^^xP2w9mb;>y$&F8r&GptG#sDWn9K6~eLrskdTVSHq=LV1rTj2e^V4 zqOOq}{0eTIs$t`9iWl{U{o8pbag^bA6L^Tvrfz$by3q!}< z9s&u|qPP;kkI3n~WM{d7fp7&SD1k%KM(T~fU)w>$ga7t!*Ylgu(8bjou?-)Q$4A?0 z)ZIwOh&=0tT$w};L3i{;RtDgUX+}E{%Wiuwwwe_k7cr`ZJ{a)%N*D-D7pI4s3)&q? zaWFJry+gh2lOKQ1yl8x3o)ezE>hmR>c9`nmTrHa?_zHNB^!Rv5}QBaKc@%rt{cO%O0*YXg;6_xB+O-Y1OCuGg8R z!3H%dqW|h_(BTu3I)l~L2en3QUmackxlD}sXgIlScrrl8misR9ef)P;BF~0l=~${v zPjE8G1vIpZYs=5|bsjGvY(F5rCmd0wFrZPKDcoon6ZbvpG^@prfq&w&)|B`6%l@@q$@tPSkNn zNGK={j`2u_POM>dKyH2mx$_Xvz*D@_o{XXiB_LuzB9OnM6K3MgXMk{}2W1hnor%F_N=sj| zXzBzGHGlC>qO%MA-~9Y#v&(D z9M81L@l3{0CtDj=80|7ZqPOyRCe+xH%bf~QzoJ6DUI=XgD`vZOnPoSaQ#brofFH?X zS8c8Gs||5AALtQb1WAM542wfie)aWhJ7^~DDH)PefP{I0HLLvy0^=0ZQ7JR1A^vbw zD+Wpr%b6gH648+Y>}w4cFERco1*al7DE?}Cu=)PG-9vat59dMM1a3@1Ue&s==gUFx z*#mh5zM=9Hey zC8~~+*#zGIg&NrC6?xPPYhNM+GO!LavkFwo1(GwV*T5$dRsvRKuB(xa$%`f*5Rmlr zinbP*ZuDfDe^Cd1!BE5Ua}*COCTcQoj(uBX{Csm%ye(AH>4;IbYq7O@5DiAD&(V;;m;)ieKGLfLUd(^k$F%D7xs zOw4KYA_0e6>-vad$6VNhjSALH<>6Kxzj0YP6i+^ubm;uL*Juf#Fs8L&QTS6r1c(**! zCGRt6B4o_W!UmKbdz6hxSAZ8uTg(|9CufjMP>0*ouaJae{z@A!g_PWoAe<5oPxLCh zQ&-9;%9LweTYRUi6C{B{2?9A_T^#Jn1=`U>9J1gMcJ(u^bb(mGG!ZRR05zoa@07&~ zk)3Qp0b>(In}0a4rrLq>>EBFutW2}jTNVSS0o^-nFmPPyr5AelDY2xD0v8tcn;(4t za`56;YgwN?;RKq{ouiP>;RrS{R$j#J*prv*9u0lx-7C(aJ~ubDzU#TB>=So>ezuvL zi;p>g5AHq*zKW0PYx27v-ZUom;auV0{PIhgDB8xQ%jb0Llr~r-x4WNcom}$8584O+ z=$6yl>Wqxb584->ch3&o!Yt@?jIiyAc1}NQ`SKjN$yzr!i{X^kzP-?zvmK1H_OXVH=c21|a_W4}!MwfSigLudHmiixY|} z6QgAlBR2y0%Ck`t$F>z9voce7EuaHIM@NYOZ>TuY;2#Qo9jtoPNNZ5^v8-fb8H%6i zYvM?}OU{X$EY$`IP-*-}ngS?%^r}q)u-scYR;N`@Vg=s0V=OYXY;io<)dq}sC}U6g zcGrkYtnUKl(!9!a4ld9ROOC!!oRFUwEns}PtQ#-u;l|~$X7Rjp1=3nLZLO~d8yqiP z2q&QA@vUZ0yzo*OvNj2oY1g;YieaoH(Rx* zLro9vb5J>%LfYqLjxAKaL#^)^VsRk-Wb*X_rVCYEXtf7$ zG&mHWdT@kD+P{K+s8g#*x|r%petVxe0YXIDb{Aa8P#~`tlBO${@`~?S)RJ2YkZ;A} zLbMd^?)SLI(8cUjh!)LijPnhl6=T5>p*BDi~qJ-huPeHtC-}m1knTO)LoGSj)blAUscAWR zzn{_)2_F3x@r8oQr$e*{aQy@;d@(B>g9t%E&2RBBZx{*?`u8)f z5^80BFVE59LU!03)HaZ9;((N2P*OdxGmV;^GXUjKp;Z)`vYCOM?68m7w2aY*(9&Qa z(w2;kr2$G9Ok5Gciq6@jlg`9vc$!D@4DNx|{|)$w*R8FqlZFpAi`CCLImaEXdqe4s zHP(4rjpjhhQKqKTd9L!dv`%!#Blp35;oO{jq0L)=bo}JE_mpAIT5H~oEcSIF{(E)M zhS@^sfI)_JazOWW#=9CjASwbyj8rtB%;_10^wRbVv9sTNP-tZOtCm28v`L(ozJh&5L9fCGpR|D$~mK1g7xNtJArdbahaWxZ37o)3WPjTT3xK&=)@J zw{=X?aShQ3eyBa(2b$UmJUyW5Nhuyj>bPxfsS}lqPc+pwJ()*ssJw^k98cAq>$#}u zz_5!frjGDQx^sYjN+Yf3&*AMo!shm-Mp(kJCp9#@5?^cNjtuLRiTQJhsm_~kiCRQ1 ziMmM-)%kOMNb#$)U61rgXMS$)@l}Z08e`hlBpzo3X8lZPk@O@x5nW)7qC9$TN1@=4 z>gC21rrU@JaIvww!vls~5EMlgdi7u}|KtHx>D#t> z@ROa}S&Pvz!aSx;K1Fg$3oA(Z1$BA5+_;xJenB62jw1k~R0LLSNM7iT&XL#Qf*1S+ z1Dxr&I%&JKI01^^Dv#L}v9dZ=Fjra%@n2Why-;kwKCg`1=B#HDU6Ilb%)%nf$k?7r zOtJm)8@c7D56UD46+5^eBj%*{HO<_0&?K|hS<{2Sr&O3uV)t27nSZe7qc5h`qaDYx zlTZlmlT&gVgG~Kw?XERzTd`wKJ;r8vNcTlC7Vi7+UWcW_wsuFZvnyW#8{qqGw;gTO zf$^Hf8N-(wj1`7XG_sL;pX_ZkYfGQC=6Ip=6ko{AhATk7=daw-$Dn+_Y3dX4?CMQ6 zMwy=tuLE%A6}qA&JyB;T&4o)N%~a+qTe}ClT5Xju002M$NkldA8qX34sN%1zVU^6a?|> zvItx{2j|!E`ZQnLLBqwyEawZ_XpOeUYBc6q49OvAMs74l^b#uFAAP=zx~_zEEt34r zr{T34+>4rnzjTi2!ob$fc%LIy3VregUxDPY3*)5up@udcL_4M(QZx236DT_xL7AD9 z`pTn2z?^j2t$D5&{U>U8Aw|21hW29-X>b!SHA}Xt`)gNwp!EJNooKMb^573K{05oA z5P$R1&-~1YrVyiiQ0=+%D<5rbCl)B=G=kJXjH*%s61+3p7i6_Uh2#-SLHytWL+{M) zp{(YWj8yy##ktZD_u>^b4BTj>#Lx}i;0M2sFdDb=lu^)-jSf(s3C>JRnDyvd24~2^ zHpmY-eU2eZ5V1O)jf~eAWdTyY83m4Iw9I-E&cN#CFAiak4!_dmvxBJub}DVaA%9f& zPP>*_nZqdyUHIO27XnxI1mzv!(gIp=H3~YcFI3XQ8mW2isq+~5n;f6ji!g+M%i0~> zTZDY^Ra?YQTBPAETqoj+b5Yl(czD_he`D5-W1{quWz-bD`gf#Vi#|+R`Js1=;xfC1 z{v*)wU)RH9b!O!a--Q=!NG~{oQRHjwSTD*bpVrLDHn(oZ6bNz#bky2Dvw_ZiYdRhsvPw-`mA&-S=~Ox=y@j?4w?L^9HR7x&LaCTY*?yJR zyq&V{#iaYQJUC4j+A_4jOeK;)DI2<}d%^ZMO$_?a9fur|>g>SnX9<;uMMx z^W0#=m68h!Bh823TP!inuYbL)qmH-_!R72tx%^hAElC9nohb-ai_f^IE4i4_2q&jZ zl%3gZG#oD^^WW7+uY(cfXnb3T*5|qpj&YkB(fYl3$~E8m-X*!V%A*>E|M&~?u%3=~ znxAN{-qadf2hI3AU29(Cnl!Y&a8;wax!i~JW1T}9CyxZh<>ni0s0tgzJ*B zrkYNdj;9!P3>^E~4qAsF>O})bnP^y%Rv+Bi`mxd&BSL_qAsbSqPzJPm4!3~^YXq4< z4gC3vCz}kKn$`#mEhw!rqEQ1zSqO9@8TPKgu`r)}mYqAvV4cZm?+HGmO$8qI*Mk^i zpXdmtGVq98L!48CsW2qxy83vru9SH~i<9TQc>#=p=F87FT~?a;)YOn}5WMBP3f0Lx zZXSNg3(JLV4w+_S!Fd|z;r&uKFDG-;db4dg1b!*~1P8`o)6RizLdD^} zwxQ`zI+=Vn|7k>1oWc*|tFqxqVi3rB8 zgs$iki_ZfX?arhjpm0wSn!Dw<1uVQbT#=DI;-En*Sny}XAqriCbLdqFB^p%c7fsRY z>O2q)!^VmxUYIec$p*W4R(S)Q_R>89-Z1w9F_GF%$uKwx!Hl5I6VswW8lm*p;!BOh#dH?3IXPi^lBx8-VYjRH%bJFtF^xXpQBb>DFCJPWI-tMyO5 zY<}`Lzk%pNeEE zk0;!*7M0u1fYfGc!~|SIc510$Y23>??yHABqRwtmwIrgF zPy_XoWdR0{vIQ~;MH{K26CAsq&TM%auDt$zW8?yyp(9zm;9K@ZX26SpywIe6slyN? zNTF3`dwo->WMhG8p;78UMxNOyuWU+A=@jMelrVmueF3VhX;GI0ypA*l=H*l|P9>~g zlr!k9i3zsxKh&@&I-~K&o&LS+Fn{F;&S!|1rAHtvg}={yB8KF93QCc3d7^Cl z>VhfpMLD>&XKAINh=u#witVp`S!ufx zdH5px#+6|mJ{yey{a?O1*5XO%B20K^ZM^h{bddbiXm|5mI6vN8(2*?GQq2DDmmAH} za<{1Q=JjsMkCP&vzsi@a$~`}?4r{hOr~Yp4(o?;-$HG zK0D;%HKiMT6c7Id>GAl9ZeR+ipMAaja9&zrYva&f_`|X~Gf}>rSZkJ**F2V&{v`H@ z%APvI*a?0^W13o!qU@>!HoyXRJ!%6%FIxC0P#!OeM+Zh?eNnw=kc&LPI&&OoBm^{S zg1D4E;Lz^KH@;%V1(+cooT;a=;-L|kfn*$_B~sDgLqtGyPzQp4<{Tg>lpSqX!&Ie+ z;jKg$3W6@1ywKUGZ~Q4TGV307JTx#3IH$vFfXtTg3~gDJrW2AaBXVI#=T(=U35A87 zlXuICNKYQoO4c>F>Q}gZrjCOj%#QEfXiom>pEiU4?8nW(t%qQnRpdszoM|sDJ<@tj zjckYqVvcxVlx|An9wO>VBde;D^;g{uyS${)7LAY+AUV)cSK%uw6pogwO!4HOr^AGZ zot!o$KdiUZD2e_7CtSLC!&mBxk;iG=(;!6Y15K?RXq1$K4QSN$Kwo3qa{U4&WxRM* zBN-WJXUDBu80BlK{9u=l)xe#R=X}i%x;~I~pfAv)+-wG~5#4_T^62PpZNxK&Ivf-4 zZ{E3Kx$D}&2Q1F>jWVn(X)T|r#b;ttYjwNUL79fIbq4$;4%R5PsP?oQ1DPnggLeX- zI1dQ>sPmf*TEempCKKf)V6UfLOja8rMTJlY~W+LS{_hA z1E8~Qn{8;cYl`=(eK$d%&4Y{aL1lZMCTdgF_R))YXSG0S^OZbZSCVMGl%Z%>gjmBi zshy~my`@pTZH>->N0^bfi;B32NsOrqSgdQIH={QcVp5K1XLu0m z4@LMJ($~C$6yY%4^Sq%2qJ3RB$Ie7vx`Dj1dZfckRs1ShT~qTG9vqWzGAmd%+$1rt zXn<|`6-k|vCMtl6P)K@EidC^bdks3+WqFgY^@KR#iio%VAr^3oFEv1|xP>ZVT`VwS zyPD#KPlZE0q@jTp%D|0#_u^85{LZJS9XhtFu8F1x>ciV=R!k;D^7lV79-v zrmg4dgeghhWqEv_$a61AFF$2?Jpzk9_jehRQBdZT90E@bPBjO421HV7j2u@H+vDBXx{fOad<9 z^WVMDl;1%!iK9@_ZfYY3f%vF4j~sAZ4MFJ{IUc=u{<`DH9?_2F!JNj>t*I%KaCmGz zL~^Jp|1u<#twIhZgut;+d>n|a!}`mYa&MzDCh?(OX6Qiv0ButLXj24^W{buiZHv*@ zHq^XA0$LuWREvnHWY~idr5$=?>f~ZonQ)r@8G2eUNtuO%l84-?8q$Beh}pgF837pyxqMTXCgh*SFp3^G{2p@41C5 zQ7_16@Sh1n+fDITI$QI_YP4yH*b(bMeSkN5K5eYo1V#+C%f3b+@sHSf)0cWfaV!*a zhSY1Dl>3*m5vy9;RWRbcvid?h{^^A4S*Pb(=O0z4;K;?suYb#il4wJ(){nF$ES4dl zH;d0ZC&&6gkt|vV|DQb9NcC^yV-;KN>tp?@*0do9UA}z2;*L51@&|JLH3PqVn-L5b z0)ilN;RmlXzaS{MEu6(wUeq}l{q`<+5J8C~r-Kt2 z!cD&9$Db+4bST_)`J$vv@o%%d*CSu=_~R@cIOsKD9JjJ3 zZ$oQ=n0kRVb@W6X)|v5WwD@r3#(|RH^9J?x<}xWg>=$3xm=@+^mlOF58bK@lOK(e* zKFA?(byNcOau*|Tyy#a(HGJdi2mCqt%&NwK-oPpi9-(WPaWh2uEX}z*Ji%!T4gxu; zoKr1&hE{jc%>cUcPnLr9B&bOphqY{9!wQj)MD7U+uWf0fB~X#&U2urE%K zWZfh!yt>CxaCZ6IXwvGE=E$7T)xc22y0@8%2yB?`qw-?{I#bRdkADJgZRj2le0QfC zTE`X27QV~$5Bf=s_}SeJN{Gf2PZ1R-wL=cAhKYk{@|FX4Xm~84^B4ceZ-XzgRW!p!*S2mhN#`mo*6y{JyQ74?s4eGiGh%NN}Ai_sF* zvA8b{BTM8qN1z3Ubb^O2%Io->RWE5Cp@ixBKXs46r(O6BUm+Q0<|INleO5TnYFIA| zw{mWuDJSsaSzuLCpB4wci5qMZK~Nk%XO=GdK*0en!J_ojp*r4i3bZP}>kj(><_A*S z>kI>DkdHk(WZOoB2I<#SXM~mgTH6T^Oo_>$NZJzsyC;me2eZD}|Z6TBF7NU~ZDY42>9bA(Z}z z*4_lIFBi}#TEC{52{wAQiZ*%{=pPoPgEuy;dUDVj(#4tPo%c1hNKoFA)|D;k!?<*Q z|GkTmq2B|Iw0`o@Bc~@P$Mmc_Xs*3=UTK3g6Lp{?)|m2)@ZS5^t-aXF-{XGs#ohRj zqOP{o)4ilA&#(k*=3mLa^}y3im5!T(4!!vRUV8enQ03O=P*bT3^1~L-2aa{ZwN-_E zwZrMzT$?7_Zf{i`;VgJ3@~CJjLS6MkwmRFl%>)T$`1^{`J;lBP;mu$goVceJMBC7U zD^oc{TP50vE34?>XA1KbPLey{0umqt1c&6K%ak??4ADXiqOoYLn6`gcW1s_fq()zj zi8UE~I5=NW*1L?cAXb4F%D9HL%futv6*G!IBjusN@qm0TX*$jc0Uztku_iuPn#Emt zw7;B)q8L?Yb#ykT2t+WXxrTvsPADu*;YA}w)~0qN{Xf6VMkv1H>hyBnXxa8q(+NlR zE)9=?<}d$DexTAMxN~^^d`;7DXc-;DtJfz}XBM9yH!I80sYLPB^{(2P!PwF97iD&~ ztxs}H6b((dyytfJ^z?A*q`9n)@8~$`5dP>1BRQ#vUeN8!P7FErW=~(nW+j{vZNA{- zfeM@JG;jqWu%&r%LCPqs^c^X7=qitN(*FWQX-)FRpK2-2G;-Bya5$AOB)4g<`bVCz zQN9FmEko&QmkMScD8U`dBi_wr+(N1t;MqRtMzM6TdmYJS=86IRa1uy9aBxmgMYMV;E{*z zBap7RM;uEv$|Xm)Hllh>Q+lY|Uy}%^!x6bsz=39K6P$}GoST~on`q~5)it{XW5=Lm zN&O8SI!}k-U;nSaG0ylot#A3C{yWnT{OkWwT~hIq{Lm}z&(K>ay3g29aq^=-YnuDF z)IpnSo<6wH48QlHnH-#Me*I~@NDveoF>Ey3c1PRtIo_$tySA1iIbutl#teP5%OR#W zvzJZH`OH)CEUiv7>Pv9?bd?wyul#7=w=Z9nF6ut15XgSD+Pw&;G(9-Uj0YLwv!li9 z8**9>=D41jc2deA<&o{vD{NPI;d@dYTI=UuZNAdlBGQ&5eZeITEQHi0^59D#w?pa5 zDN@&Q%TtKQ9^vlznSakV?GgpC%-e&ayY8b+SXxO%vO@B!Eb)T~x{fw5jjjAaEqjP^ z1%0$d1i_ABHG!3vxUbcp<$x6TqIHIk{+YDsTOpm6=uC%*Mg1(^uduPcq3QLwH^9EE4yT_b zijVFMH!qeuHx*MeQ(BLz=|l5BXKUAxLVS6rmW-mW@mPw1d2A>p&LoV{6_ z74%wP-)h$HDL=#e?_Y5Y8y;xT=g}7$<)l2KN9Xs_cN<76uhyI2{^ASc^K(&7$*)~M z=QK9?*-sf!k8t;1H=~oF_R_tnThP}>d}F!hN<^O~Y9J~mD%}kq)W}NYNEC;*ageJl z=Tc+Hu`F@am5L^}ZDz#)x{3#DkrjYUs3IfuKYas*#MC#?P0>a(Vh&=l^!Hk?qxR#!UurhB@U+4? zA4(s#V~vid*F;Pkp+oI5B(D)ILZ!1<0q^((Y|7~r!*cRl=|QbAIo{J6A8JJ-zDIhQ z+oOG`sa;L@ZlfObbtwi%ykJC1l%L@uTjY*scKl~>{!SrdLz!oqGjRGAY{n=8=Ltd3N+GrvP zCxj7!Ms|0nMfnQ8PZ3N~e0;YmiMR@O#{f>sp|eYVJO@f@Vxv?)kZ$R^jIxjQ>A;SW z2XAYG94iN(KtvUS3g@_LHjJ%+jB=uCVyzq z-FlR8gF1vRW^C!CYsx{dBOC(v19`SbA1DwHDCPCYg%Gj6uAsvEL$DYMKiEwE2IcZ*`&t1^*OgH0&4gb&Yey$JNEsb`E(4@*A4{T23sSx(UF6h@{V>avA z1DV8FEm}oX_Ue5Wup)*xgm=RZ1_Ls!ud}^9HPYlgQB$Qd_Mi)zcQ6&K=v>dU z{`917CJpp#vCFaqQK_Nyh!V-Re5$fcL6 zGa8Wd0wF4^hinF5iiI0sDl52SnXI;1g8C&0S}{lhw=IhZIi#x*IWJ{K(+(U_Cj+Hx zI9*W|_E!$qKDIM@Kh_^bOJ_yO7JjExS#?*Jchxw95sc6DEPaW~wAGCteM<>U*^JNh0$ zm*-Ev)OmyQhz&0l?Cm@6*=Zv2A?)DYzF_LTAa^yBGYhSb8rag5LXKog)C;|!ceU_3 zj3pb$*PF(eY&ySugr8z$6OFy(+zi@n>2wd>dDeq^TF@pD>^!6w(TO_IK4k=e|7(ij zhz@Gl=Lkh|1Xw^Xz7E$Rnp)8mPz0m|z3JekFq!KM-8Q70>&AMJn|4dwu#uqP0n101 z;qX>~-XTbvfgk)Z(jY5~JJK&UrZ_XeYV+Q$=I;Gl%^ks>t8?~0=!5&upEk`mz%ffP zHuw9ulIbbSBsOnK&k(wS3EHU%9k{JZ3ah@IOFa8M5Ueys9E5;o<>O~ zz4E}tdL}IDZTPp4#?KH zpmh*ybh@@lf2HW?pdveqfoSJS1b>x~AAw4{$`yvX+(`IpA%rnf)3^&)V&Zi#o zl>gvW^YCGgvPju~{?FcOu3Y3J*_LVkxBvYU)pfMZd3{`8zj>k6snJrQUw+K-O%eX^ zn-}DWy!=ZJH2>F+p0#{ z{KhRU8}f&J=r|)U3{h)BQS6nLFI9cwQDBDUK9XU_u#mJNgjF2@c3lckb!eDrQi2dH z^%Ngq@vn3YY#|5p0K+^3{GBA9|GxGR04iBxz$a9>i1%58SNCSofN=NA|DPjhW9p=p zZd*IrF(<>5-qP;53$Ns0lVNV9Db7V5(L~$|=z%-N!;^$`UtZbOE(?5=pt`<%gu9T7 zpvi9znPxPl7hEr`&~zibb#bQo_S@We5hiDJ$aUU3803e4(+x!qj_fxpo8kjcT@F15 z9n*MFPmC_=OR0NX{^p~i{r?zyuOLsd?7T0_S9Q6r_P%?1{Epe3^#&kz1%ebj1(HjN z3PmV{2TFQ`9u&b)NFh=}D5yv2MIac#V1y#{05AY*K|%zuFzd04+1=UM9oydf>Mrl~ z{l0TfW>(J(hPUdUdGGP}=FQBT*PP2lPR(i2e77`NFME7h)lID7)G_Ied%=b*sT-6G z4U6uE-fORqs*ye+-tt89%^!VkJ6wC-X`8>3PMUt8gg!^nQ9v}Arj*I~U7ii>Yd zLWooET9zv?-zrALO@M7AE0nE|=LbBNM9#{l;u0JNgLmJ+rm#Mtbw+-iy9a+yiU~?j z%a8=6yKXl0g~||IuNrJ|KG3TGedIRMX-*hYWh#csJ9>+z&xf+QR-q%Va>0ac@$OmF zgSPU@#QxFRI9|Y&RefyXh&RLX!-tyl!3S961*;93yD2j*7oL$3hAEIsd1!8koNrdS%xV~8 zc3QnY255MAO{*CFCZUv67PPo!HAi}p*jXdKbj6}>8@$)s4BhL<_r92F%wX9b^%&7G zq$~*!?rS~|dX%2fRxe}!?4L9{f8)=Zt)Kp?T^etE?vEROqt~Bq<~8B`nDRL&`ekMP z=U0cCzgqpTo5d&IXuco^sS{IrLEA#qtB3f}{jft&=ECWMTMB z^6P-{ih_?oetPvSaY?-k*VUV3EeR!RH`pobb@?k zTzM`*pZSE`QqZ`w@*U5&EGuRQ_B5;4WB!_Ts@`q0@FxS0iT+xj;|J9vC>@w~RC|g3 z%9ozZ{A!WYrA03;Ed1Q;R5PUxmb@6vcfWh3)N0Pybo25jk4a19?2@)Ydh7Lz)(Yf> zkDYF2w6jbV)VKfq9Y?7TvswZ9@+VIhYjgYNLUWPrn`9Jr;a~04KFvv!AWG^@x!K@M z*sHCko_gkFBy?o{+S_kj(W0vuAv*o!L47n=qjRUZr8)Ce|MqGX=0UmSK^A%zwczWz zTxk%d<$##EbhHTw*upB#;$79s;YsGADsYV_)du>YkWHKqLI<2eqM!+Pv}F(mRf!m$ zIgW~$sDzP&;)RQNRJ<^kp0c3NW&=1YPM9C_?RS7B(eLBNaZnGCdY2ZviU=PdL3;^;L=u1V#s{j%>-eQNAGgA{BvEn9jM)Ovi~AKm=1&!sn9b z1d7Nszg}=YGCvhJx-SJAj5%k2?l`7L?W|v2MvV9ptB7r+hLBdTU;oz zSkRFSJtj|n!HZ^BS!0g*f{{9_0q>Xquby_?Otj@8%25rGv0wqI$iX{)WpGO$eM4XP zYO{0vg6?;H6#ev{X|=B!j(1;Z#-F{^Oy9lNoV#(VIXU-Eqrv*-oy$j?&AFd6I}3l_ zy#4xx=HxTaS|<9gUq0Wg-C}iZlr?%sSnOkK^|7_7c{NpBf|?GS^!MJN``2Zim^MSA zt-@3k-WlEBe4J8Ngr&7beQ2w(97#PVxZ%*j{k*ExhW8Su-YCsM8`F?KVOwu&9J6*q z{PfoHaV}onhr?R&I8u&=C42-2z@-%Ff>jxFX6~x%i})>q2bS}pXR_vQ#0~{iU+Fq$?Qq^BBZ8zITwkJm>@OLdM|enQ zz@~EW49KEn2z0guLwfR)pxExRp+WIx7%iETsJVyIVwfiRL&WduaRb?OJ3 zDKgG&aJO50wgp2h3mKRfU2~&PoY~hLIHVp`{h{&o?_c(rH12XfDj#X+M%bf=x0>tM z^4+NOE1x?n|81IcmYMm+AL}`ga%Qv->GPjB-PVuESFcIP`-kog`TqFkm{v*0>#Z$sqS3t)|vYAWOJ~im0fnZHW?F2N(hWm z)7tBhIceb`s~99(^r0{1m1)3JU&&;oYnFL4JnvmXEWpr~Bx)R?7CEf2X(h?=?wB6J zXalw(Ct%)nLB!;DL|+ihy8!9Rsh-TRMZ|g!%&>CR09AO+gS({$TBS7-XRp<@eEziD zUo@J-hOTw>0?n)Uw(P)R@c{E((hi&!&ufKE$kO{lFOpG@V~Rk*bM?dweob?|-q6x? z0`fKo7Me{xTxatu^vScVu;pt9>G*O}gEaHQu$`=O!BB^`H5|Cun`FJEmzY;qQg{lp zdI?v+=JAPapiAD6_BkA&F_2GA<`FK+KU-KugESxBg5a2WU8@+em$0pd#`e0dnDRq$ z@@}hFeSAIyod|^IVG|*&ievCb94sdL(kNa$9cSPz#dPqc)MB!X(&U86yF*V`OG_>3 zLg)<{h_y}D7c{on(Wq}kOC!9AigWMS;zScvbyg#TD=HxMf89OrK|z|oEgERpqQAkP z`HN=pYhP?`{;U6@dF6llUz%^8|Apo+-u$`dH-7fNZN7E>7n{Gl{)^3j{Nz8(a-?As z*9TLuoj)`?-YYj7Aeyohym|8L!aU;L6*9ZPs@zQ1eUX?PS+QFHN&NQdo{R^f@r+8e zJ>+U=t!XIUL1pDVYtgHJ$K^tXohQf#fyE2fP2SX4V?HJU)42U;_EsS0Y9;#_O!mg@ z3>!Hr582GnybF%&s5JK)ipkTd<44;4ev$W+3*8HDeQmwDdnbA_!0`;C=Q6l8EcevY zYFviB41W&m9*y$U2lKLgG2Xc?uAm;+P!ID;*ONOqGAEyqP{%d9D>nuV|A#a^e}<|d zpbvKS=-L&IkkAjw@#HY~KlxFHw}#`HGpTubYijro4+aj+Lwc6Y>*Jg_;qKjKeJJQo z4n^t_ThoU=PaXhaOVt(5{p$~ZvRNK+>Ogy)D12eiWqnFIf8wH7&Y=v6RH?136f{YL z*zzQc>^k^5Wq&^=|%>6I`LM?jK;0)8K*@Rb^V?g10;N ztp(bqtxP(6kA*G^EE+3t0yguZBd!(Kz~HWoBDw4Mp$)V-HNc)YuI>&BLOJ>Qi9_-h zKOiTI(WQGvPE4I`p$Bz?j*qi?Fm9xERnm*sHC&RmbBi87t!{qO(C@71gLdi(M0+tl;73bXXfFblN zodLeu#bZbufTxJUS{mgj3d4Np>41d-?ST-6y@0B$Dx1D0l7twGg18re#dT982`cX; zi*wVRbR4aeK51 zZZGpTB7@C?0UEQmShOsn$h`=qXlqGxVV1iF>h?1$&8WW8s!VTR?S?IeG&y@y^EN}0 zdQcxdY?kz+{3!P&IXz|QvPyXGku$d5*J4vIxgo}v(t=g7=A#$5iyzT zjkD4a%!;YiW`0}C?Da?aF!bs@KeHYV>;4>6dAeSU?eaCvjd9*}@9QO2tE@4GIMtIE z2=uYxHmj5kRKKg>yo577pav}~9UaKz`-HZBCT{DW{EyA{=l*@uy!5-RP0XQlIdBb8 zrPI+b{zY?4KTJKm=k?~xugEQj5c?*6(tP^ZtCm*zfGPAuZHi-OOqfdvMQCGI*Og6` zq48;l-x0-!Vg4^kiNHvL&)~{}h=amDf-yxOfXF*A(gE6;DK)H}v((qW0fG9m6-%f-0a>Ez}&4ly$e)CXM z4u&;^KWn=vhldXyHa9OaoEBk0L-@FCB7nauul4-EPiWrU&wSxzTlVbqazk@pE8M*E zsJW@PR!IzY4eRX`YQtN_EK z8WYxyXq@zd+GO%$8vRHQekO-IB)%R%4Cdj(CNiOyyl$3D?oy3BjcQ^_Y=Il>TNIT7 zqSti;GCW8e$l{WGzsU7Qg~M8?F{~|{&*6jif#8 z$L>r3=$_4MrWARhF+f=Mq)tUj2|&fs<7mn&J*iGMB!TcINdy&`P-w?RQFW+rzVR?g zO`8w%K_FIUl&-KK?4eJVS z@nkkQ(-AMJ&;%lM1w8Bnu3y=1(hv+jY_+sqcDH&1C9W`|k}eA~N8So__tzJ-lBvlv~Rs*dj5sOGuicMV77{*eIR-!^)+$KmAOy&A$zI*xc;-e=p@~9yn z4L!2*uPnH6{Z6c%NG!``uR z+-rng>spD(qKK+1*oB?sVdz_bvw5gIFn#s#Pkpr+I(50(Kc^Lf;^n$6X!zs&TbIj3 z%~#VZM!K9}7R{EoS8JLJw=}QHqCo1@O?ImH-1LFBAkp^-qG(Bc$_cZ7ze{s@$nLr+#@Ai!~qx=`|x zA(fB{Wnot&DPKZePup4odbSxvTEEu&Kj{w*luOh}UrgwghsboEAxS$dPI&ByYYn1P zRCUxa?)eU7);e@to#3ctLE&;0DyCv|LRuF*Xn&&lVt;*}#wL8uE3s=P( z<^9|Xryz6KkUO2%et5pJ+e~QK=FHiH#!+UE0NqTBhW}Z zbM~+jvC!eB8p1eFul(-QP-)pfr_^e$?e-kWFzOH5f zns=zE=)I2k%nI4HT^6000GD{?M}%IzJgCvo3Ad~o&Zh1JWYF8PiStb%U4$x1h_Qvm zugi(smAkj)0*R@2eFkfVN>Jk+CUzg zAbKRHr^F#2)Z1x1$NaEkSvTEPeMMF|s&3=n$pQK!$D+!_bwWja2|~csHm`a#wO$O& zD9^?(s%O-wPm??pI*?0*$nT(9kYnm5g^mW~I-A;7zFu-O>dD#QLP#z!9FJC@W94D4B*qqfBZ%Lere|@+vK~|w=H?ihiZt6lRfzhd zRI(b5Ks~9^+Tx4hv2$34+<0&p&9%=oqAZR>T4*aGnK-kXwSTbeV73s8=o3gs<;l3Z zn5F^O%a#i`=)+neqc}_#lwo%Q;v~UUmqY(9CSNxQi^e9Ufd0J;Z&<{ca@DyfD(nZA z<*0MTIR|ZW_8Bb)c-VmI;cxw1qwk(Z?W^XwOW`)W!kf> z7Z6sGryad0_s?{5Q10Ejti>0P{6p@tx+eJCs=O}Z_pCAsK`(^$sZ%tg8mVAo=OSOw z*Qq=`28V2!8Yv%$dTMAz)3kaSb_J1^%&tZU1%C1)C?D!kT3nOgGs&c!r?kjpW_quB zb9nLWG|zqFv(5gahbVj#T)6mltA@t6C1Ip~;Se|*l>*TiW#wU&V^<%$sp~ z2O#?Seg~k&tQMn8+nrBvjOoQ1*Iare*Q^*Uy9Q;)X3i5v!McWYt8qVugJytXzONe^ z`T;REDrw@n_bE`L=RRei5GU$D_t5k;7EN7i>IX7+rFV<89CY)G=UzU);S(*|Xjc+S zjuRmGDI{8F*~6do9y_Ft72!$W(t^E~E)*dQw0nY_gM=dsJvLnj>olPdbuNVnO)E=m zNDZjbA9jE-L**|(D9bFiByrCbUEqtZyT{D<*dg*m-hzuw(ktKxZG*a#M5j*1#}#%A zt2gxi{p^_(1HF1XQH^>YDaiIT%KHkd&Q)}DefG=>Zd?Hzohh>S`X zs~w?B`OsyQ0+`e+dFbK-q9kY?!w!Y2K)!hl(V=9JwlO{gwxVLU-lT=DWT7vzO2w9b zaauk+p*&>evDJ;OEp3-8^MKIL_+8xnL|DLWX~I6rg&Y8EBN^w=8R9t_)u&cG;Kn)X zOeh&}-c_6JLI%|jmi=UaVn~i^`LlIuec@%nWh4j_frr)5 zO>&uY<;I;XvhgC)1JQV?JfYP^do%&m*IcMkuO5VkA-%Qcx>hO`pZ%1nH^RKaAJFQX zqwdKG`ftA)6F*VIJhr`)IO-&5Gu;z={WCxUR!3L$@TXUZtRrzwLwWV0(TYIs87tBY zN@X=OBJcNU|N6RyG*)sGUvVy|p}dBFy7-1wUsYF@YMG0(LxZkwzL&QX|(Elc2hG*Z`dJwu4UUukz)* zC0kaqIGG_1mH(oTdw^Qd3zl8nACI18aPa(ypASG4dx7EB{porlx{F}Y-9 z^$GcirRcgH7@+iN9hr8aGZGFtH=0`C2b-AS3tB=aEgT`vtU~QV~xBSrcb)kVqSwqXE z*=k(~*=%dWh6LDr9+!=6{XFzY6D|r@FgPFQ29$af?aQIe+WaEatYr-Mbr+0s210%x*O%FGbg>U@ zpp9s_Z(^cb$*{F{U#kz9%p5{aAL)ibRy3*k@|#hivH#$~;pTH6jaDbr-}(MSdDvy} zGT2{vxofSit*LvKW%qF<WfohQohuxu9#GMo}8^lVwNR7U+QdVAk0RsF2ui zOu#ynp^1UhEL|k?Vc~{`tW38ulMgvo8Kge;X#mvqb^(#ruM>~0Wqx7GcG3|F(=iJ| znHNFN2$v)I2k%4?b!WinMPAT%xK^e?=m|QK&I^1BF{xiJ8+e8zPXad(ngU2OtY;e( zAH=^Ldxd3qpvLWryJLf8P4`0SMuisGIlGV#srPZZR?G>ytsa$S`7~+w81dSO-GNA^r>eh2q(7%o?4Y8*2JXllPyh>>RNlLLAwSKV8^c~=V?u&=HOJuAGx zNH@*3D_7KTWNQ>Px;2$ytmhpZhsX=sdI?$BGAgH_;c7zMN`K@j=~21Bd-Ki%P2Tnd zRZLM&&SWgsa7y;--i}p%0bqU``ke*05=aOFkY6w0z2D6p!Ph?hht1)W-)KI6=qt@P zZ@pywpFi|^@JQI=#B%eM_0!GUcjYdmS3rB{D`*xC^dBrJ7bWNg0norlC-Er5lKuDz^QoI$GL}!cou+9Ao}FFQ5cILfh)3eMuOz|J$@UEHnf7Y_ zmhi}bLu2MQwNp&hgF{ECf8aYL(XNJoMQx=vp>kh*m_37%H6?cz zqw*<99x1=tx(PGZC3DiQfWpRcxddZ%b{i;T0>l~jHOM>%PDiEvBd@0Al)NSaA6Ku+ zy6y#|;rW2jy%9cuz+mz700=`;5r~q@8GGtX5}rO70}Ts8NQc$5uiI*HNWF9PGU@qF z-c~dpYFP8k9CYIPY-x+8;$HMbXI&Jwae^!hq`iq~6^qzu=C+X(4F&XtSJW+^;Tbv9 z`_osWqFJ^+&v)d`A;Lg&{-PSB>QyLSTY$bW#OJU|^Wt=Y_a6@@pztqhmC!rq)eV{j zbN;+ujAqnPGQRXO4h0pI7}E_q&2Sp!B+!9_qw4ACZk}UuE=Xh4jKW{KP6IWKQ08Jt zPauUYRdC9x%shN(sF{rRtl96p6^&$Q-GER-0M{WDVf6g8lJ#|p9jQkrZXO3RpfD%* z7**+*V^9HXSBe3xaw64TCnXS{AvHxQg^J8_M^tir6LjECPS%Bz>2nHBvn4Ya6TF)= z^+Hng)E@$;;EZ?+5CWO;HD=N{h}d~WP$|=y4xd&wl)VYXBvB0FiON1~vHh)brGmL9trry+LhC_;99^egHmm7`wu&g^Y2NYp@cZ0v^hx{TBVeB#WhX8Vw~S<~OS zi#M7(cIq2NxVX|SVp>{WZ0_E;;=EA2`;R}-JoVAf**RR7Rn$CTsfo%SdD!BO=@4#gHw8eE5L?3j4c{)(g_Vtg98Hv0jdb-id4dU z?cID$_)s%@vA)d?*qn3HS* zcD?a~YmQT3YytJj&pqq%z?^e$+-T0fqkC33is+Tko^9s#A9Vi7>o@-B4a-HqtUUi> zZ~y>607*naRP;Ub;#o+Izi|F`bLrgu7XQ&tp0uwt&=7t7|9dT>vSCJz$`?QRq~QQB zYChVzx38%)i%utPiFk6ZnVr)@h%Cb&%Vx@tJk5#sg_lk^joi1jAVd=MdvEyA2AVHa zuQIq|BByt8P~uSM9*$^RsT7019}36Wx=b$`WCgS1u1E$Iu<$8C^i_d`X$ualIkKS8 z5gZ{WaOTKEWCHTeR1*9Lu1@W_$6hqp%aU&bIzxT%BbPL~k-=97FKqkDNu}&B$}f23 zpGn>6IIFD?kIfK()J;8zO{@6w(x$$wfLcRy_{3;)^gztR!mjVV*1Z^cUPEao(4ybU z@uT3>LX8)ub@SC6mYwEze)p27L-JlZ4}FSNxd>2L(F^Lr)ockW{kMO5e{Z1v&RE^XDx{h86rvn}-C_FnSM25^Pv!a+_S7YJ3dKMUtQII-A!-YDE3>|FgOO;_o-V{o=oAe*L50 zY|hT8A<~Mm&^EtVYcVznB1de4b)`&B)}h1H?7r46bPuZ4A6&_vx`6UQ+~%RRA%v<) zsrxjB+E{H(!>nj&tR2{^9u#Mi#YEaqP;<7*K6LV}?egrjhhS5MGRksjM;~8$K=5&b z{LlZwf20@B(V!LnfE<9@;WxUJzrXwC|FV^HSE~cR{k=T{ByXSla-XRoFh_l|SMH^R?Ix7KI$?gqmuV?Fgl0N0{D&CTFQ(L2x{XBt^QCq6K)AAn`*;ZGrHVR); z?^6_phDfwE)P%fi7oH2S%S06#I2U55i_)vOaXoA=3Q5U&T*_l)mKJrYZU8QX!8&vn z*lxjnEn7Skk%PLJrFTS=(S1RMjyf1jC7Z5q@TBMPs;mHA$*YSQ@Zyz?FoeoH2aX&A z;Mm?25*YRrL*gtVWuc$~WHv$sy$20w(N8t?o_a97`XtTqfbN-@Ch4bSUMYBsKpJ;l6qF7-r<}uCSgVyZENLl zHPG|`rw!dJ1N;}QX73fne)9MUmw~9%=+p4v8a70MJk+rKx;#i{vYFE+@?+`=roc=w zpq|+bI|F0Q=FqVyONr1RfqH5+;XKP}U|ikwxiS%!t())Yh%UW2beHbYZXU(FsUD?m z4U1G@)vj`4o#gDTH{W!8-`+WGp)%dmIxz5LF+T`-i%(rz*`Q-Zg z9wZ{$+xsyK#%X9IC)q6%oyc+h1_6P>{Czz)^V*W$r=B~4Nw{Wrc|H|`&dBM}x5OE- z9`O3XMd>20H8#D*z zW;Fp_jij z3AH&386~dhOr%3-*V*ly&`Y%$^?VodqnC;v^qcf93Qqa5VywR6nG19O0shAHFw>a^ z+VlEQsw|9-Pw7LcyY0QmIOl935SJt)%#V?PDarc&+gHmp_bjg8buOFFZoJuieuv@v zruoLiXPV2yCz=D}E6vmp_g&B|jdfqf^w8dwBT($8Y^U|C*f*=Wph4Q4J9k6#T6h^+ zq?X~URheN}&yAx;b&o2*KdpHt+ZsZotO%3`J*pvF4Rkd?s}9hpUQsX7kQ%ip<3-Qz z0A2GJQ^dk?4qPN1GB?d#^W4v2C6$;{^obd`_ebqE!eYH8a0uVsQz zfs6kEVK)ZbcxnO7``)%X1*DUrXr;)H1AvU)y{ksjdqUoKg4=hUB)BYCK;TdkGnIB* zZ0exg%05#SD~Wy_di}R1DdOiJ5Tp7?ONxW};1Zcm@f>i5xt}`Id`XS8x*z`EKe}u>AEbAfN!2Vskg{_ZAF81oayULv;|~Ym7y|!q|IS-2 z@2uWeFFrM!TJ>RlU5z{3MWoT6`{)r3x2H=NasA+X=WHV7!B%t6e&kpyYeiEEF1*9q z=?F~sIexm{{qjQarnYAav%Dk4vBUU`iySi#@Z4KhoMOJ&(PMM!)ny)L7_zQ*!=3BV z`^vn({kXdjHP{U;sJN;5Y!)p5yAZ@G&XB&S=?lzBk9!jr9x;-{br{!b&&5ae@ybHQ z6>sl^vttJel+d0tiMGm2fd1NJ_oV(nvbc#*lqyA8S&R!uMX3r9G?Bq}sd3?562Xm; z&bS#8VGUI32qiO9nJ?L6{aF{p$`a=T`=a58B=*ac4^Rheo6-xaRvwYQF3<6$WAjIk zwE66Ft;}T&k6pN|LKYo?NyOwFKGcpdp)<1Q28HUjd7+t_(zx?p8mM98!}|}^+o%^- zh|aArt@E6)Y4bL1_G+Skfj5!1;4-qpF_EWXkgyn(YW+o3dsK1HOh69Eo;6>s%P zZ`Fe$u_=brU=uAiN?c!OstFdGp7mXP;E)fvc&zU+888P;M64GeLHVh22teF#mMsn8 z`a~%SSm0r!v&+G}!QWP%5YU|5pb>`z)!!;F40yk=%a|bOgB(Xx7!>){JvK4XtxRJT zDhr65N0AQED@ciAwt4FbfgG(C);-LRur6Nq{jBiCvu`!0ru1^iOkOzoR`V~;e4`oo z-@e|w`mwJx^B@1CB*pCw?rQ2j;{i_(NyvhItnHa)SZ06o!lyoEUQAll?iS1XRh>BV z(kmWaC_DCDy5PK$ra^h-{JBE4JeA>5^>}z|q@6sbt4nXOWk2TMWi267@yxlN%QrD86 z*>PR7GR$r@m?9uvoHqv@_ha;+g_5wDk(dhDO|Q1^+tgdQI#=GvN8Atahb;7Bm2&rCm{kPbZu-!hCRj3AB9t5#S`XN12)mK+URYm%#rc5D&ejedNSA;Y9YBMf z`}a-RF>Tp=jr~DW?T~t6XKJyLXmNY9q0SEMB|fLln4@eoFX7mC?V9fGEMK-$J9KDY zYYW4UcWy){5m}v+v*7&)S+Egh_D~An7r8;*fwIP-w)CIG>W z#)Wfw=2-VY^WrO~EEoKm8l>O-*1JI|Vb^jGPjHWiu0`-TrcJk(ObRNb#Y!5c1BFTO zQSrDSq^g1_DmGsPqB5L$SFmOIiLz)@Rx79EXN3ig2|>17h`{|2c0elP)ZfP=A}T^c zGat4y<7F2VS>8z;a^G`f8H<7M6Uz2J+Ii^%#Ft5%;JCCD?_*-wqf^r~TApBq91H6VZcuJ9 z9(q4fHPi$=a%j9cc07i-(Y2tBx8J#>Mkt2s|J*IL95W27H8!Ij6l4+h&8mlWwq7La z#@DV9YdAtAh-gM$tSdZ{ftN1n#zCwMIeKKW8P|`%R)RaM+F>poM(Tu*wYZ+PTJKbP zQ^G8Ks?oR=nQ7+rMLVj=;MfdoNJA-6x7nLe&KotXNdUGrroI>E$|#QfMY-4*(GcgD zUPNRWm;Y&khY{B8Nj&rpX>4_pVIP8M-SExc7(np%>srY{Ec8`B!#02s46g*lrUj4^ zBovxX0r0?b3>*+^+I7Osi1EUHd-SHQxNgN59*g+Pv2Mc=nSpI&kGmO+fO2 z-exSI980EcwVeR(_4l6AN~Di^)L_7E`$x1XrN_EL+J}VC=_F8guZRARfY1|nKWVX z^E}}%Y9M()r-DwvSsNcBNHq3zM;a-bbYy>ohrMFSt&747%A znXYkQ;)9WZD9xyo&5>sWZ>kZ^-o{m~!;(70%Rdsj45GfFtQ0~9EJMV1>w)w=p>)FAE@I{BHLzlVXly5PJ(;2VAmf$u;_&;(;0)`U~C5fyu7@0Pj72D zheG4Q(=M%d$%R(P+n&1s`RKxt975@6FHpkk0u(+jYVfqQeF1^;v8_x>L5n`@L}tHo z87|w~fU;f^9)})`v~5aSP%iR<7r`!`O!VZTdpzeZm0CO^R{*xSta28s?Ico#QbdTg zawu$-lZ7sI=2yZMJdtTpaDhXVeg!WXyUs?2o}y2+yU8Sva;AEDgK@oV__G~6+*3)c z66SFlVS8J>G5G+8e_eCT*0cv-h0zVovof_LQUB_lBYn)p+*V_-gfVApT|G8S!VxCe z%1LLwYBzLmEIiW6q_lHRD{@E1bo+?_8;8fn{ZMz_1bglYy*OZ&>3V%>Xs+wIVG+c# z_UDTsVKs#1KaI)DTq;zbJfgXu%o8OHEjJJEzU!##BSRK?f4feKWN7TD8nE2oSkW|Z zynD^G9G-ph2~8h3+NOuqfFIRRVNj}f`TiZrS!=%0&;zaBDQ!RFAVI4t|3N*}D$vo& zgmdUHl6&8qk_W&;kRFCivz5UQI zWyTqL1hser%@(qRQ)uh1X$@%Mj&KOYZ4xv1!Qx1Yc7x0aA6nUv5~{31XRsS?Y}i}Z z+#t*kO-^=)%$opYF9O7&7cS==ypc+~9EzATFr6r;5~6e)HwE`^^5~;zQ;n_)0~+3L z-6V-*i^W1Nb13M&ldnNF4pD&*z|$vV=o~D*7=QHI`MgH*iFbUeIaEW_vW4Na4KEsy zm6Ay>W(Dqz2}T4W3#zl)+DP}U%T%;X9%r|l3j4H>!`YJ|_$>VCpZTn1g1>p~Msw?` z=E8{&qGN}*H3uykwBWz+`KLHJ4_B|;*IY85a}j3e_B1EYW+Pj`4ULZ6z0=Kw{l~xY z36~}Izp0g$zxQw7)w@*Bd|CQ%K~BnVs_{xnGC8{e8lqLsOr_upc%adYq~`jK_^_Xz z;=a~%VJFfUv!I^l@(6$+wq!yF^=4Gh1%_rFgk$%EiX*#?M@*o~U7XuAwBTSds_2rj zPFaqXG(9YWm%6}-9}#In$P5hS(drce3jq5tvlO3L*4?`-fOL$o2Wtu|63U^i!=d7R zk007Vn^FU9s+}LD$~2~}fz)%bCtvhzITS&@j5LvXcvM%8e9DrQRaH?n&??XDC$^Il zu$i1aby6z;Gi<9eAK4G30{K!S#v^Z$M|*?b%4PXva+DVh1+Ty``U56T`hux)sB3*_ zPb~QbKXz+NF9U`uBmBlciVA-9+NvD)EjNGu^)~_`f}3|2HJKAn+-Ol{lB*95Dkf*s z{DZ%9w#8k%y4d{1w{8YbwyZ2KsY_HZt)$*}@L;o|FH4IOY-v$1g}l(?>ZO^T(e%|- zQA^dh%5HLkiXIhVU2a6S)iXwx5I8dxmx@Y)bJg`n-3_bvUg#*r=%;Kd%{k>fj&fRu zB6Ys&3tKWK)NroA3QvpWKrpH&7*OV~1ls;gln#WH)H)Zgy$N8n9-TvoRlfI75_-B} zHDNsDOQvmquYgv(ZGRs;AWX20iXhuE0aRHO5oZE${oGiz{gK141sP#vK+|5!3-;FL zHYY(D+C`%zao^~zd_hv+n6@k<4Cp1Yu}&j1!j86H!v~qg>NK`9>mEijh|atBc-cjK zYv)??*-w2g8TGQ0_xf$_yS$zo+MZ}@`C)TS8<-IW7rS{!tLkmMp<#Oh402AUiodXuN69K_>!;RLA8=7)VkN};cOyW7x#?gvclykyB&iXT02S7mi^-4Qw zY$+@bVPU0^65<0%Dgs>n;BLYR|B-mE zk%x!Udt1YyQ5@<_()$>P!4WiV>dL)l-<&>lMS!Wyhl7taPQ;gU%SY%Jv}?#Tc!VjO zztqje4@h_X&;}Z$6pkyr6ryuiNF&Oa$Usn3Witu9meX;yYz9(_?CSFeTY=Bq!t+G-o}3b(FUa5x%!VPY>RXy1cDY zx@e$n?Q|9E$l;@^c!!|29ak@^fo7Zd-q4sgjV^77&CPl8*m!g11P^6Nlk6Y=c%ixP z?X4om$3KCy;Ly7uN5S`RWF-{se)&v0aJcN!jdfwU+0wRAbxl6@k*G*Wx+6!yfBH2w zDy0)WPiive+0&DnKNeqmH*af;rPZ!My0*n#7lA#~ZfiapL9E`u{^F%j1MHb6l~0W^ z+D@hK+*#LrpZq!!a7|xe6*dRg^diEd;2$3zZ8mdmfv+9r=^;>IL-W@xSBi;OgBARY zJ|edK@?<_zeDgsY7vC{bwizK@4eE1SA1zpTQ|XXpQ^~ky1#YQQJ~k!{zWU~*fCz@^ zTxrvyoxc!4Ep@!dQuWt)5Hf5=6Lv=$@!;#>Zfwf1JPsKElQbNC*{jhb303BgvN5X( zk~?LmNS~r+2LwB?yMl4z2Od8#J&i7#9=&8nH`PGPaPY|S=74^_ev-qSx;;3_M3B_oxgIYwG*1s{@6Z#c zi?x|hqj5qG!z;|+y<&F|kz)-f%5g76M{(k!Vnr(%Ef)s$>U#76y#D;b01`zy{jLA> z@1$6LhN_Xf!!RU*B=F#o{ms1Q!$AjVcK^O+LPK*E_Q?UVk-~ZBfW)yXb3z};bF;BX z0{W5FNzVgZU5_aP3k$jM%&K&a{VbrKsIjX&40;8jkP3D@TEqVar44~jbK}0SJ>qd* zeYOI`I3$boM69j{$eZ}yk^zMajw~xBHqzCHAR6(B=ZwoS2+d0rnRME7CX_A2k=?&X zjF-+V@-iQA*g=70AllLiM!bG#>L`l?8-m72^9NPfk#v1Vn~cS~adppGAIMfP@d6Z6 z;xm~dlMbLEiH&5HN!e9-g{W{Xo7CApi782wGS| zSBjFi@6fcjXfmS?jF7OIeC7VRm(`d>fp}Te^26_5v|d2$*?H(N^qz zrhN`P7m~s*x=IK3{f~9CM8(z(&{Lgi+Y16J9yY1Z>5c{61diQ}Vo($uh7ppkqPACx z%a%@|Gh`MHmM`LvEmPxU(3#DQzqMcvPh!B74=9?XhkY$WL~<+zJ-x< zfO4zk0A9~u-A&oEBftSIE?~sA-7$lc7{-cTwFS!%QFQT5i)OX@O{5ybmW zUAHvJeTNT;G+Isx82vXr+J@E8-K_3s-~?!eBrkep8{`XRoDn8aR(y8-CfbI`2lyLq(XX#IAeT_O+Cz@x5J2QWPRAM)@vX=1N;A4oLYq z-lHq}I-3tV)5miJ7<@qU*|ryQhY-<+Ishf??Y4aqCLFNX*wCZ?LfeZh;}qx!gG<+{lw@5+_$w7j@9oRVt^ zbRuuq(_gxw^h>uNXnH^mV-7UG^vhppd6}=ayi~nHJdgB&so@!yfsQL$DUXjx0(ltM z)>PQIuA$0x)s@%Z)|@lx#I9>v4Y_A3o-5eAvHGZ4aPM0~J=`}NuW+;=3nj>Lo|FXSgW)6spO{uoB9b<)zhQNdpuQ|p&Zk3(vVkR2da6%0*WXHIiR+w#TW6nZEQVsIINK)ay*Tqf@+urZVG!RS-#)Msh|u z6rQtW?qY#G0hXkA@%GuE>9=8a;W80d_x&&lJAHCob8@QNQ$rOepKHeE)I!aIIl5mj zD1t0lQZ1dI@4D+&)M8!U?0s?Ri?LSTZm5^$!lisci+xfRaQ}hW^cHcWYz9t~)>&g5 zR~rP6M8R>R;UpCsh)?OoIW^bu4(bK9C0+^zjy-w+6jPOlk9+Dxy=-N7C-39H=XsS@QSziJz8%7x^qJ@p;sUN}fymu=uD1DJ+fr}oMmN-U@WIs|VS>XOZ(NbDC}qTY)swq7UP6c((f*zT zV{>lo!#glMA@?40$*Hf(#fQzM8jyrZMKw>`nyB$_6{ zi#{5et~;tr-UBoj6UcJ+VAw9%wy7SOD=UZP!|X`&;K6;(rJ*;hX@2X~{SD3fxPR0D zQKbYPL3tK0p~}^^k?v7ZM@d&*MJH%q8|5Q-kXk z&GP06e#*{Nl8*dQ3th6p)rACx)Q-mG zQ^KLf@Rl|#tTHW|!j#HaN;FUhXIy7wU=#2RmP0yih19F@<&Pp(s0SfCR^X2<@~C>V zsvc3fa0y%0=p2h7Y~)bKR<%H=gzm`kE<;(RgQ4*?4X0Kf=Gx(WoPn#CQ**RdHGdP? z3!**$)?1FFo6&*2)A7MfK29CeTsZ9{Q8@E@Q*WaR{s4Vl$)4j(Of(n=KEH={&ab|e)jhnWC{6jFRm`~_BJ>BCzlbpwtya9!XCvR$-M_dy#!1s8!f+pBqS911mlR4)H$F!8ZT@B zd}g{;n>KeGs!U0t)1pWqoFE|gc!)}%RS=KsVKNRM5I(elX3fPcWnAR3$r$z;8{Uw& zd(HQdK2(yAd-wH)nqhf!L=*kNL|{_1R>WHd@xS`v-C&f_G|*0;?Oq()Y80}lfQ(QO z!y0-R)yuQ8`=!6pxr$&ei{}fZs%6d9SkaQ(DyUg)tq>FS!j8Lg3`mGV9c+H#Z#`jJ zWM8?w&|JQxZurFi>aYJN>dHJy$_)SVpZ`l@4$nV3*ZjR-c{)?{>}Zk1fL_``+I;^f z51Xr(Z#usa?cLW67xE!G|7gSWYrxSnwVFeVl+BfD6J2vk)^0Z~}Sd;CS3% z=&b<8H=bxpl(9M_SCM8_%Ze){{jZBoB8~TylqW9^Yo&A%?6fIn?nx+w&QU^&AR4MTC@&#?$4`%R`pW%=%|LYM2D*3&B10? z!$8@LQiDOu5$I|JJun%adhQ z_r_&4;3{m%2!;pi17SluQp5_$s5PUKGpwO`9(?znJJ3x3kh0)P^Ac9fow(#kJ6%l9 zX^WTcMSAVh+v;`V12OR9V|q4ZB^gkIdvGW|Fh!uA8a2LUM`mAS)Y~rXxMzy8(Z4@x zxrV}vD9ShNtzqp@1OXu=mArmE=%F1AYP5&`l0ce})vv9i0haC(4vi^w2*X@gVd%f? zf&|L6&2^KwV7<8W2(e*AM5B1Y%PufRrFP?cHl^esQo?0mQN4R1g|v4112crQc|wBp zLsOy4MZpjp*rKI@_MU*~WIl92_0>EB4I7;ILllRQL{e{S6|mIR=LvkE4&cQ)!$oZ$ z$f!lxf8+qJBRafC5z{8dNnU%S-lJRUZPa_H8^mbt46n+MT0I+@<|mrpRr#4yW9s8C zpDeX{_pPgu8u_A3=4Pk0Z4|?YVf_Rfo{P5LtEiJptOl#Pkx&Q(l)nNaA_or2V?i?WuD*Fy_+8h_r0+R= zcmu7ZzK1mdvcV)eFL_Imj?iVM3^FaW>3T8Ct=< z_1*jK$_}~uGSGN<1)j|t>IsN>m(dl!!pe_eRfW(+WukBz^6t5NW<~dk78We<^(H-w z(lf3vp|x~+3z1h73RiaB)da^B(>z+xa*Ukp3GGd7I?n{g$P-_0`npM11LWbBCNx%{ zfqYm_0xOK^i)0MH7794sJ*XRc*xRmzw1u8c6B_oLn+s>6&@+W&nE6_ioot<$RF8>2 z!Qj<=7xju_Ki6(sFWq5=4KuKH&Fu%#c*k%p#MB%#%|-JUo7`RKMXT-~=a~uD>c&Y< z>C)R`P_)jl4r;E_niXx-O<&@rK%udg-Is~d9*fDkdj*@4&rGrzIU#tLm`DU|+4Q)aGQl}d zQ6;3+A~kC;Z*tJT=_?O*}=K5 z&BOR2#BBubABulMlgOc?arWJR{Ke*z|MaWPzBg~1nS5;39=4)6dgdwZCwNG)kbUjq zJI(x^TS|qtNx7&fy#w0LU}!X7Zc?x!r@Z&oIJPno&C&?PaAlZ!wxPLiRo;AX4f>-v zazMj2Vpgr~ntrZ1c=U)^X=H2GI-+fi-pdXUs)e#z$GEe&LXM(1IuNOn#GmYZZTp z5Uj@@6x4lTBaxz^#>99w)%8halBPsX&Wp~-F>6m)6hhz-&_j{jO)qBf8C>@iFObt| z6C{-F?(z^N`mqD785J-4V5$H~8B+?N6ED4S^nwBgbo;*MB&M!0y{iu#RHsnNS=R0} zD@$sT0ub$t8kNJUc%A|y(4AZN+G1hR(?QL5t1v&m)ZDyIqcWu7fMJ-i|K#e6-xIN}v-p{2s47hCWs?OfMPGgYP5-q;lXC z!~~ryJDe*N+G*g4EZUY%Hawmele@%<3N>|IfR&AohU`?>FR#dW$Z%dHcv22&*)Md2 zxoq%Ae+?m{7vEyD`syG~pmBz8?9$0dIPECgqs)wGE?CG>UC`TZLl0GC0=uI%-q&yF zi_3Z>BF|TIOPAsC=uttBTFmN0k7{mh>ZJ@5#U#Lz8gtza5As^AhVNkZz(B8WLy1R$ z@}L#T6C;|CtvI*^eQhp!m?Hoy=Wl8rN;f1h((9++Cntu_?$g9j1+LYK>i1pm5gK)I zUh_)4++2B_o!Qgu^{U;dE395#=7T0o_WV71S!{*qm()PtlrKBi0nyCk0NEyMZk~Fn z9xOUx-K$!`dARm|5@d5`T0KV$aYmlzPe34A|P zGWdmQ2|{wwmi;c=Vgi};ZGDE2U*QxFo1)Gi8@=9qV)}c{Z(aLun$?$IYu29rZqQor ziHs}n?;dNO{GET*T>qKhY?cqb*}_qs(j!8PQU7&!?7}Ot|ING2r~cPJYv$fi<188J zL92oy-+=pkj~?XLx1h}3A{5>tDgj)8ND`sUND<;pxfBc=aqE&rW;pzjt{en+9j(s^ z?5yhypfGvn#OhJb5{MtM$Ad`(ymebX#q_gnqMgz7mSMI!Qg}2!@0GWOqt|blmtE!u zN2G((>bW6b;@ztcue~SKqoVXlr62V+nP1e4^4&{UESJNSMs(Pvf;VZLFG#UD z)XR{3(nGpl^IVl49UpHF>^U8TIxfjk^SW0&2lM3kktj$BXMWm4%`>Y&59mJaO=`U& zzbBuME35Hwi|(P}xc4c%sfo4b^pTC`k><`)1`GGqh#pjav+ySMyz(5h%)_~h(KUta z6LL`g#V^PXg^O1fn=_{-)dR(|Ai`liXZ(?q8OGHGj?4*5y0>R*8iLY1pKofHAeVa@ z9yukOVH@Q{@SQ4H-NR{`ae?R9gIZpqv89JfsIMpSPG-nADTcfskAPLzcM+h^dG0Y* zW(rq=okqUuJ0CMWJ$)A2CT)Qh2KnN(y~P8A;>8C~1j?_CDFQwB(P81X$e%T}QBF{Js$ zpE}%{&1mMuOWBfCK2Dv`OKO&0lqi>LYH`kJ{tua(+dIj5PkeTuDUN(Jf?%EvmsTr=LUHWW2`8Wx^zCh0=TWig-0A~7wCk)K)!6}n!b)#Bb=%`F z+3Z`$mpcK^RVwcw55{mHSUVIo&*a_;4U0Ish(g2ly}k{A+>J@!_M}&Dy;; zidBw;Pc;)W&$jr(Cl54pM`9ig>gt6A!Ki$|dFj03Vai(b_8UI{<#6o4q=pl^9_3}` zg(_guuv}2=(JDYVx72;5_o(VnbmU>X=b%A-{%$4T;3%{>xsma6C6feC47dAg}{_i&T_x`wfF!vLvGaq3ix~NAr zKV{z=oqHV{Mn*)`-h-mozh!XlgmsC+uTU0F1Y|>QL?T2THNOFY$Bq(io1(yzLNspF zkqrLMrXmbERnIw>NDJXWe*7}inasoTSO_T{(9c^0L0=)G#z|(-fXuk?wl8^53$B$> zvJ5gZ@NEI40#IUxJUf*vru4eZ5SPk-Fozlnby0EANJt#Y@4}1wps5-jh;+0Vvt#R_X-YEL(tmBVDtBW znFgAWg1zf)u+KMqG(Q`Ga zRgjt8txl?a*qlT)J_63nh>F)~CJc4#GzdTVB<({%AK$Q{L9`7=wE z@@PM;v1lIfA?(_D%}MhlYTXnwdiYQ2t4aEyQsX6&B?C4$c{35{>gpKp}BbR7|2e{1o1x53-{F@ z-_?Z2=v6wfM~fDo)%ZA>051>zt8BHC;pr#!1*srZ^FR&CCHa`Dn|4~gr(VqiQv8>% zs+ZGW@Bo_Tor|&|x3px{BIQ?ZJB79KouM#^YrMKU+*~Z?oJY zu9;@VXgC!OF&BFOesB^oDWUEIUxX4ESupaAz@{)5n~{@fk;UfbHK#*pTW-hbY|?|-=7Z&%$cVf@MJ?i0|n8*)M zi0E!{KtK0)=bMdL-y@p*?ttKUsMu}`2O$|zzrY7+9f1?_=Q6Mr3`M3A0?^ zBNQHF$X3^L^b1C*TU#l^7TMgI1YIV~Cpw>lE8TI#r)a6?+f}w$uynq#( zi!XJ7*`>o)ilMFrylH<4GCw3CHjZt6I-tu_@GOmvPP}oQ>I`%II(T1BESLfU)dBe` z3!5YvKw5H;Ick#4l%;XDIWV()Cm*Ur)fU&F|9PV{j>u{o4@+@1=C^1ta=Qee)gDR3L^UU*Wc9~@@}Ex z-~Ppy+Us=h_G0s+SNV7qr)ZyhQ9jh3KWY;&3ni5Vtj3%Gb7&b(vL1rj$7@0Sha3M1-g|-NF&iq(bUECJt zLKeLMa2H#M*qth5-L7?p_K_M&c@<1HJrnb!`uXciGqH{6*(}b!OyoxB(+JWxG*K&V z0IAaI>uZRIVP)^re%@CAAc=|JOFHHSc4zsMx|zR;2^~kQLuU{aVyHp{reg&$oxH8 z&=;kt;;?^Kjc)O;+S9d$9m%fihlXMF&|?}}1WD95>ZZLf286{YHc&?St`nr#?XP^b`BU{EJ^%EX<|EHO31jf~ZO?p$>?ol=8hAhLM5{k?v`Z;CF?|1% z|Fd*e?&=)Z!n(xt=|}&_tn)AYA8P&Sq1zKQrv}~==YOraaQ0v8eq3lqJ?5!Xwes|a^2&o^l14J1E+?druc|9GO?{j^n(Z8Gw8ma z9kERmlJv6IGt6ovoV^*x>cdyKWv%#|zejnXS<@=!4(OimUURs&7-O}ig4Akdao3Bh z%xaQ%3`>F^*5VUNGYVJIw5qx8gUBT)^kgWYlI`^{jCvn5Tt7f@g_5sM&_LMAQJf?v z!F*Xv+Y(q>=?cEU`5KCmKi7W*i6CSYzp!OksxDbQaA-{BwqBy<)q|EI)7~zR=v?#A zaM*tKOm;3<23NWCBLcfB0FN{@sWQs0Sd6YROuqLPPzm%o$|7`GgXk?TWu{0Gl#(91 zU~L&?9C`gbAPgDHEQ&}Gdl;fuz%)C&w%a4p1M-JBqefZmrTut0o2hr`YHknMk1on@ z(BeXNdrJ98evP7e$Me&CXE_sFT6r`$lV4||-PFr^i#spF9-k!-EIpthG zmmU-kHEHI^#i&%-!(`n zs9tY*BZu{R@|w+uA+0uapzMY0I>)1NHnXQAUez9ln>n8Yo(Jk|(YvG#`?HNqNzgE) z!B+XbdihFo`QpXMyL4@AjpzjtWnuw2eCh_JO6JkS{F0Md?ANy@r*q^N4oq6FMy7zv zT3q6aVr-XbpstCH+YppC4F53;N!LPd$nzl zXw!xssuwLiI``=^UUGX35k;T=cHO&RtS-tRjsT(T!tRvOp_}UkC507=^&wMIuur#% zp6>+Ywe8frNF8NgTiTfysp>uy5tqg!?>qnYlK?YNrsKL?*Wg2}BrnUI4XbCVTZFB7 zEtpWi6jm9J+jkSx@)p0atd)*5vf?_e%H_=%{>hAHp@+0(9$2(>{Fr)B2*O{#aih7X zhGqn<2t0C1b8B<>43eR4al-oMiag6lLmA$sM@!9v`*#(Mdt+fXZ`2dbcU!w# z#jNd=7MoYUbJI#OWkEh1KXNK3rwjT}>AUyiNkoo+?H4o^C~aQX{rvim#4E&%-nEak z`Y|t`&)@mZC2a^UN5{g$J175=$*K?7_2$~;=v}g2@lI>LEA|s+r?jft#rxFvA_=Ui ztfMlR_Yq{hs0+e%U82K+sQUwinBxEdKmbWZK~x1RXe&M=VF~QS#F+(+4D$jCj8Kv( ze4Pg<;D$6|aY)-F zMMiWZt;^BhQrs*EI4SSBRdAbI+JyVjeP;^Z{pvzJs9oqQY{^03!eYLZm6^}~jWb4( z*@q7n>~pOO1D73VpPextGe@)^=(7CGl(OSb#j;zse)4 z{dB5{ljz?U=Ys8Yluh*@E*YT-y1H={O_{c-2s!u4is3N0Vq2jg+EfFqmcPTht}Vc- zeFnv*rUsOL@6I5j%649e>zW)40GjJJ@2dg3yPg-tmRz8-m#&HJY(n^Q-h zXzd&wpKLa?%~D)5<##1`;oMfw%m!PvWvhT?>DxPTzk**;Z%l0nj=ooa_zqypp3)HB z9IK_%kQpt47}w(CB_32z2!LOzuA!W7jcimJ*#E6D2N!}4;6!T$c<^F?J zzA0P{XZgXC3`|*2!@s5mkcSERYFj8bK?2~LjiF3rA>VmNuXxdKd!2SI#kBvRz*Fx- zgN+nbTM-mTF{U{4g~0Ma7zYIbkV$&yz<>)GWPv}@6^f_QMLVrkXj@vfMu2)s^VJ5u zA*n$scwR_6OoWxr3E>IYL9fN8_wEy3=phZ;?UkRIAXS4+ldsn`SsOlJXHM@kF9$Z( zUeZtnb}VbpvZ1kwW>OyDtI}?1TbS0>i1?p*HXEFZoE^xp4Q?n047{*iCb3hSZUXEOD^DjYq+wlVG7LPM$XvV(tKP69X56$rG$`g&z$7Q>o| zo6{UTymnib0E>%UqtLskRa$HM`m4IIshf6B4&!j$SM_D<>!0+PQ#YxiZQhAju;k2F zXsHq^ir{mq6n7}gY>n-~`_Zc3Sv(kJyQ(}xuX34o6diRULBXRhQ>O3~zOSPrMA~~P z`jE1xuGjz1*qg*?l4N&&9vS*DGvtuN8B(Iwg9Z?E5hUm^ zM_mL6I!Vw)f}o2a2-0ydk^l_^fy7YKkTWE^$tHWcS>4sF>e_Ot+?R;R%-HwP|M!3I zx%-z{-9?M|+|8c7&7PaPo7?it_7$1ypb*i+vc(5(e$b~d;NzP2)#?R23*b{&Ie)ep@^GShqP602QqL?0@#dMbxEwtyz)ouK;92==a~%V~bHI%p8%iJQ zH0+}UG-fxpx>bxn{HqT%+*o$j2ZUrYpUq_u4NsJ!<-$}QD40OPMQ8>W2SAhyXx2u@ zz<(i_NysU=9gcWqgRNwiz*cTDB|olPD&$iNOqJjZgb$!rmCU1Tgnk(VA|S{uL0|zW znt?1(A?z1casK+e;eyB(t(XV~eG4~Y9>{Z)Iu)?i4uv9kpFV7&%;H~X@#=>b+(x?G zKt*_z7@jBPWWM_##UELWw2?=zF1}T(yu-SNM?KG*=bJ_v)QH;E9L(6>X{fn$=}a?q zQLeA_M-S$M2M@ylk~gd&?33P}3B~lz+1gNpRt+>#%D*UwzGrHIg)tlA&;daNl1caU^~yyMCOFr$=lIN3uda!^L(j9E!mj` z7cF#%uYTf(IQdej{3;?GM>LLxgIk`#p^th3c&_Hi6A#AYnpYP=y)T*@upA>;F3gS^ zimR(A$xm}K^nyCCeLbt(^GDS{O}jo-m-q)CJ~AGMVckfhYGjV$-%d(hzM=-JRx?%j z?4};zN&7^@j!W6KP5znF6V2HZbiapO{F-g)>m`y}G$Mz=1oB68QyxDSjajf?IX%|A ze6|}(|HJRCG!K@##-M$hnOeO^ddaA>R(b@07dBsXDM<5TwDJmr>Nl*Osf#D&UP4Lq zpf{>5kAQUf@91GbS#f1BsRrgSb1lT&daK7J#879|Tf_Vw>?(X#6V{M0c_ZSzUxJk0 zQ`y1xkfE8OL+@TwUMYr6V#8)YReO}5be0J^G&=GZ8W~`|hD(tX^U?F{925(pK&&J1 zeyFt0==gj9(y~dN(6iu0VVyt}fcyv~GCFW7ssNfSdG>WM8y)&ij?FLGBGVRwotT7P zJs9kLT~bakY<23(ntJ$Zv-I{Kv^MDHRT-*WmeaeQVK$c{E}M%N_mL&{Y%rs}HhbSp za(Ejr3V80&yIR*kG^Z};!%m|dC3kFUO2dG!*^v-lcp80*|45rb8?U2v?MQUP94LXRd1IUAFG_vs2T6e=<}fk6-W-`>)P@pi?(W#88i(0CD_J*|)Cf$eSja;hS!?lJekBD6HV5wCD|UJu4{s6h)nRp2vGIAnK^mdlh;G=b_6>P zX~&GY_7Xlir0%R#UeWFl6=*0^41S=@i*};sZz)}kS14$7kF!cSky#zI zfn1c3GEZ|tIeb7F7Ll*N%d^uw)>3oe2%@p-ArjGHOZNh6sH*Tkxpfar;p=6lZu?8} zhD{y~9HyhZdghArIXqgqTb&Tb-`{=Ktmk~SVflwUGSoHpG5WRY~9VjV3m#T|NNAL-C4jf7YkV6K=-PRykN;w)l zO<{bc%`?xE@zKNi=A%dR&0D9QHGi!$cC31-sAYHZQyy$ne((km!Ssqowrt(vM(qsw zNLjWukrMHrdL=FbfC~}6E_Y@0!Aha*P{Bqbqx8}sLDGl3eu9x6q z)m*!IPd>$>(McJ;@ijT-p5v~M@cw7?@`9;_7}^GARlW=3x~iw<)^78eTuj-%g1SA; z&4-dwhLBjB83O{8xJ*q?ManMt~5T?Jh@bI z{^(S5DTgJwj!&P;+rRb`u5d+@`I%FeVw+EHK69M>)2FAKS8}pHz_AfMS9|k@m*gtL zTPO+_J=Qk6=OTXYM#oAgJ=^qAu`gFbgyYAmBLXT^9js%h9vnGGDvFbJ#kpZ8V^l@a z*>wq;yzxyf)NV%&C?a6LDXng%>;&fPmEo$+gHxfdRX<&Eu4}0QKhxQ$g~6HYg|Loi zKeysv*+9cvG+QZ!kq(CjA3WA# zQo041n{}kQ@P_Utr?iE|{hel|e3S@w?24R%Y7$}@=O^Fo=5OI8^aw7^na^v>8DU?m(z~fJukSfcYt^NZG8%!x@nWN*jb5zTjGjuM?>-1rM9xZ5W4w z^mMW8?ji-28F0OV2YhOUDEPB#V20n`V6?u@in(}LVyiW|aJ{8=haiwuT+7w;+I7=A(OI=1RLd*EmlWGj+OC8z2``f?5$+-AATi=Yu3On-r zKcoFmk9deL^672TNPAm`6Q{&CjgJeCu~pqrs4cury=0zgTdDu{JMT9C_Se2>{;fA} zHvh>#`yI>!6Mw(|t z&FE2YUuIId+|ZtoYWQ;rnTI(_-f9=-loAUCA*sCz4MI0G7H0ua4e= zl{6cdG4mW3lyfU2`KFAzwy<{nOnE&~z7Bo8O(VQ|zL0Kd5p7~?V?{2i2dxdFW0#RA zXP{cO7NLuD@V?HGA9>c=vVm5e4~(EGEs8_r>DVt|0x1K5o^Jx>s!(M%%uIFY+Zt3r zaTQE<>=;AU`dCv#XT&{q!I52N_(jl;GwcbNfqUkP=1Nt)S<#dg&zrI?a$v1_;3rP% ze#kKM7x!9;(;DJ?=dBnzB>U05wdUcym9`uoe!Q&4ERD<{uBlukabA9mdEUwG)?MNG zJ2wjU4}SYq4J~FPTgLyRKZph?=*QH6`?+tN38n(vxxLbS@S_`IC0gNr^KWTy@LZKk zF@E&@n_+*^;)n6|H!d3wUQ6=PivP7hkk7a`7rdYX%RSS)+=usL^)Kn8a^G?8?1|P^ zcoKN5#T{k4GZ*HyNP;O3Vyv*Tyra8RqTTaG6CydT(eR``l6N0V+25 z>ESCIXjPanZfh4SVjD?7wMa{O6mf+_Ap$4sp+g&Y&X*iO6p~Jk6^{YT2&@ z)BpwCiq$^zPN3D_0S%?>VL{%=s2WOsScV>(xljT85jA#3n3I)ZUlY347o(R1J&qnd zqQ+g#;AQn~9BrQCh6#{~P;5s9tHi-~hd8V@h zW&ky)^;6XG;7Uqp9EvsZfV6PG1Us-XjGnqzeX$NuhY=M6D13cY3JsT%4z6R>wx`lT)U=WK5ch{Tydqae zAuK+4pbzeNb{^=txrO(82o>;qx2^d=pi};Jt=io29Am7*{L~tSk({9L(Ff^fKAbCL zlrqTqPHMq?Ob`mMbb}n27JiNMVUE5&TJO3BWdkFCqhC-J$Kn^~!h8Nqk>ObZ9Vs(^ z4rZ!D{D(3fdXgEbSOjI+p@n`)L}aaO@bl*~noB3h`Y35hI+T8#TOKK*?p0&wq&zr5 zTfs8SK4nxKq(Q{07PfIdc&AZ{bsaFMet`%nmSBWF4DZ0W;F5N=9Y|GU#Q35 ziy(sQyf$s;hkP1LpMCV9*l|6$Uv`^s{F3goB))m=vED&lPvyBwCz{jeco&B9Kl#HsXk#DC@Mbrt*(7E$AeRpgkwB{ih^7qXazG-Aaga?!i$ zurDSUzL0?lmZj9ybV@w>Vk_P;GI3l~OK*i0Y5?Nc$E!GJ{$SLVCvMt+Cv6zMhlBoI znOs~@(T$V-cmZajEu?vhkQ}5wThnIH>aHdre@wo9oTK;=b+hkkh}uEOup8I-Vd=ZL zw4{o>*RI}K9-GvvT^@39R)bbc4Y4(EmtpxX4`zC4$s^AVxdr!OB=LE-E&>iZM$3+MAb~ zH}tFU$xlAhSLT`)hG>z3Q06pWk2Bb7Y6RZ7-}T(m!FlnlZYEy~IY?F)|Bf2k!C6C~ z>bf7vJwWkZkN>JtnqkXP3<$EqzIr*2Fut0B1}Z%+6p;?DaLlTN00$Z_J#2?OfQboh zU;Tkk2Y1+65ZQ2u7ZIY!tiUygPN9x4g!1}7Q%8VWB$VO3h^0Z?2c zj(vTK7gUiK{Nc?I6tJjg^v>nO48Ebf8)pyqFG1eCH~HP>!QO@D;ZCG2C-JaV*apl1 zmK}hU4F+`%_-hO5Jr}cAbtZm&rB=M58TQl{{_p>%&Cc2D&9mRC2AXonklfN0wfPaO z0eKmmC;ZTh1-l)KTeF37x`b8Psamo$rkoMZ2p)3 ztwwxw&*^@n=f)+FfsQZCHxuGlVOztFTREBn&Xr52BTHqM11U8?b<;@Q3G&`Gm zHc)uwAJd2H)SL23Pf}Fd>b2e0Jr6dJgZ*o^D|W>1+n7EK!dA|& zEq!2_MdibBFoZ1z_<~S~k?kbWQm53bdP!DmXd^0JOvMY`D_9qotsosL5SO9F4;x#d zPH5_ZJvzRA0Gnk8>tD|(MC3iy0>KEv0K}p6Rs2VP{UGySJbh&YZ9^N;KFd1J9FmK8 zv@hlL^4?S>b)}Oa=Iorj6knK>YF|sz=|)9a?0D(bV{+!ki&e$b7ZTlmZK3oPJ+0x; zV$Ggu`+i}&L|T0j6W8g{(x`>L!1*GK2iu-rU~De#!XsBVqBklQGvrRoXY@ z)=+6H(h5Z$`U*kx$rAt){wWvhme8N{K;NY#aH%L-7TUy+;=-;!T>L6gb_S$C9> zR!*YyWfhM?LhTk`T!{BM2Y%?lbs!HMU*A4v5rRa>6AK24&zGeb*}jwmKq^Bjo+E_?w~$4X%+iQ6d)Q6MYd!jM zgHvDk<*<){@Nrd8`K@T#@9wT^A4^ppN+kNJSq;V6!!F(BJI&_WV&IB)=*Uzvbv%}q zW2GH6-d5M6_Xgf4?fo7`Jd@S9)7&qNV7YUu(CWQu!x2s9*6Kuy)#2*v@|%Jk6o+2q5uAGpOFf2W9`X7>W#bE)gct-3aqWLyck=`Kh?=tAq4flbl&o2 z!f_p*2={^J+|6iGBgNR&%N>4UXiezUexVhnr`4#?R!-Q7zyb@F{W`S6eaNgz6=&l^ zB3%Y5u>nvk5wW>SBCZVSu)&X1K*?vz4TKAfzBZs#&mMvU_0tYwWxudULqL0 zz#?oMGQfscd+swVl+?#amY6ZC8nzuo(Z`BWq#q3igXBuX_7M6+9woF& zA}AY?*0bxmfE?w7xYmXsmE9fJq3)Zi^BoZwnoqGA3w>rM)BwX(f?(i|Yni&W0RW6% znG}c*ysaD#CwqTK&k22CRo&Us$~{$5$Q;T6DEWK(u>1VxeZiv)_(?jzwS)yspGa*yDu(j{;6o;XB^c% zPZ$tjR!-wR2wAk3&&0EV@;p@|`FkH|4lP01 z6S`U6`vxD$N+>+g{@(ZQJl1@8o?}gO`HFU(NF8X9e)h?2aS5aCXkOoIZ(QusYUtm+ zm2>cfa>@-|v#~EV=Cc(qq@6v}enra{-I7LU@)?HSKO=l)1MTIDYMmyJq2AYXzIVi$ zOlhbS`M!WDG>rC~beDHfDRYo<+w%)bo2VsY&cT-2FWb0xr5k;sWa_-#Vr#I zA!e5G;cxw2FlhA$6EhlWzPPj5ymV!>p${+!^!{N!8~F*_$l)*YM^yjbz8n>S>|O0A zc=|jJbc6mtjoB5AkDFZh$30my@^I?AQTrGw@2MOVKEP!K+aH0eF7N~KtJ3`a-^>aw z2#x9;`EF~&zP5(hh`APU|M|CPG_S1d*%_Itilp+Ycj9nI4}Tl0QG;@)xv6qjc=PI* zzRJ3X|Cx(=p%YZ5(UJXTMmJ)Gk>P30?aR3_0$$gAfT!AK3mtYfDZCjf+Z;C2a`?Ns zCOK&vrUcH(_g#e<&1Lc82I&RL$s_WGlMaI2a;cY}6z5BY=qsoo;XP4 zhyN?CG5-!I*2Y7SufKp%&sy~Y9bEBqo*|G2gN{|i&^e1%wI_J!SQKWLd^m;7LH;E# z(BPec3swRIs=6Hd7gF#ni3Ke(vnZfgS3Nbz#qgmpIQ719s5AOs!Vwnbl z6uP%XC_-|I)@Ye1x;!WARtwTmCfP2uf!cvGRk>odVdcbm;rMYi_J-9nH`lziaHARB z8;-_SD$ib``~TrTZbrZTt!DU7|F$-dp0`Jv z6E!zXu$@}rD+E?C?r-K0zS4)g^KN*C7Q^}wW|06x>2PD=hZ=er79TG*fAz!9Y&Npr zdiyOo?acd3g zyGBKB+@Enom$EMi0mUw*CFd7|q3CM7-~la3Z0b5DvdE76mpzSz5;Ao57FbzU>)^bQ z758q@2hUcEs`~(tg)&wMd;y*hZC;;G0IfefTC#|c+kzBN7KT+BEyjpCh(Y1R^#fFp zRHzvCz<|)-An|ZI(OdpKO~3;SeOsN)Hz>)k>sh$ZAsPeT^af(DGpFj^r=EA+yUWYv zgkMA0x_@W1eOcM{iKh3sGX@3{dHRf6ni+O=PticLx)MI8`|-@#8d=m_xZ4l4*ntL| zP+H}Sdhq;}4YV=Mqj8aSXt%Y=E5i#ME$RZ4usR=+JAhJBOQ}L~DpWY+6Son?w>;2S zg-N0;3@I?VDAC%EO9_3X$+Nyh6gu6MKo%#lD0*-lq=V_;o1oGwlfet(elW5b!Zdj! zBgzE8@jhJ&C>=`2Vr$f7SuoB>hLn8M0#qp0AqSi)LC^$N|Csgy6Fr4qJj_pUWD)v# z#9J*AVQw}Wcj(h@U@xpuO-?>O5qXe}jL9DpZWB_qJ9p(qK{y0@I1aS$Uu5c`tGO=Q zy*=?BJl@qrN_ClYjrBLBZom=yGK!M^{2TfjN#m@_v-Zc=yNSWGa+`7WWjs?`l)QAW z$$wM#HMgY~)@Bw!DD0KWe3C@h(sJ-fg{GsL zlNQ%lorxOmKNP=~S`qj3q+-Y96Aogwa`9XlwKSu28v4|2q<50@(c_3F(!>W+6l!l< zFY#2G?tlAfW_&>W82+EgeNMT4sLO`i75aOpB6n+BU&3uCcxa0rl&DqS;K&QZ*D*?7 zyuo+|Acx|_Hzr<@?&j8#k<<&ZMEMA<4 zI@8BrZ+i%P^^SPfg%>SL={Z?Dl+jp0n+nUcBLHGLdidOIG zS&+PrX{QTzxG3Y?zHtqsIDb}N_g{bWHQgWXHfkR0%kS}Gt*+Gv=dHWCCza=*UL*UK zjMT1rkJr3aUDU+=U9Ggt20GXEmy>b&LE-J#+D~SOgnhj1hS|dj5>1(`M!iJ|8ecTQ9{REDEcV-cb|;8dm|3 z^Lk;=ss~V49Wh?9fPrZWz&V}@rYBiKi15JU1U&IVM&caZgf2q75S(7T@5 zlp}O)^|buLPaa=(GM+Mg?iEUDcml_UWn05slCaa4u`JkEHqaJMsAY&u3E9w|S+}lt zLjuQ6jA;2R(_Sd**cWh ze6`DCT4LMvxcvBs4@-^a^xbS+)V^l&V;#m3)!lnt57M-5-q_|z z8mnAG8t$u`g<_6t<;NipBZ7?kM7=yVtjf2dmNpJnfj`Jy@5BD0BqCWHVeGSDRXOWS zHgRNeFdlJ3fCi*4VvCo&%07kZvysfCJyeBg0Rxee3KoImAd^bDe3@_&F&gO>A<1>J zK}|pup3n1zC?tYD7~mWFgsmbSEPy{xmp1G%c@aksbPdT{rPOy-b+|Yg)SJs?`3B~7 zOBzJDJgJ{Wx_lwLG|_XnwTtKWFuISu6b|(DeozfQr5Sc=8%k1WO!W@^$Mj<2Ww`G9 zC^S_YD;sDc)SH;TzQ_sQJ2=}lfX19$w8(LBg`*l0I64FG2&^RDMNwZz&7))WoC138 z?2hT>*)?`=+`gv~&YRBXfXf|vlqx*@C>(&I1@qU=XlRl!u9pCF=Bmd8*rs}ccWby; z%5H1BHUfGd(?;NLz4w;W*qImF^24qXJvxnR5E(PWF?|&HdWd#Z(+s9^!)tiqo?=oT z0-IawuA*DwH7dE34;!$quL8ZxF>kUUy6!kK&QSFUx)(za`qCHbsnw&@AE8)7lqlm6 z=}8vXpo8GuxkCxvpj3e5OGEMOGJ&+T&^<@n$?7stE%Xzth?6DB2-369tjoykj$cu5 zMqY$Lf)1Y91E-)tUfH~#ZCaE@U7rJMK)C5&d6Yc}rpkwms%W1KmBPc$QF+4{$ zE|OxO>ClBnBfCeGT{ku=u6tLFbv~3LXvkBmR5utQP=M#W8db+6IK%azMHTt^`-*oT1}s`*f8qV!vn45$9oiF+B<(Sh z>P@5!iUVi>jo!;Ox`E2#-cKH&Q~&-3;VTG`;*=(Tu1_TwUdYi+c-`Zeu6C^*G<{80YM^s8_|4a2E<1}n&IG&X+U#sq&>FT3CQ zjSGe&`{teP=Js_Oa8{#v_wq6MRmsXEtV<_#i0h-9L#vHc8Kd;lL(T;6s*=~`UN|Aw z1iFC;T)gX_$C6%{`6vXFv&Y#gCV8J(kdN-H@Krx7 zNBP*xmC|+$dX9a^m0{u5L^h&tVHDs;2vYOvv2s??yME?NIMH1`kjRrN8H%E1tHw~* zU}N=^Wt7lDhk^8AC1%HpSd_Z1VaajXvrEII=mC22No6d{HWF_{g}vI`79V~_4x~`A zV9=GG&&7jNXdIdbq>eo@U;lzfA-j9Ng)0&|W?q)Zd{BaaowwE1zLUR@Ay4Y+8SJ%B z)pMaO(_k!o8huy4_DU<};hl9gGBpIIJjy=CP8o;vz(-le(i1#+?43Coo~zC4Ky%Ix z)aX9eaP!f#aZNogU1M)zlow<0VcVnAXU-ar1M}n#w1U*vNojV1pjV_U_{z(djEfDn zg!f2ua-w`{pz6DAs_rxCb>`H(AN+RSDF);8E}5G0s<&B<<_Ne0P~%N4ddiFJ?Tx3+ z!%w@9*;B8*-S*T%!)jj#;WMhSrn$OxeQDUQRqwOVrsOk@Rg+l=<;DC$==XKcENNSj zkgJ!jR&BDn+G*u)%UNgWkBgkPTU9w}5$Q@O{EA0?b%w7Aa0j82*T;{HvP_(VYvoj4 zurhD)2)}}n7nmITl!JO<+UN772*9}BAdt*!AfU5I`d^PC7(tP<9}5 zOnDt3#8pn(revUspXvn=UfFKYj)f5X+ajbK(gfxs*R_GqGj%vn&N73Mo;yHV{Gcg% z(7bOju#D3XBM!ec9NvPY0NxSJ|Ej0lQ|&6VvJ#D|6?NR4)xttI(gMACs`q`UtPutE zSYE>6z5bwoa$D1T@GmM{a9(@$M00W>J}Qy>$KU?Kc-VSwXjRh=uBZNT1Es|XOL8$) z;p*!PUd%w6a^1T5z&znSrv((>_@y^m+uXYOxcTt?Ye6c6x4-d{Ms=9GuC~kiR`b#O zG;|~2`}OLpdaj_55H{5yy>?B!LDv5%ZKrtoYS&OMx-UC_Wdp4$1Qx+SmO%-SR0*B= zb0Ci>dEKcks54QVkR&g}4QN>utAy%{Ln~9NvT$Bs?H)k=3Isu`f5lT~N8hrQz>2#7 zP$YdkR9qzC_^dJ*EBOJdq8As=z+K#4k%?}~g##Pi7S2ieCmPm@7^n5H-q31Qmqp0* znVeG3U5H{Cw&rO~$k}grAk|&02I`u4fgt=%IRPb*+*%*f9%8bWA$*Z&TNT?+s2WpW zT|dwdjreKV`j~oD%tylvs`qE?m^bp~w3K{Di#fukhs`g1{fOq)Bxe=!pZs5%-;uO) z@}hn2E$M7yHEN7*H23amT;BPbN28&~SvAtPwTcJPQyKzvP`*Yy<F+A4>J%9f^;PIQPYt1&<@`Jo!rcot7y@4b3l3ogPR+pHRB zF>fdyM4S5RU6_*|TtNM^N*PxhSp<3PS7SB=iKk*@5HiBa*Iws{$HOd8;Mv_bl%)8Q z@6a+RfX?vp32XwX;$^^dhqyDNwuX#QDkuvXE`y|r4`wJ95gF372}b$qDL zRd?F5+CajmtP0?`*eQl=WEf2ilaLp9MU$B@(c2))t2p`n=Rs*wba8*B9l=kTp#a#e zG?yk)ffYPZE@Tu>v&ga#FDIHfp>{dM$^O>-aT*%M@U-rIx?Ndpu|}hbIvuix*|#m* zbCeGH2+Z{y)BPJC8Sr1z%K|@QVQbt_u&-y1REX%4≺e((&1|)#ihbm~$qs5>30e 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 z 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

    3R6s?00_qQ@rzzFT;QB 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

    w+SaxP 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 literal 0 HcmV?d00001 diff --git a/docs/simulation/isaac_sim/spawning_drones.md b/docs/simulation/isaac_sim/spawning_drones.md new file mode 100644 index 00000000..692c621a --- /dev/null +++ b/docs/simulation/isaac_sim/spawning_drones.md @@ -0,0 +1,72 @@ +# Spawning Drones + +The reference launch scripts under `simulation/isaac-sim/launch_scripts/` cover the progression from a single drone in an empty world up to multiple drones in a custom imported scene with per-drone GPS origins: + +| Script | Purpose | +|---|---| +| `barebones_pegasus_launch.py` | Minimal Pegasus boilerplate. Single drone, default environment, no scene import. Use as a template for new launch scripts. | +| `example_one_px4_pegasus_launch_script.py` | One PX4 drone with the standard sensor stack (ZED stereo, optional Ouster lidar) in the default environment. | +| `example_multi_px4_pegasus_launch_script.py` | `NUM_ROBOTS` drones spawned in a row in the default environment. Each drone gets its own ROS domain id (`1..N`). | +| `example_multi_drone_scene_import.py` | `NUM_ROBOTS` drones in an **imported scene** (USD from a Nucleus server) with per-drone GPS homes set via `gps_utils.set_gps_origins`. Use this as the starting point for any custom scene. | + +The first three are vanilla Pegasus patterns; this page focuses on the multi-drone + custom-scene case where you also need correct GPS homes. + +## The DRONE_CONFIGS pattern + +`example_multi_drone_scene_import.py` declares all per-drone settings in a single list: + +```python +DRONE_CONFIGS = [ + {"domain_id": 1, "x_m": -3.0, "y_m": 3.5, "z_m": 0.15, "orient": [0, 0, 0, 1]}, + {"domain_id": 2, "x_m": 3.0, "y_m": 3.0, "z_m": 0.15, "orient": [0, 0, 0, 1]}, +] +``` + +| Field | Purpose | +|---|---| +| `domain_id` | ROS domain id and PX4 vehicle id. The robot container with `ROS_DOMAIN_ID=1` will see this drone. | +| `x_m`, `y_m`, `z_m` | World-frame spawn position in metres. Convention: `+X = East`, `+Y = North`, `+Z = Up`. | +| `orient` | Spawn orientation quaternion `[x, y, z, w]`. | + +To add another drone, append an entry with a fresh `domain_id` and a non-overlapping spawn position. Make sure the corresponding robot container is launched with the same `ROS_DOMAIN_ID` (`NUM_ROBOTS=N airstack up robot-desktop`). + +## Per-drone GPS home — `gps_utils` + +PX4 needs a GPS home per vehicle. `simulation/isaac-sim/launch_scripts/gps_utils.py` derives one from each drone's world-frame spawn position so all drones share a consistent geographic anchor and end up at distinct GPS coordinates spaced according to their spawn offsets. + +```python +from gps_utils import set_gps_origins, DEFAULT_WORLD_ORIGIN + +set_gps_origins(DRONE_CONFIGS) # call once before spawning vehicles +``` + +`set_gps_origins` does two things per drone: + +1. Calls `compute_gps_origin(x_m, y_m, z_m, world_origin)` to convert the spawn offset into `(lat, lon, alt)`. The conversion is a flat-Earth approximation — accurate at scene scales (a few hundred metres), not at continental scale. +2. Writes `PX4_HOME_LAT_`, `PX4_HOME_LON_`, `PX4_HOME_ALT_` into the process environment. The Pegasus PX4 OmniGraph node reads these when building each drone's `PX4MavlinkBackendConfig`, which passes them to the PX4 SITL subprocess as `PX4_HOME_LAT/LON/ALT`. + +### World anchor + +The world origin maps to `DEFAULT_WORLD_ORIGIN = (38.736832, -9.137977, 90.0)` — Lisbon, matching the Pegasus default. Override it for a scene set elsewhere: + +```python +set_gps_origins(DRONE_CONFIGS, world_origin=(40.4433, -79.9436, 280.0)) # Pittsburgh +``` + +The anchor only affects the geographic location reported via GPS; nothing in the scene moves. Pick something close to where you want the drones to "be" — Foxglove's Map panel will center on it, and any GPS-referenced inputs to your stack will be relative to it. + +## Common issues + +| Symptom | Likely cause | Fix | +|---|---|---| +| Drone shows up at the world origin in Foxglove despite being elsewhere in sim | `set_gps_origins` not called, or called *after* spawn | Move the call before vehicle spawning | +| All drones share one GPS coordinate | `domain_id` collision in `DRONE_CONFIGS` | Give each drone a unique `domain_id` | +| Map panel centers on the wrong city | Wrong `world_origin` | Override the second arg to `set_gps_origins` | +| Drone position drifts in the wrong compass direction | Stage axis mismatch | Swap `x_m` ↔ `y_m` in `gps_utils.compute_gps_origin` | +| Robot container can't see the drone's topics | `ROS_DOMAIN_ID` ≠ `domain_id` in DRONE_CONFIGS | Match them, or set `NUM_ROBOTS` correctly | + +## See also + +- [Pegasus Scene Setup](pegasus_scene_setup.md) — single-drone authoring background +- [Overhead Camera](overhead_camera.md) — topdown ground texture +- [GCS Foxglove Visualization](../../gcs/foxglove.md) — how multi-robot poses render on the GCS diff --git a/gcs/docker/.bashrc b/gcs/docker/.bashrc index 03ffeb85..ba851a34 100644 --- a/gcs/docker/.bashrc +++ b/gcs/docker/.bashrc @@ -10,55 +10,6 @@ ROS2_WS_DIR="$HOME/AirStack/gcs/ros_ws" # needed for communication with Isaac Sim ROS2 # https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#enabling-the-ros-bridge-extension export FASTRTPS_DEFAULT_PROFILES_FILE="$ROS2_WS_DIR/src/fastdds.xml" -# HITL DDS mode: -# - server (default): use Fast DDS Discovery Server via ROS_DISCOVERY_SERVER. -# - static-peer: generate a temporary Fast DDS profile with one initial peer. -if [ "${HITL_DISCOVERY_MODE:-}" = "static-peer" ]; then - if [ -n "${FASTDDS_STATIC_PEER_IP:-}" ]; then - cat > /tmp/fastdds_static_peer.xml < - - - - UdpTransport - UDPv4 - - - - - - UdpTransport - - false - - - - -

    ${FASTDDS_STATIC_PEER_IP}
    - - - - - - - -EOF - export FASTRTPS_DEFAULT_PROFILES_FILE="/tmp/fastdds_static_peer.xml" - fi - unset ROS_DISCOVERY_SERVER -elif [ -n "${DISCOVERY_SERVER_IP:-}" ]; then - discovery_server_list="${DISCOVERY_SERVER_IP}:${DISCOVERY_SERVER_PORT:-11811}" - if [ -n "${DISCOVERY_SERVER_BACKUP_IPS:-}" ]; then - IFS=',' read -r -a discovery_backup_ips <<< "${DISCOVERY_SERVER_BACKUP_IPS}" - for backup_ip in "${discovery_backup_ips[@]}"; do - if [ -n "${backup_ip}" ]; then - discovery_server_list="${discovery_server_list};${backup_ip}:${DISCOVERY_SERVER_PORT:-11811}" - fi - done - fi - export ROS_DISCOVERY_SERVER="${discovery_server_list}" -fi - # fix ROS2 jazzy setuptools deprecation warning https://robotics.stackexchange.com/questions/24230/setuptoolsdeprecationwarning-in-ros2-jazzy/24349#24349 PYTHONWARNINGS="ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" export PYTHONWARNINGS diff --git a/gcs/docker/docker-compose.yaml b/gcs/docker/docker-compose.yaml index 88f5c821..b73f9bc8 100644 --- a/gcs/docker/docker-compose.yaml +++ b/gcs/docker/docker-compose.yaml @@ -27,12 +27,3 @@ services: - $HOME/bags:/bags # TODO: Update rviz config location if needed - ../plot:/plot - - # =================================================================================================================== - # hitl alias for host-network GCS with discovery-server client defaults. - gcs-hitl: - profiles: !override - - hitl - extends: - file: ./docker-compose.yaml - service: gcs-real diff --git a/gcs/docker/gcs-base-docker-compose.yaml b/gcs/docker/gcs-base-docker-compose.yaml index e495d3c4..13bc4422 100644 --- a/gcs/docker/gcs-base-docker-compose.yaml +++ b/gcs/docker/gcs-base-docker-compose.yaml @@ -14,14 +14,6 @@ services: ssh service restart; python3 /root/AirStack/gcs/foxglove_extensions/install.sh; tmux new -d -s bringup; - if [ \"$${HITL_DISCOVERY_MODE:-}\" = 'server' ]; then - if command -v fastdds >/dev/null 2>&1; then - tmux new-window -t bringup -n dds_discovery; - tmux send-keys -t bringup:dds_discovery 'fastdds discovery -i $${DISCOVERY_SERVER_ID:-0} -l 0.0.0.0 -p $${DISCOVERY_SERVER_PORT:-11811}' ENTER; - else - echo '[WARN] fastdds CLI not found in gcs container; discovery server not started.'; - fi; - fi; if [ $$AUTOLAUNCH = 'true' ]; then tmux send-keys -t bringup:0.0 'bws && sws; ros2 launch desktop_bringup gcs.launch.xml' ENTER; fi; diff --git a/gcs/gcs_bringup/src/robot_2_relative_position.py b/gcs/gcs_bringup/src/robot_2_relative_position.py deleted file mode 100644 index f85ad2ed..00000000 --- a/gcs/gcs_bringup/src/robot_2_relative_position.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env python3 -import rclpy -from rclpy.node import Node -from nav_msgs.msg import Odometry - -class RelativePositionNode(Node): - def __init__(self, robot_1_init): - super().__init__('robot_2_relative_position') - self.robot_1_init = robot_1_init # (x, y, z) - self.robot_1_pos = None - self.robot_2_pos = None - self.rel_pub = self.create_publisher(Odometry, '/robot_2/relative_position', 10) - self.create_subscription( - Odometry, - '/robot_1/odometry_conversion/odometry', - self.robot_1_callback, - 10 - ) - self.create_subscription( - Odometry, - '/robot_2/odometry_conversion/odometry', - self.robot_2_callback, - 10 - ) - - def robot_1_callback(self, msg): - self.robot_1_pos = ( - msg.pose.pose.position.x, - msg.pose.pose.position.y, - msg.pose.pose.position.z - ) - - def robot_2_callback(self, msg): - self.robot_2_pos = ( - msg.pose.pose.position.x, - msg.pose.pose.position.y, - msg.pose.pose.position.z - ) - self.publish_relative(msg) - - def publish_relative(self, msg): - if self.robot_1_pos is None or self.robot_2_pos is None: - return - rel = [self.robot_2_pos[i] - self.robot_1_pos[i] for i in range(3)] - rel_msg = Odometry() - rel_msg.header = msg.header - rel_msg.pose.pose.position.x = rel[0] - rel_msg.pose.pose.position.y = rel[1] - rel_msg.pose.pose.position.z = rel[2] - self.rel_pub.publish(rel_msg) - -def main(args=None): - rclpy.init(args=args) - robot_1_init = [20.0, -7, 0.0015] - node = RelativePositionNode(robot_1_init) - rclpy.spin(node) - node.destroy_node() - rclpy.shutdown() - -if __name__ == '__main__': - main() diff --git a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml index d5b823d7..ba3bba4f 100644 --- a/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml +++ b/gcs/ros_ws/src/gcs_visualizer/launch/gcs_visualizer.launch.xml @@ -4,6 +4,8 @@ + + diff --git a/mkdocs.yml b/mkdocs.yml index dbddf243..46cee943 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -82,6 +82,8 @@ nav: - docs/simulation/isaac_sim/index.md - Docker: docs/simulation/isaac_sim/docker.md - docs/simulation/isaac_sim/pegasus_scene_setup.md + - Spawning Drones: docs/simulation/isaac_sim/spawning_drones.md + - Overhead Camera: docs/simulation/isaac_sim/overhead_camera.md - docs/simulation/isaac_sim/ascent_sitl_extension.md - docs/simulation/isaac_sim/export_stages_from_unreal.md - Microsoft AirSim (legacy): @@ -160,6 +162,9 @@ nav: - docs/gcs/docker/index.md - Usage: - User Interface: docs/gcs/usage/user_interface.md + - Foxglove: + - Visualization: docs/gcs/foxglove.md + - Adding Waypoints & Geofences: docs/gcs/waypoints_and_geofences.md - Command Center: - docs/gcs/command_center/command_center.md - Casualty Assessment: diff --git a/robot/docker/.bashrc b/robot/docker/.bashrc index e64f0910..20c01270 100755 --- a/robot/docker/.bashrc +++ b/robot/docker/.bashrc @@ -10,55 +10,6 @@ ROS2_WS_DIR="$HOME/AirStack/robot/ros_ws" # needed for communication with Isaac Sim ROS2 # https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#enabling-the-ros-bridge-extension export FASTRTPS_DEFAULT_PROFILES_FILE="$ROS2_WS_DIR/src/fastdds.xml" -# HITL DDS mode: -# - server (default): use Fast DDS Discovery Server via ROS_DISCOVERY_SERVER. -# - static-peer: generate a temporary Fast DDS profile with one initial peer. -if [ "${HITL_DISCOVERY_MODE:-}" = "static-peer" ]; then - if [ -n "${FASTDDS_STATIC_PEER_IP:-}" ]; then - cat > /tmp/fastdds_static_peer.xml < - - - - UdpTransport - UDPv4 - - - - - - UdpTransport - - false - - - - -
    ${FASTDDS_STATIC_PEER_IP}
    -
    -
    -
    -
    -
    -
    -
    -EOF - export FASTRTPS_DEFAULT_PROFILES_FILE="/tmp/fastdds_static_peer.xml" - fi - unset ROS_DISCOVERY_SERVER -elif [ -n "${DISCOVERY_SERVER_IP:-}" ]; then - discovery_server_list="${DISCOVERY_SERVER_IP}:${DISCOVERY_SERVER_PORT:-11811}" - if [ -n "${DISCOVERY_SERVER_BACKUP_IPS:-}" ]; then - IFS=',' read -r -a discovery_backup_ips <<< "${DISCOVERY_SERVER_BACKUP_IPS}" - for backup_ip in "${discovery_backup_ips[@]}"; do - if [ -n "${backup_ip}" ]; then - discovery_server_list="${discovery_server_list};${backup_ip}:${DISCOVERY_SERVER_PORT:-11811}" - fi - done - fi - export ROS_DISCOVERY_SERVER="${discovery_server_list}" -fi - # fix ROS2 jazzy setuptools deprecation warning https://robotics.stackexchange.com/questions/24230/setuptoolsdeprecationwarning-in-ros2-humble/24349#24349 PYTHONWARNINGS="ignore:easy_install command is deprecated,ignore:setup.py install is deprecated" export PYTHONWARNINGS diff --git a/robot/docker/Dockerfile.robot b/robot/docker/Dockerfile.robot index b7c28afa..7b0e4a28 100644 --- a/robot/docker/Dockerfile.robot +++ b/robot/docker/Dockerfile.robot @@ -1,7 +1,5 @@ # either ubuntu:24.04 or l4t. ubuntu:24.04 is default ARG BASE_IMAGE -ARG ENABLE_RAYFRONTS=false -ARG FINAL_STAGE=runtime # ============================================================ # Stage 1 — builder: compile/download everything # ============================================================ @@ -14,7 +12,6 @@ ARG UPDATE_FLAGS="-o Acquire::AllowInsecureRepositories=true -o Acquire::AllowDo ARG INSTALL_FLAGS="-o APT::Get::AllowUnauthenticated=true" ARG SKIP_MACVO=false ARG SKIP_TENSORRT=false -ARG ENABLE_RAYFRONTS # from https://github.com/athackst/dockerfiles/blob/main/ros2/jazzy.Dockerfile ENV DEBIAN_FRONTEND=noninteractive @@ -137,7 +134,6 @@ RUN pip3 install --break-system-packages --ignore-installed \ six \ toml \ scipy \ - scikit-learn \ pypose \ rich \ tqdm \ @@ -158,15 +154,8 @@ RUN pip3 install --break-system-packages --ignore-installed \ # Install MACVO Python dependencies (skipped if SKIP_MACVO=true) RUN if [ "${SKIP_MACVO}" != "true" ]; then \ - if [ "${ENABLE_RAYFRONTS}" = "true" ]; then \ - pip3 install --break-system-packages \ - --index-url https://download.pytorch.org/whl/cu130 \ - torch==2.9.1 torchvision torchaudio && \ - pip3 install --break-system-packages onnx tensorrt; \ - else \ - pip3 install --break-system-packages \ - torch torchvision onnx tensorrt; \ - fi; \ + pip3 install --break-system-packages \ + torch torchvision onnx tensorrt; \ fi # Downloading model weights for MACVO (skipped if SKIP_MACVO=true) @@ -202,42 +191,6 @@ RUN mkdir -p /tmp/DDS-Router/src \ && colcon build --merge-install --install-base /usr/local \ && rm -rf /tmp/DDS-Router -# RayFronts deps (builder-stage, gated on ENABLE_RAYFRONTS=true) -RUN if [ "${ENABLE_RAYFRONTS}" = "true" ]; then \ - pip3 install --break-system-packages \ - hydra-core open_clip_torch "transformers<5" \ - git+https://github.com/facebookresearch/segment-anything.git \ - ftfy regex nanobind pandas protobuf \ - "scipy==1.15.2" "scikit-image" "numpy<2" && \ - pip3 install --break-system-packages \ - torch-scatter==2.1.2 && \ - pip3 install --break-system-packages --force-reinstall --no-deps \ - setuptools==79.0.1; \ - fi - -# Re-pin empy to 3.x. The RayFronts block above transitively upgrades it via -# transformers/bloom/colcon-core to 4.x, which is API-incompatible with -# rosidl_generator_rs and breaks the workspace build with -# "TransientParseError: not enough data to read" on rmw.rs.em. -RUN pip3 install --break-system-packages --force-reinstall empy==3.3.4 - -# Patched OpenVDB (OasisArtisan fork) — exposes Int8Grid to Python bindings -RUN if [ "${ENABLE_RAYFRONTS}" = "true" ]; then \ - apt-get ${UPDATE_FLAGS} update && apt-get ${INSTALL_FLAGS} install -y --no-install-recommends \ - libboost-iostreams-dev libtbb-dev libblosc-dev python3-dev && \ - git clone --depth 1 https://github.com/OasisArtisan/openvdb /tmp/openvdb && \ - cmake -S /tmp/openvdb -B /tmp/openvdb/build \ - -DCMAKE_INSTALL_PREFIX=/usr/local \ - -DOPENVDB_BUILD_PYTHON_MODULE=ON \ - -DOPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON \ - -DUSE_NUMPY=ON \ - -Dnanobind_DIR=$(python3 -c "import nanobind,os;print(os.path.join(os.path.dirname(nanobind.__file__),'cmake'))") && \ - cmake --build /tmp/openvdb/build -j4 && \ - cmake --install /tmp/openvdb/build && \ - rm -rf /tmp/openvdb && \ - rm -rf /var/lib/apt/lists/*; \ - fi - # Cleanup RUN apt autoremove -y \ && apt clean -y \ @@ -399,15 +352,3 @@ RUN echo 'root:airstack' | chpasswd \ EXPOSE 22 WORKDIR /root/AirStack/robot/ros_ws - - -# runtime + compiled RayFronts (only reached when FINAL_STAGE=runtime-rayfronts) -FROM runtime AS runtime-rayfronts -COPY ./common/rayfronts /opt/rayfronts -COPY ./common/rayfronts_configs/ /opt/rayfronts/rayfronts/configs/ -RUN apt-get update && apt-get install -y --no-install-recommends \ - cmake build-essential python3-dev \ - && cd /opt/rayfronts && CMAKE_INSTALL_PREFIX=/usr/local ./compile.sh \ - && rm -rf /var/lib/apt/lists/* - -FROM ${FINAL_STAGE} AS final diff --git a/robot/docker/docker-compose.yaml b/robot/docker/docker-compose.yaml index b2f5c444..888fa2ef 100644 --- a/robot/docker/docker-compose.yaml +++ b/robot/docker/docker-compose.yaml @@ -11,13 +11,9 @@ services: service: robot_base image: &desktop_image ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${VERSION}_robot-x86-64_${DOCKER_IMAGE_BUILD_MODE} build: - # context at repo root so runtime-rayfronts stage can COPY ./common/rayfronts - context: ../../ - dockerfile: robot/docker/Dockerfile.robot + dockerfile: ./Dockerfile.robot args: BASE_IMAGE: nvidia/cuda:13.0.2-base-ubuntu24.04 - ENABLE_RAYFRONTS: "true" - FINAL_STAGE: runtime-rayfronts tags: - *desktop_image cache_from: @@ -57,26 +53,6 @@ services: count: 1 capabilities: [gpu] - # =================================================================================================================== - # hitl desktop: run full robot stack on a desktop host network for multi-machine HITL. - robot-desktop-hitl: - profiles: !override - - hitl - extends: - file: ./docker-compose.yaml - service: robot-desktop - network_mode: host - networks: !reset null - ports: !reset {} - deploy: !reset {} - environment: - - AUTONOMY_ROLE=full - - ROBOT_NAME=${ROBOT_NAME:-robot_1} - - ROS_DOMAIN_ID=${ROS_DOMAIN_ID:-1} - # HITL uses host networking; default bridge IP (172.31.0.200) is not reachable here. - # Point SIM_IP at the host running Isaac Sim (override in .env as needed). - - SIM_IP=${SIM_IP:-192.168.233.25} - # =================================================================================================================== # desktop_split: simulates onboard computer on desktop for debugging the split configuration. # Same image as robot-desktop; role=onboard means only lite autonomy modules launch. diff --git a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml index cd50c1c5..c0e7dcf4 100644 --- a/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml +++ b/robot/ros_ws/src/global/global_bringup/launch/global.launch.xml @@ -6,8 +6,6 @@ - -

    0R*7M*_Q1RtMDC7xj-)hl?`f%4 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