These are chat archives for machinekit/machinekit

7th
Dec 2016
Rene Hopf
@rene-dev
Dec 07 2016 12:43
I would be very interested in that as well.
zhivko
@zhivko
Dec 07 2016 12:52
Yes me to! ;)
zhivko
@zhivko
Dec 07 2016 13:00
I understand mk adds connectivity layer via protobuff, and zmq, but for core lcnc functions like tp it would be good to know what is equivalent lcnc component version.
Andreas Pettersson
@NeoTech
Dec 07 2016 13:48
Dont bother, apparently coders don't wanna be "judged" and compared.. but its not judging.. its just a matter of being able to choose correctly, whatever benefits each fork has.
zhivko
@zhivko
Dec 07 2016 13:50
You can always compare lcnc source and mk source... Codebase and folder structure is very similar.
In github
Bas de Bruijn
@luminize
Dec 07 2016 13:57

@NeoTech i think the answer you’re looking for is a bit hard to give. The joints-axes that’s in LCNC has not been implemented in Machinekit. The arc-arc blending of the motion is in Machinekit since a few years.

Machinekit forked off aiming to run on multiple platforms and multiple kernels (was only RTAI), but since RT-PREEMPT came out as winner of the kernel wars, that is a bit less important nowadays.

the most important difference IMO is that the HAL has undergone some major work, and the machinetalk middleware has made it possible to run remote UI’s.
Plus the different platforms, like ARM BBB and De0-nano-soc (the FPGA goodies). But don’t forget it also runs on notmal x86 and x64 pc’s.

Rene Hopf
@rene-dev
Dec 07 2016 15:04
any plans on merging joint axis? linuxcnc merged JA into master a few months ago, there are a few bugs left. https://github.com/LinuxCNC/linuxcnc/issues?q=is%3Aissue+is%3Aopen+label%3Ajoints-axes
Bas de Bruijn
@luminize
Dec 07 2016 15:13
Somebody would have to step up to take on such a thing and follow thru. Most people working on Machinekit are interested in the uses beyond CNC, like standalone HAL applications and connecting ROS with machinekit.
Rene Hopf
@rene-dev
Dec 07 2016 15:15
like using it as a realtime part for ros? any particular application? because what I have seen from ros regarding robots is very broken by design
Bas de Bruijn
@luminize
Dec 07 2016 15:23

yes, the realtime playout of motion. I’ve already done work on that.

history:
machinekit/machinekit#689

then there’s the part where ros_control should be the way on how to connect to MK
machinekit/machinekit#898

ros and machinekit and remote UI https://www.youtube.com/watch?v=h_oO0OhFvQY

Rene Hopf
@rene-dev
Dec 07 2016 15:25
cool. are you using moveit?
Im also interested beyond cnc, especially industrial robots. problem is the current planner design has the kinematics in the wrong place...
Bas de Bruijn
@luminize
Dec 07 2016 15:28
yes, moveit does the path planning. But moveit is not mandatory. You must listen to a certain message, and then a custom node “puts” these segments in MK via a ringbuffer.
What planner design/kinematics are you talking about?
Rene Hopf
@rene-dev
Dec 07 2016 15:30
the kinematics is behind the trajectory planner, so it cannot obey joint limits. the path gets planned in cartesian, and if the joints cannot follow, they will overspeed
LinuxCNC/linuxcnc#97
the planner needs to plan on joint and cartesian space.
Bas de Bruijn
@luminize
Dec 07 2016 15:58
One of the reasons why we took a good look at solutions like ROS, is because they do the trajectory planning offline, where there are no realtime constraints and enough horsepower.
Obeying cartesian as well as joint space limits means that you have to do at least 2 calculations/checks like you say, and if one of them exceeds a limit, you have to go back to the beginning of the chain, change the trajectory and recalculate. I’d leave that still in an off line planner. (ROS has choice of different planners). There’s no real reason to do the planning in realtime. (other than people want to dial the speed-override knob, which in fact could still be done without replanning the trajectory as long as you can only dial down)