MCPcopy Create free account
hub / github.com/Simple-Robotics/Simple / simulateSytem

Function simulateSytem

sandbox/simulation_utils.py:120–554  ·  view source on GitHub ↗
(
    model: pin.Model,
    geom_model: pin.GeometryModel,
    visual_model: pin.GeometryModel,
    q0: np.ndarray,
    v0: np.ndarray,
    policy: Policy,
    args: Dict,
)

Source from the content-addressed store, hash-verified

118
119
120def simulateSytem(
121 model: pin.Model,
122 geom_model: pin.GeometryModel,
123 visual_model: pin.GeometryModel,
124 q0: np.ndarray,
125 v0: np.ndarray,
126 policy: Policy,
127 args: Dict,
128):
129 print(f"Number of bodies in model = {model.nbodies}")
130 print("Num geom obj = ", len(geom_model.geometryObjects))
131 if args.debug:
132 for i, inertia in enumerate(model.inertias):
133 print("------------------------")
134 print(f"Inertia {i} =\n {inertia}")
135
136 for gobj in geom_model.geometryObjects:
137 print(
138 f"name = {gobj.name}, {gobj.geometry.getNodeType()}, parent joint = {gobj.parentJoint}"
139 )
140
141 if args.display:
142 from pinocchio.visualize import MeshcatVisualizer
143 import meshcat
144
145 if args.debug:
146 if args.display_collision_model:
147 rendered_model = geom_model
148 else:
149 rendered_model = visual_model
150 for gobj in rendered_model.geometryObjects:
151 color = gobj.meshColor
152 if gobj.name == "floor":
153 color[3] = 0.2
154 else:
155 color[3] = args.debug_transparency
156 gobj.meshColor = color
157
158 # visualize the trajectory
159 viewer = meshcat.Visualizer(zmq_url="tcp://127.0.0.1:6000")
160 viewer.delete()
161 viewer["/Background"].set_property("top_color", BEIGE[:3].tolist())
162 viewer["/Background"].set_property("bottom_color", BEIGE[:3].tolist())
163 viewer["/Lights/SpotLight/<object>"].set_property("position", [-10, -10, -10])
164 viewer["/Lights/PointLightPositiveX/<object>"].set_property(
165 "position", [10, 10, 10]
166 )
167 vizer: MeshcatVisualizer = MeshcatVisualizer(model, geom_model, visual_model)
168 vizer.initViewer(viewer=viewer, open=False, loadModel=True)
169 vizer.display(q0)
170 if args.display_collision_model:
171 vizer.displayCollisions(True)
172 vizer.displayVisuals(False)
173 else:
174 vizer.displayCollisions(False)
175 vizer.displayVisuals(True)
176
177 data = model.createData()

Callers

nothing calls this directly

Calls 9

register_objectFunction · 0.90
transform_objectFunction · 0.90
register_arrowed_lineFunction · 0.90
sub_sampleFunction · 0.90
getNumberOfContactsMethod · 0.80
getStepCPUTimesMethod · 0.80
actMethod · 0.45

Tested by

no test coverage detected