MotorGroup#
Initializing the MotorGroup Class#
The MotorGroup
constructor creates a MotorGroup object.
You can create a MotorGroup with any number of Motors.
# Create 2 Motors, motor_1 and motor_2 in
# Ports 1 and 2 respectively.
motor_1 = Motor(Ports.PORT1)
motor_2 = Motor(Ports.PORT2)
# Using the two previously created Motors, create a
# MotorGroup named motor_group_1.
motor_group_1 = MotorGroup(motor_1, motor_2)
This motor_group_1
object will be used in all subsequent examples throughout this API documentation when referring to MotorGroup class methods.
Class Methods#
spin()#
The spin(direction, velocity, units)
method is used to spin all Motors in a MotorGroup in the specified direction until a spin
or stop
method is used, or the project is stopped.
This is a non-blocking function and allows the next method to run without delay.
Parameters |
Description |
---|---|
direction |
A valid DirectionType. |
velocity |
Optional. The velocity at which the Motors in the MotorGroup will spin. The default velocity set by the |
units |
Optional. A valid VelocityUnit or |
Returns: None.
# Spin all Motors in motor_group_1 forward.
motor_group_1.spin(FORWARD)
spin_to_position()#
The spin_to_position(rotation, units, velocity, units_v, wait)
method is used to spin all Motors in a MotorGroup to an absolute position using the provided arguments.
This function can be a blocking or non-blocking method depending on if the wait
parameter is set to True
.
Parameters |
Description |
---|---|
rotation |
The position to spin the Motors in a MotorGroup to. |
units |
Optional. A valid RotationUnit. The default is |
velocity |
Optional. The velocity with which the Motors in a MotorGroup will spin. The default velocity set by the |
units_v |
Optional. A valid VelocityUnit or |
wait |
Optional. Determines whether the method will block subsequent commands ( |
Returns: None.
# Spin the Motors in motor_group_1 to the position 90
# degrees at 100 RPM.
motor_group_1.spin_to_position(90, DEGREES, 100, RPM)
spin_for()#
The spin_for(direction, value, units, velocity, units_v, wait)
method is used to spin all Motors in a MotorGroup for a specific duration, rotations, or until a specific encoder value is reached. The position is relative to the current position of the Motors in the MotorGroup.
This can be a blocking or non-blocking method depending on if the wait
parameter is used.
Parameters |
Description |
---|---|
direction |
A valid DirectionType. |
value |
The value for the Motors in a MotorGroup to spin to. |
units |
Optional. A valid RotationUnit. The default is |
velocity |
Optional. The velocity with which the Motors in a MotorGroup will spin. The default velocity set by the |
units_v |
Optional. A valid VelocityUnit or |
wait |
Optional. Determines whether the method will block subsequent commands ( |
Returns: None.
# Spin the Motors in motor_group_1 forward for 10 turns
# at 100% velocity.
motor_group_1.spin_for(FORWARD, 10, TURNS, 100, PERCENT)
stop()#
The stop(mode)
method is used to stop all Motors in a MotorGroup, setting them to 0 velocity and configuring the current stopping mode.
Parameters |
Description |
---|---|
mode |
Optional. A valid BrakeType. The default is |
Returns: None.
# Spin all Motors in motor_group_1 forward for 2.5 seconds.
motor_group_1.spin(FORWARD)
wait(2.5, SECONDS)
# Stop all Motos in motor_group_1 using the HOLD brake type.
motor_group_1.stop(HOLD)
count()#
The count()
method returns the number of Motors in the MotorGroup.
Returns: The number of Motors in the MotorGroup.
set_velocity()#
The set_velocity(velocity, units)
method is used to set the default velocity for all Motors in a MotorGroup. This velocity setting will be used for subsequent calls to any motion functions if a specific velocity is not provided.
Parameters |
Description |
---|---|
velocity |
The new velocity to set for the Motors in a MotorGroup. |
units |
A valid VelocityUnit or |
Returns: None.
# Spin the Motors in motor_group_1 forward at 75% velocity.
motor_group_1.set_velocity(75, PERCENT)
motor_group_1.spin(FORWARD)
set_stopping()#
The set_stopping(mode)
method is used to set the stopping mode for all Motors in a MotorGroup.
Parameters |
Description |
---|---|
mode |
A valid BrakeType. |
Returns: None.
reset_position()#
The reset_position()
method resets the position of all Motors in a MotorGroup to 0. The position that is returned by the position()
method will be updated to 0.
Returns: None.
set_position()#
The set_position(value, units)
method is used to set the position of all Motors in a MotorGroup. The position that is returned by the position()
method will be updated to this new value.
Parameters |
Description |
---|---|
value |
The new position to set for all Motors in a MotorGroup. |
units |
A valid RotationUnit. |
Returns: None.
set_timeout()#
The set_timeout(value, units)
method is used to set the timeout for all Motors in a MotorGroup. The position that is returned by the get_timeout()
method will be updated to this new value.
Parameters |
Description |
---|---|
value |
The new timeout to set for all Motors in a MotorGroup. |
units |
Optional. A valid TimeUnit. The default is |
Returns: None.
is_spinning()#
The is_spinning()
method returns the current status of the spin_to_position()
or spin_for()
methods. This function is used when False
has been passed as the wait
parameter in either method.
Returns: True
if any Motor in the MotorGroup is still spinning. False
if the Motors in the MotorGroup have completed the move or a timeout has occurred.
is_done()#
The is_done()
method returns the current status of the spin_to_position()
or spin_for()
method. This function is used when False
has been passed as the wait
parameter in either method.
Returns: True
if any Motor in the MotorGroup is still spinning. False
if the Motors in the MotorGroup have completed the move or a timeout has occurred.
set_max_torque()#
The set_max_torque(value, units)
method is used to set the maximum torque for all Motors in a MotorGroup. The torque can be set as torque units, current units, or a percent of maximum torque.
Parameters |
Description |
---|---|
value |
The new maximum torque for all Motors in a MotorGroup. |
units |
A valid TorqueUnit, |
Returns: None.
direction()#
The direction()
method returns the current direction the first Motor in a MotorGroup is spinning.
Returns: The current DirectionType the first Motor in a MotorGroup is spinning.
position()#
The position(units)
method returns the current position of the first Motor in a MotorGroup.
Parameters |
Description |
---|---|
units |
Optional. A valid RotationUnit. The default is |
Returns: The current position of the first Motor in a MotorGroup in the specified units.
velocity()#
The velocity(units)
method returns the current velocity of the first Motor in a MotorGroup.
Parameters |
Description |
---|---|
units |
Optional. A valid VelocityUnit. The default is |
Returns: The current velocity of the first Motor in a MotorGroup in the specified units.
current()#
The current(units)
method returns the total current being used by the Motors in a MotorGroup.
Parameters |
Description |
---|---|
units |
Optional. The only valid units for current are |
Returns: The total current being drawn by the Motors in a MotorGroup in the specified units.
power()#
The power(units)
method returns the power the first Motor in a MotorGroup is providing.
Parameters |
Description |
---|---|
units |
Optional. The only valid units for power are |
Returns: The power the first Motor in a MotorGroup is providing in the specified units.
torque()#
The torque(units)
method returns the torque the first Motor in a MotorGroup is providing.
Parameters |
Description |
---|---|
units |
Optional. A valid TorqueUnit. The default is |
Returns: The torque the first Motor in a MotorGroup is providing in the specified units.
efficiency()#
The efficiency(units)
method returns the efficiency of the first Motor in a MotorGroup.
Parameters |
Description |
---|---|
units |
Optional. The only valid unit for efficiency is |
Returns: The efficiency of the first Motor in a MotorGroup as a percent.
temperature()#
The temperature(units)
method returns the temperature of the first Motor in a MotorGroup.
Parameters |
Description |
---|---|
units |
Optional. A valid TemperatureUnit. The default is |
Returns: The temperature of the first Motor in a MotorGroup in the specified units.