<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cpr-robots.com/index.php?action=history&amp;feed=atom&amp;title=Frames_of_reference</id>
	<title>Frames of reference - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cpr-robots.com/index.php?action=history&amp;feed=atom&amp;title=Frames_of_reference"/>
	<link rel="alternate" type="text/html" href="https://wiki.cpr-robots.com/index.php?title=Frames_of_reference&amp;action=history"/>
	<updated>2026-05-18T09:12:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.cpr-robots.com/index.php?title=Frames_of_reference&amp;diff=130&amp;oldid=prev</id>
		<title>OLT: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://wiki.cpr-robots.com/index.php?title=Frames_of_reference&amp;diff=130&amp;oldid=prev"/>
		<updated>2025-08-11T10:13:21Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:13, 11 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>OLT</name></author>
	</entry>
	<entry>
		<id>https://wiki.cpr-robots.com/index.php?title=Frames_of_reference&amp;diff=129&amp;oldid=prev</id>
		<title>cpr&gt;Mab: Created page with &quot;Frames of reference (short: frames) define the cartesian zero position and coordinate orientation. User-defined frames (user frames) can be used to apply a motion program at d...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cpr-robots.com/index.php?title=Frames_of_reference&amp;diff=129&amp;oldid=prev"/>
		<updated>2023-12-19T14:47:14Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Frames of reference (short: frames) define the cartesian zero position and coordinate orientation. User-defined frames (user frames) can be used to apply a motion program at d...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Frames of reference (short: frames) define the cartesian zero position and coordinate orientation. User-defined frames (user frames) can be used to apply a motion program at different positions without changing the any coordinates in the program, e.g. to use one palletizing program on multiple pallets. This feature is available since version 14.&lt;br /&gt;
&lt;br /&gt;
When the robot is moved in cartesian mode all coordinates describing the motion are with respect to a specific frame of reference. iRC/CPRog allows to change the frame of reference that is used. Two predefined frames of reference (&amp;quot;#base&amp;quot; and &amp;quot;#tool&amp;quot; ) are provided and additional user frames can be chosen. All frames of reference used in iRC are orthonormal.&lt;br /&gt;
&lt;br /&gt;
= Predefined frames of reference =&lt;br /&gt;
The predefined frames of reference are always available. They are marked by a # character as first letter of their names. They can neither be changed nor deleted.&lt;br /&gt;
&lt;br /&gt;
== Base frame ==&lt;br /&gt;
The base frame of reference is named &amp;quot;#base&amp;quot;. It is the &amp;quot;natural&amp;quot; reference frame of the robot. Its exact position depends on the type of robot, typically its origin is at the base of the robot.&lt;br /&gt;
== Tool frame ==&lt;br /&gt;
The tool frame (&amp;quot;#tool&amp;quot;) has its origin at the TCP of the robot. Therefore this frame of reference will always be moving with the tool of the robot.&lt;br /&gt;
&lt;br /&gt;
= User-defined frames of reference =&lt;br /&gt;
[[File:UserFrameWizard.png|thumb|This dialog guides you through defining a user frame. Move the robot to three positions and click &amp;quot;Set current&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
User-defined frames of reference provide a way to move the robot relative to a frame of reference that has been provided by the user. A userframe is uniquely defined by providing three points in space (A, B and C):&lt;br /&gt;
&lt;br /&gt;
* Point A designates the origin of the reference frame.&lt;br /&gt;
* Point B always lies in positive x direction from the origin and thereby defines the direction of the x axis which always points from A towards B.&lt;br /&gt;
* Point C always lies in positive y direction of the origin. The y axis always lies inside of the plane spanned by the x axis and point C and is perpendicular to the x axis. The direction of the y axis is uniquely defined by those properties.&lt;br /&gt;
* The direction of the z axis is defined as the (unique) direction which is perpendicular to both, the y and x axes such that a right-handed coordinate system is created.&lt;br /&gt;
&lt;br /&gt;
The first step in the creation of a new userframe consists of starting the userframe-wizard (see the screenshot above) via the project configuration section. When the wizard has been startet follow these steps:&lt;br /&gt;
&lt;br /&gt;
* Move the robot into a pose, such that the TCP is located where point A is to be defined and then click on &amp;quot;use current&amp;quot;. The chosen coordinates will now be displayed next to &amp;quot;Point A (origin)&amp;quot;.&lt;br /&gt;
* Move the robot into a pose, such that the TCP is located where point B is to be defined and then click on &amp;quot;use current&amp;quot;. The chosen coordinates will now be displayed next to &amp;quot;Point B (pos. x from origin)&amp;quot;.&lt;br /&gt;
* Move the robot into a pose, such that the TCP is located where point C is to be defined and then click on &amp;quot;use current&amp;quot;. The chosen coordinates will now be displayed next to &amp;quot;Point C (pos. y from origin)&amp;quot;.&lt;br /&gt;
* Enter the name of the new userframe into the textbox under &amp;quot;Name&amp;quot; and then click on &amp;quot;Define&amp;quot; in order to complete the creation of the new userframe.&lt;br /&gt;
&lt;br /&gt;
Please note that in iRC/CPRog any frame of reference is orthonormal. It is usually not possible to define the points A, B and C such that they exactly define an orthogonal coordinate system. Because of this any newly defined userframe will be orthonormalized in a way that produces a frame of reference that is as fitting as possible to the given points A,B,C while being orthonormal.&lt;br /&gt;
&lt;br /&gt;
= Changing frames =&lt;br /&gt;
[[File:UserFrameActiveFrame.png|thumb|The drop-down menu for frame selection is shown when at least one user frame is defined.]]&lt;br /&gt;
[[File:UserFrameOrigin.png|thumb|The currently active frame of reference is shown as a colored coordinate cross.]]&lt;br /&gt;
The currently active frame of reference is shown in the toolbar of iRC/CPRog and can be changed via the dropdown-menu there. Please note that viewing and selecting frames is only available if at least one userframe hast been defined before.&lt;br /&gt;
&lt;br /&gt;
To jog the robot with respect to a userframe one hast to put iRC/CPRog in cartesian mode first. In cartesian mode iRC/CPRog will show the position and orientation of the currently selected frame of reference by drawing a colored coordinate cross.&lt;br /&gt;
&lt;br /&gt;
In cartesian mode the jog buttons under the 3D view are showing the currently active frame of reference and the shown position is with respect to that frame.&lt;br /&gt;
&lt;br /&gt;
[[Category:CPRog]]&lt;/div&gt;</summary>
		<author><name>cpr&gt;Mab</name></author>
	</entry>
</feed>