-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcpp_issues.py
51 lines (38 loc) · 1.59 KB
/
cpp_issues.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import unittest
import numpy as np
from dqrobotics import *
from dqrobotics.robots import *
from dqrobotics.robot_control import *
from dqrobotics.solvers import DQ_QuadprogSolver
class DQTestCase(unittest.TestCase):
def test_cpp_issue_30(self):
# Define the plane
plane = k_;
# Define the robot's kinematics
robot_kinematics = KukaLw4Robot.kinematics()
# Constrained QP controller
solver = DQ_QuadprogSolver()
controller = DQ_ClassicQPController(robot_kinematics, solver)
controller.set_control_objective(ControlObjective.DistanceToPlane)
controller.set_gain(10.0)
controller.set_damping(0.01)
controller.set_stability_counter_max(100)
controller.set_target_primitive(plane)
def test_cpp_issue_32(self):
# Define the plane
plane = k_;
# Define the robot's kinematics
robot_kinematics = KukaLw4Robot.kinematics()
# Constrained QP controller
solver = DQ_QuadprogSolver()
controller = DQ_ClassicQPController(robot_kinematics, solver)
controller.set_control_objective(ControlObjective.DistanceToPlane)
controller.set_gain(10.0)
controller.set_damping(0.01)
controller.set_stability_counter_max(100)
controller.set_target_primitive(plane)
# Arbitrary joint values
q0 = np.array([0.0, 1.7453e-01, 0.0, 1.5708, 0.0, 2.6273e-01, 0.0])
np.testing.assert_almost_equal(controller.get_task_variable(q0), [0.7716435593916681767723275697790086269378662109375])
if __name__ == '__main__':
unittest.main()