In Part I of Motor vs. Move, we looked
at how the Move block incorporates a control algorithm to help robots
move more accurately. What else is different between the Motor and
Move block in NXT-G?
Motor
The Motor block has an "Action"
panel which includes a drop-down menu pertaining to how the robot's
motor will behave upon action.
The "Constant" selection implies
that the robot's motor will perform at constant speed from when it
is activated to when it is deactivated (as programmed). In other
words, as soon as the program initiates motor action, the motor will
spin at the power level that you specify in the "Power" panel.
This feature is excellent for when your robot needs only to travel at
a constant speed, or for such things as a clock that requires
constant power in its motor.
The "Ramp Up" feature allows for
the robot's motor to approach the set power level as soon as the
motor is activated. Once your program reaches the point that you set
the motor to start, the motors will gradually increase in power from
the stopped point until the motor reaches whatever percent power you
have set. This "Ramp Up" feature allows your robot to act
similarly to how your car accelerates when you press on the gas
pedal.
The "Ramp Down" feature allows for
the robot's motor to slow in speed when approaching a stop. This
feature does pertain to certain restrictions. This feature can only
be used when the motor block is preceded with a motor block set with
a constant speed set to coast after execution (see second block of
the sample program below). This allows for an initial speed for the
motors during the "ramped down" motor block. Once the motor is
activated, it spins at the set power level, but as it approaches a
stopped state, it will gradually decrease in power level. This
closely mimics the braking of a vehicle. Without the preceding
block, the "ramp down" motor block has an initial speed of zero,
and hence will not be able to slow.
Sample Program
The second block must have an action
of "Constant" and be set to coast
Note that all of the
actions are only available if the Duration is set to rotations or
degrees.
Move
The Move block does not contain any
"Action" panel or the ability for you to specify how the motors
will behave. This is due to the fact that there is already
intelligence in the power component of the Move block (see
Part I: The Control Algorithm). The built-in
algorithm monitors rotation sensors on the NXT and slows the motor(s)
as the robot approaches the target duration. Essentially, the Move
block incorporates the "Ramp Down" feature of the Motor block.
Try it Out: The
Merry-Go-Round
A Merry-Go-Round
is a great application for the Move block's "Ramp Up" and "Ramp
Down" actions. Try them out by following the building and
programming instructions in the Resource section.