Dobot Magician taking pause when moving between two points


#22

If you don’t send CP command quickly enough, then the Dobot controller may think there are no commands, and starts to deaccelerate. The queued command buffer length is 32, so in fact you can do in this way,

SetQueuedCmdStopExec();
moveCP();
moveCP();
moveCP();
moveCP();
...
SetQueuedCmdStartExec();
moveCP();
moveCP();
moveCP();

That is to say, you can send some command before start the command execution.


#23

Thanks Eric, You helped a lot now its completely working. Thanks again. Now going to solve gripper ® issue.


#24

fyi Eric, using this
SetQueuedCmdStopExec();
moveCP();
moveCP();
moveCP();
moveCP();

SetQueuedCmdStartExec();
moveCP();
moveCP();
moveCP();

both CPcmd and PTPcmd are working great :relaxed:


#25

Thanks Liuzhufu, I have another problem, I am tryning to run ptp command but gripper rotating 360 degree and I am passing only 30 degree movePTP(0,30,35,30); and doesnt stop also, please help me on this


#26

I am trying to use PTPCmd with CPCmd. CPCmd is for moving one coordinate to other and PTPCmd is for gripper.
but i need smooth motion as i posted above but when I am doing same, it take little pause (when its complete CPCmdit goes for PTPCmd and I am paasing same coordinate) for coordinates check or movement. code is like this

 moveCP(206,0,135);
 movePTP(206,0,135,40);
 moveCP(275,0,147);
 movePTP(275,0,147,35);

#27

CPCmd doesn’t support the axis control. And When encountered with PTPCmd, CPCmd always deaccelerate to speed zero before the PTPCmd. And if you would like to control the gripper, you can use SetEndEffectorGripper instead of PTPCmd.


#28

Hi Liuzhufu, can I pass degree (-90 to 90) for gripper using SetEndEffectorGripper. becuase i need to move it at perticular degree on a perticular coordinate


#29

Hi,

We have collected enough customized requirements for algorithms and APIs, and we will realize this one as soon as we return to work after the traditional Chinese New Year. It would be realized in this way, CPCmd itself will contains the control of the forth axis(the rotating control). It’s that OK?


#30

Yes I think so if CPCmd will contain control for fourth axis (controlling gripper) it will be lot easier to work on.


#31

OK! So this would be the solution.


#32

by which time we should expect this modification ??


#33

We return to work in about February 5th. And this(and other algorithm and APIs requirements) will take about a week.


#34

That will be great, So the modification will be in the same code (I mean API) DobotDemoV2.0 ?


#35

Yeah! We need to modify both the firmware of Dobot controller, the APIs(dll) and the sample codes. The firmware will be updated with DobotStudio, and the others will be uploaded to the official website.


#36

Please let us know when its done, Thanks in advance (y) :slight_smile:


#37

OK: :slight_smile::slight_smile::slight_smile::slight_smile:


#38

Hi - any luck getting these code changes in? I’d love to be able to rotate the fourth axis during calls to SetCPCmd().


#39

Hi ,
You can refer to communication protocol and API from our official website .


#40

Hi @raghuDobotMagician We are making our efforts to add new features to Dobot Magician. How is your case now?
And @James, what’s your application? For example, for 3 points A, B, C, how would you like to control the 4th axis? Because the 4th axis drived by servo(not stepper motor), real-time tracking is impossible.


#41

My application is a real-time control scenario, so if that’s not possible then I’ll just have to find a different way.

Ideally I’d feed the command queue with new (X, Y Z, R) points and when it finished one it would move smoothly on to the next. Right now it’s working great on (X, Y, Z) with CPCmd and a command queue of 3 points.