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. KUKA 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

Base Measurment according to another Base

  • Henry100
  • September 5, 2024 at 11:28 AM
  • Thread is Unresolved
  • Henry100
    Reactions Received
    6
    Trophies
    2
    Posts
    35
    • September 5, 2024 at 11:28 AM
    • #1

    Dear Kuka Community,

    I have a general question where the robot type is irrelevant. To be on the safe side, I have a KR 120 R2700-2 with KRC5 control.

    The robot needs to place parts accurately, so I have established a base for each box—therefore, I have four bases for four boxes.
    ; $BASE 1= BOX 1

    ; $BASE 2=BOX 2

    ;$BASE3= BOX 3

    ;$BASE4= BOX4
    Now, I need another base for the table, so all four bases will be related to the table. This way, if the table is moved, I can simply adjust the base of the table($BASE 10), and all the points will shift accordingly.

    ;BASE10= TABLE

    Note: I need to keep the four bases for the different types of parts and the accuracy of the positions.

    So, does anyone have any ideas on how I can "measure the bases according to another Base"?

    $BASE1...$BASE4 ---> $BASE 10


    Thank you!

    Images

    • image.png
      • 164.35 kB
      • 1,038 × 710
      • 3
  • palmeida
    Reactions Received
    1
    Trophies
    3
    Posts
    18
    • September 5, 2024 at 12:43 PM
    • #2

    Look up the geometric operator ":" .

    Than if you can measure the coordinates you want the boxes base from the table base you can set up a teaching program.

    idea: declare a frame variable in the dat for each box then calculate the box base as base 10 plus this offset for each box. I have not used krl in a while so the syntax might be wrong.

    DECL FRAME Box1 = {X 100, Y 200, Z 0 , A 0 , B 0 ,C 0}

    and on the src.

    BASE_DATA[1] = BASE_DATA[10] : Box1

    If you put this somewhere in your program it will be updated cyclic or make it as a manual program to be run only after change the table.

  • hermann
    Reactions Received
    407
    Trophies
    9
    Posts
    2,611
    • September 5, 2024 at 1:45 PM
    • #3

    Geometric operator is the right thing to use here. But it wouldn't be as simple as palmeida told.

    You need precision, so you have to measure Base1 - Base4 once, then measure the table (Base10), then you have to calculate the relative values of base1 - base4 (plameida here made a simple ideal case, but reality never is simple and precise). Therefore you need some math formulas which already where discussed here in the forum. Then you can use palmeidas approach with calculating the new bases from shifted base10.

    But some questions:

    How often do you think the table will be moved?

    Is it worth the time for programming, testing, debugging to save the time for measuring 3 more bases?

  • Henry100
    Reactions Received
    6
    Trophies
    2
    Posts
    35
    • September 6, 2024 at 7:47 AM
    • #4

    hermann & palmeida


    Thank you for your Feedback. actually, I did an easy example just for the case of study. in reality, my Case is more complicated than the example I have three tables in every 12 boxes in some boxes come with three different types of parts. but I wanted to spare some time for the unnecessary details.


    Well before I wrote my question I did some research in the forum for that topic. anyway, I will try to search for the topic again in the forum.

  • Leon
    Reactions Received
    35
    Trophies
    5
    Posts
    471
    • September 6, 2024 at 5:07 PM
    • #5

    As a suggestion you might want to think about measuring in a different order. I work with with a robot (milling application) with 6 table's. Each table is measured and that base is set in the config.dat in a array like this:

    Code
    base_table[1] = {x 0,y 0,z 0,A 0,B 0,c 0}
    base_table[2] = {x 0,y 0,z 0,A 0,B 0,c 0}
    base_table[3] = {x 0,y 0,z 0,A 0,B 0,c 0}
    base_table[4] = {x 0,y 0,z 0,A 0,B 0,c 0}
    base_table[5] = {x 0,y 0,z 0,A 0,B 0,c 0}
    base_table[6] = {x 0,y 0,z 0,A 0,B 0,c 0}

    when i am writing a new milling program i measure a base in reference to 1 of these and in the program i get this:

    Code
    DEF program(Table_nr)
    
    DECL FRAME base_program
    DECL INT Table_nr
    
    base_program = {x 0,y 0,z 0,A 0,B 0,c 0}
    $base = base_table[Table_nr] : base_program
    
    ;Actual milling program here
    
    END
    Display More

    This allows me to easily shift a program to a different table just be calling the program with a different table number.

    I measure the program base by hand, by selecting one off the table bases as active base and then measuring by looking at the actual robot position and basically doing the same movements as an base measurement. i simple case i can do the math in my head (no rotations). but mostly i use pen and paper.:grinning_squinting_face: and then it is usually still a rotation around a single axis.

    i have looked at making a specific base measurement program for this, but as Hermann pointed out, this is not so simple, so i dropped that idea.

    I don't know if this somewhat applies to your problem, but this is how i have done it.

    Every problem has a solution, that isn't the problem. The problem is the solution.

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

  • KUKA
  • krc5
  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