/
Auto Driving Specified Velocity

Auto Driving Specified Velocity

Commanding many XBots to move to their respective target positions according to an auto generated paths, avoiding collisions with each other collaboratively, with speed and acceleration that can be configured in the command.

For RoutingType, labeled routing means the specified XBots must go the corresponding positions specified in the position arrays, i.e., XbotID[0] must go to PosX[0] and PosY[0]. This should be used if the order of XBots is important, such as XBots 1 through 8 must line up in a line in ascending order.

For unlabeled routing, any of the XBots specified in the XBot ID array can go to any of the positions specified in the position arrays, i.e., XbotID[1] may go to PosX[0] and PosY[0], using the most convenient way possible. This should be used if the order of the XBots is NOT important, such as when 8 XBots should be in a line, but it does not matter which XBot is first, etc.

Fieldbus Interface 

PMC_AutoDrivingMotionVelocity

Name

Data Type

Description

Name

Data Type

Description

Execute

BOOL

nXbots

USINT

Number of XBots to move, from 1 to 78. Multiple Auto Driving Motion command can be sent sequentially to move more than 78 XBots

RoutingType

USINT

  • 0: Labeled routing (Order of XBots in the arrays is preserved)

  • 1: Unlabeled routing (XBots will go to most convenient XY coordinates, regardless of their order in the arrays)

ZoneID

USINT

(>0) Zone within which to route the XBots. Note: 0 means no specific zone.

XbotID

USINT[0..77]

Array of size 78, enter up to 78 XBot IDs of the XBots that should be moved.

PosX

REAL[0..77]

Array of size 78, Absolute target X Coordinates (m), for the up to 78 XBots specified in the XbotID array

PosY

REAL[0..77]

Array of size 78, Absolute target Y Coordinates (m), for the up to 78 XBots specified in the XbotID array

MaxVel

REAL

Max speed used during motion (m/s)

MaxAcc

REAL

Max acceleration used during motion (m/s2)

PM_Controller

PMControllerType

Name

Data Type

Description

Name

Data Type

Description

Ack

BOOL

Done

BOOL

Busy

BOOL

Aborted

BOOL

Error

BOOL

ErrorID

UINT

Ethernet Interface 

PMCRTN AutoDrivingMotionSIWithSpeed(int xbotCount, ASYNCOPTIONS mode, double maxSpeed, double maxAccel, int[] xbotIDs, double[] targetsXMeters, double[] targetsYMeters, int zoneID = 0) 

Name

Type

Description

Name

Type

Description

xbotCount

int

Number of XBots in this command

mode

enum

MOVEALL (0): Labeled routing; MOVEALL_UNLABELED (1): Unlabeled routing

maxSpeed

double

Max speed used during motion, m/s

maxAccel

double

Max acceleration used during motion, m/s2

xbotIDs

int[]

Array of XBot IDs that should move

targetsXMeters

double[]

Target X position for the corresponding XBot, meters

targetsYMeters

double[]

Target Y position for the corresponding XBot, meters

zoneID

int

(>0) Zone within which to route the XBots. Default: 0 means no specific zone.

Name

Type

Description

Name

Type

Description

PMCRTN

PMCRTN enum

Conditions

Operating Conditions

Operating Conditions

Preconditions

Postconditions

Description

Commanding many XBots to move to their respective target positions according to an auto generated paths, avoiding collisions with each other collaboratively, with speed and acceleration that can be configured in the command.

  • User does not need to specify how each XBot gets to its destination, greatly reducing the Controller computation burden

  • The XBots will move at the user specified maximum speed and acceleration

  • At the start of the command, the system determines the rectangular routing area based on the starting and ending positions of the specified XBots. During this stage, all the XBots inside the routing area/specified zone must be idle or stopped

  • During the auto driving motion, XBots not involved in the motion may not enter the routing area, but may continue their motions as usual outside of this area

For RoutingType, labeled routing means the specified XBots must go the corresponding positions specified in the position arrays. Ie. XbotID[0] must go to PosX[0] and PosY[0]. This should be used if the order of XBots is important, such as XBots 1 through 8 must line up in a line in ascending order.

For unlabeled routing, any of the XBots specified in the XBot ID array can go to any of the positions specified in the position arrays. Ie. XbotID[1] may go to PosX[0] and PosY[0], using the most convenient way possible. This should be used if the order of the XBots is NOT important, such as when 8 XBots should be in a line, but it does not matter which XBot is first, etc.

Changelog

PMC v117.6.17 - Added ZoneID: the user can now define a zone and route only within that region by suppling the ZoneID to the command

Feedback and Comments

Please email us at tech.portal@planarmotor.com