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. General Category - Robot Forum
  4. General Discussion of Industrial Robots Only
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

How to perform touch sensing (rough calibration)

  • jorgefernandes
  • April 8, 2024 at 3:46 PM
  • Thread is Unresolved
  • jorgefernandes
    Trophies
    1
    Posts
    11
    • April 8, 2024 at 3:46 PM
    • #1

    Hello everyone, I've recently begun learning about welding robots and have encountered some uncertainties that I hope those with more experience can help clarify.

    I was discussing with a colleague who mentioned that when welding large parts, it's common practice to conduct touch-sensing initially to establish the part's position (similar to a global calibration). Then, for each subsequent weld, touch sensing is performed again (referred to as local calibration).

    My question is, is this a typical procedure in the industry? And if so, how does the robot manage nested calibration?

    Thanks and have a nice day :smiling_face:

  • Roland Keller April 8, 2024 at 3:50 PM

    Approved the thread.
  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,423
    • April 8, 2024 at 9:26 PM
    • #2

    Touch-sensing calibration for MIG-welding isn't unusual. Nested calibration is less typical, but completely doable, most often used as a sort of "rough then fine" calibration.

    The details differ by brand and software version. For an advanced programmer it's possible to write the entire software stack from scratch, but generally everyone buys the appropriate option package for their specific robot and lets the robot mfgr do most of the heavy lifting.

    The same underlying methods also apply to things calibration using vision or non-contact sensors. At the end of the day, it's all matrix algebra.

    As for how the robot handles nested calibration, again, it depends on the brand, but often the "rough" calibration is an offset from a fixed coordinate system, and then the "fine" calibration is an offset from the coordinate system that was moved by the "rough" calibration. Basically, it's stacking offsets on top of offsets.

  • jorgefernandes
    Trophies
    1
    Posts
    11
    • April 9, 2024 at 10:07 AM
    • #3

    Thank you for the help. I will investigate rough calibration.

    I understand the concept of chaining matrices, but I'm not sure if it is commonly used in practice.

    I would like to see some examples of "robot code" applying this concept. Do you know where I can find it?

  • jorgefernandes April 9, 2024 at 10:08 AM

    Changed the title of the thread from “How to perform touch sensing (global calibration)” to “How to perform touch sensing (rough calibration)”.
  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,423
    • April 9, 2024 at 3:20 PM
    • #4
    Quote from jorgefernandes

    I would like to see some examples of "robot code" applying this concept. Do you know where I can find it?

    That's very, very brand-dependent. While matrix algebra is universal, every brand's implementation is unique.

    The simplest example I can think of offhand would be ABB RAPID's use of WorkObjects -- each WorkObject has a UFrame and an OFrame. The UFrame is a 6DOF offset from the robot's World coordinate system, and the OFrame is an offset from the UFrame. So often, the UFrame would be "rough" calibrated, then the touchsense "search" program for the "fine" calibration would be run in that UFrame, with the results applied to the OFrame. But this is all handled implicitly in ABB, none of the math is exposed.

    The mathematically simplest example I can think of is in KUKA KRL, where offsets are arbitrary matrix multiplications, using the Geometric Operator ":". Something like:

    Code
    $BASE = BASE_DATA[1] ; activate non-moving base frame
    RoughSearchProgram(); call the rough-search touchsense program
    $BASE = $BASE_DATA[1] : RoughSearchResults ; shift $BASE by Base 1 * Search Results
    FineSearchProgram() ; call the fine-search program.  The search moves will execute with the rough search results already applied
    $BASE = $BASE : FineSearchResults ; Add the Fine results to the already-shifted $BASE
    $BASE = BASE_DATA[1] : RoughSearchResults : FineSearchResults ; this line does the same thing as the previous line
    
    ; do your welding or whatever here, using the doubly-shifted $BASE.

    Where $BASE is the 6DOF FRAME (X, Y, Z, A, B, C) that the robot moves in, BASE_DATA[whatever] is an array of user-modified Bases to use in programs, and the Search programs return a Result variable that is also a 6DOF FRAME. The : simply performs a plain matrix multiplication of two FRAME variables.

  • jorgefernandes
    Trophies
    1
    Posts
    11
    • April 10, 2024 at 11:09 AM
    • #5

    Thanks for all the help and suggestions.

    I investigated more about the topic and think I understand it a bit more.

    Although I understood the code you posted, my experience is with Fanuc robots. Do you have any examples you could share using Fanuc code?

  • Online
    SkyeFire
    Reactions Received
    1,051
    Trophies
    12
    Posts
    9,423
    • April 10, 2024 at 2:46 PM
    • #6
    Quote from jorgefernandes

    Although I understood the code you posted, my experience is with Fanuc robots. Do you have any examples you could share using Fanuc code?

    I haven't done it in Fanuc -- from what I've seen, Fanuc doesn't make matrix math openly available to do the offsets the way KUKA does. Instead, Fanuc has purchasable options that do it all for you invisibly.

    That said, if you check out the Fanuc sub-forum here, our member Nation has posted several tools for doing matrix algebra "the hard way" in TP code, which should be closely equivalent to the KRL code I posted upthread.

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

  • Touch Sensing

Users Viewing This Thread

  • 1 Guest
  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