bindings_urdf.py
Go to the documentation of this file.
1 import unittest
2 import pinocchio as pin
3 import os
4 
5 
6 @unittest.skipUnless(pin.WITH_URDFDOM, "Needs URDFDOM")
7 class TestGeometryObjectUrdfBindings(unittest.TestCase):
8  def setUp(self):
9  self.current_file = os.path.dirname(str(os.path.abspath(__file__)))
10  self.model_dir = os.path.abspath(
11  os.path.join(self.current_file, "../../models/example-robot-data/robots")
12  )
13  self.model_path = os.path.abspath(
14  os.path.join(self.model_dir, "romeo_description/urdf/romeo.urdf")
15  )
16 
17  def test_load(self):
18  pin.buildModelFromUrdf(self.model_path)
19  pin.buildModelFromUrdf(self.model_path, pin.JointModelFreeFlyer())
20 
21  def test_self_load(self):
22  model = pin.Model()
23  pin.buildModelFromUrdf(self.model_path, pin.JointModelFreeFlyer(), model)
24  pin.buildModelFromUrdf(self.model_path, pin.JointModelFreeFlyer())
25 
26  def test_xml(self):
27  with open(self.model_path) as model:
28  file_content = model.read()
29 
30  model_ref = pin.buildModelFromUrdf(self.model_path, pin.JointModelFreeFlyer())
31  model = pin.buildModelFromXML(file_content, pin.JointModelFreeFlyer())
32 
33  self.assertEqual(model, model_ref)
34 
35  model_self = pin.Model()
36  pin.buildModelFromXML(file_content, pin.JointModelFreeFlyer(), model_self)
37  self.assertEqual(model_self, model_ref)
38 
39  def test_pickle(self):
40  import pickle
41 
42  model_dir = os.path.abspath(
43  os.path.join(self.current_file, "../../models/example-robot-data/robots")
44  )
45  model_path = os.path.abspath(
46  os.path.join(model_dir, "ur_description/urdf/ur5_robot.urdf")
47  )
48 
49  model = pin.buildModelFromUrdf(model_path)
50  filename = "model.pickle"
51  with open(filename, "wb") as f:
52  pickle.dump(model, f)
53 
54  with open(filename, "rb") as f:
55  model_copy = pickle.load(f)
56 
57  self.assertTrue(model == model_copy)
58 
59 
60 if __name__ == "__main__":
61  unittest.main()
bindings_urdf.TestGeometryObjectUrdfBindings.model_path
model_path
Definition: bindings_urdf.py:13
bindings_urdf.TestGeometryObjectUrdfBindings.current_file
current_file
Definition: bindings_urdf.py:9
bindings_urdf.TestGeometryObjectUrdfBindings.test_load
def test_load(self)
Definition: bindings_urdf.py:17
bindings_urdf.TestGeometryObjectUrdfBindings.test_xml
def test_xml(self)
Definition: bindings_urdf.py:26
bindings_urdf.TestGeometryObjectUrdfBindings.test_self_load
def test_self_load(self)
Definition: bindings_urdf.py:21
bindings_urdf.TestGeometryObjectUrdfBindings.model_dir
model_dir
Definition: bindings_urdf.py:10
append-urdf-model-with-another-model.open
open
Definition: append-urdf-model-with-another-model.py:78
bindings_urdf.TestGeometryObjectUrdfBindings.setUp
def setUp(self)
Definition: bindings_urdf.py:8
bindings_urdf.TestGeometryObjectUrdfBindings.test_pickle
def test_pickle(self)
Definition: bindings_urdf.py:39
bindings_urdf.TestGeometryObjectUrdfBindings
Definition: bindings_urdf.py:7


pinocchio
Author(s):
autogenerated on Sun Jun 16 2024 02:43:06