diff --git a/rotors_gazebo/models/asphalt_plane/materials/scripts/asphalt.material b/rotors_gazebo/models/asphalt_plane/materials/scripts/asphalt.material new file mode 100644 index 0000000..46af303 --- /dev/null +++ b/rotors_gazebo/models/asphalt_plane/materials/scripts/asphalt.material @@ -0,0 +1,20 @@ +material vrc/asphalt +{ + technique + { + pass + { + ambient 0.5 0.5 0.5 1.0 + diffuse 0.5 0.5 0.5 1.0 + specular 0.2 0.2 0.2 1.0 12.5 + + texture_unit + { + texture tarmac.png + filtering anistropic + max_anisotropy 16 + scale 0.1 0.1 + } + } + } +} diff --git a/rotors_gazebo/models/asphalt_plane/materials/textures/tarmac.png b/rotors_gazebo/models/asphalt_plane/materials/textures/tarmac.png new file mode 100644 index 0000000..580d8a5 Binary files /dev/null and b/rotors_gazebo/models/asphalt_plane/materials/textures/tarmac.png differ diff --git a/rotors_gazebo/models/asphalt_plane/model-1_4.sdf b/rotors_gazebo/models/asphalt_plane/model-1_4.sdf new file mode 100644 index 0000000..63eb6ec --- /dev/null +++ b/rotors_gazebo/models/asphalt_plane/model-1_4.sdf @@ -0,0 +1,30 @@ + + + + true + + + + + 20 20 .1 + + + + + false + + + 20 20 .1 + + + + + + + + + diff --git a/rotors_gazebo/models/asphalt_plane/model.config b/rotors_gazebo/models/asphalt_plane/model.config new file mode 100644 index 0000000..cbc963a --- /dev/null +++ b/rotors_gazebo/models/asphalt_plane/model.config @@ -0,0 +1,18 @@ + + + + Asphalt Plane + 1.0 + model-1_4.sdf + model.sdf + + + Thomas Koletschka + thomas.koletschka@gmail.com + + + + An asphalt textured plane. + + + diff --git a/rotors_gazebo/models/asphalt_plane/model.sdf b/rotors_gazebo/models/asphalt_plane/model.sdf new file mode 100644 index 0000000..d563b9b --- /dev/null +++ b/rotors_gazebo/models/asphalt_plane/model.sdf @@ -0,0 +1,30 @@ + + + + true + + + + + 20 20 .1 + + + + + false + + + 20 20 .1 + + + + + + + + + diff --git a/rotors_gazebo/models/ros_interface/model.config b/rotors_gazebo/models/ros_interface/model.config new file mode 100644 index 0000000..d21b338 --- /dev/null +++ b/rotors_gazebo/models/ros_interface/model.config @@ -0,0 +1,18 @@ + + + + ROS Interface + 1.0 + + model.sdf + + + Geoffrey Hunter + gbmhunter@gmail.com + + + + A model that purely exists to load the ROS interface plugin in Gazebo. + + + diff --git a/rotors_gazebo/models/ros_interface/model.sdf b/rotors_gazebo/models/ros_interface/model.sdf new file mode 100644 index 0000000..76fbb17 --- /dev/null +++ b/rotors_gazebo/models/ros_interface/model.sdf @@ -0,0 +1,9 @@ + + + + true + + firefly + + + \ No newline at end of file diff --git a/rotors_gazebo/models/rotors_description/model.config b/rotors_gazebo/models/rotors_description/model.config new file mode 100644 index 0000000..ca022be --- /dev/null +++ b/rotors_gazebo/models/rotors_description/model.config @@ -0,0 +1,5 @@ + + + rotors description + 1.0 + diff --git a/rotors_gazebo/models/rotors_description/urdf/component_snippets.xacro b/rotors_gazebo/models/rotors_description/urdf/component_snippets.xacro new file mode 100644 index 0000000..802eaa2 --- /dev/null +++ b/rotors_gazebo/models/rotors_description/urdf/component_snippets.xacro @@ -0,0 +1,554 @@ + + + + + + + + + ${namespace} + ${bag_file} + base_link + base_link + command/attitude + command/attitude + ${rotor_velocity_slowdown_sim} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${frame_rate} + + ${horizontal_fov} + + ${image_width} + ${image_height} + ${image_format} + + + ${min_distance} + ${max_distance} + + + gaussian + + ${noise_mean} + ${noise_stddev} + + + + ${namespace} + true + ${frame_rate} + camera_${camera_suffix} + image_raw + camera_info + camera_${camera_suffix}_link + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + + + + + + + + + + ${namespace} + /command/attitude + /command/rate + /command/motor_speed + /${imu_sub_topic} + /gazebo/command/motor_speed + + + + + + + + + ${namespace} + ${imu_sub_topic} + $(arg mavlink_addr) + $(arg mavlink_udp_port) + /gazebo/command/motor_speed + + + 0 + 0 + 1000 + 0 + 100 + velocity + + + 1 + 0 + 1000 + 0 + 100 + velocity + + + 2 + 0 + 1000 + 0 + 100 + velocity + + + 3 + 0 + 1000 + 0 + 100 + velocity + + + 4 + 1 + 324.6 + 0 + 0 + velocity + +

0.1

+ 0 + 0 + 0.0 + 0.0 + 2 + -2 +
+ zephyr_delta_wing::propeller_joint +
+ + 5 + 0 + + 0.524 + 0 + 0 + position + zephyr_delta_wing::flap_left_joint + +

10.0

+ 0 + 0 + 0 + 0 + 20 + -20 +
+
+ + 6 + 0 + + 0.524 + 0 + 0 + position + zephyr_delta_wing::flap_right_joint + +

10.0

+ 0 + 0 + 0 + 0 + 20 + -20 +
+
+ + 7 + 0 + 0.524 + 0 + 0 + position + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + ${namespace} + ${namespace}/imu${imu_suffix}_link + ${imu_topic} + ${gyroscope_noise_density} + ${gyroscopoe_random_walk} + ${gyroscope_bias_correlation_time} + ${gyroscope_turn_on_bias_sigma} + ${accelerometer_noise_density} + ${accelerometer_random_walk} + ${accelerometer_bias_correlation_time} + ${accelerometer_turn_on_bias_sigma} + + + + + + + + + + + + + + + + + + + + + + + ${namespace}/odometry_sensor${odometry_sensor_suffix}_link + ${namespace} + ${pose_topic} + ${pose_with_covariance_topic} + ${position_topic} + ${transform_topic} + ${odometry_topic} + ${parent_frame_id} + ${measurement_divisor} + ${measurement_delay} + ${unknown_delay} + ${noise_normal_position} + ${noise_normal_quaternion} + ${noise_normal_linear_velocity} + ${noise_normal_angular_velocity} + ${noise_uniform_position} + ${noise_uniform_quaternion} + ${noise_uniform_linear_velocity} + ${noise_uniform_angular_velocity} + + package://rotors_gazebo/resource/${odometry_map} + ${image_scale} + + + + + + + + + + base_link + base_link + ${namespace} + ${xyz_offset} + ${wind_direction} + ${wind_force_mean} + ${wind_gust_direction} + ${wind_gust_duration} + ${wind_gust_start} + ${wind_gust_force_mean} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + ${frame_rate} + + 2 + + L8 + 640 + 480 + + + 0.01 + 100 + + + + ${namespace} + true + 0.11 + ${frame_rate} + camera_${camera_suffix} + camera/image_raw + camera/camera_info + depth/disparity + depth/camera_info + depth/points + camera_${camera_suffix}_optical_center_link + 0.5 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/rotors_gazebo/models/rotors_description/urdf/multirotor_base.xacro b/rotors_gazebo/models/rotors_description/urdf/multirotor_base.xacro new file mode 100644 index 0000000..4ecb0e3 --- /dev/null +++ b/rotors_gazebo/models/rotors_description/urdf/multirotor_base.xacro @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${robot_namespace} + base_link + ${rotor_velocity_slowdown_sim} + + + + Gazebo/${color} + + + + + 0.001 + 0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${robot_namespace} + rotor_${motor_number}_joint + rotor_${motor_number} + ${direction} + ${time_constant_up} + ${time_constant_down} + ${max_rot_velocity} + ${motor_constant} + ${moment_constant} + /gazebo/command/motor_speed + ${motor_number} + ${rotor_drag_coefficient} + ${rolling_moment_coefficient} + /motor_speed/${motor_number} + ${rotor_velocity_slowdown_sim} + + + + + Gazebo/${color} + + + diff --git a/rotors_gazebo/worlds/empty.world b/rotors_gazebo/worlds/empty.world new file mode 100644 index 0000000..e362b5b --- /dev/null +++ b/rotors_gazebo/worlds/empty.world @@ -0,0 +1,42 @@ + + + + + + model://sun + + + + model://ground_plane + + + model://asphalt_plane + + + + + + + 0 0 -9.8066 + + + quick + 10 + 1.3 + 0 + + + 0 + 0.2 + 100 + 0.001 + + + 0.002 + 1 + 500 + 6e-06 2.3e-05 -4.2e-05 + + +