Move FarmBot’s motors
The Move command instructs FarmBot to move to a new location. To use this command, first choose a LOCATION from the dropdown. Options include:
- Custom coordinates
- Offset from current location
- Location variables
- Tool and seed container locations
- Plant locations
- Map points
- Weed locations
When choosing the custom coordinates option, three input fields will be revealed allowing you to specify the exact X, Y, Z coordinates you want FarmBot to move to.
Offset from current location
When choosing the offset from current location option, three input fields will be revealed allowing you to specify the OFFSET amount you want FarmBot to move to.
When choosing variable - add new, a variable form will be added to the sequence header. Upon selecting a variable value in the sequence header, the dropdown selections in all Move steps set to that variable will be updated. See the variables documentation for more information.
When choosing a tool or seed container location, a plant location, a map point, or a weed location, those resources will then become in-use, meaning that they cannot be deleted until you remove them from your sequence. If you update their coordinates, your sequence steps will be automatically updated.
Be careful when moving to tools or seed containers
Under most circumstances you will need to mount a tool or pick up a seed from a seed container in multiple steps. First, you should move to the tool or seed container with a positive z-axis offset. This will allow FarmBot to then descend onto the tool or into the seed container from above in a second step (with no z-offset).
If you try to move to a location to mount a tool or pick up a seed in one step, you risk the z-axis traveling too low too quickly and the FarmBot crashing into the tool and/or bending a seed injection needle.
Within the [+] dropdown, you will find several options to modify the base LOCATION and several options for changing how FarmBot performs the movement. By default, the app will only load the [+] options in an open state if you’ve changed any of options from the default values. If you would like the [+] options to always load in an open state, set OPEN OPTIONS BY DEFAULT to YES from the menu in the sequence header.
OVERRIDE allows you to override the X, Y, and/or Z values from the LOCATION field with new values. You may type in a custom coordinate, a formula, or disable an axis entirely. The Z axis override dropdown also includes special Safe height and Soil height options.
If you choose custom coordinates for the LOCATION field, OVERRIDE will appear as X, Y, Z (MM).
OFFSET allows you to add positive or negative offsets to the base LOCATION. This is useful when pulling tools out of slots, or when watering around or above a plant.
VARIANCE allows you to add randomness to a movement, in case you want to perform an action repeatedly (such as suppressing a weed) but with small variations between repetitions. In the example below FarmBot will move to 288 +/- a random variance between 0 and 4 on the X axis. Thus, the final X location will be a random value between 284 and 292.
SPEED (%) allows you to slow down movement along an axis for greater precision, for example when mounting and dismounting tools. Speed is a percentage of the MAX SPEED for each axis.
SAFE Z allows you to instruct FarmBot to perform a MOVE command as three distinct movements:
- Move Z to the Safe Z height
- Move X and Y to the new location
- Move Z to the new location
This is useful when you need FarmBot to move across the garden but want to ensure it does not run into any plants or other objects.
The Find Home command instructs FarmBot to automatically find the home position for the chosen axis. If you choose ALL, FarmBot will find home for each axis one at a time in the order: z-axis, y-axis, x-axis.
ENCODERS, STALL DETECTION, or LIMIT SWITCHES must be ON for FarmBot to automatically find home.
The Set home command instructs FarmBot to set the current location along an axis to
0, also known as the
Home position for that axis. If you choose ALL, FarmBot will set all axes to zero.
Find axis length
The FIND AXIS LENGTH command instructs FarmBot to automatically find the length of the chosen axis. If you choose ALL, FarmBot will find the length of each axis one at a time in the order: z-axis, y-axis, x-axis.
ENCODERS, STALL DETECTION, or LIMIT SWITCHES must be ON for FarmBot to automatically find axis lengths.
The Control servo command instructs FarmBot to move a servo to the provided ANGLE.
Pause for a moment
Because the microcontroller will not know when the servo has reached the desired ANGLE, you may need to use a Wait command directly after the Control servo command to ensure the servo reaches its destination before FarmBot moves onto the next step in your sequence.