API Reference v9.1.0

AxisGroupclass

Module: zaber_motion.ascii

Groups multiple axes across devices into a single group to allow for simultaneous movement. Note that the movement is not coordinated and trajectory is inconsistent and not repeatable between calls. Make sure that any possible trajectory is clear of potential obstacles. The movement methods return after all the axes finish the movement successfully or throw an error as soon as possible.

The following example illustrates how you can obtain an instance of this type:

from zaber_motion.ascii import AxisGroup
from zaber_motion.ascii import Connection

connection = Connection.open_serial_port('COM3')
device = connection.get_device(1)
axis = device.get_axis(1)
axis_group = AxisGroup([axis])

Constructor

AxisGroup(axes)
Initializes the group with the axes to be controlled.
Arguments
NameTypeDescription
axesList[Axis]Axes of the group.

Properties

p

axes

readonly
axis_group.axes
List[Axis] Axes of the group.

Methods

m

get_position()

async available
axis_group.get_position(*unit)
Returns current axes position. The positions are requested sequentially. The result position may not be accurate if the axes are moving.
Arguments
NameTypeDescription
*unitLengthUnitsUnits of position. You can specify units once or for each axis separately.
Return Value
List[float] Axes position.
m

home()

async available
axis_group.home()
Homes the axes.
m

is_busy()

async available
axis_group.is_busy()
Returns bool indicating whether any of the axes is executing a motion command.
Return Value
bool True if any of the axes is currently executing a motion command. False otherwise.
m

is_homed()

async available
axis_group.is_homed()
Returns bool indicating whether all the axes are homed.
Return Value
bool True if all the axes are homed. False otherwise.
m

move_absolute()

async available
axis_group.move_absolute(*position)
Moves the axes to absolute position.
Arguments
NameTypeDescription
*positionMeasurementPosition.
m

move_max()

async available
axis_group.move_max()
Moves axes to the maximum position as specified by limit.max.
m

move_min()

async available
axis_group.move_min()
Moves axes to the minimum position as specified by limit.min.
m

move_relative()

async available
axis_group.move_relative(*position)
Move axes to position relative to the current position.
Arguments
NameTypeDescription
*positionMeasurementPosition.
m

stop()

async available
axis_group.stop()
Stops the axes.
m

__repr__()

axis_group.__repr__()
Returns a string that represents the axes.
Return Value
str A string that represents the axes.
m

wait_until_idle()

async available
axis_group.wait_until_idle()
Waits until all the axes stop moving.