|
41 | 41 | dt = 0.001 # controller time step |
42 | 42 | PRINT_N = 500 # print every PRINT_N time steps |
43 | 43 | DISPLAY_N = 25 # update robot configuration in viwewer every DISPLAY_N time steps |
44 | | -N_SIMULATION = 40000 # number of time steps simulated |
| 44 | +N_SIMULATION = 4000 # number of time steps simulated |
45 | 45 |
|
46 | 46 | filename = str(os.path.dirname(os.path.abspath(__file__))) |
47 | 47 | path = filename + '/../models/romeo' |
|
52 | 52 | srdf = path + '/srdf/romeo_collision.srdf' |
53 | 53 |
|
54 | 54 | # for gepetto viewer |
55 | | -robot_display = se3.RobotWrapper(urdf, [path, ], se3.JointModelFreeFlyer()) |
| 55 | +robot_display = se3.RobotWrapper.BuildFromURDF(urdf, [path, ], se3.JointModelFreeFlyer()) |
56 | 56 | l = commands.getstatusoutput("ps aux |grep 'gepetto-gui'|grep -v 'grep'|wc -l") |
57 | 57 | if int(l[1]) == 0: |
58 | 58 | os.system('gepetto-gui &') |
|
61 | 61 | gui = cl.gui |
62 | 62 | robot_display.initDisplay(loadModel=True) |
63 | 63 |
|
64 | | -q = se3.getNeutralConfigurationFromSrdf(robot.model(), srdf, False) |
| 64 | +q = se3.getNeutralConfiguration(robot.model(), srdf, False) |
65 | 65 | q[2] += 0.84 |
66 | 66 | v = np.matrix(np.zeros(robot.nv)).T |
67 | 67 |
|
|
80 | 80 | contact_Point[0, :] = [-lxn, -lxn, lxp, lxp] |
81 | 81 | contact_Point[1, :] = [-lyn, lyp, -lyn, lyp] |
82 | 82 |
|
83 | | -contactRF =tsid.Contact6d("contact_rfoot", robot, rf_frame_name, contact_Point, contactNormal, mu, fMin, fMax, w_forceRef) |
| 83 | +contactRF =tsid.Contact6d("contact_rfoot", robot, rf_frame_name, contact_Point, contactNormal, mu, fMin, fMax) |
84 | 84 | contactRF.setKp(kp_contact * matlib.ones(6).T) |
85 | 85 | contactRF.setKd(2.0 * np.sqrt(kp_contact) * matlib.ones(6).T) |
86 | 86 | H_rf_ref = robot.position(data, robot.model().getJointId(rf_frame_name)) |
87 | 87 | contactRF.setReference(H_rf_ref) |
88 | | -invdyn.addRigidContact(contactRF) |
| 88 | +invdyn.addRigidContact(contactRF, w_forceRef) |
89 | 89 |
|
90 | | -contactLF =tsid.Contact6d("contact_lfoot", robot, lf_frame_name, contact_Point, contactNormal, mu, fMin, fMax, w_forceRef) |
| 90 | +contactLF =tsid.Contact6d("contact_lfoot", robot, lf_frame_name, contact_Point, contactNormal, mu, fMin, fMax) |
91 | 91 | contactLF.setKp(kp_contact * matlib.ones(6).T) |
92 | 92 | contactLF.setKd(2.0 * np.sqrt(kp_contact) * matlib.ones(6).T) |
93 | 93 | H_lf_ref = robot.position(data, robot.model().getJointId(lf_frame_name)) |
94 | 94 | contactLF.setReference(H_lf_ref) |
95 | | -invdyn.addRigidContact(contactLF) |
96 | | - |
97 | | -lh_frame_name = 'LWristPitch' |
98 | | -contactLH =tsid.Contact6d("contact_lhand", robot, lh_frame_name, contact_Point, contactNormal, mu, fMin, fMax, w_forceRef) |
99 | | -contactLH.setKp(kp_contact * matlib.ones(6).T) |
100 | | -contactLH.setKd(2.0 * np.sqrt(kp_contact) * matlib.ones(6).T) |
101 | | -H_lh_ref = robot.position(data, robot.model().getJointId(lh_frame_name)) |
102 | | -contactLH.setReference(H_lh_ref) |
103 | | -invdyn.addRigidContact(contactLH) |
| 95 | +invdyn.addRigidContact(contactLF, w_forceRef) |
104 | 96 |
|
105 | 97 | comTask = tsid.TaskComEquality("task-com", robot) |
106 | 98 | comTask.setKp(kp_com * matlib.ones(3).T) |
|
133 | 125 |
|
134 | 126 | offset = robot.com(data) |
135 | 127 | amp = np.matrix([0.0, 0.05, 0.0]).T |
136 | | -two_pi_f = 2*np.pi*np.matrix([0.0, 1.1, 0.0]).T |
| 128 | +two_pi_f = 2*np.pi*np.matrix([0.0, 0.5, 0.0]).T |
137 | 129 | two_pi_f_amp = np.multiply(two_pi_f,amp) |
138 | 130 | two_pi_f_squared_amp = np.multiply(two_pi_f, two_pi_f_amp) |
139 | 131 |
|
|
0 commit comments