81 lines
2.0 KiB
Python
Raw Normal View History

2025-07-28 12:35:44 +08:00
from pypot.feetech import FeetechSTS3215IO
import time
import pickle
io = FeetechSTS3215IO(
"/dev/ttyACM0",
baudrate=1000000,
use_sync_read=True,
)
id = 24
max_acceleration = 254
io.set_D_coefficient({id: 0})
io.set_acceleration({id: max_acceleration})
io.set_goal_position({id: 0})
# present position
# goal position
# present load
# present current
# present speed
# 0 deg pendant 2s, 90° pendant 2s etc
present_positions = []
goal_positions = []
present_loads = []
present_currents = []
present_speeds = []
times = []
input("press enter to start")
io.set_goal_position({id: 90})
s = time.time()
while time.time() - s < 2:
present_positions.append(io.get_present_position([id])[0])
goal_positions.append(io.get_goal_position([id])[0])
present_loads.append(io.get_present_load([id])[0])
present_currents.append(io.get_present_current([id])[0])
present_speeds.append(io.get_present_speed([id])[0])
times.append(time.time())
io.set_goal_position({id: 0})
s = time.time()
while time.time() - s < 2:
present_positions.append(io.get_present_position([id])[0])
goal_positions.append(io.get_goal_position([id])[0])
present_loads.append(io.get_present_load([id])[0])
present_currents.append(io.get_present_current([id])[0])
present_speeds.append(io.get_present_speed([id])[0])
times.append(time.time())
io.set_goal_position({id: 90})
s = time.time()
while time.time() - s < 2:
present_positions.append(io.get_present_position([id])[0])
goal_positions.append(io.get_goal_position([id])[0])
present_loads.append(io.get_present_load([id])[0])
present_currents.append(io.get_present_current([id])[0])
present_speeds.append(io.get_present_speed([id])[0])
times.append(time.time())
data = {
"present_positions": present_positions,
"goal_positions": goal_positions,
"present_loads": present_loads,
"present_currents": present_currents,
"present_speeds": present_speeds,
"times": times,
}
pickle.dump(data, open(f"data_max_acc_{max_acceleration}.pkl", "wb"))