diff --git a/README.md b/README.md index 1162821..7f1610d 100644 --- a/README.md +++ b/README.md @@ -76,13 +76,13 @@ set_workspace_transform(transform) get_workspace_transform() home(axis_list=None) calibrate_joint(joint_index, save_result) -move_to(x, y, z, f, move_immediately=False, blocking=True, timeout=1) -dwell(time_s, blocking, timeout=1) -set_max_acceleration(linear_accel, angular_accel) -wait_for_stop(polling_interval_ms=10, disable_callbacks=True) -set_servo_parameter(pos_kp=150, pos_ki=50000, vel_kp=0.2, vel_ki=100, vel_filter_tc=0.0025) -enable_motors(enable) +move_to(x, y, z, f, move_immediately, blocking, timeout) set_pose(x, y, z) +dwell(time_s, blocking, timeout) +enable_motors(enable) +wait_for_stop(polling_interval_ms, disable_callbacks) +set_max_acceleration(linear_accel, angular_accel) +set_servo_parameter(pos_kp, pos_ki, vel_kp, vel_ki, vel_filter_tc) ``` ## ⚙ CAD-Files @@ -143,16 +143,25 @@ Each command is acknowledged with either an **`ok`** or **`error`** response. If a command provides additional information (e.g., the *get position* command), that information is returned **before** the `ok` message. The client must wait for an acknowledgment from the previous command before sending the next one—otherwise, behavior is undefined. - | Command | Description | |----------------|-----------------------------------------------------------------------------| -| `G0 X Y Z F` | Move the end-effector in a straight line to the specified position.
• `X`: target position on X-axis
• `Y`: target position on Y-axis
• `Z`: target position on Z-axis
• `F`: feed rate (movement speed) | -| `G1 X Y Z F` | Same as `G0`. | -| `M204 L A` | Set current acceleration.
• `L`: linear acceleration (m/s²)
• `A`: angular acceleration (rad/s²) | -| `M50` | Get current actuator pose (position). | -| `M51` | Get motion controller and servo loop update frequency. | +| `G0 X Y Z F` | Move the end-effector in a straight line to the specified position.
• `X`, `Y`, `Z`: target positions
• `F`: feed rate | +| `G1 X Y Z F` | Same as `G0`. | +| `G4 S/P` | Dwell/pause for a specified time.
• `S`: seconds
• `P`: milliseconds | +| `G24 X Y Z A B C` | Directly set current pose for servo loops. Optional rotation with `A`, `B`, `C`. | +| `G28 A-F` | Home one or more joints.
• Optional joint selection `A`–`F`. | +| `M17` | Enable motors and read current pose as the start pose. | +| `M18` | Disable motors. | +| `M50` | Get current internal position (X, Y, Z). | +| `M51` | Get current encoder angles (in degrees) and raw encoder values. | | `M52` | Get the number of items in the planner queue. | -| `M53` | Check if all moves are finished. Returns `1` if finished, `0` otherwise. | +| `M53` | Check if all planned moves are finished (`1` = finished, `0` = not finished). | +| `M55 A B C D F` | Set servo loop parameters.
• `A`, `B`: position PI controller gains (P and I)
• `C`, `D`: velocity PI controller gains (P and I)
• `F`: velocity filter time constant | +| `M56 J S` | Calibrate a joint.
• `J`: joint index
• `S`: save calibration result | +| `M57` | Get device and servo loop info: homing/calibration state, angles, loop frequencies, and file list. | +| `M58` | Get firmware version. | +| `M204 L A` | Set linear and angular acceleration.
• `L`: linear acceleration
• `A`: angular acceleration | + ## Youtube Video [![Watch the video](images/thumbnail.jpg)](https://youtu.be/MgQbPdiuUTw)