{"id":4490,"date":"2020-10-28T13:51:07","date_gmt":"2020-10-28T17:51:07","guid":{"rendered":"https:\/\/aerotechinc.wpengine.com\/?p=4490"},"modified":"2023-04-05T10:34:15","modified_gmt":"2023-04-05T14:34:15","slug":"using-the-automation1-transformation-function-for-five-axis-systems","status":"publish","type":"post","link":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/","title":{"rendered":"Using the Automation1 Transformation Function for Five Axis Systems"},"content":{"rendered":"<p>The transformation functions in Automation1 implement rotation, mirror, and translation matrix operations. The functions can be used to transform coordinates on mechanical actuators that include rotary motion. Multiple rotation matrices can be configured using the TransformationConfigure() function for systems that have more than one rotary axis. A five\u2010axis system consisting of two rotary axes and three linear axes is an example of such a system (Figure 1). This application note will discuss the process of setting\u2010up the Transformation function for this type of application.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"468\" height=\"512\" src=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg\" alt=\"\" class=\"wp-image-28860\" srcset=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg 468w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1-274x300.jpg 274w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1-206x225.jpg 206w\" sizes=\"(max-width: 468px) 100vw, 468px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Figure 1.<\/strong> An example five-axis assembly.<\/em><\/figcaption><\/figure><h2 class=\"wp-block-heading\">Theory of Operation<\/h2><p>Five\u2010axis systems are capable of accessing any point on a hemisphere with a tool normal to the surface at the given point. Most 3D CAD tools can output tool paths that include the location on the surface in x\/y\/z coordinates along with the normal to the surface expressed as two angles (B and C in Figure 2).<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"458\" height=\"399\" src=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/04\/Figure_1_Revised.png\" alt=\"\" class=\"wp-image-29205\" srcset=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/04\/Figure_1_Revised.png 458w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/04\/Figure_1_Revised-300x261.png 300w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/04\/Figure_1_Revised-225x196.png 225w\" sizes=\"(max-width: 458px) 100vw, 458px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Figure 2.&nbsp;<\/strong>Five-axis systems can access any point on a hemisphere with a tool normal to the surface expressed as two angular positions.<\/em><\/figcaption><\/figure><p>Aerotech\u2019s transformation functions can take the part x\/y\/z positions and rotation angles and transform this information in real-time into position commands for the servo axes. Since the part positions are different from the servo system positions, two sets of axes must be used \u2013 one to define the part positions and the other to define the servo axes\u2019 positions. The part\u2010axis system consists of three virtual axes and for this example we have named these axes x\/y\/z. The physical axes will be mapped to linear servo axes X\/Y\/Z and rotary axes B\/C.<\/p><h2 class=\"wp-block-heading\">Right\u2010Hand Rule<\/h2><p>The orientation of the axes is defined by the right\u2010hand rule, where the first axis of the three points along the index finger, the second axis points along the middle finger and the third axis points along the thumb (Figure 3A).<\/p><figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics2-1.jpg\" alt=\"\" class=\"wp-image-4493\" width=\"225\" height=\"244\" srcset=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics2-1.jpg 900w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics2-1-277x300.jpg 277w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics2-1-768x832.jpg 768w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics2-1-600x650.jpg 600w\" sizes=\"(max-width: 225px) 100vw, 225px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Figure 3A. <\/strong>Right-hand rule coordinate system.<\/em><\/figcaption><\/figure><p>The rotation for this system occurs about Axis 3. The positive direction of rotation of the axis is also defined by the right hand rule where the thumb of the right hand points along the positive direction of Axis 3 and the curled fingers of the right hand indicate the positive angle of rotation (Figure 3B).<\/p><figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics3-1.jpg\" alt=\"\" class=\"wp-image-4494\" width=\"210\" height=\"212\" srcset=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics3-1.jpg 838w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics3-1-297x300.jpg 297w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics3-1-150x150.jpg 150w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics3-1-768x775.jpg 768w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics3-1-600x606.jpg 600w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics3-1-100x100.jpg 100w\" sizes=\"(max-width: 210px) 100vw, 210px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Figure 3B.<\/strong> Right-hand rule direction of positive rotation.<\/em><\/figcaption><\/figure><p>These relationships must be observed when defining the positive move directions for both the virtual and physical axes. The mapping from input to output axes starts with the virtual coordinate system and works back to the physical. At each step of the process the positive move directions of the mapped axes must be consistent with each other AND the right\u2010hand rule.<\/p><p>The orientation shown in Figure 4 is one of four that are possible. The other three are attained by rotating the x\/y plane at intervals of 90 degrees around the z axis. The names of the axes in either system can be changed to meet application requirements.<em><strong>&nbsp;<\/strong><\/em><\/p><p><em>VERY IMPORTANT: The definition of positive motion of the axes is fixed based on the directions that the arrows are pointing in the illustration. Once the coordinate frames have been set\u2010up the positive move directions of the axes or part program must be changed to be consistent with the directions indicated by the coordinate frames.<\/em><\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"658\" height=\"583\" src=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure4-1.png\" alt=\"\" class=\"wp-image-28880\" srcset=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure4-1.png 658w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure4-1-300x266.png 300w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure4-1-600x532.png 600w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure4-1-225x199.png 225w\" sizes=\"(max-width: 658px) 100vw, 658px\" \/><figcaption class=\"wp-element-caption\"><em><em><strong>Figure 4<\/strong>. An example of a five-axis system showing axis orientations.<\/em><\/em><\/figcaption><\/figure><p>Per the mapping we have defined in Figure 4, with no rotations active, motion in the +x direction would result in motion in the +X, motion in +y will result in +Y and +z will result in +Z.<\/p><h2 class=\"wp-block-heading\">Setting\u2010Up the TransformationConfigure() Function<\/h2><p>A maximum of 32 matrix transformations can execute at the same time. In this case, the TransformationConfigure() function will configure the transformations and transform data from one three\u2010axis Cartesian system (InputAxes) into another three\u2010axis system (OutputAxes). Up to 512 matrices can exist simultaneously in each TransformationConfigure() function. This example will only require one TransformationConfigure() function to be configured for multiple matrices.<\/p><p>For the system shown in Figure 4, the first rotary axis is the B-axis and it rotates in the z\/x plane about the y-axis of our input plane. Positive rotation motion will be counter\u2010clockwise per the right hand rule. The next rotary axis is the C-axis which rotates the x\/y plane about the z-axis. Positive rotation motion will also be counter\u2010clockwise. The rotation matrices are specified as follows:<\/p><p>Ma<em>trixCreateRotateJ(B) <\/em>&#8211; Creates a rotation matrix that rotates about the second input axis &#8211; y; the angle is determined by the rotary axis &#8211; B<\/p><p><em>MatrixCreateRotateK(C) <\/em>&#8211; Creates a rotation matrix that rotates about the third input axis &#8211; z; the angle is determined by the rotary axis &#8211; C<\/p><p>So the TransformationConfigure() function for rotation matrices is shown below:<\/p><p>TransformationConfigure(0, [MatrixCreateRotateJ(B), MatrixCreateRotateK(C)], [x, y, z], [X, Y, Z])<\/p><p>[x, y, z] are the input axes, defined by the three virtual axes of the part positions. [X, Y, Z] are the output axes, defined by the three physical axes of the linear servo-system positions.<\/p><h2 class=\"wp-block-heading\">Setting\u2010Up Offsets<\/h2><p>In most applications the center of rotation of the rotary axes are offset from each other. Additionally, the origin of the part coordinate system might not be located directly on the center of the axis of rotation as shown in Figure 5. The MatrixCreateTranslate() matrix is used to define the offsets between the axis of rotations and the part coordinate systems. The displacement command has offset values for all three axes. The offset is calculated based on the distance from the reference point to the rotation point. The sign of the displacement is based on the direction of movement from the reference point to the rotation point.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"634\" height=\"529\" src=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure5.png\" alt=\"\" class=\"wp-image-28874\" srcset=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure5.png 634w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure5-300x250.png 300w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure5-600x501.png 600w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure5-225x188.png 225w\" sizes=\"(max-width: 634px) 100vw, 634px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Figure 5<\/strong>. Setting-up offsets.<\/em><\/figcaption><\/figure><p>Using our example system, assume that the B and C axes of rotation intersect, the part origin is offset 15 mm above the tabletop of the C-axis and offset by 10 mm in the x direction, and the B-axis center of rotation is parallel to and in\u2010line with the y-axis and located 12 mm above the y-axis. Based on this configuration the offsets for the rotation commands would be as shown in Figure 5.<\/p><p>To calculate the offsets for the B-axis rotation about y-axis, the coordinate frame for the B-axis must be placed on its axis of rotation. The origin of this coordinate frame can be anywhere along the axis of rotation as the angular position along the B-axis does not change as a function of where the origin of rotation is located. For example, if a round pipe is rotated about its center, the angular position of any point on the pipe does not change based on the point along the pipe where the rotation is applied (Figure 6).<\/p><figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics6-1.jpg\" alt=\"\" class=\"wp-image-4497\" width=\"277\" height=\"238\" srcset=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics6-1.jpg 1108w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics6-1-300x257.jpg 300w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics6-1-1024x878.jpg 1024w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics6-1-768x658.jpg 768w, https:\/\/www.aerotech.com\/wp-content\/uploads\/2020\/10\/kinematics6-1-600x514.jpg 600w\" sizes=\"(max-width: 277px) 100vw, 277px\" \/><figcaption class=\"wp-element-caption\"><em>Fi<strong>gure 6.<\/strong><\/em> Example showing B axis offset is independent of position along axis of rotation.<\/figcaption><\/figure><p>We can therefore place the origin of the point of rotation of the B-axis directly above the point of rotation of the C-axis which gives an offset of \u201c0\u201d in the x and y directions. The z offset is +12 as we move in the +z direction from the location of our starting point on the surface of the C-axis up to the B-axis of rotation. The offsets are placed in the order that the axes are defined in the MatrixCreateTranslate() matrix. The MatrixCreateTranslate() for the first rotation for B-axis:<\/p><p>MatrixCreateTranslate(0, 0, 12)<\/p><p>The offsets for the C-axis rotation are calculated in a similar fashion. From the illustration, the distance from the Part Origin to the center of rotation of the C-axis along the x-axis direction is +10. Along the z-axis direction the distance from the Part Origin to the center of rotation is -15. The Part Origin is in line with the y-axis so the offset in this direction is 0.<\/p><p>To set up the offset for the rotation for C-axis:<\/p><p>MatrixCreateTranslate(10, 0, -15)<\/p><p>After applying the offsets matrices to the same TransformationConfigure() function, the final TransformationConfigure() function is shown:<\/p><p>TransformationConfigure(0, [MatrixCreateRotateJ(B), MatrixCreateTranslate(0, 0, 12), MatrixCreateRotateK(C), MatrixCreateTranslate(10, 0, -15)], [x, y, z], [X, Y, Z])<\/p><p>Note that the MatrixCreateTranslate() matrices are placed in a specific order such that the offset is applied to its corresponding rotation matrix. In this example, MatrixCreateTranslate(0, 0, 12) is placed right after MatrixCreateRotateJ(B) because it is the offset calculated for the B-axis rotation.<\/p><p>After the transformation function is configured, the transformations are enabled\/disabled with the following commands:<\/p><p>TransformationEnable()<br>TransformationDisable()<\/p><h2 class=\"wp-block-heading\">Issues with Constant Velocity\/Surface Speed<\/h2><p>When contouring is active in Automation1 with VelocityBlendingOn() function, the control will ramp\u2010up the vector velocity based on the task acceleration parameters until it reaches the programmed vector velocity given by the \u201cF\u201d code. This velocity will be maintained throughout the program until a condition that forces a deceleration is encountered. Maintaining constant velocity on the part has significant implications for the motion of the servo axes as they may be required to change speed or direction instantaneously.<\/p><p>The \u201cstandard\u201d look\u2010ahead which monitors acceleration in an arc or detects a non\u2010tangent move between two program lines will not directly address this problem as the accelerations are produced indirectly by the Transformation function. There are two additional approaches that can be used to limit the acceleration of the physical axes.<\/p><p>The first method is to use a filter on the velocity command stream of the servo axes. The filter will have an effect similar to ramping, but it will also add a delay to the profile which will cause the path to deviate from the programmed path. The TrajectoryFIRFilter sets the length of an FIR (Finite Impulse Response) filter applied to the velocity command stream. Each \u201ctap\u201d in the filter equates to a 0.125 millisecond time interval. To add 50 milliseconds of filtering, the parameter would be set to 50\/0.125 = 400.<\/p><p>The second method for reducing acceleration is to set the dependent axis acceleration limit. The B and C axes are considered dependent axes as their velocity command is derived from the virtual x\/y\/z axes. Short move-time for the x\/y\/z axes coupled with longer moves on the B\/C axes can result in very high speed for the B\/C axes. The SetupDependentCoordinatedAccelLimit() function can be used to limit the acceleration and resulting speed of the dependent axes.<\/p><h2 class=\"wp-block-heading\">Example Program<\/h2><p>Following is a simple example that shows all of the commands in sequence and includes setup for acceleration limiting on the dependent axes.<\/p><figure class=\"wp-block-table has-small-font-size\"><table><tbody><tr><td>program<br><br>TransformationDisable(0) \/\/Reset and disable the Transformation function<br>Enable ([X, Y, Z, x, y, z, B, C])<br>Home ([X, Y, Z, x, y, z, B, C])<br>VelocityBlendingOn()                                                   \/\/Enables velocity profiling mode<br>SetupDependentCoordinatedRampRate(500)            \/\/Setup the coordinated accel and decel rate<br>SetupDependentCoordinatedAccelLimit(4000)         \/\/Setup the acceleration limit on the dependent axes<br>SetupTaskTimeUnits(TimeUnits.Seconds)                 \/\/Set the feedrate to distance units per second<br>F100 \/\/Specify the feedrate of the dependent axes for coordinated motion<br>G90 \/\/Configure Absolute Positioning Target Mode<br><br>\/*Start configuring the Transformation Matrices<br>[x, y, z] are the input axes; [X, Y, Z] are the output axes.<br>MatrixCreateRotateJ rotates an angle about the second input axis &#8211; y; the angle is determined by the rotary axis &#8211; B<br>MatrixCreateRotateK rotates an angle about the third input axis &#8211; z; the angle is determined by the rotary axis &#8211; C<br>MatrixCreateTranslate defines the offsets values for the input axes<br>*\/<br>TransformationConfigure(0, [MatrixCreateRotateJ(B), MatrixCreateTranslate(0, 0, 12), MatrixCreateRotateK(C), MatrixCreateTranslate(10, 0, -15)], [x, y, z], [X, Y, Z])<br><br>\/\/Move physical X\/Y\/Z to the starting location<br>G0 X5 Y60 Z23<br>\/\/Move rotary axes to starting location<br>G0 B0 C0<br>\/\/Move virtual axes to starting location<br>G0 x9 y0<br><br>AppDataCollectionSnapshot()<br><br>\/\/Start rotational transformation<br>TransformationEnable(0)<br>G1 x10 y2 z1 B3 C2<br>G1 x12 y3 z1.4 B3.7 C2.5<br>G1 x9 y2 z1.8 B3.8 C1.5<br>G1 x8 y2 z2.2 B0 C0<br>TransformationDisable(0)<br>AppDataCollectionStop()<br>VelocityBlendingOff()<br><br>end<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\">Reference Material<\/h2><ul class=\"wp-block-list\"><li><a href=\"http:\/\/help.aerotech.com\/automation1\/Content\/Concepts\/Transformation-Functions.htm?Highlight=transformation\">Transformation Functions (aerotech.com)<\/a><\/li>\n\n<li><a href=\"http:\/\/help.aerotech.com\/automation1\/Content\/Parameters\/DefaultDependentCoordinatedAccelLimit.htm?Highlight=DependentCoordinatedAccelLimit\">DefaultDependentCoordinatedAccelLimit Parameter (aerotech.com)<\/a><\/li>\n\n<li><a href=\"http:\/\/help.aerotech.com\/automation1\/Content\/Parameters\/TrajectoryFirFilter.htm?Highlight=TrajectoryFIRFilter.\">TrajectoryFirFilter Parameter (aerotech.com)<\/a><\/li>\n\n<li><a href=\"http:\/\/help.aerotech.com\/automation1\/Content\/Parameters\/AxisType.htm?Highlight=axis%20type\">AxisType Parameter (aerotech.com)<\/a><\/li>\n\n<li><a href=\"http:\/\/help.aerotech.com\/automation1\/Content\/Lookahead-Synchronization.htm?Highlight=lookahead\">Lookahead Synchronization (aerotech.com)<\/a><\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>The transformation functions in Automation1 implement rotation, mirror, and translation&hellip;<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","_searchwp_excluded":"","footnotes":""},"categories":[956,963,954,933,950,955,946,936,935,945,938,939,942,944,940],"tags":[],"content_type":[969],"industry":[974,976,977,978,979,980,982],"topic":[992,993,985,994,986,987,991],"class_list":["post-4490","post","type-post","status-publish","format-standard","hentry","category-3d-metrology-systems","category-capability-overview","category-custom-engineered-motion-systems","category-data-storage","category-hexapods","category-integrated-automation-systems","category-laser-scan-heads","category-laser-systems","category-medical","category-motion-control-platforms","category-optics-photonics","category-precision-manufacturing","category-science-research","category-stages-actuators","category-test-inspection","content_type-capability-overview","industry-data-storage","industry-laser-systems","industry-medical-device-manufacturing","industry-optics-photonics","industry-precision-manufacturing","industry-science-research-institutions","industry-test-inspection","topic-3d-metrology-systems","topic-custom-engineered-motion","topic-hexapods","topic-integrated-automation-systems","topic-laser-scan-heads","topic-motion-control-platforms","topic-stages-actuators"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Automation1 Transformation Function | Aerotech<\/title>\n<meta name=\"description\" content=\"The Automation1&#039;s transformation functions implement rotation, mirror and more for five axis systems! Learn how to set up the function here!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automation1 Transformation Function | Aerotech\" \/>\n<meta property=\"og:description\" content=\"The Automation1&#039;s transformation functions implement rotation, mirror and more for five axis systems! Learn how to set up the function here!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/\" \/>\n<meta property=\"og:site_name\" content=\"Aerotech US\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-28T17:51:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-05T14:34:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg\" \/>\n<meta name=\"author\" content=\"dwebster\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"dwebster\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/\"},\"author\":{\"name\":\"dwebster\",\"@id\":\"https:\/\/www.aerotech.com\/#\/schema\/person\/1c49828c1ca04a5ebdd6101b094ed6b2\"},\"headline\":\"Using the Automation1 Transformation Function for Five Axis Systems\",\"datePublished\":\"2020-10-28T17:51:07+00:00\",\"dateModified\":\"2023-04-05T14:34:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/\"},\"wordCount\":1968,\"publisher\":{\"@id\":\"https:\/\/www.aerotech.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg\",\"articleSection\":[\"3D Metrology Systems\",\"Capability Overview\",\"Custom Engineered Motion Systems\",\"Data Storage\",\"Hexapods\",\"Integrated Automation Systems\",\"Laser Scan Heads\",\"Laser Systems\",\"Medical Device Manufacturing\",\"Motion Control Platforms\",\"Optics &amp; Photonics\",\"Precision Manufacturing\",\"Science &amp; Research Institutions\",\"Stages &amp; Actuators\",\"Test &amp; Inspection\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/\",\"url\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/\",\"name\":\"Automation1 Transformation Function | Aerotech\",\"isPartOf\":{\"@id\":\"https:\/\/www.aerotech.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg\",\"datePublished\":\"2020-10-28T17:51:07+00:00\",\"dateModified\":\"2023-04-05T14:34:15+00:00\",\"description\":\"The Automation1's transformation functions implement rotation, mirror and more for five axis systems! Learn how to set up the function here!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#primaryimage\",\"url\":\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg\",\"contentUrl\":\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg\",\"width\":468,\"height\":512},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.aerotech.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using the Automation1 Transformation Function for Five Axis Systems\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.aerotech.com\/#website\",\"url\":\"https:\/\/www.aerotech.com\/\",\"name\":\"Aerotech US\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.aerotech.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.aerotech.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.aerotech.com\/#organization\",\"name\":\"Aerotch Inc\",\"url\":\"https:\/\/www.aerotech.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.aerotech.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2021\/03\/aerotech-logo-new.png\",\"contentUrl\":\"https:\/\/www.aerotech.com\/wp-content\/uploads\/2021\/03\/aerotech-logo-new.png\",\"width\":406,\"height\":120,\"caption\":\"Aerotch Inc\"},\"image\":{\"@id\":\"https:\/\/www.aerotech.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.aerotech.com\/#\/schema\/person\/1c49828c1ca04a5ebdd6101b094ed6b2\",\"name\":\"dwebster\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automation1 Transformation Function | Aerotech","description":"The Automation1's transformation functions implement rotation, mirror and more for five axis systems! Learn how to set up the function here!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/","og_locale":"en_US","og_type":"article","og_title":"Automation1 Transformation Function | Aerotech","og_description":"The Automation1's transformation functions implement rotation, mirror and more for five axis systems! Learn how to set up the function here!","og_url":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/","og_site_name":"Aerotech US","article_published_time":"2020-10-28T17:51:07+00:00","article_modified_time":"2023-04-05T14:34:15+00:00","og_image":[{"url":"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg","type":"","width":"","height":""}],"author":"dwebster","twitter_card":"summary_large_image","twitter_misc":{"Written by":"dwebster","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#article","isPartOf":{"@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/"},"author":{"name":"dwebster","@id":"https:\/\/www.aerotech.com\/#\/schema\/person\/1c49828c1ca04a5ebdd6101b094ed6b2"},"headline":"Using the Automation1 Transformation Function for Five Axis Systems","datePublished":"2020-10-28T17:51:07+00:00","dateModified":"2023-04-05T14:34:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/"},"wordCount":1968,"publisher":{"@id":"https:\/\/www.aerotech.com\/#organization"},"image":{"@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#primaryimage"},"thumbnailUrl":"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg","articleSection":["3D Metrology Systems","Capability Overview","Custom Engineered Motion Systems","Data Storage","Hexapods","Integrated Automation Systems","Laser Scan Heads","Laser Systems","Medical Device Manufacturing","Motion Control Platforms","Optics &amp; Photonics","Precision Manufacturing","Science &amp; Research Institutions","Stages &amp; Actuators","Test &amp; Inspection"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/","url":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/","name":"Automation1 Transformation Function | Aerotech","isPartOf":{"@id":"https:\/\/www.aerotech.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#primaryimage"},"image":{"@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#primaryimage"},"thumbnailUrl":"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg","datePublished":"2020-10-28T17:51:07+00:00","dateModified":"2023-04-05T14:34:15+00:00","description":"The Automation1's transformation functions implement rotation, mirror and more for five axis systems! Learn how to set up the function here!","breadcrumb":{"@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#primaryimage","url":"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg","contentUrl":"https:\/\/www.aerotech.com\/wp-content\/uploads\/2022\/03\/Automation1Transformation-Figure1.jpg","width":468,"height":512},{"@type":"BreadcrumbList","@id":"https:\/\/www.aerotech.com\/using-the-automation1-transformation-function-for-five-axis-systems\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.aerotech.com\/"},{"@type":"ListItem","position":2,"name":"Using the Automation1 Transformation Function for Five Axis Systems"}]},{"@type":"WebSite","@id":"https:\/\/www.aerotech.com\/#website","url":"https:\/\/www.aerotech.com\/","name":"Aerotech US","description":"","publisher":{"@id":"https:\/\/www.aerotech.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.aerotech.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.aerotech.com\/#organization","name":"Aerotch Inc","url":"https:\/\/www.aerotech.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.aerotech.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.aerotech.com\/wp-content\/uploads\/2021\/03\/aerotech-logo-new.png","contentUrl":"https:\/\/www.aerotech.com\/wp-content\/uploads\/2021\/03\/aerotech-logo-new.png","width":406,"height":120,"caption":"Aerotch Inc"},"image":{"@id":"https:\/\/www.aerotech.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.aerotech.com\/#\/schema\/person\/1c49828c1ca04a5ebdd6101b094ed6b2","name":"dwebster"}]}},"_links":{"self":[{"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/posts\/4490"}],"collection":[{"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/comments?post=4490"}],"version-history":[{"count":0,"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/posts\/4490\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/media?parent=4490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/categories?post=4490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/tags?post=4490"},{"taxonomy":"content_type","embeddable":true,"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/content_type?post=4490"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/industry?post=4490"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.aerotech.com\/wp-json\/wp\/v2\/topic?post=4490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}