1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. Kawasaki Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

About shifting based on the FRAME coordinate system

  • ksj
  • April 13, 2022 at 8:10 AM
  • Thread is Unresolved
  • ksj
    Reactions Received
    2
    Trophies
    2
    Posts
    28
    • April 13, 2022 at 8:10 AM
    • #1

    About shifting based on the FRAME coordinate system

    I want to shift the conversion value of "POINT a" in the X direction based on the frame coordinate system. Is there an easy way to make it work?

    Edited once, last by ksj (April 13, 2022 at 8:44 AM).

  • ksj April 13, 2022 at 8:44 AM

    Changed the title of the thread from “About the shift in the direction of the robot tool” to “About shifting based on the FRAME coordinate system”.
  • kwakisaki
    Reactions Received
    694
    Trophies
    11
    Posts
    4,770
    • April 13, 2022 at 11:35 PM
    • #2

    The easiest way is just by using SHIFT command (AS Language Manual).

    SHIFT is referenced to XYZ of the current BASE coordinate.

    So what a lot of people do is set the BASE to the user frame and therefore the SHIFT will always be relative to the user frame.

    So any transformation taught can be shifted relative to the BASE (cannot be used with joint angles #):

    - BASE user_frame

    - LMOVE SHIFT(a BY X,Y,Z).

    - POINT offset_a = SHIFT(a BY X,Y Z).

    - LMOVE offset_a

    View my channel at Industrial Robotics Consultancy Limited - YouTube

  • ksj
    Reactions Received
    2
    Trophies
    2
    Posts
    28
    • April 14, 2022 at 1:33 AM
    • #3

    thank you
    I tested it and it works fine

  • kwakisaki
    Reactions Received
    694
    Trophies
    11
    Posts
    4,770
    • April 14, 2022 at 10:33 AM
    • #4

    You're welcome.

    A word of caution though.

    Swapping between different BASES in programs, all though completely normal, allowed, common and simply done, it can introduce problems when it comes to teaching positions relative to the BASE.

    You need to make sure the correct BASE coordinate has been executed prior to teaching.

    I refer to this as:

    'Be in the right FRAME of mind when teaching or it could turn your world upside down'.

    View my channel at Industrial Robotics Consultancy Limited - YouTube

  • ksj
    Reactions Received
    2
    Trophies
    2
    Posts
    28
    • April 15, 2022 at 8:37 AM
    • #5

    Yes, I am always wary of that.

    Is there any way to know the current coordinate system status on the Kawasaki command or function?

  • kwakisaki
    Reactions Received
    694
    Trophies
    11
    Posts
    4,770
    • April 15, 2022 at 12:33 PM
    • #6

    You can't view it by variable name if you're using a variable name as it only stores the transformation values relative to any variable name used.

    BASE command in the terminal returns the current transformation values in use and allows to change it.

    BASE command in a program, just executes it and applies the transformation values directly.

    Aux Function 0506 on the teach pendant also returns the current transformation values in use.

    BASE coordinates remain fixed at the last values used unless by manual or programmatical change, even in the event of a power cycle.

    So this works well if you wish to programmatically track BASE values.

    Not very common for this to be tracked if I'm honest, however if you do want to track BASE changes, or display what current base is selected, you could code into a PC Task to display status lamps on the IFP for BASE changes.

    Very crude, but the below video clip shows something in action.

    Files

    base check.mp4 2.39 MB – 54 Downloads

    View my channel at Industrial Robotics Consultancy Limited - YouTube

  • TygerDawg
    Reactions Received
    6
    Trophies
    3
    Posts
    187
    • April 16, 2022 at 5:35 PM
    • #7

    As a rule, I ***NEVER*** change the BASE of a robot. In my particular world, there are just too many problems that doing this could create. Especially if I change the BASE on an application and leave it for some other poor goombah to discover by accident. Most robot users/programmers do not understand transformations, so why leave these boobytraps out there for others to find?

    It's been many years, so please forgive if my transformation math is not exactly correct.

    If I remember correctly, SHIFT only applies to points in the BASE coordinate system.

    So the problem statement is:

    GIVEN:

    • arbitrary FRAME (call it: frame1) out in robot space taught in the default BASE robot coordinate system
    • an X-Y-Z pattern of points relative to frame1 (call them pt1 = frame1+TRANS(X1, Y1, Z1), pt2 = frame1+TRANS(X2, Y2, Z2), etc)

    FIND: I desire to move the points pt1, pt2, etc. to my dimensional specification within frame1 (sort of like using SHIFT inside frame1)

    SOLUTION:

    • OPTION1: Use TRANS function to calculate transformations within the frame1 coordinate system
      • command: pt1_new = frame1+TRANS(X1+X1_shift, X2+X2_shift, etc)
    • OPTION2: inverse the frame1 back to BASE and then use SHIFT within the BASE coordinate system
      • command: pt1_new = SHIFT(-frame1+pt1 BY X1, Y1, Z1)
        • ASSUMPTION: all of the various coordinate systems are aligned suitably. Else it may be necessary to change the order of the X, Y, Z components to get the desired changes

    Like I said, it has been many years and my command might be incorrect. I'd have to find a machine and test this and prove the correct trans math order. But I hope that you are understanding my intention.

    TygerDawg

    Blue Technik

    http://www.bluetechnik.com

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Tags

  • kawasaki
  • AS language
  • TDRAW
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download