diff --git a/client_socket.py b/client_socket.py
index e4bba36..1926c61 100644
--- a/client_socket.py
+++ b/client_socket.py
@@ -46,6 +46,9 @@ class SocketRobotArm:
self.tkinter_start_cycle = tkinter.Button(
self.tkinter_root, text="Start cycle", command=self.cycle_start
)
+ self.tkinter_imitate = tkinter.Button(
+ self.tkinter_root, text="Imitate", command=self.imitate
+ )
self.physics_client = None
self.body_id = None
@@ -84,7 +87,8 @@ class SocketRobotArm:
# sys.exit()
def cycle_base(self):
- self.tkinter_root.geometry("500x300")
+ self.tkinter_root.geometry("700x400")
+ self.tkinter_imitate.pack(pady=20)
self.tkinter_start_cycle.pack(pady=20)
self.tkinter_exit.pack(pady=20)
@@ -138,6 +142,15 @@ class SocketRobotArm:
)
time.sleep(0.5)
+ def imitate(self):
+ points = self.steps_from_file()
+ for p in points:
+ if p["action"] == "10":
+ angles = self.convert_to_joint(
+ [float(p) for p in [p["m0"], p["m1"], p["m2"]]]
+ )
+ self.set_joint(angles)
+
def convert_to_joint(self, coordinates):
num_joints = p.getNumJoints(self.body_id)
joint_info = [p.getJointInfo(self.body_id, i) for i in range(num_joints)]
@@ -164,7 +177,7 @@ class SocketRobotArm:
)
self.tkinter_info_label.pack()
self.tkinter_root.update()
- time.sleep(0.5)
+ time.sleep(0.01)
def set_text(self, text):
label = tkinter.Label(self.tkinter_root, text=text)
diff --git a/urdf/sample.urdf b/urdf/sample.urdf
index 041f39d..b17f2af 100644
--- a/urdf/sample.urdf
+++ b/urdf/sample.urdf
@@ -5,11 +5,11 @@
-
+
-
+
@@ -20,7 +20,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -65,7 +65,7 @@
-
+
@@ -80,7 +80,7 @@
-
+
@@ -96,7 +96,7 @@
-
+
@@ -104,7 +104,7 @@
-
+
@@ -112,7 +112,7 @@
-
+
@@ -120,7 +120,7 @@
-
+
@@ -128,7 +128,7 @@
-
+