Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

MoveL has a problem with PoseTool()??

#1
Hi,

In my Python API:

I've created a Tool like so:

self.robot=self.RDK.Item('KUKA KR 60-3', ITEM_TYPE_ROBOT)
tool_array=Mat([[1.000,0.000,0.000,0.000],
[0.000,1.000,0.000,0.000],
[-0.000,0.000,1.000,167.000],
[0.000,0.000,0.000,1.000]])
self.robot.setPoseTool(tool_array)


Then I created a target in RoboDK simulation called 'Calib_Area'.

Interestingly, calling:

self.robot.MoveJ(self.calib_area)
self.robot.MoveL(self.calib_area)


DOES TWO DIFFERENT THINGS!!

MoveJ moves the specified TCP (PoseTool()) to the calib_area target. BUT MoveL, moves the Robot Flange to the target instead?!

Anyone know why this is? I'm very curious.
#2
Hi Tharisata,

我很好奇,所以我测试出来with a station I created and the code you provide with just a mini modification and the behavior was as expected. Both MoveJ and MoveL reached the Calib_Area target.

Here's the station.

Jeremy


Attached Files
.rdk API MoveL_MoveJ.rdk(Size: 320.22 KB / Downloads: 271)
Find useful information about RoboDK and its features by visiting our2022世界杯32强赛程表时间 and by watching tutorials on ourYoutube Channel.


#3
(02-11-2021, 04:36 AM)Jeremy Wrote:Hi Tharisata,

我很好奇,所以我测试出来with a station I created and the code you provide with just a mini modification and the behavior was as expected. Both MoveJ and MoveL reached the Calib_Area target.

Here's the station.

Jeremy

Hi Jeremy,

Thank you for testing it out. It works fine in the simulation but not when connected to the real robot and doing online programming.

I can take a video for you if that would help?
#4
Hi Tharisata,

The fact that you are using it on the driver is quite a huge difference and you should have mentioned that from the get-go. I couldn't really just guest it.

MoveJs and MoveLs are fundamentally different from a driver perspective.
MoveJ will send the joint values while MoveL will send the cartesian values.

We then need to figure out if the wrong values come from RDK, the driver, or the setup on the controller side.

I'll ask you to do 2 things.
1 - Make sure this option isn't activated.


2 -Before connection to the robot, press "CTRL"+"ALT"+"SHIFT"+"G" to enter developer mode.

Try connecting to the robot and running the program. Then send the content of the Log file ("Connection window"->"Show Log").

Jeremy
Find useful information about RoboDK and its features by visiting our2022世界杯32强赛程表时间 and by watching tutorials on ourYoutube Channel.


#5
Hi Jeremy,

You're right. I should have told you first! Thank you for pointing that out.

1) Done as you requested, that option was never selected.

2) Entered Developer Mode:

Disconnected
CONNECT 172.31.1.147 7000 6
Trying connection 172.31.1.147:7000...
Ready
MOVJ 0.000000 -101.125460 100.007308 0.000000 1.118152 0.000000 1340.000000 0.000000 1810.000000 0.000000 90.000000 0.000000
Working...
Ready
MOVJ -0.961503 -60.169733 65.602870 -0.000000 84.566863 -0.961503 1602.637000 26.897000 1282.085000 180.000000 -0.000000 180.000000
Working...
Ready
MOVL -0.961503 -60.169733 65.602870 -0.000000 84.566863 -0.961503 1602.637000 26.897000 1282.085000 180.000000 -0.000000 180.000000
Working...
Ready
MOVJ -0.961503 -60.169733 65.602870 -0.000000 84.566863 -0.961503 1602.637000 26.897000 1282.085000 180.000000 -0.000000 180.000000
Working...
Ready


This was the code:

self.robot.MoveJ(self.home)
self.robot.MoveJ(self.calib_area)
self.robot.MoveL(self.calib_area)
self.robot.MoveJ(self.calib_area)

I will post a video after this to show you that it's not moving to the same point. Thanks

Please see link:

https://drive.google.com/file/d/17VgpIYd...sp=sharing
#6
Hi Tharisata,

First I don't see any "SETTOOL" in the log file.

You should have something like that:


Otherwise, the robot will use TOOL[0] from the robot controller, which is most likely the flange.

Jeremy
Find useful information about RoboDK and its features by visiting our2022世界杯32强赛程表时间 and by watching tutorials on ourYoutube Channel.






Users browsing this thread:
1 Guest(s)