{"id":85900,"date":"2023-02-20T17:40:47","date_gmt":"2023-02-20T09:40:47","guid":{"rendered":"https:\/\/www.tm-robot.com\/?post_type=docs&p=85900"},"modified":"2023-10-24T13:45:19","modified_gmt":"2023-10-24T05:45:19","slug":"what-are-base-and-tcp%ef%bc%9fhow-to-use-them","status":"publish","type":"docs","link":"https:\/\/www.tm-robot.com.cn\/ko\/docs\/what-are-base-and-tcp%ef%bc%9fhow-to-use-them\/","title":{"rendered":"What Are Base and TCP\uff1fHow to Use Them?"},"content":{"rendered":"
Examples are valid for<\/strong><\/p>\n TMflow Software version: 1.76 or above<\/p>\n TM Robot Hardware version: All versions<\/p>\n Other specific requirements: No.<\/p>\n Note that older or newer software versions may have different results.<\/p>\n <\/p>\n Most common questions are:<\/p>\n By reading this article, those questions should be answered.<\/p>\n <\/p>\n <\/p>\n To begin with, we need to know the basic approach to control the movement:<\/p>\n Move <\/span>something<\/span> to <\/span>somewhere<\/span>.<\/p>\n <\/p>\n For example:<\/p>\n Move <\/span>[index finger<\/span>] to<\/span> [ENTER on the keyboard<\/span>].<\/p>\n Translate it to robot command and it will be:<\/p>\n Move<\/span> [TCP<\/span>] to<\/span> [ position<\/span> referenced to CustomBase1<\/span>]<\/p>\n <\/p>\n Now we know the basic elements to complete a movement are:<\/p>\n Position<\/span><\/p>\n TCP<\/span><\/p>\n BASE<\/span>(CustomBase, coordinate, origin)<\/p>\n <\/p>\n This is the notation of a coordinate. You can use the right-hand rule<\/span> to know the relationship between X, Y and Z axes.<\/p>\n Where X axis is in RED<\/span>, Y axis is GREEN<\/span> and BLUE<\/span> for Z axis.<\/p>\n Position<\/span> describes how far and the orientation relativate to BASE<\/span>.<\/p>\n It consists of [X, Y, Z, Rx, Ry, Rz]<\/p>\n <\/p>\n [X, Y, Z<\/span>] are the distance to BASE.X<\/span> axis, BASE.Y<\/span> axis and BASE.Z<\/span> axis respectively.<\/p>\n The unit of [X, Y, Z] is length, normally is in mm<\/span>, [100.5, -70, 33.1] for example.<\/p>\n <\/p>\n There is an example of a position with same orientation<\/span> to BASE(CustomBase1), [Rx, Ry, Rz] are [0,0,0] is this case:<\/span><\/span> The translation of X,Y,Z<\/span> is easy to understand. But how about the orientation Rx,Ry,Rz<\/span>\u00a0?<\/p>\n Just like X,Y,Z<\/span> represents translation<\/span> in 3-dimension world, Rx,Ry,Rz<\/span> are for the orientation<\/span> that\u00a0X,Y,Z axis <\/span>after R<\/span>otated.<\/p>\n <\/p>\n There are lots of notations that could represnet orientation, TM robot uses EulerZYX<\/span> <\/strong>noation for orientation, we will introduce EulerZYX<\/strong> <\/span>at the end of this section.<\/p>\n The unit of Rx\/Ry\/Rz i<\/span><\/span>s \u02da, range [-180.0~+180.0]. For example, [-45.9, 179.0, 30]<\/p>\n <\/p>\n The direction of each axis could be found with right-hand rule<\/span> too.<\/p>\n If the thumb<\/span> represents the axis<\/span>, then the four fingers<\/span> are the direction of positive<\/span>, or anti-clock-wise<\/span> direction if you look from the top of thumb.\u00a0 <\/p>\n Continue with previous example, now we add Rz = +90\u02da<\/span> There is the animation of rotating in Z axis of +90\u02da<\/span><\/p>\n <\/p>\n Unlike X,Y,Z<\/span> are independent to each other(and easier to understand), the relationship of Rx,Ry,Rz<\/span> are much more complicated\u00a0so we’re going to introduce EulerZYX<\/strong>.<\/span><\/span><\/p>\n <\/p>\n EulerZYX Notation with Rx,Ry,Rz<\/strong><\/span> Step2. Then r<\/span>otate Y axis<\/span> in Ry<\/span>\u02da<\/span><\/p>\n Step3. Then ro<\/span>tate X axis<\/span> in Rx<\/span>\u02da<\/span><\/p>\n Since it is in the order of Z axis<\/span> rotation -> Y axis<\/span> rotation -> X axis<\/span> rotation, it’s named EulerZY<\/span>X<\/span><\/span>.<\/p>\n <\/p>\n Here is the demonstation<\/span> of the result after a coordinate roated with [Rx, Ry, Rz] = [30, -45, 90], easier to understand.<\/p>\n Note that anti-clock-wise<\/span> is for positive<\/span> direction.<\/p>\n <\/p>\n Note<\/p>\n (1) There are 12 combinations of Euler Angle<\/span> representative, for example EulerXYX, Euler ZXZ…, EulerZYX<\/strong> <\/span>is one of them and it’s most common in industrial robot system.<\/p>\n (2) EulerZYX<\/span> <\/strong>mean rotate Z axis<\/span> first, then Y axis<\/span> and X axis<\/span> respectively.<\/p><\/blockquote>\n <\/p>\n TCP, as known as T<\/span>ool C<\/span>enter P<\/span>oint, is the position<\/span> value related to the robot flange<\/span>.<\/p>\n Only ONE TCP works at the same time (currect TCP). It is NOTOOL(Tool0)<\/span> by default.<\/span><\/span><\/p>\n This is an example of a TCP on a welding torch:<\/p>\n Remember the first example : Move the finger<\/span> to the ENTER on the keyboard? We will use the word tip(finger)<\/em>\u00a0<\/span>to imply TCP in following section for better understanding.<\/p>\n <\/p>\n TCP means the correct tip that you’re using right now. To explain, let’s start with a scenario.<\/p>\n Move the robot to position-p1<\/span>, related to BASE RobotBase. One with default TCP(NOTOOL<\/span>), another one with a welding torch TCP(MyTCP1<\/span>)<\/span><\/span><\/p>\n Both of them are physically same position<\/span> in real world, but with different tips<\/span>:<\/p>\n Here comes the advantages of using correct TCP.<\/p>\n When you are teaching a point, it’s much more easier to jog if the robot know where the tip is. And you can rotate the tool at the specific point<\/span> you want. That’s why we need TCP.<\/p>\n <\/p>\n Take welding application for example. If the path is taught with correct TCP, then you can adjust the value of TCP<\/span> and the robot will try to keep the tip on the same path<\/span> with different TCP offset. That will save plenty of time when you have lots of points to modify.<\/p>\n <\/p>\n <\/p>\n <\/p>\n Correct TCP also tells the right coordinate to the robot, so you can leverage TMflow function such as MOVE NODE to move the robot along current TCP direction<\/span>. It is useful in applications such as parts inserting .<\/p>\n <\/p>\n There are two ways to enter the TCP value.<\/p>\n Go to TMflow > Menu > Setting > TCP Settings<\/em>\u00a0<\/strong><\/p>\n <\/p>\n Method1 – Teaching<\/strong><\/p>\n Install a sharp tip or needle on the TCP you want. Prepare another stationary tip on the table.<\/p>\n Teach the TCP with multiple points. Please refer to TMflow manual<\/em><\/strong> or search UNDERSTANDING THE VISION BASE AND TCP<\/em><\/strong> in technical document for more information. But you can not teach the Rx, Ry, Rz for TCP with this method.<\/span><\/p>\n <\/p>\n Method2 – Direct Inpiut<\/strong><\/p>\n Get the position<\/span> value of the TCP in CAD software, you will need at least [X, Y, Z, Rx, Ry, Rz]<\/p>\n Note that the mass <\/span>and the center of mass<\/span> are necessary or the robot might detect collision<\/span> during running project with wrong mass data<\/span>.<\/p>\n <\/p>\n <\/p>\n Once the TCP is set properly, you can check if the tip(TCP) is stationary in space when you jog the robot with rotational movement.<\/p>\n <\/p>\n Here is the excercise for two TCP setting. This configuration of tool usually used in machine tending.<\/p>\n Please calculate TCP1 and TCP2 in [X,Y,Z,Rx,Ry,Rz] with desired direction<\/span> as below.<\/p>\n Here is the answer:<\/p>\nGoal<\/h2>\n
\n
<\/a><\/p>\nKey Elements of a Robot Movement<\/h2>\n
<\/a><\/p>\nNotation of a Coordinate<\/h2>\n
<\/a><\/p>\nPosition<\/h2>\n
Translation X, Y, Z<\/h3>\n
<\/a><\/p>\nOrientation Rx, Ry, Rz<\/h3>\n
<\/a><\/p>\nExample1 – Only Rz<\/strong><\/h3>\n
<\/a><\/p>\n
<\/a><\/p>\nExample2 – Rz first, then Ry and then Rx (EulerZYX)<\/strong><\/h3>\n
\nStep1. With BASE<\/span> coordinate, rotate Z<\/span> axis<\/span> in Rz<\/span>\u02da<\/span><\/p>\n
<\/a><\/p>\n
<\/a><\/p>\nTCP – Tool Center Point<\/h2>\n
<\/a><\/p>\nWhy TCP?<\/strong><\/h3>\n
<\/a><\/p>\nAdvantage1 – Jog the Robot with Correct Tool Tip.<\/strong><\/h3>\n
<\/a><\/p>\nAdvantage2 – Keep the Path wihle Modifying TCP Length<\/strong><\/h3>\n
<\/a>
<\/a><\/p>\nAdvantage3 – Move the Robot along TCP Direction<\/strong><\/h3>\n
<\/a> \u00a0 \u00a0 \u00a0
<\/a><\/p>\nHow to Set TCP?<\/strong><\/h3>\n
<\/a><\/p>\n
<\/a><\/p>\n
<\/a><\/p>\n
<\/a><\/p>\nExercise<\/strong> – Two TCP<\/h3>\n
<\/a><\/p>\n