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

Math with XYZWPR variables in Karel?

  • Darkbound
  • October 11, 2020 at 7:11 PM
  • Thread is Unresolved
  • Darkbound
    Reactions Received
    1
    Trophies
    3
    Posts
    65
    • October 11, 2020 at 7:11 PM
    • #1

    Hey guys, I am having some trouble doing math with XYZWPR variables.

    I have two XYZWPR variables, say pos1 and pos2.

    At first I tried to subtract them and get the result into a 3rd XYZWPR variable like so:

    Code
    VAR
    pos1, pos2, pos3: XYZWPR
    
    BEGIN
    pos3 = pos2 - pos1
    END

    But I got an error saying:

    Operator expected POSITION data type for left operand.

    Any idea how to properly do math with that datatype?

  • hermann
    Reactions Received
    407
    Trophies
    9
    Posts
    2,615
    • October 12, 2020 at 12:10 AM
    • #2
    Code
    VAR
    pos1, pos2,pos3 : XYZWPR 
    pos4: POSITION
    
    BEGIN
     pos4 = pos2 : INV(pos1)
     pos3 = pos4
    
    END

    The robot in most times does automatic conversions between XYZWPR and POSITION.

  • mahboobelahi93
    Reactions Received
    1
    Trophies
    2
    Posts
    82
    • November 5, 2021 at 9:35 AM
    • #3
    Quote from hermann
    Code
    VAR
    pos1, pos2,pos3 : XYZWPR 
    pos4: POSITION
    
    BEGIN
     pos4 = pos2 : INV(pos1)
     pos3 = pos4
    
    END

    The robot in most times does automatic conversions between XYZWPR and POSITION.

    Hi,

    Is it possible to access fields of POSITION data just like XYZWPR?

    I have initialized

    uframe, utool : POSITION

    and gett the following error.

    What is the correct syntax to access fields of this position variable? This works for an XYZWPR

  • TitusLepic
    Reactions Received
    112
    Trophies
    7
    Posts
    442
    • November 5, 2021 at 4:13 PM
    • #4

    POSITION.LOCATION.X

  • mahboobelahi93
    Reactions Received
    1
    Trophies
    2
    Posts
    82
    • November 8, 2021 at 8:11 AM
    • #5
    Quote from TitusLepic

    POSITION.LOCATION.X

    Thanks TitusLepic

  • mahboobelahi93
    Reactions Received
    1
    Trophies
    2
    Posts
    82
    • November 8, 2021 at 8:44 AM
    • #6
    Quote from TitusLepic

    POSITION.LOCATION.X

    Hi,

    Just to confirm,

    Does the orient field contain the roll, pitch, and yaw values? and Location field just contains XYZ values?

  • mahboobelahi93
    Reactions Received
    1
    Trophies
    2
    Posts
    82
    • November 8, 2021 at 8:46 AM
    • #7

    I am having the following error now

  • TitusLepic
    Reactions Received
    112
    Trophies
    7
    Posts
    442
    • November 8, 2021 at 4:32 PM
    • #8
    Quote from mahboobelahi93

    Hi,

    Just to confirm,

    Does the orient field contain the roll, pitch, and yaw values? and Location field just contains XYZ values?

    No. This is a matrix representation of the point. The location vector just contains XYZ values, but if you're looking for WPR representation you'll need to convert your position into XYZWPREXT. I believe that karel automatically converts between the data types, so you should be able to declare a new variable as XYZWPREXT and then assign it your position value. Something like this:

    uframe : position

    uframe2 : XYZWPREXT

    .

    .

    .

    .

    uframe2 = uframe

    write(uframe2.x,cr)

    I haven't tested this but from what I've read it should work.

  • mahboobelahi93
    Reactions Received
    1
    Trophies
    2
    Posts
    82
    • November 8, 2021 at 9:12 PM
    • #9
    Quote from TitusLepic

    I believe that karel automatically converts between the data types,

    Thanks, I did similar but i use INV() built-in.

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