Grow Radius for Orbital: By Name


ASTER::ACTION::MotionControl::Grow Radius for Orbital; ByName

Setting GrowRad Parameters for Orbital Motion to the Registered Motion Group on the Controller.

There are four option settings for orbital motion:

  1. Startup angle

  2. Offset value from the center point

  3. Sleep operation (Dedicated for Orbital)

  4. Dynamic radius change command (Grow Radius)

“Grow Radius” for Orbital includes features such as moving back and forth between the maximum and minimum radius.

By dynamically changing the radius of the orbital motion, it is possible to create movements that incorporate some randomness into periodic operations.


Sample Parameters

"true,    200, 100, +.5, 60, -1,      200, 100, +.5, 10, -1"

Minion Minion


"true,    200, 100, +.8, 60, -1,      200, 150, +.5, 10, -1"

Minion Minion


" 650,  300,  -4.5,  false,    0, 72,   0, -200,   false, 30,  0, 45"
"true,  162, 162,  -4,  40,  1,   60, 60, -2, 40, 1"

Minion Minion


Parameter.1

Specification of the motion group name.

If there are two or more registered motion groups, you can set the parameter for the corresponding group by specifying the group name.

Parameter Example Description
"ExMotion1" Setting the parameter for a specified group name.
"" Send an empty string, targeting all registered motion groups.

If you send an empty string without specifying the group name, all currently registered motion groups will be targeted.


Parameter.2

Send GrowRad Parameters

Serialize and send the Grow Radius parameters (11 Params).

  • There is syntax checking, and any invalid syntax will result in a runtime error.

  • The numerical type specification is strictly enforced.

"true,    200, 100, +.5, 360, -1,    200, 100, +.5, 360, -1"

In Orbital, individual radius values for vertical and horizontal directions can be defined separately (necessary for creating elliptical orbits). The Grow Radius command also requires parameter settings for two separate radii.

value Type Description
true boolean Grow Radius Flag; true or false
200 unsigned int Max Radius.1
100 unsigned int Minimum Radius.1
+.5 float Delta.1; Increase or Decrease with value to the current Radius.
360 unsigned int Frame time interval.1; When arrive at the Max or Minumum Radius.
-1 int Repetition value.1; -1 iz the infinite loop.
200 unsigned int Max Radius.2
100 unsigned int Minimum Radius.2
+.5 float Delta.2; Increase or Decrease with value to the current Radius.
360 unsigned int Frame time interval.2; When arrive at the Max or Minumum Radius.
-1 int Repetition value.2; -1 iz the infinite loop.

The details of individual parameters are listed below.


Show Grow radius flag
Grow Radius Flag; Boolean

Boolean value to enable the Grow Radius feature. Use true or false.

  • If true, the feature is enabled.

  • If false, the feature is disabled.

If both repetition values are set to 0, the GrowRad flag is automatically set to false.


Show Max radius
Max Radius; unsigned int

Set the maximum value for radius.

  • Values are unsigned integers, and using any signed representation is considered a syntax error. Not only negative values, but also positive values are not allowed to use signs.
status value
Error -100
Error +100
No error 100

In many cases, unsigned int is specified to prohibit the use of negative signs for parameters that do not accept negative values. The reason for also prohibiting the use of positive signs is to indicate that the parameter is an absolute value and that signs are meaningless.


Show Minumum radius
Minimum Radius; unsigned int

Specify the minimum radius as an unsigned integer. It must be a value of 0 or greater and smaller than the maximum value (Max Radius).


Show Delta
Delta; float

Specify the value to be added or subtracted from the current radius value as a signed floating-point number (float).

The initial radius value will be incremented or decremented over time until it equals the specified maximum or minimum radius value. The larger the absolute value of Delta, the faster the target value will be reached.

About writing values

float supports implicit fractional representation, .1. This is simply a shorter way to represent floating-point numbers where the leading zero before the decimal point is omitted.

status value
No error +0.1
No error -.1

Regarding the use of signs, positive values are optional, but it is recommended to use signs to improve the readability of the parameters.

If the Delta value is positive, it will aim for the maximum radius. If the Delta value is negative, it will aim for the minimum radius.


Show Interval frame time
Interval Frame Time; unsigned int

Specify the interval time as an unsigned integer. A value of 1 or greater is required.

If the Repetition value is not 0 when the target value (maximum or minimum radius) is reached, the radius will be modified again after the interval to reach the next target value.

The time unit is the frame time, which changes according to the application’s frame settings. In an application where the screen updates 60 times per second, if 60 is specified for the interval, the radius will remain the same for approximately one second without changing.


Show Repetition numbers
Repetition Numbers; int

Specify the number of repetitions for the maximum and minimum radius as a signed integer.

  • If repetition.1 and repetition.2 are both set to 0, the Grow Radius Flag will be set to false.

If a value of 1 or more is assigned to “repetition numbers”, the radius will be decremented by 1 each time it reaches the maximum or minimum radius value. GrowRad will stop operating once the repetition value reaches 0.

If a negative value is assigned, it indicates an infinite loop and will cause the radius to repeatedly move back and forth between the maximum and minimum values, with intervals in between.