diff --git a/sdf/1.5/CMakeLists.txt b/sdf/1.5/CMakeLists.txt index 60fd6a15a..be0dc46b4 100644 --- a/sdf/1.5/CMakeLists.txt +++ b/sdf/1.5/CMakeLists.txt @@ -1,16 +1,17 @@ set (sdfs actor.sdf altimeter.sdf - audio_source.sdf audio_sink.sdf + audio_source.sdf battery.sdf box_shape.sdf camera.sdf + collision_engine.sdf collision.sdf contact.sdf cylinder_shape.sdf - frame.sdf forcetorque.sdf + frame.sdf geometry.sdf gps.sdf gripper.sdf @@ -20,16 +21,16 @@ set (sdfs imu.sdf inertial.sdf joint.sdf - light.sdf light_state.sdf - link.sdf + light.sdf link_state.sdf + link.sdf logical_camera.sdf magnetometer.sdf material.sdf mesh_shape.sdf - model.sdf model_state.sdf + model.sdf noise.sdf physics.sdf plane_shape.sdf @@ -39,38 +40,39 @@ set (sdfs pose.sdf projector.sdf ray.sdf - rfidtag.sdf rfid.sdf + rfidtag.sdf road.sdf root.sdf scene.sdf sensor.sdf - spherical_coordinates.sdf - sphere_shape.sdf sonar.sdf + sphere_shape.sdf + spherical_coordinates.sdf state.sdf surface.sdf transceiver.sdf + urdf.sdf visual.sdf world.sdf ) set (SDF_SCHEMA) -foreach(FIL ${sdfs}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(FIL_WE ${FIL} NAME_WE) +set(root root.sdf) + +get_filename_component(ABS_FIL ${root} ABSOLUTE) +get_filename_component(FIL_WE ${root} NAME_WE) - list(APPEND SDF_SCHEMA "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd") +list(APPEND SDF_SCHEMA "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd") - add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd" - COMMAND ${RUBY} ${CMAKE_SOURCE_DIR}/tools/xmlschema.rb - ARGS -s ${CMAKE_CURRENT_SOURCE_DIR} -i ${ABS_FIL} -o ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${ABS_FIL} - COMMENT "Running xml schema compiler on ${FIL}" - VERBATIM) -endforeach() +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd" + COMMAND ${RUBY} ${CMAKE_SOURCE_DIR}/tools/xmlschema.rb + ARGS -s ${CMAKE_CURRENT_SOURCE_DIR} -i ${ABS_FIL} -o ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${ABS_FIL} + COMMENT "Running xml schema compiler on ${root}" + VERBATIM) add_custom_target(schema1_5 ALL DEPENDS ${SDF_SCHEMA}) diff --git a/sdf/1.5/schema/types.xsd b/sdf/1.5/schema/types.xsd index 53f3d8db6..7dfd9ca8d 100644 --- a/sdf/1.5/schema/types.xsd +++ b/sdf/1.5/schema/types.xsd @@ -2,7 +2,7 @@ - + @@ -26,7 +26,7 @@ - + diff --git a/sdf/1.6/CMakeLists.txt b/sdf/1.6/CMakeLists.txt index c77c738ec..5ea3dc8ac 100644 --- a/sdf/1.6/CMakeLists.txt +++ b/sdf/1.6/CMakeLists.txt @@ -1,17 +1,19 @@ set (sdfs actor.sdf + air_pressure.sdf altimeter.sdf atmosphere.sdf - audio_source.sdf audio_sink.sdf + audio_source.sdf battery.sdf box_shape.sdf camera.sdf + collision_engine.sdf collision.sdf contact.sdf cylinder_shape.sdf - frame.sdf forcetorque.sdf + frame.sdf geometry.sdf gps.sdf gripper.sdf @@ -21,16 +23,17 @@ set (sdfs imu.sdf inertial.sdf joint.sdf - light.sdf + lidar.sdf light_state.sdf - link.sdf + light.sdf link_state.sdf + link.sdf logical_camera.sdf magnetometer.sdf material.sdf mesh_shape.sdf - model.sdf model_state.sdf + model.sdf noise.sdf physics.sdf plane_shape.sdf @@ -40,38 +43,39 @@ set (sdfs pose.sdf projector.sdf ray.sdf - rfidtag.sdf rfid.sdf + rfidtag.sdf road.sdf root.sdf scene.sdf sensor.sdf - spherical_coordinates.sdf - sphere_shape.sdf sonar.sdf + sphere_shape.sdf + spherical_coordinates.sdf state.sdf surface.sdf transceiver.sdf + urdf.sdf visual.sdf world.sdf ) set (SDF_SCHEMA) -foreach(FIL ${sdfs}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(FIL_WE ${FIL} NAME_WE) +set(root root.sdf) + +get_filename_component(ABS_FIL ${root} ABSOLUTE) +get_filename_component(FIL_WE ${root} NAME_WE) - list(APPEND SDF_SCHEMA "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd") +list(APPEND SDF_SCHEMA "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd") - add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd" - COMMAND ${RUBY} ${CMAKE_SOURCE_DIR}/tools/xmlschema.rb - ARGS -s ${CMAKE_CURRENT_SOURCE_DIR} -i ${ABS_FIL} -o ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${ABS_FIL} - COMMENT "Running xml schema compiler on ${FIL}" - VERBATIM) -endforeach() +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd" + COMMAND ${RUBY} ${CMAKE_SOURCE_DIR}/tools/xmlschema.rb + ARGS -s ${CMAKE_CURRENT_SOURCE_DIR} -i ${ABS_FIL} -o ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${ABS_FIL} + COMMENT "Running xml schema compiler on ${root}" + VERBATIM) add_custom_target(schema1_6 ALL DEPENDS ${SDF_SCHEMA}) diff --git a/sdf/1.6/schema/types.xsd b/sdf/1.6/schema/types.xsd index 53f3d8db6..7dfd9ca8d 100644 --- a/sdf/1.6/schema/types.xsd +++ b/sdf/1.6/schema/types.xsd @@ -2,7 +2,7 @@ - + @@ -26,7 +26,7 @@ - + diff --git a/sdf/1.7/CMakeLists.txt b/sdf/1.7/CMakeLists.txt index c170977c9..90bd50c40 100644 --- a/sdf/1.7/CMakeLists.txt +++ b/sdf/1.7/CMakeLists.txt @@ -1,17 +1,19 @@ set (sdfs actor.sdf + air_pressure.sdf altimeter.sdf atmosphere.sdf - audio_source.sdf audio_sink.sdf + audio_source.sdf battery.sdf box_shape.sdf camera.sdf + collision_engine.sdf collision.sdf contact.sdf cylinder_shape.sdf - frame.sdf forcetorque.sdf + frame.sdf geometry.sdf gps.sdf gripper.sdf @@ -21,16 +23,17 @@ set (sdfs imu.sdf inertial.sdf joint.sdf - light.sdf + lidar.sdf light_state.sdf - link.sdf + light.sdf link_state.sdf + link.sdf logical_camera.sdf magnetometer.sdf material.sdf mesh_shape.sdf - model.sdf model_state.sdf + model.sdf noise.sdf physics.sdf plane_shape.sdf @@ -40,38 +43,39 @@ set (sdfs pose.sdf projector.sdf ray.sdf - rfidtag.sdf rfid.sdf + rfidtag.sdf road.sdf root.sdf scene.sdf sensor.sdf - spherical_coordinates.sdf - sphere_shape.sdf sonar.sdf + sphere_shape.sdf + spherical_coordinates.sdf state.sdf surface.sdf transceiver.sdf + urdf.sdf visual.sdf world.sdf ) set (SDF_SCHEMA) -foreach(FIL ${sdfs}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(FIL_WE ${FIL} NAME_WE) +set(root root.sdf) + +get_filename_component(ABS_FIL ${root} ABSOLUTE) +get_filename_component(FIL_WE ${root} NAME_WE) - list(APPEND SDF_SCHEMA "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd") +list(APPEND SDF_SCHEMA "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd") - add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd" - COMMAND ${RUBY} ${CMAKE_SOURCE_DIR}/tools/xmlschema.rb - ARGS -s ${CMAKE_CURRENT_SOURCE_DIR} -i ${ABS_FIL} -o ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${ABS_FIL} - COMMENT "Running xml schema compiler on ${FIL}" - VERBATIM) -endforeach() +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.xsd" + COMMAND ${RUBY} ${CMAKE_SOURCE_DIR}/tools/xmlschema.rb + ARGS -s ${CMAKE_CURRENT_SOURCE_DIR} -i ${ABS_FIL} -o ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${ABS_FIL} + COMMENT "Running xml schema compiler on ${root}" + VERBATIM) add_custom_target(schema1_7 ALL DEPENDS ${SDF_SCHEMA}) diff --git a/sdf/1.7/schema/types.xsd b/sdf/1.7/schema/types.xsd index 53f3d8db6..cecfdbf98 100644 --- a/sdf/1.7/schema/types.xsd +++ b/sdf/1.7/schema/types.xsd @@ -2,7 +2,7 @@ - + @@ -26,12 +26,13 @@ - + - + + diff --git a/test/integration/model/world_with_state.sdf b/test/integration/model/world_with_state.sdf new file mode 100644 index 000000000..96cbac93f --- /dev/null +++ b/test/integration/model/world_with_state.sdf @@ -0,0 +1,4335 @@ + + + + 1 + 0 0 10 0 -0 0 + 0.8 0.8 0.8 1 + 0.2 0.2 0.2 1 + + 1000 + 0.9 + 0.01 + 0.001 + + -0.5 0.1 -0.9 + + 0 + 0 + 0 + + + + 1 + + + + + 0 0 1 + 100 100 + + + + + 65535 + + + + + 100 + 50 + + + + + + + + 10 + + + 0 + + + 0 0 1 + 100 100 + + + + + + + 0 + 0 + 0 + + + 0 0 -9.8 + 6e-06 2.3e-05 -4.2e-05 + + + 0.001 + 1 + 1000 + + + 0.4 0.4 0.4 1 + 0.7 0.7 0.7 1 + 1 + + + + EARTH_WGS84 + 0 + 0 + 0 + 0 + + + 0 + + 0 + + 118.001 + -0.062421 0 0.201365 0 -0 0 + + 8.43173 + -0.00972 + 1.90157 + 8.53305 + -0.00738 + 3.78747 + + + + 0 0 0.071 0 -0 0 + + + 0.001 0.001 0.001 + + + 10 + + + + + + + + + + + + + + + + + 0.01 0.01 0.01 + + + + + -0.29 0 0.851 0 -0 0 + + + 0.05 0.37 0.3 + + + 10 + + + + + + + + + + + + + + + -0.29 0 0.851 0 -0 0 + + + 0.05 0.37 0.3 + + + + + 0 0 0.051 0 -0 0 + + + model://pr2/meshes/base_v0/base_L.stl + + + 10 + + + + + + + + + + + + + + + 0 0 0.051 0 -0 0 + + + model://pr2/meshes/base_v0/base.dae + + + + + 100 + + base_footprint_geom_base_link + __default_topic__ + + + + + 1 + 1 + 20 + 0.275 0 0.303 0 -0 0 + + + + 640 + 1 + -2.2689 + 2.2689 + + + 1 + 0 + 0 + + + + 0.08 + 10 + 0.01 + + + + + + 0 + 0 + + + 0 + -0.2246 0.2246 0.0792 0 -0 0 + + 3.47308 + 0 0 0.07 0 -0 0 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + + + + + model://pr2/meshes/base_v0/caster_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/caster.stl + + + + + 0 + 0 + + + 0 + -0.2246 0.2736 0.0792 0 -0 0 + + 0.44036 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + 0 0 0 0 -0 0 + + + 0 0 0 1.5708 -0 0 + + + 0.074792 + 0.034 + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/wheel.dae + + + + + 0 + 0 + + + 0 + -0.2246 0.1756 0.0792 0 -0 0 + + 0.44036 + + 0.012412 + 0.000712 + 0.000503 + 0.015218 + 4e-06 + 0.011764 + + 0 0 0 0 -0 0 + + + 0 0 0 1.5708 -0 0 + + + 0.074792 + 0.034 + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/wheel.dae + + + + + 0 + 0 + + + 0 + -0.2246 -0.2246 0.0792 0 -0 0 + + 3.47308 + 0 0 0.07 0 -0 0 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + + + + + model://pr2/meshes/base_v0/caster_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/caster.stl + + + + + 0 + 0 + + + 0 + -0.2246 -0.1756 0.0792 0 -0 0 + + 0.44036 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + 0 0 0 0 -0 0 + + + 0 0 0 1.5708 -0 0 + + + 0.074792 + 0.034 + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/wheel.dae + + + + + 0 + 0 + + + 0 + -0.2246 -0.2736 0.0792 0 -0 0 + + 0.44036 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + 0 0 0 0 -0 0 + + + 0 0 0 1.5708 -0 0 + + + 0.074792 + 0.034 + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/wheel.dae + + + + + 0 + 0 + + + 0 + 0.2246 0.2246 0.0792 0 -0 0 + + 3.47308 + 0 0 0.07 0 -0 0 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + + + + + model://pr2/meshes/base_v0/caster_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/caster.stl + + + + + 0 + 0 + + + 0 + 0.2246 0.2736 0.0792 0 -0 0 + + 0.44036 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + 0 0 0 0 -0 0 + + + 0 0 0 1.5708 -0 0 + + + 0.074792 + 0.034 + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/wheel.dae + + + + + 0 + 0 + + + 0 + 0.2246 0.1756 0.0792 0 -0 0 + + 0.44036 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + 0 0 0 0 -0 0 + + + 0 0 0 1.5708 -0 0 + + + 0.074792 + 0.034 + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/wheel.dae + + + + + 0 + 0 + + + 0 + 0.2246 -0.2246 0.0792 0 -0 0 + + 3.47308 + 0 0 0.07 0 -0 0 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + + + + + model://pr2/meshes/base_v0/caster_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/caster.stl + + + + + 0 + 0 + + + 0 + 0.2246 -0.1756 0.0792 0 -0 0 + + 0.44036 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + 0 0 0 0 -0 0 + + + 0 0 0 1.5708 -0 0 + + + 0.074792 + 0.034 + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/wheel.dae + + + + + 0 + 0 + + + 0 + 0.2246 -0.2736 0.0792 0 -0 0 + + 0.44036 + + 0.012412 + -0.000712 + 0.000503 + 0.015218 + -4e-06 + 0.011764 + + 0 0 0 0 -0 0 + + + 0 0 0 1.5708 -0 0 + + + 0.074792 + 0.034 + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/base_v0/wheel.dae + + + + + 0 + 0 + + + 0 + -0.05 0 0.790675 0 -0 0 + + 36.449 + -0.099499 -4e-06 -0.086764 0 -0 0 + + 2.79233 + 0.00428 + -0.160631 + 2.52106 + 0.029689 + 0.536551 + + + + + + model://pr2/meshes/torso_v0/torso_lift_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/torso_v0/torso_lift.dae + + + + + 100 + + torso_lift_link_geom + __default_topic__ + + + + 0 + 0 + + + 0 + -0.06707 0 1.17213 0 -0 0 + + 6.339 + 0.010907 0.031693 0.090507 0 -0 0 + + 0.032498 + 0.000636 + 0.002585 + 0.046546 + -0.002453 + 0.057653 + + + + + + model://pr2/meshes/head_v0/head_pan_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/head_v0/head_pan.dae + + + + + 0 + 0 + + + + stereo_projection_pattern_high_res_red.png + 0.959931 + 0.1 + 10 + 0.0232 0.11 0.1191 0 -1.57079 0 + + 0 + 0.00093 0 1.17213 0 -0 0 + + 5.319 + -0.005151 -0.014635 0.072819 0 -0 0 + + 0.126134 + 0.000237 + 0.011881 + 0.165102 + 0.001606 + 0.166947 + + + + + + model://pr2/meshes/head_v0/head_tilt_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/head_v0/head_tilt.dae + + + + + -0.147067 0.0125 0.291953 0 -0 0 + + + 0.0005 + + + 10 + + + + + + + + + + + + + + + -0.147067 0.0125 0.291953 0 -0 0 + + + 0.00025 + + + + + + + + -0.147067 0.0175 0.291953 0 -0 0 + + + 0.0005 + + + 10 + + + + + + + + + + + + + + + -0.147067 0.0175 0.291953 0 -0 0 + + + 0.00025 + + + + + + + + -0.1148 0 0.1555 0 -0 0 + + + 0.0005 + + + 10 + + + + + + + + + + + + + + + -0.1148 0 0.1555 0 -0 0 + + + model://pr2/meshes/sensors/kinect_prosilica_v0/115x100_swept_back--coarse.STL + 0.001 0.001 0.001 + + + + + -0.161257 0.0125 0.244421 0 -0 0 + + + 0.0005 + + + 10 + + + + + + + + + + + + + + + -0.161257 0.0125 0.244421 0 -0 0 + + + 0.00025 + + + + + + + + 0.0232 0 0.0645 0 -0 0 + + + 0.01 0.01 0.01 + + + 10 + + + + + + + + + + + + + + + 0.0232 0 0.0645 0 -0 0 + + + 0.01 0.01 0.01 + + + + + + + + 0 + 0 + 1 + -0.147067 0.0125 0.291953 0 -0 0 + + 0.994838 + + 640 + 480 + L8 + + + 0.01 + 5 + + + + + 1 + -0.161257 0.0125 0.244421 0 -0 0 + + 1.1205 + + 320 + 240 + R8G8B8 + + + 0.1 + 100 + + + + + 1 + -0.161257 0.0125 0.244421 0 -0 0 + + 1.1205 + + 320 + 240 + R8G8B8 + + + 0.1 + 100 + + + + + 1 + 1 + 25 + 0.0682 0.06 0.1146 0 -0 0 + + 0.785398 + + 640 + 480 + L8 + + + 0.1 + 100 + + + + + 1 + 25 + 0.0682 -0.03 0.1146 0 -0 0 + + 0.785398 + + 640 + 480 + L8 + + + 0.1 + 100 + + + + + 25 + 0.0682 0.03 0.1146 0 -0 0 + + 1.5708 + + 640 + 480 + BAYER_BGGR8 + + + 0.1 + 100 + + + + + 25 + 0.0682 -0.06 0.1146 0 -0 0 + + 1.5708 + + 640 + 480 + BAYER_BGGR8 + + + 0.1 + 100 + + + + + 20 + 0.069657 -0.11 0.1191 0 -0 0 + + 0.785398 + + 2448 + 2050 + R8G8B8 + + + 0.1 + 100 + + + + + 0 + 0 + + + 0 + 0 + -0.05 0.188 0.790675 0 -0 0 + + 25.7993 + -0.001201 0.024513 -0.098231 0 -0 0 + + 0.866179 + -0.060865 + -0.121181 + 0.874217 + -0.058866 + 0.273538 + + + + + + model://pr2/meshes/shoulder_v0/shoulder_pan.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/shoulder_v0/shoulder_pan.dae + + + + + 0 + 0 + + + 0 + 0 + 0.05 0.188 0.790675 0 -0 0 + + 2.74988 + 0.02195 -0.02664 -0.03127 0 -0 0 + + 0.021056 + 0.004967 + -0.001948 + 0.021272 + 0.001104 + 0.019758 + + + + + + model://pr2/meshes/shoulder_v0/shoulder_lift.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/shoulder_v0/shoulder_lift.dae + + + + + 0 + 0 + + + 0 + 0 + 0.05 0.188 0.790675 0 -0 0 + + 6.11769 + 0.210551 0.016309 -0.000561 0 -0 0 + + 0.025306 + -0.003393 + 0.000608 + 0.084737 + -0.0002 + 0.086016 + + + + + + model://pr2/meshes/shoulder_v0/upper_arm_roll_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/shoulder_v0/upper_arm_roll.stl + + + + + + + model://pr2/meshes/upper_arm_v0/upper_arm.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/upper_arm_v0/upper_arm.dae + + + + + 0 + 0 + + + 0 + 0 + 0.45 0.188 0.790675 0 -0 0 + + 1.90327 + 0.01014 0.00032 -0.01211 0 -0 0 + + 0.003465 + 4.1e-05 + 0.000432 + 0.004416 + -4e-05 + 0.003592 + + + + + + model://pr2/meshes/upper_arm_v0/elbow_flex.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/upper_arm_v0/elbow_flex.dae + + + + + 0 + 0 + + + 0 + 0 + 0.45 0.188 0.790675 0 -0 0 + + 2.68968 + 0.180727 -0.000163 -0.008583 0 -0 0 + + 0.014668 + 5.2e-05 + 0.000656 + 0.026279 + -1.3e-05 + 0.027775 + + + + + + model://pr2/meshes/upper_arm_v0/forearm_roll_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/upper_arm_v0/forearm_roll.stl + + + + + + + model://pr2/meshes/forearm_v0/forearm.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/forearm_v0/forearm.dae + + + + + 25 + 0.135 0 0.044 -1.5708 -0.562869 0 + + 1.5708 + + 640 + 480 + R8G8B8 + + + 0.1 + 100 + + + + + 0 + 0 + + + 0 + 0 + 0.771 0.188 0.790675 0 -0 0 + + 0.61402 + -0.00157 0 -0.00075 0 -0 0 + + 0.000652 + 0 + 3e-06 + 0.000198 + 0 + 0.000645 + + + + + + model://pr2/meshes/forearm_v0/wrist_flex.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/forearm_v0/wrist_flex.dae + + + + + 0 + 0 + + + 0 + 0 + 0.771 0.188 0.790675 0 -0 0 + + 0.68107 + 0.056408 0.000451 -0.001014 0 -0 0 + + 0.011352 + -1.6e-05 + -1e-06 + 0.011677 + -1e-06 + 0.011866 + + + + + + model://pr2/meshes/forearm_v0/wrist_roll_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/forearm_v0/wrist_roll.stl + + + + + + + 0.001 0.001 0.001 + + + 10 + + + + + + + + + + + + + + + + + 0.001 0.001 0.001 + + + + + + + model://pr2/meshes/gripper_v0/gripper_palm.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/gripper_v0/gripper_palm.dae + + + + + 0 + 0 + + + 0 + 0 + 0.84791 0.198 0.790675 0 -0 0 + + 0.17126 + 0.03598 0.0173 -0.00164 0 -0 0 + + 7.8e-05 + 1e-06 + -1e-05 + 0.000197 + -3e-06 + 0.000181 + + + + + + model://pr2/meshes/gripper_v0/l_finger.stl + + + + + + 500 + 500 + 0 + 0 + + + + + + + + 1e+06 + 1 + 100 + 0 + + + + + 10 + + + + + model://pr2/meshes/gripper_v0/l_finger.dae + + + + + 0 + 0 + + + 0 + 0 + 0.93928 0.20295 0.790675 0 -0 0 + + 0.04419 + 0.00423 0.00284 0 0 -0 0 + + 8e-06 + 6e-06 + 0 + 1e-05 + 0 + 1.5e-05 + + + + + + model://pr2/meshes/gripper_v0/l_finger_tip.stl + + + + + + 500 + 500 + 0 + 0 + + + + + + + + 1e+07 + 1 + 100 + 0 + + + + + 10 + + + + + model://pr2/meshes/gripper_v0/l_finger_tip.dae + + + + + 100 + + l_gripper_l_finger_tip_link_geom + __default_topic__ + + + + 0 + 0 + + + 0 + 0 + 0.93928 0.188 0.790675 0 -0 0 + + 0.01 + + 0.001 + 0 + 0 + 0.001 + 0 + 0.001 + + 0 0 0 0 -0 0 + + + 0 + 0 + + + 0 + 0 + 0.93928 0.188 0.790675 0 -0 0 + + 0.01 + + 0.0001 + 0 + 0 + 0.0001 + 0 + 0.0001 + + 0 0 0 0 -0 0 + + + 0 + 0 + + + 0 + 0 + 0.84791 0.178 0.790675 0 -0 0 + + 0.17389 + 0.03576 -0.01736 -0.00095 0 -0 0 + + 7.7e-05 + -2e-06 + -8e-06 + 0.000198 + 2e-06 + 0.000181 + + + + 0 0 0 -3.14159 0 0 + + + model://pr2/meshes/gripper_v0/l_finger.stl + + + + + + 500 + 500 + 0 + 0 + + + + + + + + 1e+06 + 1 + 100 + 0 + + + + + 10 + + + 0 0 0 -3.14159 0 0 + + + model://pr2/meshes/gripper_v0/l_finger.dae + + + + + 0 + 0 + + + 0 + 0 + 0.93928 0.17305 0.790675 0 -0 0 + + 0.04419 + 0.00423 -0.00284 0 0 -0 0 + + 8e-06 + -6e-06 + 0 + 1e-05 + 0 + 1.5e-05 + + + + 0 0 0 -3.14159 0 0 + + + model://pr2/meshes/gripper_v0/l_finger_tip.stl + + + + + + 500 + 500 + 0 + 0 + + + + + + + + 1e+07 + 1 + 100 + 0 + + + + + 10 + + + 0 0 0 -3.14159 0 0 + + + model://pr2/meshes/gripper_v0/l_finger_tip.dae + + + + + 100 + + l_gripper_r_finger_tip_link_geom + __default_topic__ + + + + 0 + 0 + + + 0 + 0.04893 0 1.01768 0 -0 0 + + 0.592 + -0.001134 0.001667 -0.007067 0 -0 0 + + 0.001296 + 2.3e-05 + 3.7e-05 + 0.001086 + 3.5e-05 + 0.000895 + + + + + + model://pr2/meshes/tilting_laser_v0/tilting_hokuyo_L.stl + + + + + + 0 + 0 + 0 + 0 + + + + + + + + 1e+12 + 10000 + 100 + 0 + + + + + 10 + + + + + model://pr2/meshes/tilting_laser_v0/tilting_hokuyo.dae + + + + + 40 + 0 0 0.03 0 -0 0 + + + + 640 + 1 + -1.39626 + 1.39626 + + + 1 + 0 + 0 + + + + 0.08 + 10 + 0.01 + + + + + 0 + 0 + + + 0 + 0 + -0.05 -0.188 0.790675 0 -0 0 + + 25.7993 + -0.001201 0.024513 -0.098231 0 -0 0 + + 0.866179 + -0.060865 + -0.121181 + 0.874217 + -0.058866 + 0.273538 + + + + + + model://pr2/meshes/shoulder_v0/shoulder_pan.stl + + + + + + 0 + 0 + 0 + 0 + + + + + + + + 1e+12 + 10000 + 100 + 0 + + + + + 10 + + + + + model://pr2/meshes/shoulder_v0/shoulder_pan.dae + + + + + 0 + 0 + + + 0 + 0 + 0.05 -0.188 0.790675 0 -0 0 + + 2.74988 + 0.02195 -0.02664 -0.03127 0 -0 0 + + 0.021056 + 0.004967 + -0.001948 + 0.021272 + 0.001104 + 0.019758 + + + + + + model://pr2/meshes/shoulder_v0/shoulder_lift.stl + + + + + + 0 + 0 + 0 + 0 + + + + + + + + 1e+12 + 10000 + 100 + 0 + + + + + 10 + + + + + model://pr2/meshes/shoulder_v0/shoulder_lift.dae + + + + + 0 + 0 + + + 0 + 0 + 0.05 -0.188 0.790675 0 -0 0 + + 6.11769 + 0.210482 -0.015945 -0.000197 0 -0 0 + + 0.025378 + 0.003757 + -0.000709 + 0.084737 + -0.000179 + 0.086088 + + + + + + model://pr2/meshes/shoulder_v0/upper_arm_roll_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/shoulder_v0/upper_arm_roll.stl + + + + + + + model://pr2/meshes/upper_arm_v0/upper_arm.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/upper_arm_v0/upper_arm.dae + + + + + 0 + 0 + + + 0 + 0 + 0.45 -0.188 0.790675 0 -0 0 + + 1.90327 + 0.01014 0.00032 -0.01211 0 -0 0 + + 0.003465 + 4.1e-05 + 0.000432 + 0.004416 + -4e-05 + 0.003592 + + + + + + model://pr2/meshes/upper_arm_v0/elbow_flex.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/upper_arm_v0/elbow_flex.dae + + + + + 0 + 0 + + + 0 + 0 + 0.45 -0.188 0.790675 0 -0 0 + + 2.68968 + 0.180727 -0.000163 -0.008583 0 -0 0 + + 0.014668 + 5.2e-05 + 0.000656 + 0.026279 + -1.3e-05 + 0.027775 + + + + + + model://pr2/meshes/upper_arm_v0/forearm_roll_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/upper_arm_v0/forearm_roll.stl + + + + + + + model://pr2/meshes/forearm_v0/forearm.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/forearm_v0/forearm.dae + + + + + 25 + 0.135 0 0.044 1.5708 -0.562869 -0 + + 1.5708 + + 640 + 480 + R8G8B8 + + + 0.1 + 100 + + + + + 0 + 0 + + + 0 + 0 + 0.771 -0.188 0.790675 0 -0 0 + + 0.61402 + -0.00157 0 -0.00075 0 -0 0 + + 0.000652 + 0 + 3e-06 + 0.000198 + 0 + 0.000645 + + + + + + model://pr2/meshes/forearm_v0/wrist_flex.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/forearm_v0/wrist_flex.dae + + + + + 0 + 0 + + + 0 + 0 + 0.771 -0.188 0.790675 0 -0 0 + + 0.68107 + 0.056408 0.000451 -0.001014 0 -0 0 + + 0.011352 + -1.6e-05 + -1e-06 + 0.011677 + -1e-06 + 0.011866 + + + + + + model://pr2/meshes/forearm_v0/wrist_roll_L.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/forearm_v0/wrist_roll.stl + + + + + + + 0.001 0.001 0.001 + + + 10 + + + + + + + + + + + + + + + + + 0.001 0.001 0.001 + + + + + + + model://pr2/meshes/gripper_v0/gripper_palm.stl + + + 10 + + + + + + + + + + + + + + + + + model://pr2/meshes/gripper_v0/gripper_palm.dae + + + + + 0 + 0 + + + 0 + 0 + 0.84791 -0.178 0.790675 0 -0 0 + + 0.17126 + 0.03598 0.0173 -0.00164 0 -0 0 + + 7.8e-05 + 1e-06 + 1e-05 + 0.000197 + -3e-06 + 0.000181 + + + + + + model://pr2/meshes/gripper_v0/l_finger.stl + + + + + + 500 + 500 + 0 + 0 + + + + + + + + 1e+06 + 1 + 100 + 0 + + + + + 10 + + + + + model://pr2/meshes/gripper_v0/l_finger.dae + + + + + 0 + 0 + + + 0 + 0 + 0.93928 -0.17305 0.790675 0 -0 0 + + 0.04419 + 0.00423 0.00284 0 0 -0 0 + + 8e-06 + 6e-06 + 0 + 1e-05 + 0 + 1.5e-05 + + + + + + model://pr2/meshes/gripper_v0/l_finger_tip.stl + + + + + + 500 + 500 + 0 + 0 + + + + + + + + 1e+07 + 1 + 100 + 0 + + + + + 10 + + + + + model://pr2/meshes/gripper_v0/l_finger_tip.dae + + + + + 100 + + r_gripper_l_finger_tip_link_geom + __default_topic__ + + + + 0 + 0 + + + 0 + 0 + 0.93928 -0.188 0.790675 0 -0 0 + + 0.01 + + 0.001 + 0 + 0 + 0.001 + 0 + 0.001 + + 0 0 0 0 -0 0 + + + 0 + 0 + + + 0 + 0 + 0.93928 -0.188 0.790675 0 -0 0 + + 0.01 + + 0.0001 + 0 + 0 + 0.0001 + 0 + 0.0001 + + 0 0 0 0 -0 0 + + + 0 + 0 + + + 0 + 0 + 0.84791 -0.198 0.790675 0 -0 0 + + 0.17389 + 0.03576 -0.01736 -0.00095 0 -0 0 + + 7.7e-05 + -2e-06 + -8e-06 + 0.000198 + 2e-06 + 0.000181 + + + + 0 0 0 -3.14159 0 0 + + + model://pr2/meshes/gripper_v0/l_finger.stl + + + + + + 500 + 500 + 0 + 0 + + + + + + + + 1e+06 + 1 + 100 + 0 + + + + + 10 + + + 0 0 0 -3.14159 0 0 + + + model://pr2/meshes/gripper_v0/l_finger.dae + + + + + 0 + 0 + + + 0 + 0 + 0.93928 -0.20295 0.790675 0 -0 0 + + 0.04419 + 0.00423 -0.00284 0 0 -0 0 + + 8e-06 + -6e-06 + 0 + 1e-05 + 0 + 1.5e-05 + + + + 0 0 0 -3.14159 0 0 + + + model://pr2/meshes/gripper_v0/l_finger_tip.stl + + + + + + 500 + 500 + 0 + 0 + + + + + + + + 1e+07 + 1 + 100 + 0 + + + + + 10 + + + 0 0 0 -3.14159 0 0 + + + model://pr2/meshes/gripper_v0/l_finger_tip.dae + + + + + 100 + + r_gripper_r_finger_tip_link_geom + __default_topic__ + + + + 0 + 0 + + + 0 + -0.15 0 0.751 0 -0 0 + + 1 + + 0.001 + 0 + 0 + 0.001 + 0 + 0.001 + + 0 0 0 0 -0 0 + + + 0 + 0 + + + 0 + 0 + 0.82991 -0.157 0.790675 0 -0 0 + + 0.17126 + 0.03598 0.0173 -0.00164 0 -0 0 + + 7.8e-05 + 1e-06 + -1e-05 + 0.000197 + -3e-06 + 0.000181 + + + + 0 + 0 + + + 0 + 0 + 0.82991 -0.219 0.790675 0 -0 0 + + 0.17389 + 0.03576 -0.01736 -0.00095 0 -0 0 + + 7.7e-05 + -2e-06 + -8e-06 + 0.000198 + 2e-06 + 0.000181 + + + + 0 + 0 + + + 0 + 0 + 0.82991 0.219 0.790675 0 -0 0 + + 0.17126 + 0.03598 0.0173 -0.00164 0 -0 0 + + 7.8e-05 + 1e-06 + 1e-05 + 0.000197 + -3e-06 + 0.000181 + + + + 0 + 0 + + + 0 + 0 + 0.82991 0.157 0.790675 0 -0 0 + + 0.17389 + 0.03576 -0.01736 -0.00095 0 -0 0 + + 7.7e-05 + -2e-06 + 8e-06 + 0.000198 + 2e-06 + 0.000181 + + + + 0 + 0 + + + base_footprint + bl_caster_rotation_link + + 0 0 1 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + bl_caster_rotation_link + bl_caster_l_wheel_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + bl_caster_rotation_link + bl_caster_r_wheel_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + base_footprint + br_caster_rotation_link + + 0 0 1 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + br_caster_rotation_link + br_caster_l_wheel_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + br_caster_rotation_link + br_caster_r_wheel_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + base_footprint + fl_caster_rotation_link + + 0 0 1 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + fl_caster_rotation_link + fl_caster_l_wheel_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + fl_caster_rotation_link + fl_caster_r_wheel_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + base_footprint + fr_caster_rotation_link + + 0 0 1 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + fr_caster_rotation_link + fr_caster_l_wheel_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + fr_caster_rotation_link + fr_caster_r_wheel_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + base_footprint + torso_lift_link + + 0 0 1 + + 0 + 0.33 + 0 + 4 + + + 0 + 0 + + + + + torso_lift_link + head_pan_link + + 0 0 1 + + 2 + 0 + 0 + 0 + + + -3.00699 + 3.00699 + 0 + 4 + + + + + head_pan_link + head_tilt_link + + 0 1 0 + + 10 + 0 + 0 + 0 + + + -0.471237 + 1.39626 + 0 + 4 + + + + + torso_lift_link + l_shoulder_pan_link + + 0 0 1 + + 10 + 0 + 0 + 0 + + + -0.714602 + 2.2854 + 0 + 4 + + + + + l_shoulder_pan_link + l_shoulder_lift_link + + 0 1 0 + + 10 + 0 + 0 + 0 + + + -0.523601 + 1.3963 + 0 + 4 + + + + + l_shoulder_lift_link + l_upper_arm_roll_link + + 1 0 0 + + 0.1 + 0 + 0 + 0 + + + -0.8 + 3.90001 + 0 + 4 + + + + + l_upper_arm_roll_link + l_elbow_flex_link + + 0 1 0 + + 1 + 0 + 0 + 0 + + + -2.32131 + 0 + 0 + 4 + + + + + l_elbow_flex_link + l_forearm_roll_link + + 1 0 0 + + 0.1 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + l_forearm_roll_link + l_wrist_flex_link + + 0 1 0 + + 0.1 + 0 + 0 + 0 + + + -2.18 + 0 + 0 + 4 + + + + + l_wrist_flex_link + l_wrist_roll_link + + 1 0 0 + + 0.1 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + l_wrist_roll_link + l_gripper_l_finger_link + + 0 0 1 + + 0.02 + 0 + 0 + 0 + + + 0 + 0.548 + 0 + 4 + + + + + l_gripper_l_finger_link + l_gripper_l_finger_tip_link + + 0 0 -1 + + 0.001 + 0 + 0 + 0 + + + 0 + 0.548 + 0 + 4 + + + + + l_wrist_roll_link + l_gripper_motor_slider_link + + 1 0 0 + + -0.1 + 0.1 + 0 + 4 + + + 0 + 0 + + + + + l_gripper_motor_slider_link + l_gripper_motor_screw_link + + 0 1 0 + + 0.0001 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + l_wrist_roll_link + l_gripper_r_finger_link + + 0 0 -1 + + 0.02 + 0 + 0 + 0 + + + 0 + 0.548 + 0 + 4 + + + + + l_gripper_r_finger_link + l_gripper_r_finger_tip_link + + 0 0 1 + + 0.001 + 0 + 0 + 0 + + + 0 + 0.548 + 0 + 4 + + + + + torso_lift_link + laser_tilt_mount_link + + 0 1 0 + + 0.008 + 0 + 0 + 0 + + + -0.7854 + 1.48353 + 0 + 4 + + + + + torso_lift_link + r_shoulder_pan_link + + 0 0 1 + + 10 + 0 + 0 + 0 + + + -2.2854 + 0.714602 + 0 + 4 + + + + + r_shoulder_pan_link + r_shoulder_lift_link + + 0 1 0 + + 10 + 0 + 0 + 0 + + + -0.523601 + 1.3963 + 0 + 4 + + + + + r_shoulder_lift_link + r_upper_arm_roll_link + + 1 0 0 + + 0.1 + 0 + 0 + 0 + + + -3.90001 + 0.8 + 0 + 4 + + + + + r_upper_arm_roll_link + r_elbow_flex_link + + 0 1 0 + + 1 + 0 + 0 + 0 + + + -2.32131 + 0 + 0 + 4 + + + + + r_elbow_flex_link + r_forearm_roll_link + + 1 0 0 + + 0.1 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + r_forearm_roll_link + r_wrist_flex_link + + 0 1 0 + + 0.1 + 0 + 0 + 0 + + + -2.18 + 0 + 0 + 4 + + + + + r_wrist_flex_link + r_wrist_roll_link + + 1 0 0 + + 0.1 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + r_wrist_roll_link + r_gripper_l_finger_link + + 0 0 1 + + 0.02 + 0 + 0 + 0 + + + 0 + 0.548 + 0 + 4 + + + + + r_gripper_l_finger_link + r_gripper_l_finger_tip_link + + 0 0 -1 + + 0.001 + 0 + 0 + 0 + + + 0 + 0.548 + 0 + 4 + + + + + r_wrist_roll_link + r_gripper_motor_slider_link + + 1 0 0 + + 0 + 0 + 0 + 0 + + + -0.1 + 0.1 + 0 + 4 + + + + + r_gripper_motor_slider_link + r_gripper_motor_screw_link + + 0 1 0 + + 0.0001 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + r_wrist_roll_link + r_gripper_r_finger_link + + 0 0 -1 + + 0.02 + 0 + 0 + 0 + + + 0 + 0.548 + 0 + 4 + + + + + r_gripper_r_finger_link + r_gripper_r_finger_tip_link + + 0 0 1 + + 0.001 + 0 + 0 + 0 + + + 0 + 0.548 + 0 + 4 + + + + + base_footprint + torso_lift_motor_screw_link + + 0 0 1 + + 0.0001 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + torso_lift_link + torso_lift_motor_screw_link + 3141.6 + + 0 0 1 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + r_gripper_r_finger_tip_link + r_gripper_motor_screw_link + -3141.6 + + 0 1 0 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + r_gripper_l_finger_tip_link + r_gripper_motor_screw_link + 3141.6 + + 0 1 0 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + 0.05891 -0.031 0 0 -0 0 + r_gripper_r_parallel_link + r_wrist_roll_link + + 0 0 -1 + + 0.2 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + 0.05891 0.031 0 0 -0 0 + r_gripper_l_parallel_link + r_wrist_roll_link + + 0 0 1 + + 0.2 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + -0.018 -0.021 0 0 -0 0 + r_gripper_r_parallel_link + r_gripper_r_finger_tip_link + + 0 0 1 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + -0.018 0.021 0 0 -0 0 + r_gripper_l_parallel_link + r_gripper_l_finger_tip_link + + 0 0 1 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + r_gripper_r_finger_tip_link + r_gripper_l_finger_tip_link + + 0 1 0 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + l_gripper_r_finger_tip_link + l_gripper_motor_screw_link + -3141.6 + + 0 1 0 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + l_gripper_l_finger_tip_link + l_gripper_motor_screw_link + 3141.6 + + 0 1 0 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + 0.05891 -0.031 0 0 -0 0 + l_gripper_r_parallel_link + l_wrist_roll_link + + 0 0 -1 + + 0.2 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + 0.05891 0.031 0 0 -0 0 + l_gripper_l_parallel_link + l_wrist_roll_link + + 0 0 1 + + 0.2 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + -0.018 -0.021 0 0 -0 0 + l_gripper_r_parallel_link + l_gripper_r_finger_tip_link + + 0 0 1 + + 0 + 0 + 0 + 0 + + + -1e+16 + 1e+16 + 0 + 4 + + + + + -0.018 0.021 0 0 -0 0 + l_gripper_l_parallel_link + l_gripper_l_finger_tip_link + + 0 0 1 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + + l_gripper_r_finger_tip_link + l_gripper_l_finger_tip_link + + 0 1 0 + + -1e+16 + 1e+16 + 0 + 4 + + + 0 + 0 + + + + 0.315091 -0.936677 0 0 -0 0 + + + 10 786000000 + 11 947006679 + 1622235518 286654524 + 10786 + + 0 0 0 0 -0 0 + 1 1 1 + + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 0.315176 -0.935399 -0.004433 1.1e-05 -6.6e-05 -0.002005 + 1 1 1 + + 0.315176 -0.935399 -0.004433 1.1e-05 -6.6e-05 -0.002005 + -0.000494 0.000941 0.005745 -0.000108 0.001269 -0.001778 + -0.316785 -0.020765 9.66742 2.97548 1.52824 2.98363 + -37.381 -2.45029 1140.77 0 -0 0 + + + 0.091437 -0.661362 0.074794 4.7e-05 0.014445 -0.008465 + 0.000893 -0.000284 0.011557 0.004041 0.015162 -0.013907 + -0.09763 -3.66412 23.7448 2.46642 -0.417537 1.92389 + -0.042992 -1.61353 10.4562 0 -0 0 + + + 0.090608 -0.759352 0.074796 -3.8e-05 0.003169 -0.008462 + -0.000409 0.000621 0.011968 -0.008215 -0.002386 -0.013253 + -0.09042 -1.40583 24.8073 -2.9307 -0.453226 -2.85725 + -0.039817 -0.619069 10.9241 0 -0 0 + + + 0.091022 -0.710351 0.074763 4e-05 -6.8e-05 -0.008465 + 4.1e-05 0.001238 0.007231 0.003419 0.000813 -0.013704 + -0.368207 -0.918835 12.9551 -2.77437 0.816835 -0.785324 + -1.27881 -3.19119 44.994 0 -0 0 + + + 0.090074 -1.11056 0.074795 5.4e-05 -0.006014 0.000988 + -0.000213 -0.000383 0.012621 0.005326 -0.001341 -0.006338 + -0.006706 -3.87315 25.8854 -0.97738 -0.097283 1.69264 + -0.002953 -1.70558 11.3989 0 -0 0 + + + 0.090171 -1.20855 0.074797 -4.5e-05 -0.003271 0.000993 + -0.000762 0.00069 0.013072 -0.009221 -0.008832 -0.005573 + 0.003382 -1.24863 27.0279 -1.96956 0.613258 0.302598 + 0.001489 -0.549847 11.902 0 -0 0 + + + 0.090121 -1.15955 0.07476 4.5e-05 -6.9e-05 0.00099 + -0.000723 0.001289 0.007484 0.004399 0.000705 -0.006092 + -0.370033 -0.939142 13.4379 -0.844373 0.583862 -0.9109 + -1.28515 -3.26171 46.671 0 -0 0 + + + 0.540015 -0.662254 0.074792 9e-06 0.006992 0.004207 + -3.7e-05 0.000227 0.005273 -0.002952 -0.000687 0.004346 + -0.120673 -1.08289 10.8297 0.497021 0.391896 2.44511 + -0.05314 -0.476862 4.76898 0 -0 0 + + + 0.540428 -0.760252 0.074792 -6e-06 0.012939 0.004209 + 0.000496 0.000141 0.005148 -0.001724 0.005667 0.004586 + -0.050141 -0.872943 11.0198 -2.23461 1.07099 2.95317 + -0.02208 -0.384409 4.8527 0 -0 0 + + + 0.540221 -0.711251 0.074786 1e-05 -7e-05 0.004208 + 8.1e-05 0.000449 0.005372 -0.002088 0.000529 0.00456 + -0.3316 -0.132848 9.49632 -1.64107 0.255375 -0.389772 + -1.15167 -0.461391 32.9815 0 -0 0 + + + 0.539416 -1.11145 0.074792 1.8e-05 -0.000149 -0.001942 + -0.000292 0.000102 0.006102 -0.001247 -0.002643 -0.005283 + -0.117797 -1.33909 12.7143 -2.42928 0.337896 2.44083 + -0.051873 -0.589684 5.59887 0 -0 0 + + + 0.539226 -1.20945 0.074793 -9e-06 -0.001991 -0.00194 + -0.00078 0.000189 0.006248 -0.002428 -0.009182 -0.005118 + -0.117994 -0.772934 13.2387 2.49886 1.50371 2.9685 + -0.05196 -0.340369 5.82979 0 -0 0 + + + 0.53932 -1.16045 0.074782 1.7e-05 -6.9e-05 -0.001942 + -0.000731 0.000502 0.005606 -0.000665 0.000604 -0.005217 + -0.413371 -0.246026 9.96379 0.974373 0.389397 -0.514096 + -1.43567 -0.854469 34.605 0 -0 0 + + + 0.248028 -0.935278 1.16768 1.5e-05 -6.4e-05 -0.00177 + 0.000826 0.001108 -0.002874 0.0005 0.001956 -0.000905 + 1.10731 -0.110699 -0.728335 -1.76977 0.244182 -2.22991 + 7.01922 -0.701718 -4.61692 0 -0 0 + + + 0.316028 -0.935398 1.16769 1.4e-05 -0.040081 -0.001771 + 0.000889 0.000993 -0.002959 0.000322 -0.043022 -0.000891 + 0.88604 -0.16483 -0.84976 -1.9887 -1.16178 -2.20679 + 4.71285 -0.87673 -4.51987 0 -0 0 + + + 0.765497 -0.748288 0.784938 0.000677 -0.069018 -0.002009 + 0.000663 0.000332 0.002204 0.001659 -0.017607 -0.001436 + 0.25866 0.094457 0.222301 1.32706 1.09935 0.291863 + 0.492299 0.179776 0.423098 0 -0 0 + + + 0.765497 -0.748288 0.784938 0.001744 -0.069018 -0.00201 + 0.000629 0.000326 0.002218 -0.002783 -0.017729 -0.001888 + 0.216438 0.015178 0.097462 -0.064023 0.954685 -0.243821 + 0.582148 0.040823 0.262142 0 -0 0 + + + 1.15994 -0.739108 0.827358 0.002187 -0.266574 -0.001944 + -0.000864 -0.000298 0.011698 -0.003469 -0.051815 -0.001704 + 0.107235 -0.011168 -0.031693 0.062104 -0.327375 0.649681 + 0.018365 -0.001913 -0.005428 0 -0 0 + + + 1.24809 -0.734329 0.851438 0.0023 -0.266573 -0.002365 + -0.002098 -0.000369 0.016249 -0.002896 -0.052114 -0.001872 + 0.115792 0.016594 -0.007567 0.816641 -0.822057 0.284281 + 0.005117 0.000733 -0.000334 0 -0 0 + + + 1.14261 -0.718067 0.822663 0.002187 -0.266574 -0.001943 + -0.00057 -0.000279 0.010733 -0.003544 -0.051846 -0.001454 + 0.118024 0.004099 -0.03091 -0.092835 -0.373451 0.969838 + 0.020213 0.000702 -0.005294 0 -0 0 + + + 1.24806 -0.749316 0.851405 0.002242 -0.150218 -0.002095 + -0.002139 -0.0004 0.016296 -0.003509 -0.119967 -0.002174 + 0.095115 -0.054125 -0.017433 0.048036 0.084428 -0.135426 + 0.000951 -0.000541 -0.000174 0 -0 0 + + + 1.24806 -0.749316 0.851405 0.002298 -0.266573 -0.002365 + -0.002134 -0.000399 0.016298 -0.003387 -0.051819 -0.002043 + 0.103481 -0.054226 -0.01501 0.050508 -0.324168 -0.166618 + 0.001035 -0.000542 -0.00015 0 -0 0 + + + 1.15991 -0.759108 0.827314 0.002409 -0.266572 -0.002785 + -0.000898 -0.000306 0.011766 -0.00351 -0.051814 -0.001577 + 0.124016 -0.039776 -0.02672 0.019496 -0.322431 0.144948 + 0.021565 -0.006917 -0.004646 0 -0 0 + + + 1.24804 -0.764303 0.851371 0.002298 -0.266572 -0.002365 + -0.00215 -0.000365 0.016353 -0.003332 -0.051711 -0.002097 + 0.119465 -0.039714 -0.005775 -0.04803 -0.330939 -0.301219 + 0.005279 -0.001755 -0.000255 0 -0 0 + + + 1.14251 -0.780066 0.822525 0.002409 -0.266572 -0.002787 + -0.000682 -0.000283 0.010939 -0.003408 -0.051807 -0.001938 + 0.129669 -0.051328 -0.030404 0.097129 -0.318013 -0.40457 + 0.022548 -0.008925 -0.005287 0 -0 0 + + + 0.3655 -0.747504 0.786239 1e-05 0.003253 -0.001961 + 0.00073 0.00094 -0.003385 -0.000202 -0.013524 -0.001563 + 0.500051 0.036846 -1.12587 2.74254 -0.413629 -3.04653 + 1.37508 0.101322 -3.096 0 -0 0 + + + 0.2655 -0.747308 0.786232 1e-05 -6.8e-05 -0.001961 + 0.00073 0.001113 -0.003206 -0.000186 0.001224 -0.001592 + 0.280483 0.03564 -0.935371 -0.403685 1.31699 0.01783 + 7.23626 0.919482 -24.1319 0 -0 0 + + + 0.3655 -0.747504 0.786238 0.000675 0.00325 -0.00196 + 0.000661 0.000915 -0.003475 0.001671 -0.014136 -0.001442 + 0.293931 0.048984 -0.562492 -1.80703 0.837911 -2.9126 + 1.79818 0.299667 -3.44115 0 -0 0 + + + 1.08573 -0.748932 0.807076 0.001804 -0.266572 -0.002365 + 0.000225 -0.000219 0.007896 -0.002839 -0.051717 -0.001969 + 0.216605 -0.021285 -0.042276 -0.05574 -0.171862 -0.303311 + 0.133 -0.01307 -0.025958 0 -0 0 + + + 1.08573 -0.748932 0.807076 0.002298 -0.266573 -0.002365 + 0.000196 -0.000219 0.007891 -0.003386 -0.051821 -0.002041 + 0.165671 -0.034614 -0.036138 0.049816 -0.320616 -0.165986 + 0.112834 -0.023574 -0.024613 0 -0 0 + + + 0.364038 -0.935508 1.01324 1.1e-05 -0.157613 -0.002006 + 0.000726 0.000929 -0.002963 -2.8e-05 0.008291 -0.001786 + 0.783894 0.04155 -0.743148 3.10679 0.167844 2.9638 + 0.464065 0.024598 -0.439943 0 -0 0 + + + 0.764743 -1.1243 0.784976 -0.000242 -0.068517 -0.001965 + 1.9e-05 0.000286 0.002063 -0.000864 -0.017879 -0.001689 + 0.263858 0.020419 0.064408 -0.488586 0.162445 0.026805 + 0.502193 0.038862 0.122587 0 -0 0 + + + 0.764743 -1.1243 0.784976 -0.001187 -0.068517 -0.001965 + 2.4e-05 0.000282 0.00206 0.002792 -0.017859 -0.001394 + 0.274427 0.03992 0.020533 0.012061 0.21608 0.091746 + 0.73812 0.107371 0.055228 0 -0 0 + + + 1.15933 -1.11506 0.826724 -0.001766 -0.260208 -0.001318 + -0.001385 -0.000386 0.011588 0.003469 -0.050844 -0.001309 + 0.221496 0.085527 0.005105 0.120116 -0.217345 0.664043 + 0.037933 0.014647 0.000874 0 -0 0 + + + 1.24764 -1.11022 0.850224 -0.001658 -0.26021 -0.00173 + -0.002568 -0.000585 0.016094 0.004034 -0.051137 -0.00113 + 0.233711 0.117398 0.02299 1.19193 -0.91397 0.604863 + 0.010328 0.005188 0.001016 0 -0 0 + + + 1.14198 -1.09403 0.82206 -0.001767 -0.260208 -0.001317 + -0.00111 -0.000346 0.010783 0.003317 -0.050881 -0.001052 + 0.230536 0.103534 0.008266 -0.263079 -0.274764 1.08733 + 0.039482 0.017731 0.001416 0 -0 0 + + + 1.2476 -1.12521 0.850248 -0.001622 -0.146503 -0.001921 + -0.002605 -0.000605 0.016039 0.003272 -0.117217 -0.001201 + 0.208535 0.03935 0.013751 -0.01945 0.10212 0.047932 + 0.002085 0.000393 0.000138 0 -0 0 + + + 1.2476 -1.12521 0.850248 -0.00166 -0.260209 -0.001731 + -0.002599 -0.000634 0.01604 0.003417 -0.050852 -0.001338 + 0.218615 0.008017 0.015892 -0.016998 -0.222179 -0.00033 + 0.002186 8e-05 0.000159 0 -0 0 + + + 1.15929 -1.13506 0.826756 -0.001555 -0.26021 -0.002141 + -0.001407 -0.000393 0.011521 0.003562 -0.050847 -0.001824 + 0.229567 0.024459 0.009729 -0.051233 -0.222414 -0.776766 + 0.039919 0.004253 0.001692 0 -0 0 + + + 1.24757 -1.1402 0.850272 -0.001661 -0.260209 -0.001727 + -0.002611 -0.000644 0.015991 0.003125 -0.050856 -0.000173 + 0.242657 -0.017646 0.026256 0.597344 0.703969 2.02441 + 0.010723 -0.00078 0.00116 0 -0 0 + + + 1.14185 -1.15603 0.822159 -0.001555 -0.26021 -0.002141 + -0.001199 -0.000356 0.010564 0.003578 -0.050869 -0.001811 + 0.234789 0.021068 0.010017 0.057767 -0.257685 -0.739776 + 0.040827 0.003663 0.001742 0 -0 0 + + + 0.364746 -1.1235 0.786235 1e-05 0.003148 -0.001982 + 2.2e-05 0.000923 -0.002964 -0.000109 -0.012426 -0.001621 + 0.344708 0.016851 -0.710132 2.88586 -1.42171 3.09413 + 0.947906 0.046338 -1.95278 0 -0 0 + + + 0.264747 -1.12331 0.786228 1.1e-05 -6.7e-05 -0.001982 + 8.1e-05 0.001103 -0.002807 -3.5e-05 0.001319 -0.00168 + 0.239283 0.05645 -0.536878 3.10741 1.56249 3.01159 + 6.17333 1.45636 -13.8511 0 -0 0 + + + 0.364746 -1.1235 0.786235 -0.000241 0.003147 -0.001982 + 2.8e-05 0.000899 -0.002943 -0.000891 -0.01253 -0.001531 + 0.305529 0.00314 -0.282676 2.60529 -1.17603 -3.02284 + 1.86913 0.01921 -1.72932 0 -0 0 + + + 1.08499 -1.12493 0.806953 -0.001225 -0.260209 -0.00173 + -0.000389 -0.000226 0.007775 0.002771 -0.050857 -0.001525 + 0.245796 0.052158 -0.015529 -0.006504 -0.23327 0.060183 + 0.150924 0.032026 -0.009535 0 -0 0 + + + 1.08499 -1.12493 0.806953 -0.00166 -0.260209 -0.00173 + -0.000391 -0.000226 0.007774 0.00341 -0.05085 -0.001305 + 0.239559 0.054476 -0.003411 -0.02472 -0.221027 0.041962 + 0.163156 0.037102 -0.002323 0 -0 0 + + + 0.265124 -0.935307 0.786231 1.1e-05 -6.8e-05 -0.002004 + 0.000448 0.001098 -0.003066 -6.1e-05 0.00119 -0.00175 + 0.377251 0.049813 -0.484714 -0.081474 1.20156 -0.091569 + 13.7504 1.81563 -17.6673 0 -0 0 + + + 0.165126 -0.935107 0.746561 1.1e-05 -6.7e-05 0.006142 + 0.000451 0.001268 0.009531 -9e-06 0.000985 0.001385 + 0.484245 0.050239 13.7618 0.058529 1.1909 -2.49675 + 0.484245 0.050239 13.7618 0 -0 0 + + + + 0 0 10 0 -0 0 + + + + + 5 -5 2 0 0.275643 2.35619 + orbit + perspective + + + + diff --git a/test/integration/schema_test.cc b/test/integration/schema_test.cc index 028548471..721ef4456 100644 --- a/test/integration/schema_test.cc +++ b/test/integration/schema_test.cc @@ -41,6 +41,14 @@ const std::string SDF_TEST_PENDULUM = sdf::filesystem::append(PROJECT_SOURCE_PATH, "test", "integration", "model", "double_pendulum.sdf"); +const std::string SDF_TEST_NESTED_MODEL = + sdf::filesystem::append(PROJECT_SOURCE_PATH, "test", "sdf", + "nested_canonical_link.sdf"); + +const std::string SDF_TEST_STATE = + sdf::filesystem::append(PROJECT_SOURCE_PATH, "test", "integration", "model", + "world_with_state.sdf"); + class SDFSchemaGenerator : public testing::Test { @@ -73,9 +81,20 @@ TEST_F(SDFSchemaGenerator, TestPR2Model) runXMLlint(SDF_TEST_PR2); } - ///////////////////////////////////////////////// TEST_F(SDFSchemaGenerator, TestTurtleBotModel) { runXMLlint(SDF_TEST_TURTLEBOT); } + +///////////////////////////////////////////////// +TEST_F(SDFSchemaGenerator, TestNestedModel) +{ + runXMLlint(SDF_TEST_NESTED_MODEL); +} + +///////////////////////////////////////////////// +TEST_F(SDFSchemaGenerator, TestState) +{ + runXMLlint(SDF_TEST_STATE); +} diff --git a/tools/xmlschema.rb b/tools/xmlschema.rb old mode 100755 new mode 100644 index 221a5bc9f..0e98e207c --- a/tools/xmlschema.rb +++ b/tools/xmlschema.rb @@ -2,6 +2,7 @@ require "rexml/document" require "optparse" +require "set" $path = nil @@ -79,6 +80,11 @@ def printElem(_file, _spaces, _elem) _elem.get_elements("element").each do |elem| printElem(_file, _spaces+6, elem) end + + _elem.get_elements("include").each do |inc| + printInclude(_file, _spaces+6, inc) + end + _file.printf("%*s\n", _spaces+4, "") # Print the attributes for the complex type @@ -89,18 +95,43 @@ def printElem(_file, _spaces, _elem) _file.printf("%*s\n", _spaces+2, "") else - _file.printf("%*s\n", - _spaces, "", _elem.attributes["name"], type) + + attributes = _elem.get_elements("attribute") + hasAttributes = attributes.size > 0 + + if hasAttributes + _file.printf("%*s\n", + _spaces, "", _elem.attributes["name"]) + else + _file.printf("%*s\n", + _spaces, "", _elem.attributes["name"], type) + end if !_elem.elements["description"].nil? && !_elem.elements["description"].text.nil? printDocumentation(_file, _spaces+2, _elem.elements["description"].text) end + + if hasAttributes + _file.printf("%*s\n", _spaces+2, "") + _file.printf("%*s\n", _spaces+4, "") + _file.printf("%*s\n", _spaces+6, "", type) + + # Print the attributes for the complex type + # Attributes must go at the end of the complex type. + attributes.each do |attr| + printAttribute(_file, _spaces+8, attr); + end + + _file.printf("%*s\n", _spaces+6, "") + _file.printf("%*s\n", _spaces+4, "") + _file.printf("%*s\n", _spaces+2, "") + end + end _file.printf("%*s\n", _spaces, "") _file.printf("%*s\n", _spaces, "") - end ################################################# @@ -121,18 +152,14 @@ def printDocumentation(_file, _spaces, _doc) end ################################################# -def printIncludeRef(_file, _spaces, _inc) - path = File.join($path, _inc.attributes["filename"]) - doc = REXML::Document.new File.new(path) - incElemName = doc.root.attributes['name'] - _file.printf("%*s\n", _spaces, "", incElemName) -end - -################################################# +# Prints XSD contents of def printInclude(_file, _spaces, _attr) - loc = "http://sdformat.org/schemas/" - loc += _attr.attributes['filename'].sub("\.sdf","\.xsd") - _file.printf("%*s\n", _spaces, "", loc) + loc = $path + "/" + _attr.attributes['filename'] + doc = REXML::Document.new File.new(loc) + + doc.elements.each_with_index("element") do |elem, i| + printElem(_file, _spaces+2, elem) + end end ################################################# @@ -176,19 +203,6 @@ def printAttribute(_file, _spaces, _attr) # \param[in] _elem The SDF element to convert to an xml schema. def printXSD(_file, _spaces, _elem) - if !_elem.elements["description"].nil? && - !_elem.elements["description"].text.nil? - printDocumentation(_file, _spaces, _elem.elements["description"].text) - end - - _file.printf("%*s\n", _spaces, "") - - # Print the inclues for the complex type - # The includes must appear first - _elem.get_elements("include").each do |inc| - printInclude(_file, _spaces, inc); - end - if _elem.get_elements("element").size > 0 || _elem.get_elements("attribute").size > 0 || _elem.get_elements("include").size > 0 @@ -196,6 +210,12 @@ def printXSD(_file, _spaces, _elem) # Print the complex type with a name _file.printf("%*s\n", _spaces, "", _elem.attributes["name"]) + + if !_elem.elements["description"].nil? && + !_elem.elements["description"].text.nil? + printDocumentation(_file, _spaces+2, _elem.elements["description"].text) + end + _file.printf("%*s\n", _spaces+2, "") if _elem.attributes['name'] != "plugin" && @@ -209,10 +229,11 @@ def printXSD(_file, _spaces, _elem) printElem(_file, _spaces+6, elem); end - # Print all the included sdf's root elements + # print XSD of element _elem.get_elements("include").each do |inc| - printIncludeRef(_file, _spaces+6, inc); + printInclude(_file, _spaces+4, inc); end + if _elem.attributes['name'] != "plugin" && (_elem.get_elements("element").size > 0 || _elem.get_elements("include").size > 0) @@ -295,6 +316,14 @@ def printXSD(_file, _spaces, _elem) file.print("\n") file.print("\n") + # drop xml header + File.readlines("#{$path}/schema/types.xsd").drop(1).each do |line| + # skip root element + if !line.include? "xsd:schema" + file.printf("%*s#{line}", spaces-2, "") + end + end + printXSD(file, spaces, elem) file.print("\n")