From 67f9c50f7df027a9fc7e0ee44c15990c646c3840 Mon Sep 17 00:00:00 2001 From: Marina Moreira Date: Thu, 22 Jun 2023 14:45:17 -0700 Subject: [PATCH 1/5] making spawn changes and adding double handed cargo --- .../isaac_gazebo/launch/spawn_object.launch | 25 +- .../launch/start_simulation.launch | 5 +- ...{cargo_bag.urdf.xacro => cargo.urdf.xacro} | 4 +- description/urdf/cargo_double.urdf.xacro | 62 +++ .../{socks.urdf.xacro => sock.urdf.xacro} | 0 isaac/launch/controller/sim_start.launch | 2 + isaac/launch/sim.launch | 4 + isaac/resources/rviz/iss.rviz | 402 +++++++++--------- scripts/setup/install_desktop_packages.sh | 40 +- 9 files changed, 308 insertions(+), 236 deletions(-) rename description/urdf/{cargo_bag.urdf.xacro => cargo.urdf.xacro} (97%) create mode 100755 description/urdf/cargo_double.urdf.xacro rename description/urdf/{socks.urdf.xacro => sock.urdf.xacro} (100%) diff --git a/astrobee/simulation/isaac_gazebo/launch/spawn_object.launch b/astrobee/simulation/isaac_gazebo/launch/spawn_object.launch index d487526a..bfe7a520 100644 --- a/astrobee/simulation/isaac_gazebo/launch/spawn_object.launch +++ b/astrobee/simulation/isaac_gazebo/launch/spawn_object.launch @@ -21,26 +21,11 @@ - - - - - - - - - - - - - - + + + + + diff --git a/astrobee/simulation/isaac_gazebo/launch/start_simulation.launch b/astrobee/simulation/isaac_gazebo/launch/start_simulation.launch index 81070506..3192d523 100644 --- a/astrobee/simulation/isaac_gazebo/launch/start_simulation.launch +++ b/astrobee/simulation/isaac_gazebo/launch/start_simulation.launch @@ -22,6 +22,7 @@ + @@ -31,12 +32,12 @@ + args="-e $(arg physics) $(arg world)" /> + args="-e $(arg physics) $(arg world)" /> diff --git a/description/urdf/cargo_bag.urdf.xacro b/description/urdf/cargo.urdf.xacro similarity index 97% rename from description/urdf/cargo_bag.urdf.xacro rename to description/urdf/cargo.urdf.xacro index e5e9225d..27a8def8 100755 --- a/description/urdf/cargo_bag.urdf.xacro +++ b/description/urdf/cargo.urdf.xacro @@ -2,12 +2,12 @@ - + diff --git a/description/urdf/cargo_double.urdf.xacro b/description/urdf/cargo_double.urdf.xacro new file mode 100755 index 00000000..64f3b41e --- /dev/null +++ b/description/urdf/cargo_double.urdf.xacro @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 62.5 + world + body + true + false + false + false + + + diff --git a/description/urdf/socks.urdf.xacro b/description/urdf/sock.urdf.xacro similarity index 100% rename from description/urdf/socks.urdf.xacro rename to description/urdf/sock.urdf.xacro diff --git a/isaac/launch/controller/sim_start.launch b/isaac/launch/controller/sim_start.launch index be4c26a5..3317f759 100644 --- a/isaac/launch/controller/sim_start.launch +++ b/isaac/launch/controller/sim_start.launch @@ -22,6 +22,7 @@ + @@ -30,5 +31,6 @@ + diff --git a/isaac/launch/sim.launch b/isaac/launch/sim.launch index a9b9b42c..15c790d5 100644 --- a/isaac/launch/sim.launch +++ b/isaac/launch/sim.launch @@ -29,6 +29,8 @@ + + @@ -166,6 +168,7 @@ + @@ -175,6 +178,7 @@ + diff --git a/isaac/resources/rviz/iss.rviz b/isaac/resources/rviz/iss.rviz index d75f7162..a0681156 100644 --- a/isaac/resources/rviz/iss.rviz +++ b/isaac/resources/rviz/iss.rviz @@ -5,12 +5,11 @@ Panels: Property Tree Widget: Expanded: - /Debug1 - - /Debug1/Sensors1 - /Debug1/Mobility1/Mapper1 - /ISAAC1 - /Cargo Bags1/Cargo Estimate1 - Splitter Ratio: 0.596541762 - Tree Height: 250 + Splitter Ratio: 0.5965417623519897 + Tree Height: 234 - Class: rviz/Selection Name: Selection - Class: rviz/Tool Properties @@ -19,17 +18,18 @@ Panels: - /2D Nav Goal1 - /Publish Point1 Name: Tool Properties - Splitter Ratio: 0.588679016 + Splitter Ratio: 0.5886790156364441 - Class: rviz/Views Expanded: - /Current View1 Name: Views Splitter Ratio: 0.5 - Class: rviz/Time - Experimental: false Name: Time SyncMode: 0 SyncSource: "" +Preferences: + PromptSaveOnExit: true Toolbars: toolButtonStyle: 2 Visualization Manager: @@ -37,17 +37,11 @@ Visualization Manager: Displays: - Class: rviz/TF Enabled: true + Filter (blacklist): "" + Filter (whitelist): "" Frame Timeout: 15 Frames: All Enabled: false - CTB_05_1050/body: - Value: true - CTB_05_1060/body: - Value: true - CTB_05_1070/body: - Value: true - CTB_05_1080/body: - Value: true RFID1: Value: true RFID1/body: @@ -62,97 +56,103 @@ Visualization Manager: Value: true body: Value: true - cargo/approach: + bumble/ar_tag: Value: true - cargo/berth: + bumble/body: Value: true - cargo/body: + bumble/cam: Value: true - cargo/complete: + bumble/dock/body: Value: true - cargo_goal/approach: + bumble/dock_cam: Value: true - cargo_goal/berth: + bumble/flashlight_aft: Value: true - cargo_goal/body: + bumble/flashlight_front: Value: true - cargo_goal/complete: + bumble/handrail/approach: Value: true - dock/berth1: + bumble/handrail/body: Value: true - dock/berth1/approach: + bumble/handrail/complete: Value: true - dock/berth1/complete: + bumble/haz_cam: Value: true - dock/berth2: + bumble/imu: Value: true - dock/berth2/approach: + bumble/inertial_link: Value: true - dock/berth2/complete: + bumble/laser: Value: true - dock/body: + bumble/nav_cam: Value: true - granite/body: + bumble/payload/bottom_aft: Value: true - handrail/approach: + bumble/payload/bottom_front: Value: true - handrail/body: + bumble/payload/top_aft: Value: true - handrail/complete: + bumble/payload/top_front: Value: true - iss/body: + bumble/perch_cam: Value: true - perch/body: + bumble/sci_cam: + Value: true + bumble/soundsee: + Value: true + bumble/target: Value: true - queen/ar_tag: + bumble/top_aft: Value: true - queen/body: + bumble/top_aft_arm_distal_link: Value: true - queen/dock/body: + bumble/top_aft_arm_proximal_link: Value: true - queen/dock_cam: + bumble/top_aft_gripper_left_distal_link: Value: true - queen/flashlight_aft: + bumble/top_aft_gripper_left_proximal_link: Value: true - queen/flashlight_front: + bumble/top_aft_gripper_right_distal_link: Value: true - queen/haz_cam: + bumble/top_aft_gripper_right_proximal_link: Value: true - queen/imu: + bumble/truth: Value: true - queen/inertial_link: + cargo/approach: + Value: true + cargo/berth: Value: true - queen/laser: + cargo/body: Value: true - queen/nav_cam: + cargo/complete: Value: true - queen/payload/bottom_aft: + cargo_goal/approach: Value: true - queen/payload/bottom_front: + cargo_goal/berth: Value: true - queen/payload/top_aft: + cargo_goal/body: Value: true - queen/payload/top_front: + cargo_goal/complete: Value: true - queen/perch_cam: + dock/berth1: Value: true - queen/sci_cam: + dock/berth1/approach: Value: true - queen/top_aft: + dock/berth1/complete: Value: true - queen/top_aft_arm_distal_link: + dock/berth2: Value: true - queen/top_aft_arm_proximal_link: + dock/berth2/approach: Value: true - queen/top_aft_gripper_left_distal_link: + dock/berth2/complete: Value: true - queen/top_aft_gripper_left_proximal_link: + dock/body: Value: true - queen/top_aft_gripper_right_distal_link: + granite/body: Value: true - queen/top_aft_gripper_right_proximal_link: + iss/body: Value: true - queen/truth: + perch/body: Value: true rviz: Value: true @@ -166,21 +166,37 @@ Visualization Manager: Value: true world: Value: true - Marker Scale: 0.300000012 + Marker Alpha: 1 + Marker Scale: 0.30000001192092896 Name: TF Show Arrows: false Show Axes: true Show Names: true Tree: - world: - CTB_05_1050/body: + body: + wifi_receiver: {} - CTB_05_1060/body: + bumble/cam: + bumble/target: {} - CTB_05_1070/body: + bumble/handrail/body: + bumble/handrail/approach: {} - CTB_05_1080/body: + bumble/handrail/complete: {} + cargo/berth: + cargo/body: + cargo/approach: + {} + cargo/complete: + {} + cargo_goal/berth: + cargo_goal/body: + cargo_goal/approach: + {} + cargo_goal/complete: + {} + world: RFID1: {} RFID1/body: @@ -193,66 +209,68 @@ Visualization Manager: {} RFID3/body: {} - dock/body: - dock/berth1: - dock/berth1/approach: - {} - dock/berth1/complete: - {} - dock/berth2: - dock/berth2/approach: - {} - dock/berth2/complete: - {} - granite/body: - {} - iss/body: - {} - perch/body: - {} - queen/body: - queen/ar_tag: + bumble/body: + bumble/ar_tag: + {} + bumble/dock_cam: {} - queen/dock_cam: + bumble/flashlight_aft: {} - queen/flashlight_aft: + bumble/flashlight_front: {} - queen/flashlight_front: + bumble/haz_cam: {} - queen/haz_cam: + bumble/imu: {} - queen/imu: + bumble/inertial_link: {} - queen/inertial_link: + bumble/laser: {} - queen/laser: + bumble/nav_cam: {} - queen/nav_cam: + bumble/payload/bottom_aft: {} - queen/payload/bottom_aft: + bumble/payload/bottom_front: {} - queen/payload/bottom_front: + bumble/payload/top_aft: {} - queen/payload/top_aft: + bumble/payload/top_front: {} - queen/payload/top_front: + bumble/perch_cam: {} - queen/perch_cam: + bumble/sci_cam: {} - queen/sci_cam: + bumble/soundsee: {} - queen/top_aft: - queen/top_aft_arm_proximal_link: - queen/top_aft_arm_distal_link: - queen/top_aft_gripper_left_proximal_link: - queen/top_aft_gripper_left_distal_link: + bumble/top_aft: + bumble/top_aft_arm_proximal_link: + bumble/top_aft_arm_distal_link: + bumble/top_aft_gripper_left_proximal_link: + bumble/top_aft_gripper_left_distal_link: {} - queen/top_aft_gripper_right_proximal_link: - queen/top_aft_gripper_right_distal_link: + bumble/top_aft_gripper_right_proximal_link: + bumble/top_aft_gripper_right_distal_link: {} - queen/dock/body: + bumble/dock/body: + {} + bumble/truth: + {} + dock/body: + dock/berth1: + dock/berth1/approach: + {} + dock/berth1/complete: + {} + dock/berth2: + dock/berth2/approach: + {} + dock/berth2/complete: + {} + granite/body: {} - queen/truth: + iss/body: + {} + perch/body: {} rviz: {} @@ -266,45 +284,47 @@ Visualization Manager: Value: true - Class: rviz/Group Displays: - - Class: rviz/Axes + - Alpha: 1 + Class: rviz/Axes Enabled: true Length: 3 Name: Axes - Radius: 0.00999999978 + Radius: 0.009999999776482582 Reference Frame: world + Show Trail: false Value: true - - Alpha: 0.100000001 + - Alpha: 0.10000000149011612 Cell Size: 1 Class: rviz/Grid Color: 255; 255; 127 Enabled: true Line Style: - Line Width: 0.0299999993 + Line Width: 0.029999999329447746 Value: Billboards Name: Grid 1m Normal Cell Count: 0 Offset: X: 0 Y: 0 - Z: 4.8499999 + Z: 4.849999904632568 Plane: XY Plane Cell Count: 100 Reference Frame: world Value: true - - Alpha: 0.100000001 - Cell Size: 0.100000001 + - Alpha: 0.10000000149011612 + Cell Size: 0.10000000149011612 Class: rviz/Grid Color: 160; 160; 164 Enabled: true Line Style: - Line Width: 0.0299999993 + Line Width: 0.029999999329447746 Value: Lines Name: Grid 0.1m Normal Cell Count: 0 Offset: X: 0 Y: 0 - Z: 4.8499999 + Z: 4.849999904632568 Plane: XY Plane Cell Count: 1000 Reference Frame: world @@ -315,14 +335,14 @@ Visualization Manager: Color: 160; 160; 164 Enabled: true Line Style: - Line Width: 0.0299999993 + Line Width: 0.029999999329447746 Value: Lines Name: Grid 10m Normal Cell Count: 0 Offset: X: 0 Y: 0 - Z: 4.8499999 + Z: 4.849999904632568 Plane: XY Plane Cell Count: 10 Reference Frame: world @@ -399,23 +419,7 @@ Visualization Manager: Link Tree Style: Links in Alphabetic Order Name: Honey Robot Description: /honey/robot_description - TF Prefix: honey - Update Interval: 0 - Value: true - Visual Enabled: true - - Alpha: 1 - Class: rviz/RobotModel - Collision Enabled: false - 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 - Name: Bumble - Robot Description: /bumble/robot_description - TF Prefix: bumble + TF Prefix: "" Update Interval: 0 Value: true Visual Enabled: true @@ -429,50 +433,66 @@ Visualization Manager: Expand Link Details: false Expand Tree: false Link Tree Style: Links in Alphabetic Order - queen/body: + bumble/body: Alpha: 1 Show Axes: false Show Trail: false Value: true - queen/inertial_link: + bumble/inertial_link: Alpha: 1 Show Axes: false Show Trail: false - queen/top_aft: + bumble/top_aft: Alpha: 1 Show Axes: false Show Trail: false Value: true - queen/top_aft_arm_distal_link: + bumble/top_aft_arm_distal_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - queen/top_aft_arm_proximal_link: + bumble/top_aft_arm_proximal_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - queen/top_aft_gripper_left_distal_link: + bumble/top_aft_gripper_left_distal_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - queen/top_aft_gripper_left_proximal_link: + bumble/top_aft_gripper_left_proximal_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - queen/top_aft_gripper_right_distal_link: + bumble/top_aft_gripper_right_distal_link: Alpha: 1 Show Axes: false Show Trail: false Value: true - queen/top_aft_gripper_right_proximal_link: + bumble/top_aft_gripper_right_proximal_link: Alpha: 1 Show Axes: false Show Trail: false Value: true + Name: Bumble + Robot Description: /bumble/robot_description + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Alpha: 1 + Class: rviz/RobotModel + Collision Enabled: false + 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 Name: Queen Robot Description: /queen/robot_description TF Prefix: "" @@ -582,6 +602,7 @@ Visualization Manager: - Class: rviz/Image Enabled: true Image Topic: /hw/depth_haz/extended/amplitude_int + Max Value: 1 Median window: 5 Min Value: 0 Name: "DEBUG: HazCam intensity" @@ -593,8 +614,8 @@ Visualization Manager: - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: - Max Value: 0.541443229 - Min Value: -0.164811939 + Max Value: 0.5414432287216187 + Min Value: -0.16481193900108337 Value: true Axis: Y Channel Name: intensity @@ -605,15 +626,13 @@ Visualization Manager: Enabled: true Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 4096 Min Color: 0; 0; 0 - Min Intensity: 0 Name: HazCam Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 1 - Size (m): 0.00999999978 + Size (m): 0.009999999776482582 Style: Points Topic: /hw/depth_haz/points Unreliable: false @@ -635,15 +654,13 @@ Visualization Manager: Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 4096 Min Color: 0; 0; 0 - Min Intensity: 0 Name: PerchCam Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 1 - Size (m): 0.00999999978 + Size (m): 0.009999999776482582 Style: Points Topic: /hw/depth_perch/points Unreliable: false @@ -669,15 +686,13 @@ Visualization Manager: Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 4096 Min Color: 0; 0; 0 - Min Intensity: 0 Name: Features Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 3 - Size (m): 0.0500000007 + Size (m): 0.05000000074505806 Style: Spheres Topic: /gnc/ekf/features Unreliable: false @@ -686,15 +701,16 @@ Visualization Manager: Value: false - Alpha: 1 Axes Length: 1 - Axes Radius: 0.100000001 + Axes Radius: 0.10000000149011612 Class: rviz/Pose Color: 255; 255; 0 Enabled: true - Head Length: 0.300000012 - Head Radius: 0.100000001 + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 Name: Ground Truth + Queue Size: 10 Shaft Length: 0.5 - Shaft Radius: 0.00999999978 + Shaft Radius: 0.009999999776482582 Shape: Arrow Topic: /loc/truth Unreliable: false @@ -724,11 +740,11 @@ Visualization Manager: Class: rviz/Path Color: 25; 255; 0 Enabled: true - Head Diameter: 0.300000012 - Head Length: 0.200000003 - Length: 0.300000012 + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 Line Style: Lines - Line Width: 0.0299999993 + Line Width: 0.029999999329447746 Name: CurrentPlan Offset: X: 0 @@ -736,9 +752,10 @@ Visualization Manager: Z: 0 Pose Color: 255; 85; 255 Pose Style: None - Radius: 0.0299999993 - Shaft Diameter: 0.100000001 - Shaft Length: 0.100000001 + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 Topic: /mob/choreographer/segment Unreliable: false Value: true @@ -758,10 +775,11 @@ Visualization Manager: Color: 204; 51; 204 Enabled: true History Length: 1 - Line Thickness: 0.100000001 + Line Thickness: 0.10000000149011612 Name: Trajectory Plot Acceleration: false Plot Velocity: false + Queue Size: 10 Style: Mike Tangent Samples: 25 Topic: /mob/planner_qp/trajectory @@ -775,10 +793,11 @@ Visualization Manager: Color: 255; 0; 0 Enabled: false History Length: 1 - Line Thickness: 0.100000001 + Line Thickness: 0.10000000149011612 Name: TrajectoryDebug Plot Acceleration: false Plot Velocity: false + Queue Size: 10 Style: Mike Tangent Samples: 10 Topic: /mob/planner_qp/trajectory_debug @@ -814,7 +833,7 @@ Visualization Manager: {} Queue Size: 100 Value: false - - Alpha: 0.100000001 + - Alpha: 0.10000000149011612 Autocompute Intensity Bounds: true Autocompute Value Bounds: Max Value: 10 @@ -829,15 +848,13 @@ Visualization Manager: Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 4096 Min Color: 0; 0; 0 - Min Intensity: 0 Name: FreeSpace Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 3 - Size (m): 0.100000001 + Size (m): 0.10000000149011612 Style: Boxes Topic: /mob/mapper/free_space_cloud Unreliable: false @@ -847,8 +864,8 @@ Visualization Manager: - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: - Max Value: -3.6400001 - Min Value: -5.23999977 + Max Value: -3.640000104904175 + Min Value: -5.239999771118164 Value: true Axis: Z Channel Name: intensity @@ -859,15 +876,13 @@ Visualization Manager: Enabled: true Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 4096 Min Color: 0; 0; 0 - Min Intensity: 0 Name: Map Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 3 - Size (m): 0.100000001 + Size (m): 0.10000000149011612 Style: Boxes Topic: /mob/mapper/obstacle_cloud Unreliable: false @@ -1015,7 +1030,7 @@ Visualization Manager: Name: Objects - Class: rviz/Group Displays: - - Alpha: 0.699999988 + - Alpha: 0.699999988079071 Class: rviz/RobotModel Collision Enabled: false Enabled: true @@ -1137,7 +1152,10 @@ Visualization Manager: - Class: rviz/FocusCamera - Class: rviz/Measure - Class: rviz/SetInitialPose + Theta std deviation: 0.2617993950843811 Topic: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 - Class: rviz/SetGoal Topic: /move_base_simple/goal - Class: rviz/PublishPoint @@ -1148,41 +1166,41 @@ Visualization Manager: Current: Class: rviz/FPS Enable Stereo Rendering: - Stereo Eye Separation: 0.0599999987 + Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Invert Z Axis: false Name: Current View - Near Clip Distance: 0.00999999978 - Pitch: 0.634796858 + Near Clip Distance: 0.009999999776482582 + Pitch: 0.7547968029975891 Position: - X: 7.19384241 - Y: 7.89102077 - Z: -1.62936008 + X: 8.946130752563477 + Y: 8.705817222595215 + Z: -3.052593469619751 + Roll: 0 Target Frame: rviz - Value: FPS (rviz) - Yaw: 0.435249835 + Yaw: 0.74524986743927 Saved: ~ Window Geometry: "DEBUG: AcousticsCam": collapsed: false "DEBUG: DockCam": collapsed: false + "DEBUG: HazCam intensity": + collapsed: false "DEBUG: HeatCam": collapsed: false "DEBUG: NavCam": collapsed: false "DEBUG: SciCam": collapsed: false - "DEBUG: HazCam": - collapsed: false Displays: collapsed: false - Height: 788 + Height: 1018 Hide Left Dock: false Hide Right Dock: false - QMainWindow State: 000000ff00000000fd00000004000000000000016a000002cefc0200000015fb0000001a00440045004200550047003a0020004e0061007600430061006d0000000028000000f90000001600fffffffb0000001c00440045004200550047003a00200044006f0063006b00430061006d00000000280000016c0000001600fffffffb000000100044006900730070006c00610079007301000000280000013b000000d700fffffffb0000000a0056006900650077007300000002c2000000b5000000ad00fffffffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000002b3000002e100000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002af000000f40000000000000000fb0000000a0049006d00610067006502000000c60000001d0000052f000003f4fb0000000a0049006d006100670065020000016600000075000004ab00000373fb0000000a0049006d00610067006501000004680000014d0000000000000000fb0000000a0049006d0061006700650000000028000003dd0000000000000000fb000000100044006f0063006b002000430061006d0100000143000001090000000000000000fb0000000e004e00610076002000430061006d010000019d000000af0000000000000000fb0000001a00440045004200550047003a002000530063006900430061006d0100000169000000890000001600fffffffb0000001c00440045004200550047003a0020004800650061007400430061006d01000001f8000000810000001600fffffffb0000002600440045004200550047003a002000410063006f00750073007400690063007300430061006d010000027f000000770000001600ffffff000000010000016a0000044ffc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0049006d00610067006500000000330000029b0000000000000000fb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078000000115fc0100000001fb0000000a00560069006500770073030000004e00000080000002e1000001970000000300000780000000fffc0100000002fc00000000000004380000000000fffffffa000000000200000002fb0000001e004d006f00740069006f006e00200050006c0061006e006e0069006e00670100000000ffffffff0000000000000000fb0000000800540069006d00650000000000ffffffff0000003b00fffffffb0000000800540069006d0065010000000000000450000000000000000000000353000002ce00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000016a000003a0fc0200000016fb0000001a00440045004200550047003a0020004e0061007600430061006d0000000028000000f90000001600fffffffb0000001c00440045004200550047003a00200044006f0063006b00430061006d00000000280000016c0000001600fffffffb000000100044006900730070006c006100790073010000003d00000127000000c900fffffffb0000000a0056006900650077007300000002c2000000b5000000a400fffffffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000002b3000002e100000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d00610067006500000002af000000f40000000000000000fb0000000a0049006d00610067006502000000c60000001d0000052f000003f4fb0000000a0049006d006100670065020000016600000075000004ab00000373fb0000000a0049006d00610067006501000004680000014d0000000000000000fb0000000a0049006d0061006700650000000028000003dd0000000000000000fb000000100044006f0063006b002000430061006d0100000143000001090000000000000000fb0000000e004e00610076002000430061006d010000019d000000af0000000000000000fb0000001a00440045004200550047003a002000530063006900430061006d010000016a000000810000001600fffffffb0000001c00440045004200550047003a0020004800650061007400430061006d01000001f1000000790000001600fffffffb0000002600440045004200550047003a002000410063006f00750073007400690063007300430061006d0100000270000000720000001600fffffffb0000002e00440045004200550047003a002000480061007a00430061006d00200069006e00740065006e007300690074007901000002e8000000f50000001600ffffff000000010000016a0000044ffc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0049006d00610067006500000000330000029b0000000000000000fb0000001200530065006c0065006300740069006f006e010000025a000000b20000000000000000000000020000078000000115fc0100000001fb0000000a00560069006500770073030000004e00000080000002e1000001970000000300000780000000fffc0100000002fc00000000000004380000000000fffffffa000000000200000002fb0000001e004d006f00740069006f006e00200050006c0061006e006e0069006e00670100000000ffffffff0000000000000000fb0000000800540069006d00650000000000ffffffff0000003900fffffffb0000000800540069006d0065010000000000000450000000000000000000000433000003a000000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -1191,6 +1209,6 @@ Window Geometry: collapsed: false Views: collapsed: false - Width: 1219 + Width: 1443 X: 62 - Y: 32 + Y: 27 diff --git a/scripts/setup/install_desktop_packages.sh b/scripts/setup/install_desktop_packages.sh index 21cef37a..09bf8d70 100755 --- a/scripts/setup/install_desktop_packages.sh +++ b/scripts/setup/install_desktop_packages.sh @@ -40,30 +40,30 @@ for i in $pkg_files; do pkgs="$pkgs $(<"$i")" done -# if this file exists, we are using the astrobee repository -# need to set up tunnel through m (NASA users only) -if [ -e $arssrc ]; -then - username=${NDC_USERNAME:+${NDC_USERNAME}@} +# # if this file exists, we are using the astrobee repository +# # need to set up tunnel through m (NASA users only) +# if [ -e $arssrc ]; +# then +# username=${NDC_USERNAME:+${NDC_USERNAME}@} - # Add these packages to the apt sources (we remove them later, so apt update succeeds) +# # Add these packages to the apt sources (we remove them later, so apt update succeeds) - NO_TUNNEL=${NO_TUNNEL:-0} # Override this with 1 before invoking if the tunnel is not desired +# NO_TUNNEL=${NO_TUNNEL:-0} # Override this with 1 before invoking if the tunnel is not desired - if [ "${NO_TUNNEL}" -eq 1 ]; then - echo "Getting the custom Debian without tunnel" - sudo /bin/bash -c "echo \"deb [arch=amd64] http://astrobee.ndc.nasa.gov/software_new ${DIST} main\" > $arssrc" || exit 1 - sudo /bin/bash -c "echo \"deb-src http://astrobee.ndc.nasa.gov/software_new ${DIST} main\" >> $arssrc" || exit 1 - else - echo "Tunnelling to get the custom Debian" - sudo /bin/bash -c "echo \"deb [arch=amd64] http://127.0.0.1:8765/software_new ${DIST} main\" > $arssrc" || exit 1 - sudo /bin/bash -c "echo \"deb-src http://127.0.0.1:8765/software_new ${DIST} main\" >> $arssrc" || exit 1 - ssh -N -L 8765:astrobee.ndc.nasa.gov:80 ${username}m.ndc.nasa.gov & - fi +# if [ "${NO_TUNNEL}" -eq 1 ]; then +# echo "Getting the custom Debian without tunnel" +# sudo /bin/bash -c "echo \"deb [arch=amd64] http://astrobee.ndc.nasa.gov/software_new ${DIST} main\" > $arssrc" || exit 1 +# sudo /bin/bash -c "echo \"deb-src http://astrobee.ndc.nasa.gov/software_new ${DIST} main\" >> $arssrc" || exit 1 +# else +# echo "Tunnelling to get the custom Debian" +# sudo /bin/bash -c "echo \"deb [arch=amd64] http://127.0.0.1:8765/software_new ${DIST} main\" > $arssrc" || exit 1 +# sudo /bin/bash -c "echo \"deb-src http://127.0.0.1:8765/software_new ${DIST} main\" >> $arssrc" || exit 1 +# ssh -N -L 8765:astrobee.ndc.nasa.gov:80 ${username}m.ndc.nasa.gov & +# fi - trap "kill $! 2> /dev/null; sudo truncate -s 0 $arssrc; wait $!" 0 HUP QUIT ILL ABRT FPE SEGV PIPE TERM INT - sleep 1 -fi +# trap "kill $! 2> /dev/null; sudo truncate -s 0 $arssrc; wait $!" 0 HUP QUIT ILL ABRT FPE SEGV PIPE TERM INT +# sleep 1 +# fi sudo apt-get update || exit 1 From e1f5d47e9710c257728790694c09cd43351b179c Mon Sep 17 00:00:00 2001 From: Marina Moreira Date: Mon, 17 Jun 2024 10:32:40 -0700 Subject: [PATCH 2/5] running pano build using the docker images --- pano/docker/pano.Dockerfile | 13 ++++++++----- pano/pano_stitch/scripts/pano_image_meta.py | 7 ++++--- pano/pano_stitch/scripts/stitch_panorama.py | 16 ++++++++++++++-- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/pano/docker/pano.Dockerfile b/pano/docker/pano.Dockerfile index 49f1c28b..1f84da54 100644 --- a/pano/docker/pano.Dockerfile +++ b/pano/docker/pano.Dockerfile @@ -14,16 +14,19 @@ RUN apt-get update \ hugin \ libvips-tools \ python3-pip \ + gfortran libopenblas-dev libfftw3-dev \ && rm -rf /var/lib/apt/lists/* # pandas: pulled in as pyshtools dependency but install breaks if not mentioned explicitly (?) # pyshtools: used during Pannellum multires generation # snakemake: modern build system based on Python, manages stitching workflows -RUN pip3 install --no-cache-dir --upgrade pip \ - && pip3 install --no-cache-dir \ - pandas \ - pyshtools \ - snakemake + +# Install Jupyter explicitly first +RUN pip3 install --no-cache-dir --upgrade pip && \ + pip3 install --no-cache-dir jupyter + +# Install other Python packages +RUN pip3 install --no-cache-dir pandas pyshtools snakemake pulp==2.7 --ignore-installed PyYAML # pannellum: library for viewing/navigating panorama tours RUN mkdir -p /opt \ diff --git a/pano/pano_stitch/scripts/pano_image_meta.py b/pano/pano_stitch/scripts/pano_image_meta.py index cd971636..b20934cd 100755 --- a/pano/pano_stitch/scripts/pano_image_meta.py +++ b/pano/pano_stitch/scripts/pano_image_meta.py @@ -26,7 +26,7 @@ import rosbag from tf.transformations import euler_from_quaternion -IMAGE_TOPIC = "/hw/cam_sci/compressed" +IMAGE_TOPIC = ["/hw/cam_sci/compressed", "/hw/cam_sci_info"] POSE_TOPIC = "/loc/pose" FIELD_NAMES = ( "timestamp", @@ -50,8 +50,9 @@ def get_image_meta(inbag_path, num_images=None): images = [] with rosbag.Bag(inbag_path) as bag: img_meta = None - for topic, msg, t in bag.read_messages([IMAGE_TOPIC, POSE_TOPIC]): - if topic == IMAGE_TOPIC: + topics = IMAGE_TOPIC + [POSE_TOPIC] + for topic, msg, t in bag.read_messages(topics): + if topic in IMAGE_TOPIC: if num_images is not None and len(images) == num_images: break diff --git a/pano/pano_stitch/scripts/stitch_panorama.py b/pano/pano_stitch/scripts/stitch_panorama.py index f19446b4..897f7fb1 100755 --- a/pano/pano_stitch/scripts/stitch_panorama.py +++ b/pano/pano_stitch/scripts/stitch_panorama.py @@ -427,12 +427,24 @@ def next(self): def read_pto(pano, pto_path): print("\nread_pto: %s" % pto_path) - pano.ReadPTOFile(pto_path) + try: + # Attempt the first method + ifs = hsi.ifstream(pto_path) + pano.readData(ifs) + except AttributeError: + # Fallback to the second method if the first method fails + pano.ReadPTOFile(pto_path) def write_pto(pano, pto_path): print("\nwrite_pto: %s" % pto_path) - pano.WritePTOFile(pto_path) + try: + # Attempt the first method + ofs = hsi.ofstream(pto_path) + pano.writeData(ofs) + except AttributeError: + # Fallback to the second method if the first method fails + pano.WritePTOFile(pto_path) def get_timestamp(): From b0116bf3963fe14ddc8c9f5dc6fb49e57da17f02 Mon Sep 17 00:00:00 2001 From: Marina Moreira Date: Mon, 24 Jun 2024 15:42:03 -0700 Subject: [PATCH 3/5] fixing function after api change --- dense_map/geometry_mapper/tools/get_depth_data_from_mesh.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dense_map/geometry_mapper/tools/get_depth_data_from_mesh.cc b/dense_map/geometry_mapper/tools/get_depth_data_from_mesh.cc index d7b5f2d8..4a94283f 100644 --- a/dense_map/geometry_mapper/tools/get_depth_data_from_mesh.cc +++ b/dense_map/geometry_mapper/tools/get_depth_data_from_mesh.cc @@ -52,7 +52,7 @@ int main(int argc, char** argv) { "Directory containing groundtruth poses with timestamps as filenames.")( "mesh", po::value()->required(), "Mesh used to provide depth data.")( "config-path,c", po::value()->required(), "Path to astrobee config directory.")( - "robot-config-file,r", po::value(&robot_config_file)->default_value("config/robots/bumble.config"), + "robot-config-file,r", po::value(&robot_config_file)->default_value("bumble.config"), "Robot config file")("world,w", po::value(&world)->default_value("iss"), "World name")( "output-file,o", po::value(&output_file)->default_value("depths.csv"), "Output file containing timestamp, depth, x, y values on each line. Timestamps for which depth data was not " @@ -84,7 +84,6 @@ int main(int argc, char** argv) { const std::string sensor_rays_file = vm["sensor-rays-file"].as(); const std::string groundtruth_directory = vm["groundtruth-directory"].as(); const std::string mesh_file = vm["mesh"].as(); - const std::string config_path = vm["config-path"].as(); // Only pass program name to free flyer so that boost command line options // are ignored when parsing gflags. @@ -104,7 +103,7 @@ int main(int argc, char** argv) { LOG(FATAL) << "Mesh " << mesh_file << " not found."; } - lc::SetEnvironmentConfigs(config_path, world, robot_config_file); + lc::SetEnvironmentConfigs(world, robot_config_file); config_reader::ConfigReader config; config.AddFile("geometry.config"); if (!config.ReadFiles()) { From 4aa644534a9f421020d54dee917a7722198b2b4e Mon Sep 17 00:00:00 2001 From: Marina Moreira Date: Wed, 26 Jun 2024 11:20:57 -0700 Subject: [PATCH 4/5] add reason for splitting pip commands --- pano/docker/pano.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pano/docker/pano.Dockerfile b/pano/docker/pano.Dockerfile index 1f84da54..ea986cd4 100644 --- a/pano/docker/pano.Dockerfile +++ b/pano/docker/pano.Dockerfile @@ -25,7 +25,7 @@ RUN apt-get update \ RUN pip3 install --no-cache-dir --upgrade pip && \ pip3 install --no-cache-dir jupyter -# Install other Python packages +# Install other Python packages: jupyter package needs to be installed before attempting to build pyshtools RUN pip3 install --no-cache-dir pandas pyshtools snakemake pulp==2.7 --ignore-installed PyYAML # pannellum: library for viewing/navigating panorama tours From 61cf769e092b359dcf49fd649278fc9528a79a91 Mon Sep 17 00:00:00 2001 From: Marina Moreira Date: Wed, 26 Jun 2024 11:27:16 -0700 Subject: [PATCH 5/5] accomodate hugin changing API --- pano/pano_stitch/scripts/stitch_panorama.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pano/pano_stitch/scripts/stitch_panorama.py b/pano/pano_stitch/scripts/stitch_panorama.py index 897f7fb1..f30ff5b5 100755 --- a/pano/pano_stitch/scripts/stitch_panorama.py +++ b/pano/pano_stitch/scripts/stitch_panorama.py @@ -427,6 +427,7 @@ def next(self): def read_pto(pano, pto_path): print("\nread_pto: %s" % pto_path) + # Accomodate hugin changing API try: # Attempt the first method ifs = hsi.ifstream(pto_path) @@ -438,6 +439,7 @@ def read_pto(pano, pto_path): def write_pto(pano, pto_path): print("\nwrite_pto: %s" % pto_path) + # Accomodate hugin changing API try: # Attempt the first method ofs = hsi.ofstream(pto_path)