I'm having an issue with the MoveL instruction running on a KUKA KRC2. The instruction works fine in the simulation. But when I run on the robot controller, with the driver, the robot gets stuck at the instruction in the image attached and drifts, completely unresponsive to the instruction. If I use the MoveJ instruction, robot works fine and performs the motion. What am I missing? My code sends cartesian points to the robot. I tried two different codes and none of them are working on the robot:
Code:
# Initialize the RoboDK API RDK = Robolink()
# Promt用户选择一个机器人(如果只有一个罗bot is available it will select that robot automatically) robot = RDK.ItemUserPick('Select a robot', ITEM_TYPE_ROBOT)
RDK.setRunMode(RUNMODE_RUN_ROBOT)
# Retrieve the robot reference frame reference = robot.Parent()
# Use the robot base frame as the active reference robot.setPoseFrame(reference)
# get the current orientation of the robot (with respect to the active reference frame and tool frame) pose_ref = robot.Pose() #home position
Your suggestion did not work. But the problem is something else, even using the MoveLinear in RoboDK control panel, robot does not obey the proper path. With MoveJoint works fine. See video below(sorry about the quality):
My robotic manipulator is a KR100-2 HA(image attached). This manipulator is not available in the library so I'm using a KR100-2 P. Maybe this is the problem?
08-02-2019, 09:49 PM(此订单st was last modified: 08-02-2019, 09:50 PM byAlbert.)
Yes, you should select the correct robot. Otherwise it would explain the issue you are seeing.
You can model robots yourself in the RoboDK menu: Utilities-Create Mechanism or Robot. Or at least, you can change the kinematic parameters in the Parameters menu.
If you have a professional license we can add the robot for you, just send us a request at info@www.sinclairbody.com with the 3D files of the robot (STEP files if possible).
08-09-2019, 10:48 PM(此订单st was last modified: 08-09-2019, 10:49 PM byrett84.)
Currently, I don't have a license installed on my laptop, but my company has a distributor agreement with you guys.
I created a new mechanism based on the robot parameters. Attached picture with robot data from datasheet and with parameters on RoboDK parameters window.
Also, I set the Cartesian Jog frames as ABB/KUKA/Nachi. Screenshot attached.
Still, robot is acting weird with the MoveLinear command. First I get current robot position, then without changing anything on the rotating knob(X, Y, Z) I click MoveJoints. The robot does not move as I expect. But if I click Move Linear, again without changing anything on the rotating knob, the robot starts to move to an unknown position, until it reaches a software limit.
On the robot pendant, it is stuck at the same line 49 of the KUKAROBODK35SYNC.SRC, picture attached.
I don't know what is happening. Appreciate if you can help, as I am working on the project that we are discussing on the other post.
This strange behavior moving the robot using the "Move Linear" option happens if you have not updated your tool and reference frame from RoboDK to your robot.
You can create yourself a program that sets the tool and run it with the "Run on robot" option to update the tool on the robot. Alternatively, you can modify the RoboDKSync.SRC file to set the same tool you use in RoboDK.
The Move Linear option will be removed in future versions of RoboDK given this misunderstanding.
Hi Albert, please don't remove the MoveLinear option. I tested with an ABB controller, in RobotStudio, and it works fine. I did not have to run a program to update the tool on it.
However, the problem still persists when I try with a Kuka robot. I did create a simple Python program to update the robot tool and reference frame. See my project attached. Even after running it, the robot does not respond correctly to a Move Linear command(button on connection panel), and the same behaviour happens on my other python project. I made a video, below link, demonstrating what happens with a Move Joints and Move Linear command. RoboDk is connected to a KRC controller:
The other thing that I still can't understand is that even when I don't send the robot to any position but I press Move Linear it just goes to an unknown position. You can see it in the second video. This does not happen with ABB at all.