Remove async in dynamixel
This commit is contained in:
parent
72b2e342ae
commit
3ba05d53b9
|
@ -98,6 +98,7 @@ class OpenCVCamera:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
camera = OpenCVCamera(2)
|
camera = OpenCVCamera(2)
|
||||||
|
camera.connect()
|
||||||
color_image = camera.read()
|
color_image = camera.read()
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -189,6 +189,23 @@ class DriveMode(enum.Enum):
|
||||||
|
|
||||||
|
|
||||||
class DynamixelMotorsBus:
|
class DynamixelMotorsBus:
|
||||||
|
"""
|
||||||
|
Example of usage for 1 motor connected to the bus:
|
||||||
|
```python
|
||||||
|
motor_name = "gripper"
|
||||||
|
motor_index = 6
|
||||||
|
motor_model = "xl330-m077"
|
||||||
|
|
||||||
|
robot = DynamixelMotorsBus(
|
||||||
|
port="/dev/tty.usbmodem575E0031751",
|
||||||
|
motors={motor_name: (motor_index, motor_model)},
|
||||||
|
)
|
||||||
|
robot.connect()
|
||||||
|
|
||||||
|
while True:
|
||||||
|
robot.teleop_step()
|
||||||
|
```
|
||||||
|
"""
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
port: str,
|
port: str,
|
||||||
|
|
|
@ -226,6 +226,9 @@ class KochRobot:
|
||||||
Example of usage:
|
Example of usage:
|
||||||
```python
|
```python
|
||||||
robot = KochRobot()
|
robot = KochRobot()
|
||||||
|
robot.connect()
|
||||||
|
while True:
|
||||||
|
robot.teleop_step()
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -247,9 +250,6 @@ class KochRobot:
|
||||||
self.is_connected = False
|
self.is_connected = False
|
||||||
self.logs = {}
|
self.logs = {}
|
||||||
|
|
||||||
self.async_read = False
|
|
||||||
self.async_write = False
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
if self.is_connected:
|
if self.is_connected:
|
||||||
raise ValueError(f"KochRobot is already connected.")
|
raise ValueError(f"KochRobot is already connected.")
|
||||||
|
@ -323,9 +323,6 @@ class KochRobot:
|
||||||
leader_pos = {}
|
leader_pos = {}
|
||||||
for name in self.leader_arms:
|
for name in self.leader_arms:
|
||||||
now = time.perf_counter()
|
now = time.perf_counter()
|
||||||
if self.async_read:
|
|
||||||
leader_pos[name] = self.leader_arms[name].async_read("Present_Position")
|
|
||||||
else:
|
|
||||||
leader_pos[name] = self.leader_arms[name].read("Present_Position")
|
leader_pos[name] = self.leader_arms[name].read("Present_Position")
|
||||||
self.logs[f"read_leader_{name}_pos_dt_s"] = time.perf_counter() - now
|
self.logs[f"read_leader_{name}_pos_dt_s"] = time.perf_counter() - now
|
||||||
|
|
||||||
|
@ -336,9 +333,6 @@ class KochRobot:
|
||||||
# Send action
|
# Send action
|
||||||
for name in self.follower_arms:
|
for name in self.follower_arms:
|
||||||
now = time.perf_counter()
|
now = time.perf_counter()
|
||||||
if self.async_write:
|
|
||||||
self.follower_arms[name].async_write("Goal_Position", follower_goal_pos[name])
|
|
||||||
else:
|
|
||||||
self.follower_arms[name].write("Goal_Position", follower_goal_pos[name])
|
self.follower_arms[name].write("Goal_Position", follower_goal_pos[name])
|
||||||
self.logs[f"write_follower_{name}_goal_pos_dt_s"] = time.perf_counter() - now
|
self.logs[f"write_follower_{name}_goal_pos_dt_s"] = time.perf_counter() - now
|
||||||
|
|
||||||
|
@ -350,9 +344,6 @@ class KochRobot:
|
||||||
follower_pos = {}
|
follower_pos = {}
|
||||||
for name in self.follower_arms:
|
for name in self.follower_arms:
|
||||||
now = time.perf_counter()
|
now = time.perf_counter()
|
||||||
if self.async_read:
|
|
||||||
follower_pos[name] = self.follower_arms[name].async_read("Present_Position")
|
|
||||||
else:
|
|
||||||
follower_pos[name] = self.follower_arms[name].read("Present_Position")
|
follower_pos[name] = self.follower_arms[name].read("Present_Position")
|
||||||
self.logs[f"read_follower_{name}_pos_dt_s"] = time.perf_counter() - now
|
self.logs[f"read_follower_{name}_pos_dt_s"] = time.perf_counter() - now
|
||||||
|
|
||||||
|
@ -394,9 +385,6 @@ class KochRobot:
|
||||||
# Read follower position
|
# Read follower position
|
||||||
follower_pos = {}
|
follower_pos = {}
|
||||||
for name in self.follower_arms:
|
for name in self.follower_arms:
|
||||||
if self.async_read:
|
|
||||||
follower_pos[name] = self.follower_arms[name].async_read("Present_Position")
|
|
||||||
else:
|
|
||||||
follower_pos[name] = self.follower_arms[name].read("Present_Position")
|
follower_pos[name] = self.follower_arms[name].read("Present_Position")
|
||||||
|
|
||||||
# Create state by concatenating follower current position
|
# Create state by concatenating follower current position
|
||||||
|
@ -432,7 +420,4 @@ class KochRobot:
|
||||||
from_idx = to_idx
|
from_idx = to_idx
|
||||||
|
|
||||||
for name in self.follower_arms:
|
for name in self.follower_arms:
|
||||||
if self.async_write:
|
|
||||||
self.follower_arms[name].async_write("Goal_Position", follower_goal_pos[name].astype(np.int32))
|
|
||||||
else:
|
|
||||||
self.follower_arms[name].write("Goal_Position", follower_goal_pos[name].astype(np.int32))
|
self.follower_arms[name].write("Goal_Position", follower_goal_pos[name].astype(np.int32))
|
||||||
|
|
Loading…
Reference in New Issue