Hello guys! I just got two Kuka's KR210-3100 with KR C4. I'm gonna animate them through Mimic for Maya and I wonder how do I start them both at the same time. I mean there are gonna be shows where they'll have to make the same moves and I think trying to press two buttons at once isn't the best idea. I've heard about TouchDesigner and I'm sure it's a powerful tool if you know how to use it bot I'm total newbie. So I think there is an easy way to make this work. Or maybe some of you have ready-made solution for this. By the way I'd be glad if some of you can give me some info about any interaction with Kuka and TouchDesigner. Appreciate for any help!
Sync KUKA Robots
-
Ilim Aisayev -
August 22, 2023 at 11:19 AM -
Thread is Unresolved
-
-
HawkME
August 22, 2023 at 11:41 AM Approved the thread. -
- Best Answer
You can have both get started separately and waiting for an input. Then they can run together. This is simple and free but will have some limitations. For example if someone changes speed on one robot they will be out if sync. They will get out of sync eventually anyway...
If perfect sync is required check the roboteam manual.
-
You can have both get started separately and waiting for an input. Then they can run together. This is simple and free but will have some limitations. For example if someone changes speed on one robot they will be out if sync. They will get out of sync eventually anyway...
If oerfect sync is required check the roboteam manual.
Thanks! Sorry for a stupid question, I'm a total newbie and I wonder how much they'll get out of sync? For example if one of them will hold a camera and another one specific object, how much time they'll move as it supposed to be? I'm gonna use ready2_animate which allows me to play back time-based control programs
Do they get out of sync cause of inaccuracies of robots or there is another reason? -
don't know. you will need to do your own tests.
if the speeds and programmed motions are matched, it should be quite long before one can observe difference. but this also depends on type of programs and use of IOs - if there is something causing advance run stop on one but not another things will get out of sync right away.
-
Do they get out of sync cause of inaccuracies of robots or there is another reason?
Lots of potential reasons. One robot has a heavier payload, making it less aggressive on accel/decel in the corners. Robots are different models, meaning 100% speed may not be exactly the same for both. Very small speed/time differences in performance that are irrelevant over the short term, but accumulate over enough time. Minor program differences. Once robot is simply moving in a straight line, while the other is making big "swoopy" camera-pan motions -- the more different the motions are, the harder it is to keep them synchronized.
Ideally, you should keep the synchronized motions as brief and simple as possible. Break up the synchronized motions into separate blocks, if possible, and re-sync the robots at the start of each block.
I've never worked with it, but I understand that KUKA offers the EntertainTech option package for just this kind of thing. It's used heavily in KUKAbots that are part of amusement park rides (Harry Potter at Universal, the ski-slope simulator at Disney Legoland, etc).
-
panic mode
August 26, 2023 at 1:06 AM Moved the thread from forum Manuals, Software and Tools for KUKA Robots to forum KUKA Robot Forum. -
there are factors that will influence how robot navigates the programmed path:
type of motion
location of points
programmed velocity
programmed acceleration
type and magnitude of approximation
robot type
payload
mode of operation
proximity to safety zones
override velocity
etc.
but... as long as those are set and no longer tweaked, robot will always run same set of motions in same time. it will be very repeatable. this is something that can be used - you can have two robots, each doing their thing and both have waiting ad some common condition to run - they will each run - independently of each other but repeatably - again and again...
for example both can use several motions that are same of different between them but - happening at the same time. then they both can do something else (not synced) and if needed they can wait for another sync event to run another set of motions synchronously....
the point is that this kind of sync has no constraints. it is all based on an assumption that nothing changes. but if someone does change something or programmed motions depend on state of something else (IOs or variables) then of course they will start to deviate.
one good example is that robot may take different path based on program branching (IF statement) or IO for example. maybe the expression in IF statement produces different outcome and sends the robot to do something different. maybe there is something that influences advance run pointer. if advance run stop is triggered, robot will not take approximated path, it will go to programmed point (fine point) this means it will slow down, then speed up. if there is no stop, robot will take the approximated path and zip past programmed point in less time. such difference (briefly stop or move continuously) will of course have an effect on execution time. so during part of motion where robots are supposed to be in sync, you want to avoid things like branches, loops, IO access etc.
-
Hi Ilim Aisayev
If you generate moves in Mimic and run them with R2A, then that is time-based, and they should stay in sync. So use the method of waiting for input on both machines...
Eventually they might drift... but as pm says - test...
-
I've never worked with it, but I understand that KUKA offers the EntertainTech option package for just this kind of thing. It's used heavily in KUKAbots that are part of amusement park rides (Harry Potter at Universal, the ski-slope simulator at Disney Legoland, etc).
I have ready2_animate(basic and pro) and it's a next generation of EnterntainTech if i understand it correct. And I didn't find any of this functional in it yet but thanks!
If you generate moves in Mimic and run them with R2A, then that is time-based, and they should stay in sync. So use the method of waiting for input on both machines...
Thanks mate! I still have yet to understand the terms you're using, and then figure out how to use it cause as I mentioned I'm a total newbie but anyway I really appreciate you.