Import
Methods
| Method | Description |
|---|---|
position() | Get current arm position (x, y, z) |
move_to() | Move to absolute coordinates |
move_relative() | Move relative to current position |
go_home() | Return arm to home position |
enable_motor() | Enable arm motors |
disable_motor() | Disable arm motors |
save_position() | Save current position to memory |
get_full_position() | Get full position including joint angles |
sliding_rail_init() | Initialize the sliding rail |
Method Reference
Getting an Arm Net
Get a robotic arm net instance by name and type.| Parameter | Type | Description |
|---|---|---|
name | str | Net name (configured in Lager system) |
type | NetType | Must be NetType.Arm |
position()
Get the current arm position.
tuple[float, float, float] - (x, y, z) coordinates in mm
move_to(x, y, z, timeout=5.0)
Move the arm to absolute coordinates with blocking wait.
| Parameter | Type | Description |
|---|---|---|
x | float | Target X coordinate (mm) |
y | float | Target Y coordinate (mm) |
z | float | Target Z coordinate (mm) |
timeout | float | Maximum wait time in seconds (default: 5.0) |
MovementTimeoutError if position not reached within timeout
move_relative(dx=0, dy=0, dz=0, timeout=5.0)
Move relative to current position.
| Parameter | Type | Description |
|---|---|---|
dx | float | Relative X movement (mm) |
dy | float | Relative Y movement (mm) |
dz | float | Relative Z movement (mm) |
timeout | float | Maximum wait time (default: 5.0) |
tuple[float, float, float] - New (x, y, z) position after move
go_home()
Return the arm to its home position (X=0, Y=300, Z=0).
enable_motor()
Enable the arm motors.
disable_motor()
Disable the arm motors (arm will be loose).
save_position()
Save the current position to the arm’s internal memory.
get_full_position()
Get the full position including joint angles.
tuple[float, ...] - (x, y, z, e, a, b, c) where a, b, c are joint angles
End Effector Methods
Soft Gripper
Air Picker
Laser Module
Conveyor Belt Methods
Sliding Rail Methods
Utility Methods
delay_ms(value) / delay_s(value)
Add delay to the arm’s command queue.
set_acceleration(acceleration, travel_acceleration, retract_acceleration=60)
Configure acceleration settings.
set_module_type(module_type)
Set the attached module type.
get_module_type()
Get the currently detected module type.
Examples
Basic Movement
Pick and Place
Automated Test Positioning
Error Handling
Supported Hardware
| Manufacturer | Model | Features |
|---|---|---|
| Rotrics | Dexarm | 4-axis, multiple end effectors, conveyor support |
Exceptions
| Exception | Module | Description |
|---|---|---|
MovementTimeoutError | lager.arm.arm_net | Arm didn’t reach target position in time |
RuntimeError | builtin | Arm device not found or cannot be opened |
Notes
- Always use the context manager (
withstatement) to ensure proper cleanup - The arm must be homed before accurate movements
- Movement timeout errors may indicate obstructions or out-of-bounds coordinates
- Joint angles (a, b, c) are in the arm’s internal coordinate system
- Default tolerance for position verification is 0.5mm
- The arm auto-detects via USB VID/PID (0x0483:0x5740)

