Coverage for src/pyroboplan/models/ur10.py: 0%
15 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-28 21:35 -0500
« prev ^ index » next coverage.py v7.6.12, created at 2025-02-28 21:35 -0500
1"""Utilities to load example Universal Robots UR10 robot models."""
3import os
4import pinocchio
6from .utils import get_example_models_folder
9def load_ur10_on_base_models():
10 """
11 Gets the example UR10 on base models.
13 Returns
14 -------
15 tuple[`pinocchio.Model`]
16 A 3-tuple containing the model, collision geometry model, and visual geometry model.
17 """
18 models_folder = get_example_models_folder()
19 package_dir = os.path.join(models_folder, "ur_description")
20 urdf_filename = os.path.join(package_dir, "urdf", "ur10_on_base.urdf")
22 return pinocchio.buildModelsFromUrdf(urdf_filename, package_dirs=models_folder)
25def add_ur10_on_base_self_collisions(model, collision_model, srdf_filename=None):
26 """
27 Adds link self-collisions to the UR10 collision model.
29 This uses an SRDF file to remove any excluded collision pairs.
31 Parameters
32 ----------
33 model : `pinocchio.Model`
34 The UR10 model.
35 collision_model : `pinocchio.Model`
36 The UR10 collision geometry model.
37 srdf_filename : str, optional
38 Path to the SRDF file describing the excluded collision pairs.
39 If not specified, uses a default file included with the UR10 model.
40 """
41 if srdf_filename is None:
42 models_folder = get_example_models_folder()
43 package_dir = os.path.join(models_folder, "ur_description")
44 srdf_filename = os.path.join(package_dir, "srdf", "ur10_on_base.srdf")
46 collision_model.addAllCollisionPairs()
47 pinocchio.removeCollisionPairs(model, collision_model, srdf_filename)