diff --git a/CHANGELOG.md b/CHANGELOG.md index d6a03dbbddd38413ccab57211b60a139b15b810b..8eec5426035a5cdbb07dec3ba9583adb60bce49c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] - added CHANGELOG.md in https://github.com/Gepetto/example-robot-data/pull/193 +- added a simple `quadruped` robot ## [4.0.9] - 2023-11-29 diff --git a/python/example_robot_data/robots_loader.py b/python/example_robot_data/robots_loader.py index c795f51582e52d9bcb929ae9828f478fa9b2037d..38eb226a0cfc7a42d9c5b643684b271d6d169f1d 100644 --- a/python/example_robot_data/robots_loader.py +++ b/python/example_robot_data/robots_loader.py @@ -489,6 +489,13 @@ class DoublePendulumSimpleLoader(DoublePendulumLoader): urdf_filename = "double_pendulum_simple.urdf" +class QuadrupedLoader(RobotLoader): + path = "quadruped_description" + urdf_subpath = "urdf" + urdf_filename = "quadruped.urdf" + free_flyer = True + + class RomeoLoader(RobotLoader): path = "romeo_description" urdf_filename = "romeo.urdf" @@ -538,6 +545,7 @@ ROBOTS = { "panda": PandaLoader, "allegro_right_hand": AllegroRightHandLoader, "allegro_left_hand": AllegroLeftHandLoader, + "quadruped": QuadrupedLoader, "romeo": RomeoLoader, "simple_humanoid": SimpleHumanoidLoader, "simple_humanoid_classical": SimpleHumanoidClassicalLoader, diff --git a/robots/quadruped_description/README.md b/robots/quadruped_description/README.md new file mode 100644 index 0000000000000000000000000000000000000000..7d12923572e116f6eba220aef426dc38c960548b --- /dev/null +++ b/robots/quadruped_description/README.md @@ -0,0 +1,6 @@ +# Quadruped + +A simple model by @jviereck imported from +[TSID](https://github.com/stack-of-tasks/tsid/commit/a89f9735a9d3bd64128248dfb18fdea6e49e0996). + +License: BSD-2-Clause diff --git a/robots/quadruped_description/urdf/cube.obj b/robots/quadruped_description/urdf/cube.obj new file mode 100644 index 0000000000000000000000000000000000000000..7d724d80341e3b7686f1bc3fba2ab4b62f26c533 --- /dev/null +++ b/robots/quadruped_description/urdf/cube.obj @@ -0,0 +1,85 @@ +o Box +v 0.5 0.5 0.5 +v 0.5 0.5 -0.5 +v 0.5 -0.5 0.5 +v 0.5 -0.5 -0.5 +v -0.5 0.5 -0.5 +v -0.5 0.5 0.5 +v -0.5 -0.5 -0.5 +v -0.5 -0.5 0.5 +v -0.5 0.5 -0.5 +v 0.5 0.5 -0.5 +v -0.5 0.5 0.5 +v 0.5 0.5 0.5 +v -0.5 -0.5 0.5 +v 0.5 -0.5 0.5 +v -0.5 -0.5 -0.5 +v 0.5 -0.5 -0.5 +v -0.5 0.5 0.5 +v 0.5 0.5 0.5 +v -0.5 -0.5 0.5 +v 0.5 -0.5 0.5 +v 0.5 0.5 -0.5 +v -0.5 0.5 -0.5 +v 0.5 -0.5 -0.5 +v -0.5 -0.5 -0.5 +vt 0 1 +vt 1 1 +vt 0 0 +vt 1 0 +vt 0 1 +vt 1 1 +vt 0 0 +vt 1 0 +vt 0 1 +vt 1 1 +vt 0 0 +vt 1 0 +vt 0 1 +vt 1 1 +vt 0 0 +vt 1 0 +vt 0 1 +vt 1 1 +vt 0 0 +vt 1 0 +vt 0 1 +vt 1 1 +vt 0 0 +vt 1 0 +vn 1 0 0 +vn 1 0 0 +vn 1 0 0 +vn 1 0 0 +vn -1 0 0 +vn -1 0 0 +vn -1 0 0 +vn -1 0 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 -1 0 +vn 0 -1 0 +vn 0 -1 0 +vn 0 -1 0 +vn 0 0 1 +vn 0 0 1 +vn 0 0 1 +vn 0 0 1 +vn 0 0 -1 +vn 0 0 -1 +vn 0 0 -1 +vn 0 0 -1 +f 1/1/1 3/3/3 2/2/2 +f 3/3/3 4/4/4 2/2/2 +f 5/5/5 7/7/7 6/6/6 +f 7/7/7 8/8/8 6/6/6 +f 9/9/9 11/11/11 10/10/10 +f 11/11/11 12/12/12 10/10/10 +f 13/13/13 15/15/15 14/14/14 +f 15/15/15 16/16/16 14/14/14 +f 17/17/17 19/19/19 18/18/18 +f 19/19/19 20/20/20 18/18/18 +f 21/21/21 23/23/23 22/22/22 +f 23/23/23 24/24/24 22/22/22 diff --git a/robots/quadruped_description/urdf/cylinder.obj b/robots/quadruped_description/urdf/cylinder.obj new file mode 100644 index 0000000000000000000000000000000000000000..7a0f600298326e050162af00e7f6a7ed7f70a666 --- /dev/null +++ b/robots/quadruped_description/urdf/cylinder.obj @@ -0,0 +1,321 @@ +o Cylinder +v 0 -0.998248581950179 0.5034876052441187 +v 0 -1.0017392333654023 -0.4965063024136719 +v 0.7071067690849304 -0.705357135440903 0.5024652170731156 +v 0 -1.0017392333654023 -0.4965063024136719 +v 0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v 0.7071067690849304 -0.705357135440903 0.5024652170731156 +v 0.7071067690849304 -0.705357135440903 0.5024652170731156 +v 0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v 1 0.00174532570761165 0.4999969538288953 +v 0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v 1 -0.0017453257076117724 -0.4999969538288953 +v 1 0.00174532570761165 0.4999969538288953 +v 1 0.00174532570761165 0.4999969538288953 +v 1 -0.0017453257076117724 -0.4999969538288953 +v 0.7071067690849304 0.7088477868561263 0.4975286905846749 +v 1 -0.0017453257076117724 -0.4999969538288953 +v 0.7071067690849304 0.705357135440903 -0.5024652170731156 +v 0.7071067690849304 0.7088477868561263 0.4975286905846749 +v 0.7071067690849304 0.7088477868561263 0.4975286905846749 +v 0.7071067690849304 0.705357135440903 -0.5024652170731156 +v 1.2246468525851679e-16 1.0017392333654023 0.4965063024136719 +v 0.7071067690849304 0.705357135440903 -0.5024652170731156 +v 1.2246468525851679e-16 0.998248581950179 -0.5034876052441187 +v 1.2246468525851679e-16 1.0017392333654023 0.4965063024136719 +v 1.2246468525851679e-16 1.0017392333654023 0.4965063024136719 +v 1.2246468525851679e-16 0.998248581950179 -0.5034876052441187 +v -0.7071067690849304 0.7088477868561263 0.4975286905846749 +v 1.2246468525851679e-16 0.998248581950179 -0.5034876052441187 +v -0.7071067690849304 0.705357135440903 -0.5024652170731156 +v -0.7071067690849304 0.7088477868561263 0.4975286905846749 +v -0.7071067690849304 0.7088477868561263 0.4975286905846749 +v -0.7071067690849304 0.705357135440903 -0.5024652170731156 +v -1 0.001745325707611895 0.4999969538288953 +v -0.7071067690849304 0.705357135440903 -0.5024652170731156 +v -1 -0.0017453257076115276 -0.4999969538288953 +v -1 0.001745325707611895 0.4999969538288953 +v -1 0.001745325707611895 0.4999969538288953 +v -1 -0.0017453257076115276 -0.4999969538288953 +v -0.7071067690849304 -0.705357135440903 0.5024652170731156 +v -1 -0.0017453257076115276 -0.4999969538288953 +v -0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v -0.7071067690849304 -0.705357135440903 0.5024652170731156 +v -0.7071067690849304 -0.705357135440903 0.5024652170731156 +v -0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v -2.4492937051703357e-16 -0.998248581950179 0.5034876052441187 +v -0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v -2.4492937051703357e-16 -1.0017392333654023 -0.4965063024136719 +v -2.4492937051703357e-16 -0.998248581950179 0.5034876052441187 +v 0 -0.998248581950179 0.5034876052441187 +v 0.7071067690849304 -0.705357135440903 0.5024652170731156 +v 0 0.0017453257076117112 0.4999969538288953 +v 0.7071067690849304 -0.705357135440903 0.5024652170731156 +v 1 0.00174532570761165 0.4999969538288953 +v 0 0.0017453257076117112 0.4999969538288953 +v 1 0.00174532570761165 0.4999969538288953 +v 0.7071067690849304 0.7088477868561263 0.4975286905846749 +v 0 0.0017453257076117112 0.4999969538288953 +v 0.7071067690849304 0.7088477868561263 0.4975286905846749 +v 1.2246468525851679e-16 1.0017392333654023 0.4965063024136719 +v 0 0.0017453257076117112 0.4999969538288953 +v 1.2246468525851679e-16 1.0017392333654023 0.4965063024136719 +v -0.7071067690849304 0.7088477868561263 0.4975286905846749 +v 0 0.0017453257076117112 0.4999969538288953 +v -0.7071067690849304 0.7088477868561263 0.4975286905846749 +v -1 0.001745325707611895 0.4999969538288953 +v 0 0.0017453257076117112 0.4999969538288953 +v -1 0.001745325707611895 0.4999969538288953 +v -0.7071067690849304 -0.705357135440903 0.5024652170731156 +v 0 0.0017453257076117112 0.4999969538288953 +v -0.7071067690849304 -0.705357135440903 0.5024652170731156 +v -2.4492937051703357e-16 -0.998248581950179 0.5034876052441187 +v 0 0.0017453257076117112 0.4999969538288953 +v 0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v 0 -1.0017392333654023 -0.4965063024136719 +v 0 -0.0017453257076117112 -0.4999969538288953 +v 1 -0.0017453257076117724 -0.4999969538288953 +v 0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v 0 -0.0017453257076117112 -0.4999969538288953 +v 0.7071067690849304 0.705357135440903 -0.5024652170731156 +v 1 -0.0017453257076117724 -0.4999969538288953 +v 0 -0.0017453257076117112 -0.4999969538288953 +v 1.2246468525851679e-16 0.998248581950179 -0.5034876052441187 +v 0.7071067690849304 0.705357135440903 -0.5024652170731156 +v 0 -0.0017453257076117112 -0.4999969538288953 +v -0.7071067690849304 0.705357135440903 -0.5024652170731156 +v 1.2246468525851679e-16 0.998248581950179 -0.5034876052441187 +v 0 -0.0017453257076117112 -0.4999969538288953 +v -1 -0.0017453257076115276 -0.4999969538288953 +v -0.7071067690849304 0.705357135440903 -0.5024652170731156 +v 0 -0.0017453257076117112 -0.4999969538288953 +v -0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v -1 -0.0017453257076115276 -0.4999969538288953 +v 0 -0.0017453257076117112 -0.4999969538288953 +v -2.4492937051703357e-16 -1.0017392333654023 -0.4965063024136719 +v -0.7071067690849304 -0.7088477868561263 -0.4975286905846749 +v 0 -0.0017453257076117112 -0.4999969538288953 +vt 0 1 +vt 0 0 +vt 0.125 1 +vt 0 0 +vt 0.125 0 +vt 0.125 1 +vt 0.125 1 +vt 0.125 0 +vt 0.25 1 +vt 0.125 0 +vt 0.25 0 +vt 0.25 1 +vt 0.25 1 +vt 0.25 0 +vt 0.375 1 +vt 0.25 0 +vt 0.375 0 +vt 0.375 1 +vt 0.375 1 +vt 0.375 0 +vt 0.5 1 +vt 0.375 0 +vt 0.5 0 +vt 0.5 1 +vt 0.5 1 +vt 0.5 0 +vt 0.625 1 +vt 0.5 0 +vt 0.625 0 +vt 0.625 1 +vt 0.625 1 +vt 0.625 0 +vt 0.75 1 +vt 0.625 0 +vt 0.75 0 +vt 0.75 1 +vt 0.75 1 +vt 0.75 0 +vt 0.875 1 +vt 0.75 0 +vt 0.875 0 +vt 0.875 1 +vt 0.875 1 +vt 0.875 0 +vt 1 1 +vt 0.875 0 +vt 1 0 +vt 1 1 +vt 1 0.5 +vt 0.8535534143447876 0.8535534143447876 +vt 0.5 0.5 +vt 0.8535534143447876 0.8535534143447876 +vt 0.5 1 +vt 0.5 0.5 +vt 0.5 1 +vt 0.1464466154575348 0.8535534143447876 +vt 0.5 0.5 +vt 0.1464466154575348 0.8535534143447876 +vt 0 0.5 +vt 0.5 0.5 +vt 0 0.5 +vt 0.1464466154575348 0.1464466154575348 +vt 0.5 0.5 +vt 0.1464466154575348 0.1464466154575348 +vt 0.5 0 +vt 0.5 0.5 +vt 0.5 0 +vt 0.8535534143447876 0.1464466154575348 +vt 0.5 0.5 +vt 0.8535534143447876 0.1464466154575348 +vt 1 0.5 +vt 0.5 0.5 +vt 0.8535534143447876 0.1464466154575348 +vt 1 0.5 +vt 0.5 0.5 +vt 0.5 0 +vt 0.8535534143447876 0.1464466154575348 +vt 0.5 0.5 +vt 0.1464466154575348 0.1464466154575348 +vt 0.5 0 +vt 0.5 0.5 +vt 0 0.5 +vt 0.1464466154575348 0.1464466154575348 +vt 0.5 0.5 +vt 0.1464466154575348 0.8535534143447876 +vt 0 0.5 +vt 0.5 0.5 +vt 0.5 1 +vt 0.1464466154575348 0.8535534143447876 +vt 0.5 0.5 +vt 0.8535534143447876 0.8535534143447876 +vt 0.5 1 +vt 0.5 0.5 +vt 1 0.5 +vt 0.8535534143447876 0.8535534143447876 +vt 0.5 0.5 +vn 0 -0.9999939076577902 0.0034906514152234207 +vn 0 -0.9999939076577902 0.0034906514152234207 +vn 0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn 0 -0.9999939076577902 0.0034906514152234207 +vn 0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn 0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn 0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn 0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn 1 -6.123196958087279e-17 2.1374076345626621e-19 +vn 0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn 1 -6.123196958087279e-17 2.1374076345626621e-19 +vn 1 -6.123196958087279e-17 2.1374076345626621e-19 +vn 1 -6.123196958087279e-17 2.1374076345626621e-19 +vn 1 -6.123196958087279e-17 2.1374076345626621e-19 +vn 0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn 1 -6.123196958087279e-17 2.1374076345626621e-19 +vn 0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn 0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn 0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn 0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn 1.2246468525851679e-16 0.9999939076577902 -0.0034906514152234207 +vn 0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn 1.2246468525851679e-16 0.9999939076577902 -0.0034906514152234207 +vn 1.2246468525851679e-16 0.9999939076577902 -0.0034906514152234207 +vn 1.2246468525851679e-16 0.9999939076577902 -0.0034906514152234207 +vn 1.2246468525851679e-16 0.9999939076577902 -0.0034906514152234207 +vn -0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn 1.2246468525851679e-16 0.9999939076577902 -0.0034906514152234207 +vn -0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn -0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn -0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn -0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn -1 1.836958955078092e-16 -6.412222441704118e-19 +vn -0.7071067690849304 0.7071024611485143 -0.002468263244220373 +vn -1 1.836958955078092e-16 -6.412222441704118e-19 +vn -1 1.836958955078092e-16 -6.412222441704118e-19 +vn -1 1.836958955078092e-16 -6.412222441704118e-19 +vn -1 1.836958955078092e-16 -6.412222441704118e-19 +vn -0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn -1 1.836958955078092e-16 -6.412222441704118e-19 +vn -0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn -0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn -0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn -0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn -2.4492937051703357e-16 -0.9999939076577902 0.0034906514152234207 +vn -0.7071067690849304 -0.7071024611485143 0.002468263244220373 +vn -2.4492937051703357e-16 -0.9999939076577902 0.0034906514152234207 +vn -2.4492937051703357e-16 -0.9999939076577902 0.0034906514152234207 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 0.0034906514152234207 0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +vn 0 -0.0034906514152234207 -0.9999939076577902 +f 1/1/1 2/2/2 3/3/3 +f 4/4/4 5/5/5 6/6/6 +f 7/7/7 8/8/8 9/9/9 +f 10/10/10 11/11/11 12/12/12 +f 13/13/13 14/14/14 15/15/15 +f 16/16/16 17/17/17 18/18/18 +f 19/19/19 20/20/20 21/21/21 +f 22/22/22 23/23/23 24/24/24 +f 25/25/25 26/26/26 27/27/27 +f 28/28/28 29/29/29 30/30/30 +f 31/31/31 32/32/32 33/33/33 +f 34/34/34 35/35/35 36/36/36 +f 37/37/37 38/38/38 39/39/39 +f 40/40/40 41/41/41 42/42/42 +f 43/43/43 44/44/44 45/45/45 +f 46/46/46 47/47/47 48/48/48 +f 49/49/49 50/50/50 51/51/51 +f 52/52/52 53/53/53 54/54/54 +f 55/55/55 56/56/56 57/57/57 +f 58/58/58 59/59/59 60/60/60 +f 61/61/61 62/62/62 63/63/63 +f 64/64/64 65/65/65 66/66/66 +f 67/67/67 68/68/68 69/69/69 +f 70/70/70 71/71/71 72/72/72 +f 73/73/73 74/74/74 75/75/75 +f 76/76/76 77/77/77 78/78/78 +f 79/79/79 80/80/80 81/81/81 +f 82/82/82 83/83/83 84/84/84 +f 85/85/85 86/86/86 87/87/87 +f 88/88/88 89/89/89 90/90/90 +f 91/91/91 92/92/92 93/93/93 +f 94/94/94 95/95/95 96/96/96 diff --git a/robots/quadruped_description/urdf/quadruped.urdf b/robots/quadruped_description/urdf/quadruped.urdf new file mode 100644 index 0000000000000000000000000000000000000000..e69ea65db2364fc83478fef18ddabc2c91769819 --- /dev/null +++ b/robots/quadruped_description/urdf/quadruped.urdf @@ -0,0 +1,419 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- =================================================================================== --> +<!-- | This document was autogenerated by xacro from quadroped.xacro | --> +<!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | --> +<!-- =================================================================================== --> +<robot name="quadroped" xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" xmlns:xacro="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface"> + <link name="base_link"> + <inertial> + <origin rpy="0 0 0" xyz="0 0 0"/> + <mass value="2.0"/> + <inertia ixx="0.0270833333333" ixy="0" ixz="0" iyy="0.00708333333333" iyz="0" izz="0.0333333333333"/> + </inertial> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cube.obj" scale="0.2 0.4 0.05"/> + <!-- <box size="${base_w} ${base_l} ${base_h}"/> --> + </geometry> + <material name="white"> + <color rgba="1 1 1 1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <box size="0.2 0.4 0.05"/> + </geometry> + </collision> + </link> + <!-- <xacro:leg prefix="FL" rx="${0.}" ry="${0.}"/> --> + <joint name="FL_HFE" type="revolute"> + <parent link="base_link"/> + <child link="FL_upperleg"/> + <limit effort="1000" lower="-10" upper="10" velocity="1000"/> + <axis xyz="1 0 0"/> + <origin rpy="0 0 0" xyz="-0.1 0.2 0"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <link name="FL_upperleg"> + <visual> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <!-- <cylinder length="${upper_leg_length}" radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cylinder.obj" scale="0.025 0.025 0.16"/> + </geometry> + <material name="grey"> + <color rgba=".4 .4 .4 .1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <cylinder length="0.16" radius="0.025"/> + </geometry> + </collision> + <inertial> + <origin rpy="0 0 0" xyz="0 0 -0.0793"/> + <mass value="0.162"/> + <inertia ixx="0.000469609" ixy="0.0" ixz="0.0" iyy="0.000469609" iyz="0.0" izz="1e-6"/> + </inertial> + </link> + <joint name="FL_KFE" type="revolute"> + <parent link="FL_upperleg"/> + <child link="FL_shank"/> + <limit effort="1000" velocity="10000"/> + <axis xyz="1 0 0"/> + <origin rpy="0 0 0" xyz="0 0 -0.16"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <link name="FL_shank"> + <contact> + <lateral_friction value="1.0"/> + <restitution value="0.5"/> + </contact> + <visual> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <!-- <cylinder length="${upper_leg_length}" radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cylinder.obj" scale="0.025 0.025 0.16"/> + </geometry> + <material name="grey"> + <color rgba=".4 .4 .4 .1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <cylinder length="0.16" radius="0.025"/> + </geometry> + </collision> + <inertial> + <origin rpy="0 0 0" xyz="0 0 -0.0756"/> + <mass value="0.021"/> + <inertia ixx="0.000087575" ixy="0.0" ixz="0.0" iyy="0.000087575" iyz="0.0" izz="1e-6"/> + </inertial> + </link> + <joint name="FL_END" type="fixed"> + <parent link="FL_shank"/> + <child link="FL_contact"/> + <origin rpy="0 0 0" xyz="0 0 -0.16"/> + </joint> + <link name="FL_contact"> + <contact> + <lateral_friction value="1.0"/> + <restitution value="0.5"/> + </contact> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <!-- <sphere radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/sphere.obj" scale="0.025 0.025 0.025"/> + </geometry> + <material name="red"> + <color rgba="1. 0. 0. 1."/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <sphere radius="0.025"/> + </geometry> + </collision> + <inertial> + <mass value="0.01"/> + <inertia ixx="0." ixy="0.0" ixz="0.0" iyy="0." iyz="0.0" izz="0."/> + </inertial> + </link> + <joint name="FR_HFE" type="revolute"> + <parent link="base_link"/> + <child link="FR_upperleg"/> + <limit effort="1000" lower="-10" upper="10" velocity="1000"/> + <axis xyz="1 0 0"/> + <origin rpy="0 0 0" xyz="0.1 0.2 0"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <link name="FR_upperleg"> + <visual> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <!-- <cylinder length="${upper_leg_length}" radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cylinder.obj" scale="0.025 0.025 0.16"/> + </geometry> + <material name="grey"> + <color rgba=".4 .4 .4 .1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <cylinder length="0.16" radius="0.025"/> + </geometry> + </collision> + <inertial> + <origin rpy="0 0 0" xyz="0 0 -0.0793"/> + <mass value="0.162"/> + <inertia ixx="0.000469609" ixy="0.0" ixz="0.0" iyy="0.000469609" iyz="0.0" izz="1e-6"/> + </inertial> + </link> + <joint name="FR_KFE" type="revolute"> + <parent link="FR_upperleg"/> + <child link="FR_shank"/> + <limit effort="1000" velocity="10000"/> + <axis xyz="1 0 0"/> + <origin rpy="0 0 0" xyz="0 0 -0.16"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <link name="FR_shank"> + <contact> + <lateral_friction value="1.0"/> + <restitution value="0.5"/> + </contact> + <visual> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <!-- <cylinder length="${upper_leg_length}" radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cylinder.obj" scale="0.025 0.025 0.16"/> + </geometry> + <material name="grey"> + <color rgba=".4 .4 .4 .1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <cylinder length="0.16" radius="0.025"/> + </geometry> + </collision> + <inertial> + <origin rpy="0 0 0" xyz="0 0 -0.0756"/> + <mass value="0.021"/> + <inertia ixx="0.000087575" ixy="0.0" ixz="0.0" iyy="0.000087575" iyz="0.0" izz="1e-6"/> + </inertial> + </link> + <joint name="FR_END" type="fixed"> + <parent link="FR_shank"/> + <child link="FR_contact"/> + <origin rpy="0 0 0" xyz="0 0 -0.16"/> + </joint> + <link name="FR_contact"> + <contact> + <lateral_friction value="1.0"/> + <restitution value="0.5"/> + </contact> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <!-- <sphere radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/sphere.obj" scale="0.025 0.025 0.025"/> + </geometry> + <material name="red"> + <color rgba="1. 0. 0. 1."/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <sphere radius="0.025"/> + </geometry> + </collision> + <inertial> + <mass value="0.01"/> + <inertia ixx="0." ixy="0.0" ixz="0.0" iyy="0." iyz="0.0" izz="0."/> + </inertial> + </link> + <joint name="BL_HFE" type="revolute"> + <parent link="base_link"/> + <child link="BL_upperleg"/> + <limit effort="1000" lower="-10" upper="10" velocity="1000"/> + <axis xyz="1 0 0"/> + <origin rpy="0 0 0" xyz="-0.1 -0.2 0"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <link name="BL_upperleg"> + <visual> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <!-- <cylinder length="${upper_leg_length}" radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cylinder.obj" scale="0.025 0.025 0.16"/> + </geometry> + <material name="grey"> + <color rgba=".4 .4 .4 .1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <cylinder length="0.16" radius="0.025"/> + </geometry> + </collision> + <inertial> + <origin rpy="0 0 0" xyz="0 0 -0.0793"/> + <mass value="0.162"/> + <inertia ixx="0.000469609" ixy="0.0" ixz="0.0" iyy="0.000469609" iyz="0.0" izz="1e-6"/> + </inertial> + </link> + <joint name="BL_KFE" type="revolute"> + <parent link="BL_upperleg"/> + <child link="BL_shank"/> + <limit effort="1000" velocity="10000"/> + <axis xyz="1 0 0"/> + <origin rpy="0 0 0" xyz="0 0 -0.16"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <link name="BL_shank"> + <contact> + <lateral_friction value="1.0"/> + <restitution value="0.5"/> + </contact> + <visual> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <!-- <cylinder length="${upper_leg_length}" radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cylinder.obj" scale="0.025 0.025 0.16"/> + </geometry> + <material name="grey"> + <color rgba=".4 .4 .4 .1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <cylinder length="0.16" radius="0.025"/> + </geometry> + </collision> + <inertial> + <origin rpy="0 0 0" xyz="0 0 -0.0756"/> + <mass value="0.021"/> + <inertia ixx="0.000087575" ixy="0.0" ixz="0.0" iyy="0.000087575" iyz="0.0" izz="1e-6"/> + </inertial> + </link> + <joint name="BL_END" type="fixed"> + <parent link="BL_shank"/> + <child link="BL_contact"/> + <origin rpy="0 0 0" xyz="0 0 -0.16"/> + </joint> + <link name="BL_contact"> + <contact> + <lateral_friction value="1.0"/> + <restitution value="0.5"/> + </contact> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <!-- <sphere radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/sphere.obj" scale="0.025 0.025 0.025"/> + </geometry> + <material name="red"> + <color rgba="1. 0. 0. 1."/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <sphere radius="0.025"/> + </geometry> + </collision> + <inertial> + <mass value="0.01"/> + <inertia ixx="0." ixy="0.0" ixz="0.0" iyy="0." iyz="0.0" izz="0."/> + </inertial> + </link> + <joint name="BR_HFE" type="revolute"> + <parent link="base_link"/> + <child link="BR_upperleg"/> + <limit effort="1000" lower="-10" upper="10" velocity="1000"/> + <axis xyz="1 0 0"/> + <origin rpy="0 0 0" xyz="0.1 -0.2 0"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <link name="BR_upperleg"> + <visual> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <!-- <cylinder length="${upper_leg_length}" radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cylinder.obj" scale="0.025 0.025 0.16"/> + </geometry> + <material name="grey"> + <color rgba=".4 .4 .4 .1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <cylinder length="0.16" radius="0.025"/> + </geometry> + </collision> + <inertial> + <origin rpy="0 0 0" xyz="0 0 -0.0793"/> + <mass value="0.162"/> + <inertia ixx="0.000469609" ixy="0.0" ixz="0.0" iyy="0.000469609" iyz="0.0" izz="1e-6"/> + </inertial> + </link> + <joint name="BR_KFE" type="revolute"> + <parent link="BR_upperleg"/> + <child link="BR_shank"/> + <limit effort="1000" velocity="10000"/> + <axis xyz="1 0 0"/> + <origin rpy="0 0 0" xyz="0 0 -0.16"/> + <dynamics damping="0.0" friction="0.0"/> + </joint> + <link name="BR_shank"> + <contact> + <lateral_friction value="1.0"/> + <restitution value="0.5"/> + </contact> + <visual> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <!-- <cylinder length="${upper_leg_length}" radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/cylinder.obj" scale="0.025 0.025 0.16"/> + </geometry> + <material name="grey"> + <color rgba=".4 .4 .4 .1"/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 -0.08"/> + <geometry> + <cylinder length="0.16" radius="0.025"/> + </geometry> + </collision> + <inertial> + <origin rpy="0 0 0" xyz="0 0 -0.0756"/> + <mass value="0.021"/> + <inertia ixx="0.000087575" ixy="0.0" ixz="0.0" iyy="0.000087575" iyz="0.0" izz="1e-6"/> + </inertial> + </link> + <joint name="BR_END" type="fixed"> + <parent link="BR_shank"/> + <child link="BR_contact"/> + <origin rpy="0 0 0" xyz="0 0 -0.16"/> + </joint> + <link name="BR_contact"> + <contact> + <lateral_friction value="1.0"/> + <restitution value="0.5"/> + </contact> + <visual> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <!-- <sphere radius="${upper_leg_radius}"/> --> + <mesh filename="package://example-robot-data/robots/quadruped_description/urdf/sphere.obj" scale="0.025 0.025 0.025"/> + </geometry> + <material name="red"> + <color rgba="1. 0. 0. 1."/> + </material> + </visual> + <collision> + <origin rpy="0 0 0" xyz="0 0 0"/> + <geometry> + <sphere radius="0.025"/> + </geometry> + </collision> + <inertial> + <mass value="0.01"/> + <inertia ixx="0." ixy="0.0" ixz="0.0" iyy="0." iyz="0.0" izz="0."/> + </inertial> + </link> +</robot> diff --git a/robots/quadruped_description/urdf/sphere.obj b/robots/quadruped_description/urdf/sphere.obj new file mode 100644 index 0000000000000000000000000000000000000000..e7898a64ec18c3843374dcbf6d8da36526933a83 --- /dev/null +++ b/robots/quadruped_description/urdf/sphere.obj @@ -0,0 +1,270 @@ +o Sphere +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v -0.5 0.8660253882408142 0 +v -0.3535533845424652 0.8660253882408142 0.3535533845424652 +v -3.0616171314629196e-17 0.8660253882408142 0.5 +v 0.3535533845424652 0.8660253882408142 0.3535533845424652 +v 0.5 0.8660253882408142 6.123234262925839e-17 +v 0.3535533845424652 0.8660253882408142 -0.3535533845424652 +v 9.184850732644269e-17 0.8660253882408142 -0.5 +v -0.3535533845424652 0.8660253882408142 -0.3535533845424652 +v -0.5 0.8660253882408142 -1.2246468525851679e-16 +v -0.8660253882408142 0.5 0 +v -0.6123724579811096 0.5 0.6123724579811096 +v -5.302876236065149e-17 0.5 0.8660253882408142 +v 0.6123724579811096 0.5 0.6123724579811096 +v 0.8660253882408142 0.5 1.0605752472130298e-16 +v 0.6123724579811096 0.5 -0.6123724579811096 +v 1.5908628708195447e-16 0.5 -0.8660253882408142 +v -0.6123724579811096 0.5 -0.6123724579811096 +v -0.8660253882408142 0.5 -2.1211504944260596e-16 +v -1 6.123234262925839e-17 0 +v -0.7071067690849304 6.123234262925839e-17 0.7071067690849304 +v -6.123234262925839e-17 6.123234262925839e-17 1 +v 0.7071067690849304 6.123234262925839e-17 0.7071067690849304 +v 1 6.123234262925839e-17 1.2246468525851679e-16 +v 0.7071067690849304 6.123234262925839e-17 -0.7071067690849304 +v 1.8369701465288538e-16 6.123234262925839e-17 -1 +v -0.7071067690849304 6.123234262925839e-17 -0.7071067690849304 +v -1 6.123234262925839e-17 -2.4492937051703357e-16 +v -0.8660253882408142 -0.5 0 +v -0.6123724579811096 -0.5 0.6123724579811096 +v -5.302876236065149e-17 -0.5 0.8660253882408142 +v 0.6123724579811096 -0.5 0.6123724579811096 +v 0.8660253882408142 -0.5 1.0605752472130298e-16 +v 0.6123724579811096 -0.5 -0.6123724579811096 +v 1.5908628708195447e-16 -0.5 -0.8660253882408142 +v -0.6123724579811096 -0.5 -0.6123724579811096 +v -0.8660253882408142 -0.5 -2.1211504944260596e-16 +v -0.5 -0.8660253882408142 0 +v -0.3535533845424652 -0.8660253882408142 0.3535533845424652 +v -3.0616171314629196e-17 -0.8660253882408142 0.5 +v 0.3535533845424652 -0.8660253882408142 0.3535533845424652 +v 0.5 -0.8660253882408142 6.123234262925839e-17 +v 0.3535533845424652 -0.8660253882408142 -0.3535533845424652 +v 9.184850732644269e-17 -0.8660253882408142 -0.5 +v -0.3535533845424652 -0.8660253882408142 -0.3535533845424652 +v -0.5 -0.8660253882408142 -1.2246468525851679e-16 +v -1.2246468525851679e-16 -1 0 +v -8.659560603426554e-17 -1 8.659560603426554e-17 +v -7.498798786105971e-33 -1 1.2246468525851679e-16 +v 8.659560603426554e-17 -1 8.659560603426554e-17 +v 1.2246468525851679e-16 -1 1.4997597572211942e-32 +v 8.659560603426554e-17 -1 -8.659560603426554e-17 +v 2.2496396358317913e-32 -1 -1.2246468525851679e-16 +v -8.659560603426554e-17 -1 -8.659560603426554e-17 +v -1.2246468525851679e-16 -1 -2.9995195144423884e-32 +vt 0 1 +vt 0.125 1 +vt 0.25 1 +vt 0.375 1 +vt 0.5 1 +vt 0.625 1 +vt 0.75 1 +vt 0.875 1 +vt 1 1 +vt 0 0.8333333134651184 +vt 0.125 0.8333333134651184 +vt 0.25 0.8333333134651184 +vt 0.375 0.8333333134651184 +vt 0.5 0.8333333134651184 +vt 0.625 0.8333333134651184 +vt 0.75 0.8333333134651184 +vt 0.875 0.8333333134651184 +vt 1 0.8333333134651184 +vt 0 0.6666666865348816 +vt 0.125 0.6666666865348816 +vt 0.25 0.6666666865348816 +vt 0.375 0.6666666865348816 +vt 0.5 0.6666666865348816 +vt 0.625 0.6666666865348816 +vt 0.75 0.6666666865348816 +vt 0.875 0.6666666865348816 +vt 1 0.6666666865348816 +vt 0 0.5 +vt 0.125 0.5 +vt 0.25 0.5 +vt 0.375 0.5 +vt 0.5 0.5 +vt 0.625 0.5 +vt 0.75 0.5 +vt 0.875 0.5 +vt 1 0.5 +vt 0 0.3333333432674408 +vt 0.125 0.3333333432674408 +vt 0.25 0.3333333432674408 +vt 0.375 0.3333333432674408 +vt 0.5 0.3333333432674408 +vt 0.625 0.3333333432674408 +vt 0.75 0.3333333432674408 +vt 0.875 0.3333333432674408 +vt 1 0.3333333432674408 +vt 0 0.1666666716337204 +vt 0.125 0.1666666716337204 +vt 0.25 0.1666666716337204 +vt 0.375 0.1666666716337204 +vt 0.5 0.1666666716337204 +vt 0.625 0.1666666716337204 +vt 0.75 0.1666666716337204 +vt 0.875 0.1666666716337204 +vt 1 0.1666666716337204 +vt 0 0 +vt 0.125 0 +vt 0.25 0 +vt 0.375 0 +vt 0.5 0 +vt 0.625 0 +vt 0.75 0 +vt 0.875 0 +vt 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn 0 1 0 +vn -0.5 0.8660253882408142 0 +vn -0.3535533845424652 0.8660253882408142 0.3535533845424652 +vn -3.0616171314629196e-17 0.8660253882408142 0.5 +vn 0.3535533845424652 0.8660253882408142 0.3535533845424652 +vn 0.5 0.8660253882408142 6.123234262925839e-17 +vn 0.3535533845424652 0.8660253882408142 -0.3535533845424652 +vn 9.184850732644269e-17 0.8660253882408142 -0.5 +vn -0.3535533845424652 0.8660253882408142 -0.3535533845424652 +vn -0.5 0.8660253882408142 -1.2246468525851679e-16 +vn -0.8660253882408142 0.5 0 +vn -0.6123724579811096 0.5 0.6123724579811096 +vn -5.302876236065149e-17 0.5 0.8660253882408142 +vn 0.6123724579811096 0.5 0.6123724579811096 +vn 0.8660253882408142 0.5 1.0605752472130298e-16 +vn 0.6123724579811096 0.5 -0.6123724579811096 +vn 1.5908628708195447e-16 0.5 -0.8660253882408142 +vn -0.6123724579811096 0.5 -0.6123724579811096 +vn -0.8660253882408142 0.5 -2.1211504944260596e-16 +vn -1 6.123234262925839e-17 0 +vn -0.7071067690849304 6.123234262925839e-17 0.7071067690849304 +vn -6.123234262925839e-17 6.123234262925839e-17 1 +vn 0.7071067690849304 6.123234262925839e-17 0.7071067690849304 +vn 1 6.123234262925839e-17 1.2246468525851679e-16 +vn 0.7071067690849304 6.123234262925839e-17 -0.7071067690849304 +vn 1.8369701465288538e-16 6.123234262925839e-17 -1 +vn -0.7071067690849304 6.123234262925839e-17 -0.7071067690849304 +vn -1 6.123234262925839e-17 -2.4492937051703357e-16 +vn -0.8660253882408142 -0.5 0 +vn -0.6123724579811096 -0.5 0.6123724579811096 +vn -5.302876236065149e-17 -0.5 0.8660253882408142 +vn 0.6123724579811096 -0.5 0.6123724579811096 +vn 0.8660253882408142 -0.5 1.0605752472130298e-16 +vn 0.6123724579811096 -0.5 -0.6123724579811096 +vn 1.5908628708195447e-16 -0.5 -0.8660253882408142 +vn -0.6123724579811096 -0.5 -0.6123724579811096 +vn -0.8660253882408142 -0.5 -2.1211504944260596e-16 +vn -0.5 -0.8660253882408142 0 +vn -0.3535533845424652 -0.8660253882408142 0.3535533845424652 +vn -3.0616171314629196e-17 -0.8660253882408142 0.5 +vn 0.3535533845424652 -0.8660253882408142 0.3535533845424652 +vn 0.5 -0.8660253882408142 6.123234262925839e-17 +vn 0.3535533845424652 -0.8660253882408142 -0.3535533845424652 +vn 9.184850732644269e-17 -0.8660253882408142 -0.5 +vn -0.3535533845424652 -0.8660253882408142 -0.3535533845424652 +vn -0.5 -0.8660253882408142 -1.2246468525851679e-16 +vn -1.2246468525851679e-16 -1 0 +vn -8.659560603426554e-17 -1 8.659560603426554e-17 +vn -7.498798786105971e-33 -1 1.2246468525851679e-16 +vn 8.659560603426554e-17 -1 8.659560603426554e-17 +vn 1.2246468525851679e-16 -1 1.4997597572211942e-32 +vn 8.659560603426554e-17 -1 -8.659560603426554e-17 +vn 2.2496396358317913e-32 -1 -1.2246468525851679e-16 +vn -8.659560603426554e-17 -1 -8.659560603426554e-17 +vn -1.2246468525851679e-16 -1 -2.9995195144423884e-32 +f 1/1/1 10/10/10 11/11/11 +f 2/2/2 11/11/11 12/12/12 +f 3/3/3 12/12/12 13/13/13 +f 4/4/4 13/13/13 14/14/14 +f 5/5/5 14/14/14 15/15/15 +f 6/6/6 15/15/15 16/16/16 +f 7/7/7 16/16/16 17/17/17 +f 8/8/8 17/17/17 18/18/18 +f 11/11/11 10/10/10 20/20/20 +f 10/10/10 19/19/19 20/20/20 +f 12/12/12 11/11/11 21/21/21 +f 11/11/11 20/20/20 21/21/21 +f 13/13/13 12/12/12 22/22/22 +f 12/12/12 21/21/21 22/22/22 +f 14/14/14 13/13/13 23/23/23 +f 13/13/13 22/22/22 23/23/23 +f 15/15/15 14/14/14 24/24/24 +f 14/14/14 23/23/23 24/24/24 +f 16/16/16 15/15/15 25/25/25 +f 15/15/15 24/24/24 25/25/25 +f 17/17/17 16/16/16 26/26/26 +f 16/16/16 25/25/25 26/26/26 +f 18/18/18 17/17/17 27/27/27 +f 17/17/17 26/26/26 27/27/27 +f 20/20/20 19/19/19 29/29/29 +f 19/19/19 28/28/28 29/29/29 +f 21/21/21 20/20/20 30/30/30 +f 20/20/20 29/29/29 30/30/30 +f 22/22/22 21/21/21 31/31/31 +f 21/21/21 30/30/30 31/31/31 +f 23/23/23 22/22/22 32/32/32 +f 22/22/22 31/31/31 32/32/32 +f 24/24/24 23/23/23 33/33/33 +f 23/23/23 32/32/32 33/33/33 +f 25/25/25 24/24/24 34/34/34 +f 24/24/24 33/33/33 34/34/34 +f 26/26/26 25/25/25 35/35/35 +f 25/25/25 34/34/34 35/35/35 +f 27/27/27 26/26/26 36/36/36 +f 26/26/26 35/35/35 36/36/36 +f 29/29/29 28/28/28 38/38/38 +f 28/28/28 37/37/37 38/38/38 +f 30/30/30 29/29/29 39/39/39 +f 29/29/29 38/38/38 39/39/39 +f 31/31/31 30/30/30 40/40/40 +f 30/30/30 39/39/39 40/40/40 +f 32/32/32 31/31/31 41/41/41 +f 31/31/31 40/40/40 41/41/41 +f 33/33/33 32/32/32 42/42/42 +f 32/32/32 41/41/41 42/42/42 +f 34/34/34 33/33/33 43/43/43 +f 33/33/33 42/42/42 43/43/43 +f 35/35/35 34/34/34 44/44/44 +f 34/34/34 43/43/43 44/44/44 +f 36/36/36 35/35/35 45/45/45 +f 35/35/35 44/44/44 45/45/45 +f 38/38/38 37/37/37 47/47/47 +f 37/37/37 46/46/46 47/47/47 +f 39/39/39 38/38/38 48/48/48 +f 38/38/38 47/47/47 48/48/48 +f 40/40/40 39/39/39 49/49/49 +f 39/39/39 48/48/48 49/49/49 +f 41/41/41 40/40/40 50/50/50 +f 40/40/40 49/49/49 50/50/50 +f 42/42/42 41/41/41 51/51/51 +f 41/41/41 50/50/50 51/51/51 +f 43/43/43 42/42/42 52/52/52 +f 42/42/42 51/51/51 52/52/52 +f 44/44/44 43/43/43 53/53/53 +f 43/43/43 52/52/52 53/53/53 +f 45/45/45 44/44/44 54/54/54 +f 44/44/44 53/53/53 54/54/54 +f 47/47/47 46/46/46 56/56/56 +f 48/48/48 47/47/47 57/57/57 +f 49/49/49 48/48/48 58/58/58 +f 50/50/50 49/49/49 59/59/59 +f 51/51/51 50/50/50 60/60/60 +f 52/52/52 51/51/51 61/61/61 +f 53/53/53 52/52/52 62/62/62 +f 54/54/54 53/53/53 63/63/63 diff --git a/unittest/test_load.py b/unittest/test_load.py index a7fb877ae1ea51bfbca9f22e4bad334be67fda0d..618408030f016dede3db2baf0112bed5fc2e7d8c 100755 --- a/unittest/test_load.py +++ b/unittest/test_load.py @@ -101,6 +101,9 @@ class RobotTestCase(unittest.TestCase): def test_allegro_left(self): self.check("allegro_left_hand", 16, 16) + def test_quadruped(self): + self.check("quadruped", 15, 14) + def test_romeo(self): self.check("romeo", 62, 61)