From 1399f005354e062951548ebf6248533573395b01 Mon Sep 17 00:00:00 2001 From: Ashton Larkin <42042756+adlarkin@users.noreply.github.com> Date: Wed, 10 Feb 2021 23:14:02 -0500 Subject: [PATCH] Add thermal camera to Marble HD2 (#773) * starting to add thermal camera to marble_hd2_sensor_config_1 Signed-off-by: Ashton Larkin * add optical frame publisher, camera info topic, and more thermal camera sensor parameters Signed-off-by: Ashton Larkin * fix topic mapping (#776) Signed-off-by: Ian Chen * add thermal camera visual, fix location and textures Signed-off-by: Ashton Larkin * update hfov assuming degrees in spec Signed-off-by: Ashton Larkin * break out thermal camera addition to HD2 configs 3 and 4 Signed-off-by: Ashton Larkin * set thermal default to 0 for HD2 vehicle_topics.launch Signed-off-by: Ashton Larkin * New config with thermal camera: CERBERUS_M100_SENSOR_CONFIG_2 (#777) * adding thermal camera to cerberus m100 Signed-off-by: Ian Chen * fix bridge Signed-off-by: Ian Chen * update thermal camera spec Signed-off-by: Ian Chen * new config_2 Signed-off-by: Ian Chen * remove config_2 Signed-off-by: Ian Chen * reuse config_1 files Signed-off-by: Ian Chen Co-authored-by: Ian Chen --- .../launch/vehicle_topics.launch | 32 ++- .../CMakeLists.txt | 8 + .../launch/spawner.rb | 214 ++++++++++++++++++ .../cerberus_m100_sensor_config_2/package.xml | 23 ++ .../launch/vehicle_topics.launch | 29 +++ .../marble_hd2_sensor_config_1/model.sdf | 36 +-- .../marble_hd2_sensor_config_2/package.xml | 2 +- .../marble_hd2_sensor_config_3/CMakeLists.txt | 8 + .../launch/spawner.rb | 149 ++++++++++++ .../marble_hd2_sensor_config_3/package.xml | 30 +++ .../marble_hd2_sensor_config_4/CMakeLists.txt | 8 + .../launch/spawner.rb | 149 ++++++++++++ .../marble_hd2_sensor_config_4/package.xml | 31 +++ 13 files changed, 699 insertions(+), 20 deletions(-) create mode 100644 submitted_models/cerberus_m100_sensor_config_2/CMakeLists.txt create mode 100755 submitted_models/cerberus_m100_sensor_config_2/launch/spawner.rb create mode 100644 submitted_models/cerberus_m100_sensor_config_2/package.xml create mode 100644 submitted_models/marble_hd2_sensor_config_3/CMakeLists.txt create mode 100644 submitted_models/marble_hd2_sensor_config_3/launch/spawner.rb create mode 100644 submitted_models/marble_hd2_sensor_config_3/package.xml create mode 100644 submitted_models/marble_hd2_sensor_config_4/CMakeLists.txt create mode 100644 submitted_models/marble_hd2_sensor_config_4/launch/spawner.rb create mode 100644 submitted_models/marble_hd2_sensor_config_4/package.xml diff --git a/submitted_models/cerberus_m100_sensor_config_1/launch/vehicle_topics.launch b/submitted_models/cerberus_m100_sensor_config_1/launch/vehicle_topics.launch index 3ec08126..048dd4da 100755 --- a/submitted_models/cerberus_m100_sensor_config_1/launch/vehicle_topics.launch +++ b/submitted_models/cerberus_m100_sensor_config_1/launch/vehicle_topics.launch @@ -11,8 +11,9 @@ + - + + + + + + + + + + + + + + + + + + + #{_name} + false + #{_x} #{_y} #{_z + 0.187499} #{_roll} #{_pitch} #{_yaw} + #{_worldName} + true + + + #{_name} + #{_modelURI} + + + true + true + false + false + #{$enableGroundTruth} + true + true + 1 + + + model/#{_name} + rotor_0_joint + rotor_0 + ccw + 0.0182 + 0.0182 + 1000.0 + 0.02246 + 0.016754 + command/motor_speed + 0 + 2.0673e-04 + 0 + motor_speed/0 + 0.5 + velocity + + + model/#{_name} + rotor_1_joint + rotor_1 + ccw + 0.0182 + 0.0182 + 1000.0 + 0.02246 + 0.016754 + command/motor_speed + 1 + 2.0673e-04 + 0 + motor_speed/1 + 0.5 + velocity + + + model/#{_name} + rotor_2_joint + rotor_2 + cw + 0.0182 + 0.0182 + 1000.0 + 0.02246 + 0.016754 + command/motor_speed + 2 + 2.0673e-04 + 0 + motor_speed/2 + 0.5 + velocity + + + model/#{_name} + rotor_3_joint + rotor_3 + cw + 0.0182 + 0.0182 + 1000.0 + 0.02246 + 0.016754 + command/motor_speed + 3 + 2.0673e-04 + 0 + motor_speed/3 + 0.5 + velocity + + + model/#{_name} + cmd_vel + command/motor_speed + velocity_controller/enable + base_link + 6 6 10 + 4 4 2 + 0.7 0.7 0.7 + 4 4 5 + 3 3 1.8 + 3 3 1.9 + 0 0 0 + + + + 0.1105 0.1261 0.0947 + 0 0 0 + + + 0.004 0.004 0.004 + + + + rotor_0_joint + 0.02246 + 1.6754e-2 + 1 + + + rotor_1_joint + 0.02246 + 1.6754e-2 + 1 + + + rotor_2_joint + 0.02246 + 1.6754e-2 + -1 + + + rotor_3_joint + 0.02246 + 1.6754e-2 + -1 + + + + + + linear_battery + 22.2 + 22.2 + -3.1424 + 45.0 + 45.0 + 0.061523 + 1.9499 + 70 + true + + + + /model/#{_name}/gas_detected + 10 + gas + + + + + + HEREDOC +end + +def rosExecutables(_name, _worldName) + <<-HEREDOC + + roslaunch --wait cerberus_m100_sensor_config_1 description.launch world_name:=#{_worldName} name:=#{_name} + + + roslaunch --wait cerberus_m100_sensor_config_1 vehicle_topics.launch world_name:=#{_worldName} name:=#{_name} uav:=1 lidar_3d:=1 laser_scan:=0 top_scan:=0 bottom_scan:=0 stereo_cam:=0 thermal:=1 + + HEREDOC +end diff --git a/submitted_models/cerberus_m100_sensor_config_2/package.xml b/submitted_models/cerberus_m100_sensor_config_2/package.xml new file mode 100644 index 00000000..6870575b --- /dev/null +++ b/submitted_models/cerberus_m100_sensor_config_2/package.xml @@ -0,0 +1,23 @@ + + + cerberus_m100_sensor_config_2 + 0.1.0 + + The cerberus_m100_sensor_config_2 package is derived from OSRF's X4 vehicle model. + This sensor configuration has a 3D lidar (copied from the X1 3D medium range lidar) + and a thermal camera + + + Mihir Kulkarni + Paolo De Petris + Mihir Kulkarni + Paolo De Petris + + BSD + + catkin + roslaunch + urdf + xacro + + diff --git a/submitted_models/marble_hd2_sensor_config_1/launch/vehicle_topics.launch b/submitted_models/marble_hd2_sensor_config_1/launch/vehicle_topics.launch index 4a263b17..29ec9375 100644 --- a/submitted_models/marble_hd2_sensor_config_1/launch/vehicle_topics.launch +++ b/submitted_models/marble_hd2_sensor_config_1/launch/vehicle_topics.launch @@ -7,6 +7,7 @@ + + + + + + + + + + + + + + + + + 0 0 -0.135 0 0 1.57 - model://MARBLE_HD2_SENSOR_CONFIG_1/meshes/hd2.dae + meshes/hd2.dae Body
false
@@ -154,15 +154,15 @@ 1.0 1.0 1.0 - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Albedo.png - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Metalness.png - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Roughness.png + materials/textures/HD2_Albedo.png + materials/textures/HD2_Metalness.png + materials/textures/HD2_Roughness.png @@ -895,7 +895,7 @@ 0 0 0 0 0 1.57 - model://MARBLE_HD2_SENSOR_CONFIG_1/meshes/hd2.dae + meshes/hd2.dae CameraPivot
true
@@ -907,14 +907,14 @@ 1.0 1.0 1.0 - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Albedo.png - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Metalness.png - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Roughness.png + materials/textures/HD2_Albedo.png + materials/textures/HD2_Metalness.png + materials/textures/HD2_Roughness.png @@ -957,7 +957,7 @@ 0.005 0.015 0.038 0 0 -1.570796 - model://MARBLE_HD2_SENSOR_CONFIG_1/meshes/hd2.dae + meshes/hd2.dae CameraTilt
true
@@ -969,15 +969,15 @@ 1.0 1.0 1.0 - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Albedo.png - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Metalness.png - model://MARBLE_HD2_SENSOR_CONFIG_1/materials/textures/HD2_Roughness.png + materials/textures/HD2_Albedo.png + materials/textures/HD2_Metalness.png + materials/textures/HD2_Roughness.png diff --git a/submitted_models/marble_hd2_sensor_config_2/package.xml b/submitted_models/marble_hd2_sensor_config_2/package.xml index 179ebd2a..4faf16d7 100644 --- a/submitted_models/marble_hd2_sensor_config_2/package.xml +++ b/submitted_models/marble_hd2_sensor_config_2/package.xml @@ -2,7 +2,7 @@ marble_hd2_sensor_config_2 0.0.1 - The marble_hd2_sensor_config_1 track vehicle package + The marble_hd2_sensor_config_2 track vehicle package - Has two rgbd camera Realsense D435 - An RP Lidar S1 - OS1-64 3D Laser C diff --git a/submitted_models/marble_hd2_sensor_config_3/CMakeLists.txt b/submitted_models/marble_hd2_sensor_config_3/CMakeLists.txt new file mode 100644 index 00000000..c0482752 --- /dev/null +++ b/submitted_models/marble_hd2_sensor_config_3/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 2.8.3) +project(marble_hd2_sensor_config_3) + +find_package(catkin REQUIRED) + +catkin_package() + +install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) diff --git a/submitted_models/marble_hd2_sensor_config_3/launch/spawner.rb b/submitted_models/marble_hd2_sensor_config_3/launch/spawner.rb new file mode 100644 index 00000000..9534405f --- /dev/null +++ b/submitted_models/marble_hd2_sensor_config_3/launch/spawner.rb @@ -0,0 +1,149 @@ +def spawner(_name, _modelURI, _worldName, _x, _y, _z, _roll, _pitch, _yaw) + <<-HEREDOC + + #{_name} + false + #{_x} #{_y} #{_z + 0.2} #{_roll} #{_pitch} #{_yaw} + #{_worldName} + true + + + #{_name} + #{_modelURI} + + + front_left_wheel_joint + front_middle_left_wheel_joint + rear_middle_left_wheel_joint + rear_left_wheel_joint + front_right_wheel_joint + front_middle_right_wheel_joint + rear_middle_right_wheel_joint + rear_right_wheel_joint + #{0.525} + 0.129 + /model/#{_name}/cmd_vel_relay + -1 + 1 + -3 + 3 + + + + true + true + false + false + #{$enableGroundTruth} + true + true + 1 + + + + linear_battery + 12.694 + 12.694 + -3.1424 + 78.4 + 78.4 + 0.061523 + 1.9499 + 9.9 + true + + + + /model/#{_name}/gas_detected + 10 + gas + + + /model/#{_name}/breadcrumb/deploy + 12 + 3.0 + true + + + + -0.45 0 0 0 0 0 + + https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Breadcrumb Node + + + + + + + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0.25 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + + + + HEREDOC +end + +def rosExecutables(_name, _worldName) + <<-HEREDOC + + roslaunch --wait marble_hd2_sensor_config_1 description.launch world_name:=#{_worldName} name:=#{_name} + + + roslaunch --wait marble_hd2_sensor_config_1 vehicle_topics.launch world_name:=#{_worldName} name:=#{_name} breadcrumbs:=1 thermal:=1 + + HEREDOC +end diff --git a/submitted_models/marble_hd2_sensor_config_3/package.xml b/submitted_models/marble_hd2_sensor_config_3/package.xml new file mode 100644 index 00000000..e3558bf8 --- /dev/null +++ b/submitted_models/marble_hd2_sensor_config_3/package.xml @@ -0,0 +1,30 @@ + + + marble_hd2_sensor_config_3 + 0.0.1 + The marble_hd2_sensor_config_3 track vehicle package + - Has two rgbd camera Realsense D435 + - An RP Lidar S1 + - OS1-64 3D Laser C + - IMU + - gas sensor + - A pan/tilt gimbal (Trossen Dynamixel MX-64) with a Realsense D435 + and 100 W laser mounted on it + - A planar lidar (RPLidar S1) + - A microstrain 3DMGX5-25 IMU (AHRS) + - Vividia HTI-301 LWIR Camera (thermal camera) + - Weight: about 75 lbs + + Derek Vasquez + Derek Vasquez + Neil Johnson + Hector Escobar + BSD + + catkin + roslaunch + lms1xx + urdf + xacro + + diff --git a/submitted_models/marble_hd2_sensor_config_4/CMakeLists.txt b/submitted_models/marble_hd2_sensor_config_4/CMakeLists.txt new file mode 100644 index 00000000..4c0d0eaf --- /dev/null +++ b/submitted_models/marble_hd2_sensor_config_4/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 2.8.3) +project(marble_hd2_sensor_config_4) + +find_package(catkin REQUIRED) + +catkin_package() + +install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) diff --git a/submitted_models/marble_hd2_sensor_config_4/launch/spawner.rb b/submitted_models/marble_hd2_sensor_config_4/launch/spawner.rb new file mode 100644 index 00000000..9534405f --- /dev/null +++ b/submitted_models/marble_hd2_sensor_config_4/launch/spawner.rb @@ -0,0 +1,149 @@ +def spawner(_name, _modelURI, _worldName, _x, _y, _z, _roll, _pitch, _yaw) + <<-HEREDOC + + #{_name} + false + #{_x} #{_y} #{_z + 0.2} #{_roll} #{_pitch} #{_yaw} + #{_worldName} + true + + + #{_name} + #{_modelURI} + + + front_left_wheel_joint + front_middle_left_wheel_joint + rear_middle_left_wheel_joint + rear_left_wheel_joint + front_right_wheel_joint + front_middle_right_wheel_joint + rear_middle_right_wheel_joint + rear_right_wheel_joint + #{0.525} + 0.129 + /model/#{_name}/cmd_vel_relay + -1 + 1 + -3 + 3 + + + + true + true + false + false + #{$enableGroundTruth} + true + true + 1 + + + + linear_battery + 12.694 + 12.694 + -3.1424 + 78.4 + 78.4 + 0.061523 + 1.9499 + 9.9 + true + + + + /model/#{_name}/gas_detected + 10 + gas + + + /model/#{_name}/breadcrumb/deploy + 12 + 3.0 + true + + + + -0.45 0 0 0 0 0 + + https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Breadcrumb Node + + + + + + + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0.25 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + 0.086 + 0 + 41.47103925 + 0.129 + + + + + + HEREDOC +end + +def rosExecutables(_name, _worldName) + <<-HEREDOC + + roslaunch --wait marble_hd2_sensor_config_1 description.launch world_name:=#{_worldName} name:=#{_name} + + + roslaunch --wait marble_hd2_sensor_config_1 vehicle_topics.launch world_name:=#{_worldName} name:=#{_name} breadcrumbs:=1 thermal:=1 + + HEREDOC +end diff --git a/submitted_models/marble_hd2_sensor_config_4/package.xml b/submitted_models/marble_hd2_sensor_config_4/package.xml new file mode 100644 index 00000000..0361d18f --- /dev/null +++ b/submitted_models/marble_hd2_sensor_config_4/package.xml @@ -0,0 +1,31 @@ + + + marble_hd2_sensor_config_4 + 0.0.1 + The marble_hd2_sensor_config_4 track vehicle package + - Has two rgbd camera Realsense D435 + - An RP Lidar S1 + - OS1-64 3D Laser C + - IMU + - gas sensor + - A pan/tilt gimbal (Trossen Dynamixel MX-64) with a Realsense D435 + and 100 W laser mounted on it + - A planar lidar (RPLidar S1) + - A microstrain 3DMGX5-25 IMU (AHRS) + - Vividia HTI-301 LWIR Camera (thermal camera) + - 12 breadcrumbs + - Weight: about 75 lbs + + Derek Vasquez + Derek Vasquez + Neil Johnson + Hector Escobar + BSD + + catkin + roslaunch + lms1xx + urdf + xacro + +