Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New config with thermal camera: MARBLE_HUSKY_SENSOR_CONFIG_3 and MARBLE_HUSKY_SENSOR_CONFIG_4 #779

Merged
merged 6 commits into from
Feb 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<arg name="sensor_prefix" value="/world/$(arg world_name)/model/$(arg name)/link/$(arg link_name)/sensor"/>
<arg name="gimbal_sensor_prefix" value="/world/$(arg world_name)/model/$(arg name)/link/tilt_gimbal_link/sensor"/>
<arg name="breadcrumbs" default="0"/>
<arg name="thermal" default="0"/>
<group ns="$(arg name)">
<!--Create multipe bridges so that it can run in parallel-->
<node
Expand Down Expand Up @@ -258,6 +259,35 @@
<remap from="/model/$(arg name)/gas_detected" to="gas_detected"/>
</node>

<group if="$(arg thermal)">
<!-- Thermal Camera -->
<!-- Note camera_info topic generated by ign-gazebo incorrectly removes
sensor name in topic string -->
<node
pkg="ros_ign_bridge"
type="parameter_bridge"
name="ros_ign_bridge_thermal_camera"
args="$(arg sensor_prefix)/camera_info@sensor_msgs/CameraInfo[ignition.msgs.CameraInfo">
<remap from="$(arg sensor_prefix)/camera_info" to="thermal_camera/camera_info"/>
</node>
<node
pkg="ros_ign_image"
type="image_bridge"
name="ros_ign_image_thermal_camera"
args="$(arg sensor_prefix)/thermal_camera">
<remap from="$(arg sensor_prefix)/thermal_camera" to="thermal_camera/image_raw"/>
</node>
<node
pkg="subt_ros"
type="optical_frame_publisher"
name="optical_frame_publisher_image_thermal_camera">
<remap from="input/image" to="thermal_camera/image_raw" />
<remap from="output/image" to="thermal_camera/optical/image_raw" />
<remap from="input/camera_info" to="thermal_camera/camera_info" />
<remap from="output/camera_info" to="thermal_camera/optical/camera_info" />
</node>
</group>

<group if="$(arg breadcrumbs)">
<node
pkg="ros_ign_bridge"
Expand Down
1 change: 1 addition & 0 deletions submitted_models/marble_husky_sensor_config_1/model.sdf
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@
<self_collide>0</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>

<!-- Based on Intel realsense D435 (intrinsics and distortion not modeled)-->
<sensor name="camera_front" type="rgbd_camera">
<camera name="camera_front">
Expand Down
8 changes: 8 additions & 0 deletions submitted_models/marble_husky_sensor_config_3/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 2.8.3)
project(marble_husky_sensor_config_3)

find_package(catkin REQUIRED)

catkin_package()

install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
104 changes: 104 additions & 0 deletions submitted_models/marble_husky_sensor_config_3/launch/spawner.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
def spawner(_name, _modelURI, _worldName, _x, _y, _z, _roll, _pitch, _yaw)
<<-HEREDOC
<spawn name='#{_name}'>
<name>#{_name}</name>
<allow_renaming>false</allow_renaming>
<pose>#{_x} #{_y} #{_z + 0.2} #{_roll} #{_pitch} #{_yaw}</pose>
<world>#{_worldName}</world>
<is_performer>true</is_performer>
<sdf version='1.6'>
<include>
<name>#{_name}</name>
<uri>#{_modelURI}</uri>
<!-- Diff drive -->
<plugin filename="libignition-gazebo-diff-drive-system.so"
name="ignition::gazebo::systems::DiffDrive">
<left_joint>front_left_wheel_joint</left_joint>
<left_joint>rear_left_wheel_joint</left_joint>
<right_joint>front_right_wheel_joint</right_joint>
<right_joint>rear_right_wheel_joint</right_joint>
<wheel_separation>#{0.45649 * 1.5}</wheel_separation>
<wheel_radius>0.1651</wheel_radius>
<topic>/model/#{_name}/cmd_vel_relay</topic>
<min_velocity>-1</min_velocity>
<max_velocity>1</max_velocity>
<min_acceleration>-3</min_acceleration>
<max_acceleration>3</max_acceleration>
</plugin>
<!-- Publish robot state information -->
<plugin filename="libignition-gazebo-pose-publisher-system.so"
name="ignition::gazebo::systems::PosePublisher">
<publish_link_pose>true</publish_link_pose>
<publish_sensor_pose>true</publish_sensor_pose>
<publish_collision_pose>false</publish_collision_pose>
<publish_visual_pose>false</publish_visual_pose>
<publish_nested_model_pose>#{$enableGroundTruth}</publish_nested_model_pose>
<use_pose_vector_msg>true</use_pose_vector_msg>
<static_publisher>true</static_publisher>
<static_update_frequency>1</static_update_frequency>
</plugin>
<!-- Battery plugin -->
<plugin filename="libignition-gazebo-linearbatteryplugin-system.so"
name="ignition::gazebo::systems::LinearBatteryPlugin">
<battery_name>linear_battery</battery_name>
<voltage>12.694</voltage>
<open_circuit_voltage_constant_coef>12.694</open_circuit_voltage_constant_coef>
<open_circuit_voltage_linear_coef>-3.1424</open_circuit_voltage_linear_coef>
<initial_charge>78.4</initial_charge>
<capacity>78.4</capacity>
<resistance>0.061523</resistance>
<smooth_current_tau>1.9499</smooth_current_tau>
<power_load>6.6</power_load>
<start_on_motion>true</start_on_motion>
</plugin>
<!-- Gas Sensor plugin -->"
<plugin filename="libGasEmitterDetectorPlugin.so"
name="subt::GasDetector">
<topic>/model/#{_name}/gas_detected</topic>
<update_rate>10</update_rate>
<type>gas</type>
</plugin>
<!-- Wheel slip -->
<plugin filename="libignition-gazebo-wheel-slip-system.so"
name="ignition::gazebo::systems::WheelSlip">
<wheel link_name="front_left_wheel_link">
<slip_compliance_lateral>0.172</slip_compliance_lateral>
<slip_compliance_longitudinal>0</slip_compliance_longitudinal>
<wheel_normal_force>138.767</wheel_normal_force>
<wheel_radius>0.1651</wheel_radius>
</wheel>
<wheel link_name="rear_left_wheel_link">
<slip_compliance_lateral>0.172</slip_compliance_lateral>
<slip_compliance_longitudinal>0</slip_compliance_longitudinal>
<wheel_normal_force>138.767</wheel_normal_force>
<wheel_radius>0.1651</wheel_radius>
</wheel>
<wheel link_name="front_right_wheel_link">
<slip_compliance_lateral>0.172</slip_compliance_lateral>
<slip_compliance_longitudinal>0</slip_compliance_longitudinal>
<wheel_normal_force>138.767</wheel_normal_force>
<wheel_radius>0.1651</wheel_radius>
</wheel>
<wheel link_name="rear_right_wheel_link">
<slip_compliance_lateral>0.172</slip_compliance_lateral>
<slip_compliance_longitudinal>0</slip_compliance_longitudinal>
<wheel_normal_force>138.767</wheel_normal_force>
<wheel_radius>0.1651</wheel_radius>
</wheel>
</plugin>
</include>
</sdf>
</spawn>
HEREDOC
end

def rosExecutables(_name, _worldName)
<<-HEREDOC
<executable name='robot_description'>
<command>roslaunch --wait marble_husky_sensor_config_1 description.launch world_name:=#{_worldName} name:=#{_name}</command>
</executable>
<executable name='topics'>
<command>roslaunch --wait marble_husky_sensor_config_1 vehicle_topics.launch world_name:=#{_worldName} name:=#{_name} thermal:=1</command>
</executable>
HEREDOC
end
27 changes: 27 additions & 0 deletions submitted_models/marble_husky_sensor_config_3/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0"?>
<package format="2">
<name>marble_husky_sensor_config_3</name>
<version>0.1.0</version>
<description>The marble_husky_sensor_config_3 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)
- A Vividia HTI-301 LWIR thermal camera
- Weight: about 85 lbs
</description>
<maintainer email="[email protected]">Brett A. Fotheringham</maintainer>
<author email="[email protected]">Derek Vasquez</author>
<author email="[email protected]">Neil Johnson</author>
<author email="[email protected]">Hector Escobar</author>
<license>BSD</license>

<buildtool_depend>catkin</buildtool_depend>
<exec_depend>roslaunch</exec_depend>

</package>
8 changes: 8 additions & 0 deletions submitted_models/marble_husky_sensor_config_4/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 2.8.3)
project(marble_husky_sensor_config_4)

find_package(catkin REQUIRED)

catkin_package()

install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
121 changes: 121 additions & 0 deletions submitted_models/marble_husky_sensor_config_4/launch/spawner.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
def spawner(_name, _modelURI, _worldName, _x, _y, _z, _roll, _pitch, _yaw)
<<-HEREDOC
<spawn name='#{_name}'>
<name>#{_name}</name>
<allow_renaming>false</allow_renaming>
<pose>#{_x} #{_y} #{_z + 0.2} #{_roll} #{_pitch} #{_yaw}</pose>
<world>#{_worldName}</world>
<is_performer>true</is_performer>
<sdf version='1.6'>
<include>
<name>#{_name}</name>
<uri>#{_modelURI}</uri>
<!-- Diff drive -->
<plugin filename="libignition-gazebo-diff-drive-system.so"
name="ignition::gazebo::systems::DiffDrive">
<left_joint>front_left_wheel_joint</left_joint>
<left_joint>rear_left_wheel_joint</left_joint>
<right_joint>front_right_wheel_joint</right_joint>
<right_joint>rear_right_wheel_joint</right_joint>
<wheel_separation>#{0.45649 * 1.5}</wheel_separation>
<wheel_radius>0.1651</wheel_radius>
<topic>/model/#{_name}/cmd_vel_relay</topic>
<min_velocity>-1</min_velocity>
<max_velocity>1</max_velocity>
<min_acceleration>-3</min_acceleration>
<max_acceleration>3</max_acceleration>
</plugin>
<!-- Publish robot state information -->
<plugin filename="libignition-gazebo-pose-publisher-system.so"
name="ignition::gazebo::systems::PosePublisher">
<publish_link_pose>true</publish_link_pose>
<publish_sensor_pose>true</publish_sensor_pose>
<publish_collision_pose>false</publish_collision_pose>
<publish_visual_pose>false</publish_visual_pose>
<publish_nested_model_pose>#{$enableGroundTruth}</publish_nested_model_pose>
<use_pose_vector_msg>true</use_pose_vector_msg>
<static_publisher>true</static_publisher>
<static_update_frequency>1</static_update_frequency>
</plugin>
<!-- Battery plugin -->
<plugin filename="libignition-gazebo-linearbatteryplugin-system.so"
name="ignition::gazebo::systems::LinearBatteryPlugin">
<battery_name>linear_battery</battery_name>
<voltage>12.694</voltage>
<open_circuit_voltage_constant_coef>12.694</open_circuit_voltage_constant_coef>
<open_circuit_voltage_linear_coef>-3.1424</open_circuit_voltage_linear_coef>
<initial_charge>78.4</initial_charge>
<capacity>78.4</capacity>
<resistance>0.061523</resistance>
<smooth_current_tau>1.9499</smooth_current_tau>
<power_load>6.6</power_load>
<start_on_motion>true</start_on_motion>
</plugin>
<!-- Gas Sensor plugin -->"
<plugin filename="libGasEmitterDetectorPlugin.so"
name="subt::GasDetector">
<topic>/model/#{_name}/gas_detected</topic>
<update_rate>10</update_rate>
<type>gas</type>
</plugin>
<plugin filename="libignition-gazebo-breadcrumbs-system.so"
name="ignition::gazebo::systems::Breadcrumbs">
<topic>/model/#{_name}/breadcrumb/deploy</topic>
<max_deployments>12</max_deployments>
<disable_physics_time>3.0</disable_physics_time>
<topic_statistics>true</topic_statistics>
<breadcrumb>
<sdf version="1.6">
<model name="#{_name}__breadcrumb__">
<pose>-0.45 0 0 0 0 0</pose>
<include>
<uri>https://fuel.ignitionrobotics.org/1.0/OpenRobotics/models/Breadcrumb Node</uri>
</include>
</model>
</sdf>
</breadcrumb>
</plugin>
<!-- Wheel slip -->
<plugin filename="libignition-gazebo-wheel-slip-system.so"
name="ignition::gazebo::systems::WheelSlip">
<wheel link_name="front_left_wheel_link">
<slip_compliance_lateral>0.172</slip_compliance_lateral>
<slip_compliance_longitudinal>0</slip_compliance_longitudinal>
<wheel_normal_force>138.767</wheel_normal_force>
<wheel_radius>0.1651</wheel_radius>
</wheel>
<wheel link_name="rear_left_wheel_link">
<slip_compliance_lateral>0.172</slip_compliance_lateral>
<slip_compliance_longitudinal>0</slip_compliance_longitudinal>
<wheel_normal_force>138.767</wheel_normal_force>
<wheel_radius>0.1651</wheel_radius>
</wheel>
<wheel link_name="front_right_wheel_link">
<slip_compliance_lateral>0.172</slip_compliance_lateral>
<slip_compliance_longitudinal>0</slip_compliance_longitudinal>
<wheel_normal_force>138.767</wheel_normal_force>
<wheel_radius>0.1651</wheel_radius>
</wheel>
<wheel link_name="rear_right_wheel_link">
<slip_compliance_lateral>0.172</slip_compliance_lateral>
<slip_compliance_longitudinal>0</slip_compliance_longitudinal>
<wheel_normal_force>138.767</wheel_normal_force>
<wheel_radius>0.1651</wheel_radius>
</wheel>
</plugin>
</include>
</sdf>
</spawn>
HEREDOC
end

def rosExecutables(_name, _worldName)
<<-HEREDOC
<executable name='robot_description'>
<command>roslaunch --wait marble_husky_sensor_config_1 description.launch world_name:=#{_worldName} name:=#{_name}</command>
</executable>
<executable name='topics'>
<command>roslaunch --wait marble_husky_sensor_config_1 vehicle_topics.launch world_name:=#{_worldName} name:=#{_name} breadcrumbs:=1 thermal:=1</command>
</executable>
HEREDOC
end
28 changes: 28 additions & 0 deletions submitted_models/marble_husky_sensor_config_4/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0"?>
<package format="2">
<name>marble_husky_sensor_config_4</name>
<version>0.1.0</version>
<description>The marble_husky_sensor_config_4 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)
- 12 breadcrumbs
- A Vividia HTI-301 LWIR thermal camera
- Weight: about 85 lbs
</description>
<maintainer email="[email protected]">Brett A. Fotheringham</maintainer>
<author email="[email protected]">Derek Vasquez</author>
<author email="[email protected]">Neil Johnson</author>
<author email="[email protected]">Hector Escobar</author>
<license>BSD</license>

<buildtool_depend>catkin</buildtool_depend>
<exec_depend>roslaunch</exec_depend>

</package>