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

Dobot CR12 Linear move (MovL) not working

#1
Hello,

I have a Dobot CR12 that I'm turning into a 3D printer. I'm new to RoboDK so I have a lot to learn.

I can generate a simulation of the robot (with the extruder attached) from gcode. flawlessly. I can send the robot program to the robot through the Python interpreter and VSCodium. It starts the program with a joint move (robot.JointMovJ), but the second move is a linear move (robot.MovL) and that doesn't work.
I get this error: robot.MovL(479.207, -160.297, 541.740, 180.000)
TypeError: MovL() missing 2 required positional arguments: 'ry' and 'rz'

   

I have tried adding 0, 0 after 180, then I don't get an error inside Python, and the coder runs completely through. But the arm doesn't move and I get an error inside the DobotStudioPro: (Code: 22 - Type: Controller error - Description: Arm orientation error)
   

I tried using anothe post processor for another Robot, there I got a MovL with 6 values instead of the 4 I got in the Dobot post.

I'm wondering if someone has had luck with linear move with a DobotCR and can help me. I don't have the latest firmware for my Dobot controller (I have 3.5.2.) I'm waiting for Dobot to send it to me. Could that be the problem? I have no idea.

Another thing I cant get to work is connecting the Dobot through the RoboDK software, I use Robot port: 29999 and the connection status says I'm connected but I can't use the Get position or move the Robot from the software. It's not a big deal as it works through Python, but I'm just curious if anyone has controlled their Dobot through the RoboDK application. 

Best wishes
Aggi
#2
Linear movements using the Dobot CR driver were fixed 2 days ago. I recommend you to take the latest version of RoboDK and try again.

Make sure you setup the same user frame and tool frame you use in RoboDK on the robot controller.

The new version uses the default port 29999 regardless of the port you enter in RoboDK.
#3
Thank you so much Albert.

I updated and now I can control the robot through RoboDK with the DobotCR5Driver.py
The joint movements work flawlessly, but i still have some problems with the linear movement, it might have something to do with the tool frame and user frame.
I can still make it work by clearing the alarm in DobotStudio. But the linear movement is jittery and slow. The smoothing function doesn't go through, i get: NameError: name 'MSG_ROUNDING' is not defined.
I still get the same error in python with the Dobot CR post processor, I only get the 4 values.
Is it possible to use the DobotCR5Driver.py as a post processor, so I can generate a program file with it?

Best wishes
Aggi
#4

.py   Printing3D.py (Size: 290.23 KB / Downloads: 106)

I was able to change the program file I generated with the Dobot CR post, I added the ry and rz values manually it was easy since they are the same throughout the program.

I still get an arm orientation error but after I clear it, the program runs smoothly (the motion is smooth, but also slow) until I get a arm collision detected. It's not an error, but the program stops running, and I cant see where the collision is supposed to be.
#5
We just updated RoboDK for Windows 64 bit to ignore the set rounding command and to add support for circular movements.

Can you update RoboDK to the latest version? Let us know if you still have issues.
#6
Thanks Albert

Now the whole program runs without an error inside RoboDK, but it's still jittery and slow. When I generate a program and run it in VScodium it runs smoothly, but there I have to manually put in the ry and rz values. It's not a huge problem.
#7
Thank you for letting us know.

Do you know if there is a special command that the robot accepts to apply some rounding or blending?
#8
Hey, sorry for the late reply

There is something called CP rate
Description: Set continuous path (CP) rate. When the robot arm reaches the end point from the starting point through an intermediate point, it passes through the intermediate point in a right angle or in a curve. This command is invalid for Jump mode.
But i'm not sure that its the right thing

Then I'm wondering if port 30003 is better for motion?

   
   
  




Users browsing this thread:
1 Guest(s)