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

ABB Robotstudio, Rotate around axis of a workobject

  • SimoneCosti
  • February 7, 2024 at 3:19 PM
  • Thread is Resolved
  • SimoneCosti
    Trophies
    1
    Posts
    10
    • February 7, 2024 at 3:19 PM
    • #1

    Hi Everyone,

    I'm currently working with an IRB6700 in a robotic cell.
    I have a custom workobject (wobjMachine) aligned with a certain machine.
    I need to take a robtaget (p2), at the same coordinates of another point (p1) BUT rotated of 45 degrees around the y-axis of the wobjMachine.

    How can i write it down?

    I tried with:

      p2:=RelTool(p1,0,0,0,\Rx:=0,\Ry:=45,\Rz:=0);
    MoveL p2, v100, fine, toolGripper\WObj:=wobjMachine;

    OR
      p2:=p1;
    Y:= EulerZYX(\Y, p1.rot);
    X := EulerZYX(\X, p1.rot);
    Z := EulerZYX(\Z, p1.rot);
    p2.rot:=OrientZYX(Z,Y+45,X);
    MoveL p2, v100, fine, toolGripper\WObj:=wobjMachine;

    But none of theese line works, it seems it keeps reorienting around the tool, and i don't want it.

    How can i do?

  • Go to Best Answer
  • Lemster68 February 7, 2024 at 3:35 PM

    Approved the thread.
  • Online
    Lemster68
    Reactions Received
    301
    Trophies
    9
    Posts
    2,491
    Blog Articles
    7
    • February 7, 2024 at 3:55 PM
    • #2

    What I am going to suggest is to make a variable workobject. Let's say, wobjTemp. Assign the wobjMachine value to the temporary one. Then, use the function OrientZYX to make the rotation around the Y axis. Then, assign the result to wobjTemp.oframe.rot. If you have not used this function, I guess I am giving you a homework assignment. :winking_face:

  • SimoneCosti
    Trophies
    1
    Posts
    10
    • February 7, 2024 at 4:45 PM
    • #3

    I've tried:

    p2:=p1

    wobjTemp:= wobjMachine;
    X := EulerZYX(\X, wobjMachine.oframe.rot);

    Y := EulerZYX(\Y, wobjMachine.oframe.rot);

    Z := EulerZYX(\Z, wobjMachine.oframe.rot);

    wobjTemp.oframe.rot:=OrientZYX(Z,Y+45,X);

    MoveL p2, v100, fine, toolGripper\WObj:=wobjTemp;

    But it tells me that the position is unreacheable, even if i can move it manually.
    Am i writing it wrong?

  • hermann
    Reactions Received
    412
    Trophies
    9
    Posts
    2,629
    • February 7, 2024 at 4:51 PM
    • #4

    You can do fancy things with calculating x, y and Z positions simply per + and -, but when orientations join the game, you must use matrix multiplications.

    Look for posemult() in the manual.

  • SimoneCosti
    Trophies
    1
    Posts
    10
    • February 7, 2024 at 5:05 PM
    • #5

    Solved, I used:

    wobjTemp.oframe := PoseMult(wobjTemp.oframe,[[0,0,0],OrientZYX(0,-45,0)]);
    MoveL p2, v100, fine, toolGripper\WObj:=wobjTemp;

    But i also need to save that robtarget without moving in that position. How can i do?

  • Online
    Lemster68
    Reactions Received
    301
    Trophies
    9
    Posts
    2,491
    Blog Articles
    7
    • February 7, 2024 at 5:23 PM
    • #6

    Your first one might have worked if you had left the x and z component 0, rather than assigning them like you did. Anyway, good job. Make an assingnment of that position to another robtarget after you have manipulated it as desired.

  • SimoneCosti
    Trophies
    1
    Posts
    10
    • February 8, 2024 at 8:11 AM
    • #7
    Quote from Lemster68

    Your first one might have worked if you had left the x and z component 0, rather than assigning them like you did. Anyway, good job. Make an assingnment of that position to another robtarget after you have manipulated it as desired.

    But, is there a function to convert the position from different workobject? Because now i have only the robtarget, the original workobject and the rotated workobject. I need the target rotated in the first wobjMachine. (I don't want to move in position and use CrobT)

  • Online
    Lemster68
    Reactions Received
    301
    Trophies
    9
    Posts
    2,491
    Blog Articles
    7
    • February 8, 2024 at 2:06 PM
    • Best Answer
    • #8

    If you use the function CalcJointT, it will convert the position into a JointTarget. Then, use CalcRobT, using the other workobject, you can make the transformation without moving to the position.

    Finally, check the link I am pasting, there are many utilities there and one or more may even be useful to right now.

    ABB-RAPID-UTILITY-LIBRARY/Contributions/RobertAndersson at master · ernell/ABB-RAPID-UTILITY-LIBRARY
    A collection of utility modules for ABB industrial robots. - ernell/ABB-RAPID-UTILITY-LIBRARY
    github.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
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • 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
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Tags

  • abb
  • robotstudio
  • move
  • workobject
  • Rotate
  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