81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | 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")) | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 |