The Core Concepts of ByName Motion And Control
ASTER::Motion Instruction Manual, About:
Common Setup Instructions
The procedures for using object motion control are generally commonized below.
- Select a motion template
- Select object instances
- Assign a name (Motion Group Name) to the collection of instances
- Send parameters to the controller
About Motion Templates
There are five main types of motion templates available. The following explains the characteristics of the motion templates other than Null.
Horizontal | Vertical
Horizontal | Vertical is very simple and easy to understand, representing constant speed movement in the horizontal or vertical direction.
-
Horizontal :: Wrap
-
Horizontal :: Flip
-
Vertical :: Wrap
-
Vertical :: Flip
There is a concept called the “virtual wall”, where designated coordinates are considered as invisible walls.
SineWave
It is a motion template that adds Sinewave to Horizontal|Vertical. This is not a simple derivative of horizontal and vertical movement, but a motion with the feature of being able to set parameters for a “swarm”, incorporating the concept of a group to move cohesively.
- Horizontal :: Wrap :: Sinewave
- Horizontal :: Flip :: Sinewave
- Vertical :: Wrap :: Sinewave
- Vertical :: Flip :: Sinewave
Orbital
Orbital introduces not only the concept of a “swarm” but also a new concept of a “target.” The “virtual wall” is not used.
- Orbital :: OwnXy
- Orbital :: TgtXy
Orbital and MoveTowards involve behaviors such as orbiting or following (tracking) by designating other instances as targets and moving based on the target coordinates.
Additional target-related settings may be required in addition to the common setup instructions mentioned earlier, such as the “instance that serves as the center of orbit” or the “instance with target coordinates.” The following is an example of the setup instructions for Orbital::TgtXy.
- Select a motion template
- Select object instances
- Select the target instance that serves as the center of the orbit
- Assign a name (Motion Group Name) to the collection of instances
- Send parameters to the controller
MoveTowards
In addition to the previously explained concepts of “swarm” and “target,” the new concept of “pursuer” is added, providing a rich set of utilities for target selection and other functions in this motion template.
- MoveTowards
- MoveTowards :: Swap
- MoveTowards :: RefVec
Common Basic Functions
Motion templates have standardized basic functions.
The Null motion, which has no motion, is an exception, so Stop and Sleep do not function. However, the following four commands can be used for all other motions: Reject
, Destroy
, Stop
, and Sleep
.
There are two command systems for basic functions, ByName and Directly, which developers can choose according to their needs.
Type Description ByName Issues instructions to the motion controller using the Motion Group Name Directly Issues instructions by specifying instances
Basic Command :: Reject
This is a basic command to deregister a registered motion group from the motion controller.
There are two types: the ByName system, which deregisters the entire group by specifying the motion group name, and the Direct system, which individually deregisters selected instances.
It includes a Time-Bound feature, where the command is executed after a certain period.
Among the standardized basic commands, this is the highest priority command.
It is not affected by other commands, and it cannot be changed or canceled after issuance, including Time-Bound values and conditions.
Basic Command :: Destroy
This command is not used alone; it is a command to destroy the instance.
It is used in the Reject + Destroy command, which combines Reject and Destroy.
It is inconvenient for the controller if an instance registered with a motion is destroyed before being deregistered. Therefore, this command set first issues a Reject command and then destroys the instance.
Basic Command :: Stop
Temporarily stops motions.
For motions that are already stopped, this command will resume the motions.
The Stop command is similar to the Sleep command; however, while Sleep pauses the motion with the intent to resume it, the Stop command is positioned as a higher-ranking command that can also stop the motion, including Sleep.
However, it is positioned lower than the Reject command, so it cannot stop a Reject command.
Basic Command :: Sleep
A command to temporarily pause motions with the intent to resume them. It is characterized by having a
Repetition
value because it repeatedly executes stop and resume actions with a time limit.
The time-limited Sleep does not function for the Orbital system.
For Orbital, there is a dedicated Sleep :: Angular
that functions in angle units.
However, since Orbital incorporates Sleep in its standard parameter settings, there is no opportunity to issue the Sleep command afterward.
Since Sleep is a lower-ranking command compared to Stop, if a Stop command is issued to a motion during Sleep, the Sleep command itself will be stopped. The Sleep counter also stops during Stop, so the Sleep function itself will remain stopped until the Stop command is released.
Additional Parameter Setups
Each motion has its own “additional parameter setups” according to its characteristics.
The Reverse Movement command, which reverses the movement amount’s sign, can be applied to all motions except Null and MoveTowards.
Both Sinewave and Orbital motions have common parameters called “angular velocity” and “radius”. Each of these motions has its own specific extension command, GrowRadius
.
Additionally, there is a Change Target command specifically for Orbital motion.