Skip to content

Commit 2794128

Browse files
committed
Add getContactState to examples
1 parent 2ea8ead commit 2794128

File tree

5 files changed

+6
-19
lines changed

5 files changed

+6
-19
lines changed

examples/go2_fulldynamics.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,8 @@
232232
.dynamics_data.continuous_data.xdot[nv:]
233233
)
234234

235-
FL_f, FR_f, RL_f, RR_f, contact_states = extract_forces(mpc.getTrajOptProblem(), mpc.solver.workspace, 0)
235+
FL_f, FR_f, RL_f, RR_f = extract_forces(mpc.getTrajOptProblem(), mpc.solver.workspace, 0)
236+
contact_states = mpc.ocp_handler.getContactState(0)
236237
total_forces = np.concatenate((FL_f, FR_f, RL_f, RR_f))
237238
force_FL.append(FL_f)
238239
force_FR.append(FR_f)

examples/go2_kinodynamics.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,7 @@
239239
a1[6:] = mpc.us[1][nk * force_size :]
240240
forces0 = mpc.us[0][: nk * force_size]
241241
forces1 = mpc.us[1][: nk * force_size]
242-
contact_states = (
243-
mpc.getTrajOptProblem().stages[0].dynamics.differential_dynamics.contact_states
244-
)
242+
contact_states = mpc.ocp_handler.getContactState(0)
245243

246244
device.moveQuadrupedFeet(
247245
mpc.getReferencePose(0, "FL_foot").translation,

examples/talos_centroidal.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,7 @@
201201
mpc.getReferencePose(0, "right_sole_link").translation,
202202
)
203203

204-
contact_states = (
205-
mpc.getTrajOptProblem()
206-
.stages[0]
207-
.dynamics.differential_dynamics.contact_map.contact_states.tolist()
208-
)
204+
contact_states = mpc.ocp_handler.getContactState(0)
209205
foot_ref = [mpc.getReferencePose(0, name) for name in model_handler.getFeetNames()]
210206
foot_ref_next = [mpc.getReferencePose(1, name) for name in model_handler.getFeetNames()]
211207
dH = (

examples/talos_kinodynamics.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -224,9 +224,7 @@
224224
a1[6:] = mpc.us[1][nk * force_size :]
225225
forces0 = mpc.us[0][: nk * force_size]
226226
forces1 = mpc.us[1][: nk * force_size]
227-
contact_states = (
228-
mpc.getTrajOptProblem().stages[0].dynamics.differential_dynamics.contact_states
229-
)
227+
contact_states = mpc.ocp_handler.getContactState(0)
230228

231229
device.moveMarkers(
232230
mpc.getReferencePose(0, "left_sole_link").translation,

examples/utils.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,21 +71,15 @@ def extract_forces(problem, workspace, id):
7171
force_FR = np.zeros(3)
7272
force_RL = np.zeros(3)
7373
force_RR = np.zeros(3)
74-
contact_states = [False, False, False, False]
7574
in_contact = problem.stages[id].dynamics.differential_dynamics.constraint_models.__len__()
76-
7775
for i in range(in_contact):
7876
if problem.stages[id].dynamics.differential_dynamics.constraint_models[i].name == 'FL_foot':
79-
contact_states[0] = True
8077
force_FL = workspace.problem_data.stage_data[id].dynamics_data.continuous_data.constraint_datas[i].contact_force.linear
8178
elif problem.stages[id].dynamics.differential_dynamics.constraint_models[i].name == 'FR_foot':
82-
contact_states[1] = True
8379
force_FR = workspace.problem_data.stage_data[id].dynamics_data.continuous_data.constraint_datas[i].contact_force.linear
8480
elif problem.stages[id].dynamics.differential_dynamics.constraint_models[i].name == 'RL_foot':
85-
contact_states[2] = True
8681
force_RL = workspace.problem_data.stage_data[id].dynamics_data.continuous_data.constraint_datas[i].contact_force.linear
8782
elif problem.stages[id].dynamics.differential_dynamics.constraint_models[i].name == 'RR_foot':
88-
contact_states[3] = True
8983
force_RR = workspace.problem_data.stage_data[id].dynamics_data.continuous_data.constraint_datas[i].contact_force.linear
9084

91-
return force_FL, force_FR, force_RL, force_RR, contact_states
85+
return force_FL, force_FR, force_RL, force_RR

0 commit comments

Comments
 (0)