background image

maxon motor control 

EPOS Positioning Controller

  

EPOS Application Note: Interpolation Position Mode

 

 

4

  maxon motor control 

Edition December 2008 / Subject to change 

2

 

Interpolated Position Mode 

 

2.1

 

Explanations to the Interpolated Position Mode 

Introductory analogy:

 

In a company a department manager must convert the department goals into clear tasks for his coworkers. It is to 

be considered that often the individual tasks stand to each other in close interdependency. Thus each department 

manager is glad, if he has capable coworkers, who are able to solve their tasks already on basis on substantial 

data. For the quality of such a solution it is in particular important that it: 

1.

 

is factually correct, i.e. it does not have to be controlled again, 

2.

 

is finished in time and

 

3.

 

 

was reached efficiently. 

 

The functionality 

Interpolated Position Mode values up the positioning controller EPOS2   to such a “capable 

coworker” in a superordinated drive system. This thesis is described in the following text. 

In a drive system normally several axes must be moved after the guidelines of a central controller. This can take 

place in the way that each local axis controller receives the next target position in real time – i.e. in time and at the 

same time to each sampling instance –. This strategy has the advantage that the local controller need only little 

intelligence. However, the central controller must compute target positions for every sampling interval and has to 

communicate the data to every local controller in real time. 

In the sense of the introductory analogy it would be favorable, if only few, but substantial points of the driving 

profiles have to be regarded. Besides it would be desirable, if the corresponding data have to be communicated to 

the local controller not necessarily at the same time but only in time. Both goals can be reached by 

interpolation 

and 

data buffering. 

The central controller decides first which points of the local trajectories are substantial for a synchronized total 

movement. Then each relevant point of the local trajectories is supplemented with the corresponding velocity and 

time, i.e. triples of the kind (position,  velocity,  time = PVT) are formed. These triples are then transferred to the 

associated axis controllers in time. Each local controller possesses a buffer in order to take up these data. The 

buffer of the 

EPOS2 covers 64 locations for triples. The transfer of data to the EPOS2 is in time, if always the buffer 

contains at least 1 and at the most 64 new triples. 

The local position regulation works at the 

EPOS2 with a sampling rate of 1 kHz. I.e., there are 1000 target positions 

per second necessary in real time. These target positions are computed in the 

EPOS2 by means of interpolation. 

Each triple forms a base point with the abscissa 

time and the two ordinates position and velocity. Two triples 

therefore deliver two abscissas and four corresponding ordinates, so that an interpolation polynomial of third order 

can be computed unambiguously between the two base points. This computation as well as the evaluation of the 

polynomial in the local sampling clock takes place on basis of simple arithmetic and is efficiently carried out by the 
EPOS2. 

The endpoint of the polynomial [n] forms the starting point of the polynomial [n+1] Therefore it is sufficient to 

indicate only the relative time in a data triple, i.e. the length of the time interval. Concretely with the 

EPOS2 the time 

distance of two base points can be selected between 1ms and 255ms. This interval length can be adapted by the 

central controller to realize the desired total movement. 

With the goal that all controllers in the drive system refer to the same time base, the central controller initiates 

periodically a time check. This time synchronization takes place with the 

EPOS2 via the SYNC time stamp 

mechanism. 

Summary of Contents for EPOS2 50/5

Page 1: ... communication with several EPOS devices use the CANopen protocol The individual devices of a network are commanded by a CANopen master Objectives This application note explains the functionality of interpolation position mode Interpolated position mode is used to control multiple coordinated axes or a single axis with the need for time interpolation of setpoint data In interpolated position mode ...

Page 2: ... Interpolated position mode FSA 8 3 3 Configuration parameters 9 3 4 Commanding parameters 9 3 4 1 Controlword Interpolated Position Mode specific bits 10 3 5 Output parameters 10 3 5 1 Statusword Interpolated Position Mode specific bits 10 3 6 Detailed Object description 11 3 6 1 COB ID Time Stamp Object 11 3 6 2 High Resolution Time Stamp 11 3 6 3 Interpolation data record 11 3 6 4 Interpolation...

Page 3: ...ed Position Mode Commanding parameters 9 Table 6 Interpolated Position Mode specific Controlword 10 Table 7 Interpolated Position Mode bits of the Controlword 10 Table 8 Interpolated Position Mode Output parameters 10 Table 9 Interpolated Position Mode specific Statusword 10 Table 10 Interpolated Position Mode bits of the Statusword 10 Table 11 IPM data buffer record structure 12 Table 12 Interpol...

Page 4: ... time Both goals can be reached by interpolation and data buffering The central controller decides first which points of the local trajectories are substantial for a synchronized total movement Then each relevant point of the local trajectories is supplemented with the corresponding velocity and time i e triples of the kind position velocity time PVT are formed These triples are then transferred t...

Page 5: ...erpolated Position Mode the interpolation type is a cubic spline interpolation The higher level trajectory planer sends a set of interpolation points by PVT reference point Each PVT reference point contains the position velocity and time information of a profile segment end point The trajectory generator of the drive performs a third order interpolation between the actual and the next reference po...

Page 6: ... the CANopen DSP301 SYNC Service COB Id 0x80 and the High Resolution Time Stamp Object 0x1013 The SYNC Frame will be transmitted periodically by the SYNC master and the exact transmitting time Tm1 should be stored in the master by latching an internal 1us timer The reception time Td1 of the SYNC message will be stored by latching the device internal motion clock timer As following up the measured ...

Page 7: ...mand_value inc statusword 0x6041 velocity_demand_value inc ms acceleration_demand_value inc ms 2 Multiplier max_acceleration 0x60C5 position inc inc ms 2 controlword 0x6040 position inc inc ms Limit Function Interpolationstatus 0x20C4 acceleration units velocity inc ms velocity Multiplier inc ms Interpolation_submode_selection 0x60C0 Interpolation_data_configuration 0x60C4 Figure 3 Interpolation C...

Page 8: ...on 0x60C4 04 Actual buffer size 0x60C4 02 Interpolation data record 0x20C1 Reference point n Reference point n 1 V P Interpolation segment Figure 4 Interpolation buffer FIFO organization 3 2 Interpolated position mode FSA The interpolated position finite state automaton is a sub FSA of the Operation enable state Figure 5 Interpolated position mode FSA FSA state Function Interpolation inactive The ...

Page 9: ...ve is within this area for a specified time the related control bit 10 Target Reached in the Statusword is set Position Window Time 0x6068 These parameters define the time for the position window Profile Velocity 0x6081 If the calculated velocity from the interpolation exceeds this profile velocity a warning bit in the Interpolation buffer status word will be set Profile Acceleration 0x6083 If the...

Page 10: ...20C4 The statusword of the interpolation mode is placed in subindex 1 of this object Statusword 0x6041 The interpolated position mode state can be observed by the specific bits of Statusword Position demand value 0x6062 The position demand value is the output of the trajectory generator This value is the input for the position control function Table 8 Interpolated Position Mode Output parameters 3...

Page 11: ...ast received SYNC Object 1us The resolution of the device internal motion clock timer depends on the selected CAN bitrate bit time e g 1us at 1Mbit s After a write access to this object the EPOS2 calculates the difference between the received timestamp and the internal latched timestamp of the SYNC Object This time difference is used as correction for the IPM time calculations 3 6 3 Interpolation ...

Page 12: ...ata records have to be in the FIFO Otherwise a Queue underflow Emergency will be launched and the drive changes to Fault reaction state A data record with time 0 changes the state to Interpolation inactive without any error 3 6 4 Interpolation status Name Interpolation status Index 0x20C4 number of entries 0x03 Name Interpolation buffer status Index 0x20C4 Subindex 0x01 Type UNSIGNED16 Access RO D...

Page 13: ...aximal profile velocity 0x607F detected Æ trajectory abort 0 No maximal profile acceleration violation detected Acceleration Error 3 1 IPM acceleration greater then maximal profile acceleration 0x60C5 detected Æ trajectory abort 0 Disabled access to the input buffer Buffer enabled 14 1 Access to the input buffer enabled 0 ip mode inactive same as bit 12 in statusword Ip Mode active 15 1 ip mode ac...

Page 14: ...g No Description This object shall indicate the actually chosen interpolation mode Interpolation Sub Mode Description 32768 to 2 Manufacturer specific reserved 1 cubic spline interpolation PVT 0 Linear interpolation not yet implemented 1 to 32767 reserved Table 14 Interpolation Sub Mode Definition 3 6 6 Interpolation time period Name Interpolation time period Index 0x60C2 number of entries 0x02 Na...

Page 15: ...me index s econds The interpolation time index sub index 0x02 is dimensionless 3 6 7 Interpolation data configuration Name Interpolation data configuration Index 0x60C4 number of entries 0x06 Name Maximum buffer size Index 0x60C4 Subindex 0x01 Type UNSIGNED32 Access RO Default Value Value range 64 64 PDO Mapping No Description This object provides the maximal buffer size and is given in interpolat...

Page 16: ...ion Value Description 0 FIFO buffer 1 Ring buffer not supported 2 to 255 reserved Table 15 Buffer Organisation Definition Name Buffer position Index 0x60C4 Subindex 0x04 Type UNSIGNED16 Access RW Default Value 0 Value range 0 64 PDO Mapping No Description This object provides the used buffer space and is given in interpolation data records Writing to this object has no effect Name Size of data rec...

Page 17: ...efault Value 0 Value range 0 1 PDO Mapping No Description If 0 is written to this object the data buffer is cleared and the access to it is denied If 1 is written the access to the data buffer is enabled Related Objects Interpolation status Value Description 0 clear input buffer and all data records Access disabled 1 Enable access to the input buffer for the drive functions 2 to 255 reserved Table...

Page 18: ...0x6040 00 0x6040 00 0x0006 0x000F Buffer clear 0x60C4 06 0x01 Interpolation data record 0x20C1 00 Reference points PVT minimum 2 points Controlword enable ip mode 0x6040 00 0x001F if Interpolation buffer status do Interpolation data record until Interpolation buffer status 0x20C4 01 0x20C1 00 0x20C4 01 Bit 0 1 Underflow Warning Reference point PVT Bit 1 1 Overflow Warning Interpolation data record...

Page 19: ...otor control 19 Use CANopen Wizard in Epos Studio for configuration the PDO mapping Step 1 Select Restore Default COB IDs in Step 4 of CANopen Wizard Step 2 Set PDO is valid and transmission type to Asynchronous in Receive PDO1 Parameter Step 3 Delete all mapped Object in Change Mapping window Step 4 Add Interpolation Data Record to Receive PDO1 ...

Page 20: ...l have the same time In order to start several axes synchronously map the controlword to a synchronous RPDO and then use the mapped controlword to enable interpolation for all axes Nothing will happen until the next SYNC Then all drives will enable interpolated motion at once setting the SYNC arrival time as the zero time of the path specification If the axes have been synchronized by the SYNC Tim...

Page 21: ...ntroller internal hardware counter is used as timing reference This hardware counter will be incremented by the bit time 3 8 Interruption of interpolation mode in case of an error If a currently running interpolation index 0x20C4 subindex 0x03 interpolation status bit 15 ip mode active set will be interrupted by the occurance of an error the EPOS2 reacts as specified for the certain error i e disa...

Reviews: