Hi everyone,
I’m building a robot that travels along a fixed cable, similar to a gondola, but the cable itself doesn’t move. Instead, the robot has a motor, a D5312s 330KV with an ODrive OA1 encoder, controlled by an ODrive S1. The motor spins a rubber-covered wheel that presses against the cable to drive the robot forward.
The goal is for the robot to follow another object that moves below it at slowly changing speeds. Since we want to make sure the robot doesn’t exceed the cable endpoints, we’ve been using trajectory control so far. However, the results aren’t great: our setpoints are very close together, and it seems like the controller is always trying to fit a trajectory between them. As a result, the motor doesn’t have enough time to reach the desired setpoint.
So I have two questions:
- In trajectory control, is it possible (and safe) to update odrv0.axis0.trap_traj.config.vel_limit at ~7 Hz while the motor is running?
- If I switch to filtered position control, can I still define limits for maximum velocity, acceleration, and deceleration? Ideally, we’d like the controller not to try to fit an acceleration/deceleration curve in between two close setpoints, but still respect acceleration/deceleration limits at the cable endpoints.
Thanks in advance for any insights!
Cyril