# Moving a robot based on new user work object

**URL:** <https://tech-community.robotics.abb.com/t/moving-a-robot-based-on-new-user-work-object/9460>\
**Category:** Robot Controller\
**Created:** [April 27, 2020, 4:30am UTC](https://tech-community.robotics.abb.com/t/moving-a-robot-based-on-new-user-work-object/9460 "2020-04-27T04:30:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![yu1988](https://avatars.discourse-cdn.com/v4/letter/y/e495f1/32.png) [@yu1988](https://tech-community.robotics.abb.com/u/yu1988)\
**Post date:** [April 27, 2020, 4:30am UTC](https://tech-community.robotics.abb.com/t/moving-a-robot-based-on-new-user-work-object/9460/1 "2020-04-27T04:30:17Z")

</div>

hi eveybody, now i currently doing a offset calculation of pallets which are arranged in a array order. (one row)  
i have 4 pallet on a row.

1. create a new work object (wobj1) of pallet (x1,x2,y1) (based on wobj0 and using right hand rule). x1,x2 are point located on 1st pallet. while y1 is a point located on last pallet on a row. (because i want the distance cover the whole row)
2. verify x1,x2,y1 's position is accurate as possible.
3. choose wobj1. move robot from 1st pallet to last pallet in y-direction.
4. Result: the robot shift a little bit in x-direction.  
Does anybody have better idea or understanding about work object?  
 ![image.jpg](https://europe1.discourse-cdn.com/flex005/uploads/robotics1/original/2X/e/eebb33b6e0452fcc65e655820a8d2bf5fa9740e8.jpeg)

---

<div class="post-metadata">

**Author:** ![graemepaulin](https://avatars.discourse-cdn.com/v4/letter/g/258eb7/32.png) [@graemepaulin](https://tech-community.robotics.abb.com/u/graemepaulin)\
**Post date:** [April 27, 2020, 8:39am UTC](https://tech-community.robotics.abb.com/t/moving-a-robot-based-on-new-user-work-object/9460/2 "2020-04-27T08:39:23Z")

</div>

You can rotate the workobject around the z- axis to remove the error.  
Most easily done via RobotStudio done via R

---

<div class="post-metadata">

**Author:** ![DenisFR](https://avatars.discourse-cdn.com/v4/letter/d/dc4da7/32.png) [@DenisFR](https://tech-community.robotics.abb.com/u/DenisFR)\
**Post date:** [April 27, 2020, 1:57pm UTC](https://tech-community.robotics.abb.com/t/moving-a-robot-based-on-new-user-work-object/9460/3 "2020-04-27T13:57:53Z")

</div>

Hello,  
It’s because Y point is on XY plan but not at X=0. So for your case you have to invert X and Y axes to calculate it. Then rotate it of 90° on Z and 180 on X.

---

<div class="post-metadata">

**Author:** ![lemster68](https://dub1.discourse-cdn.com/flex005/user_avatar/tech-community.robotics.abb.com/lemster68/32/1945_2.png) [@lemster68](https://tech-community.robotics.abb.com/u/lemster68)\
**Post date:** [April 27, 2020, 3:02pm UTC](https://tech-community.robotics.abb.com/t/moving-a-robot-based-on-new-user-work-object/9460/4 "2020-04-27T15:02:22Z")

</div>

You can ensure that that X is not caused by accidental deflection of the joystick by using the joystick lock for X direction.

---

<div class="post-metadata">

**Author:** ![DenisFR](https://avatars.discourse-cdn.com/v4/letter/d/dc4da7/32.png) [@DenisFR](https://tech-community.robotics.abb.com/u/DenisFR)\
**Post date:** [April 27, 2020, 4:02pm UTC](https://tech-community.robotics.abb.com/t/moving-a-robot-based-on-new-user-work-object/9460/5 "2020-04-27T16:02:24Z")

</div>

@lemster68 : if his first container is not really orthogonal this make this error.

---

<div class="post-metadata">

**Author:** ![lemster68](https://dub1.discourse-cdn.com/flex005/user_avatar/tech-community.robotics.abb.com/lemster68/32/1945_2.png) [@lemster68](https://tech-community.robotics.abb.com/u/lemster68)\
**Post date:** [April 27, 2020, 6:09pm UTC](https://tech-community.robotics.abb.com/t/moving-a-robot-based-on-new-user-work-object/9460/6 "2020-04-27T18:09:18Z")

</div>

The other thing that you could do to verify is to make move instructions from 0,0, maybe plus just a little Z, to 0, 500 (or 1000 or whatever) in the workobject coordinate system.
