Author Topic: Complex animatronics  (Read 5314 times)

Offline bobschm

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • Rollie and Dan
Complex animatronics
« on: December 15, 2017, 07:23:00 AM »
I'm considering changing from LOR to Xlights, but I'm leery of trying to control my penguins. Currently they run with a couple of LOR Servodog boards. I program with TrackSkull using a track IR camera or Vjoy and some mechanical sliders. Trackskull creates a file of movements that it outputs as an LOR file. It can also output a VSA file. This is a cluge, but it works.

Has any one successfully run a Servodog board from Xlights? How?

Would I be better off using a Servocity.com Pololu Mini Maestro?

Are there any plans to include animatronic servo as a standard model?
Never eat someone else's fish.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Complex animatronics
« Reply #1 on: December 15, 2017, 07:33:04 AM »
I don't know the Servodog board...will it run from DMX commands?  If so xLights can most likely already run your animatronics.  How many servos are you running to control each penguin?  I wrote Import code that can read VSA files and map the commands to servos in a DMX Model.  Here's a demo showing how I imported a VSA file into xLights and controlled the servos in this Skulltronix Skull.
https://www.youtube.com/watch?v=2LRjWVWVDh4

Offline bobschm

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • Rollie and Dan
Re: Complex animatronics
« Reply #2 on: December 17, 2017, 02:23:39 PM »
well, that looks promising. After the holidays, I might grab a Mini Maestro board and experiment, The ServoDog runs off the LOR USB dongle so I suspect it's not pure DMX. As long as Xlights can be made to understand VSA, I think I can get it to work.

Ill check back here aft the New Year.
Thanks.
Never eat someone else's fish.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Complex animatronics
« Reply #3 on: December 18, 2017, 07:25:43 AM »
For the VSA import to work it needs to be a DMXModel in xLights that is receiving the data.  There needs to be min/max limits set for each servo in the model and I use that info to convert to a 0 - 100% command for each ServoEffect.

Offline JonB256

  • Hero Member
  • *****
  • Posts: 832
    • View Profile
    • My Christmas Website
Re: Complex animatronics
« Reply #4 on: December 18, 2017, 07:31:02 AM »
The ServoDog runs off the LOR USB dongle so I suspect it's not pure DMX.

The LOR USB dongle does output accurate DMX-512. Unless they've improved it, it isn't the "cleanest" DMX waveform compared to other sources.


Offline bobschm

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • Rollie and Dan
Re: Complex animatronics
« Reply #5 on: February 01, 2018, 02:20:19 PM »
So now that my lights are done for the year, Ive been studying this again.

The Skulltronix model looks promising. My penguins use 7 channels of the 8 channel Servodog each (jaw, head yes, head no, left flipper, right flipper, eye right/left, and blink). They appear as LOR channels with standard looking ramps for control. So as far as LOR is concerned the Servodog is just an 8 channel LOR box. The Servodog takes the LOR signal and converts it to PWM the servos. All the ranges and limits are set inside the servodog with an LOR hardware utility. What board does Skulltronix use?

Gil, your VSA import looks good, but it seems that the skull comes in with everything on one model. How do you edit ,for example, just the head pan in Xlights? I program these guys one servo at a time, and import that curve into LOR. Each servo has its own trck in the LOR sequence, so tweeking is just a matter of entering that one point on that track.

Never eat someone else's fish.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Complex animatronics
« Reply #6 on: February 01, 2018, 04:12:02 PM »
The way I handled it was I imported each servo onto a different layer so each layer was dedicated to one servo.  You could import them one at a time no problem.  The import dialog lets you control it all.  The Servo Effects you use are set to only run one servo per effect.  You can use value curves to create complex position curves.  I don't think there's much you can't do.  It may not be the prettiest way to view it but we aren't really specialized for this type of usage.

Offline skulltronix

  • Newbie
  • *
  • Posts: 44
    • View Profile
Import VSA error
« Reply #7 on: June 20, 2018, 12:19:49 PM »
Hi, I'm trying to import a vsa file. I watched the video and I setup the skulltronix skull model and vsa routine to match.

 I get the error "Unsupported Event Type! Halted".

 I've tried VSA Ultimate and VSA Open.  My setup in vsa matches the setup in xlights. The setting for controller though ony gives options for ports. Is this the issue? Am I supposed to know what port number is used by the USB Enttech adaptor? 

After the error the window comes up to Assign VSA Tracks to Xlights Models/Layers.  The window is empty.

Offline bobschm

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • Rollie and Dan
Re: Complex animatronics
« Reply #8 on: August 01, 2018, 01:20:52 PM »
Finally getting into this. Watched Gil's VSA import video from a year ago. I notice back then the Skulltronics model had 7 servo channels with definable limits, as well as some color light channels. The 7 servos would have matched with my penguins perfectly.  Now (ver 2018.23) the "Torso" is not in the default Skull. Can I add servo channels to the model? How?

Or is there a separate "Servo" model I haven't found yet so I can just put seven of them in the layout?
Never eat someone else's fish.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Complex animatronics
« Reply #9 on: August 01, 2018, 01:53:39 PM »
Nothing got removed so it was never in there.  I'd need to add the Torso.  The channels are already there in the model but there are no limit settings so not sure you could use it without me changing the code.

Do you happen to know the default Torso servo limits?  I believe the Torso is channel 21 between Tilt and Eye Brightness.

Offline bobschm

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • Rollie and Dan
Re: Complex animatronics
« Reply #10 on: August 01, 2018, 06:41:28 PM »
I notice that Torso is still in there when you go to strand/node names. Both Torso and Torso Fine are minus signed in the list.

Not sure what's going on as I'm new to Xlights.  Do you think I could make up the missing servos I need by using pan and tilt on a moving head light along with the Skulltronics model?
Never eat someone else's fish.

Offline Gilrock

  • Supporting Member
  • Hero Member
  • *
  • Posts: 6946
    • View Profile
Re: Complex animatronics
« Reply #11 on: August 02, 2018, 07:33:37 AM »
Yeah that must be what you saw before.  I had the node names there but not the channel and limits parameters.  Yes if you want to use a second DMX Model to cover another servo it will work if you know how to use it.  Just keep in mind there really aren't different models there.  The DMX Model is always the same model it just adds in some parameters when you select the style.  Also all because you select the "Skulltronix Skull" style doesn't mean that its only useful for a skull.  You would NOT want to use the Moving Head style because it will not provide the servo limit parameters.

So here's how I believe you would add a single servo.  Add a DMX Model set to skull style.  Zero out all the channel definitions because xLights will ignore all servos and channels that you say are 0.  Tell it there are only "2" channels.  Set the start channel correctly to map to your servo which you could probably do using an offset of 21 from the start of the first skull model...or maybe it's 20...experiment.  Then define one of the servos lets say you use "Pan".  Set the Pan channel to 1 and then define the pan servo limits and degrees of rotation and start angle.  Now you've just created a model that will control 1 servo with the only quirk that it will draw a weird skull.  So I did plan at some point to add a generic style that would give up to 3 servos that could be used for anything.

Or you just wait for me to update the code since that process will drive you batty.

Offline bobschm

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • Rollie and Dan
Re: Complex animatronics
« Reply #12 on: August 03, 2018, 07:53:44 AM »
 :o Driving me batty  Haha!  Thank you Gil. Makes sense that the skull model can be used as a generic "servos galore" model (Why didn't I think of that?). I'll keep fiddling with this while I await your updated code.


Never eat someone else's fish.

Offline bobschm

  • Jr. Member
  • **
  • Posts: 59
    • View Profile
    • Rollie and Dan
Re: Complex animatronics
« Reply #13 on: August 31, 2018, 08:59:10 AM »
Gotta reopen this discussion.

ServoDog set as LOR unit 4 (ch 25 according to LOR DMX literature since the ServoDog is an 8 channel LOR board, not 16.) And I believe it is an 8 bit board (0-255 steps)

Servo 1 is jaw
Servo 2 is nod
Servo 3 is pan
Servo 4 is eyes L/R
Servo 5 is eyelid up/dn
Servo 6 is left arm raise/lower
Servo 7 is Right arm
Servo 8 NC

ServoDog handles all limits and trim internally. Send it 0-100%, just as if it were an LOR board with an incan light, and the ServoDog converts to PWM for the servos.

works fine using LOR dongle and LOR hardware utility 

Falcon F16V3 serial output 3 cat 5 to ServoDog (jumpers to LOR position)

Having a devil of a time deciphering addressing this board and deciding what to use for a model.

The Skull model looks promising, but I think I can just treat the servos like light bulbs. I can't get either to work. Probably an addressing problem as I'm completely confused by section 4.2.5.7 of the Falcon manual.

Is there a video showing how to get a Falcon to talk to an LOR board?
Never eat someone else's fish.

Offline JonB256

  • Hero Member
  • *****
  • Posts: 832
    • View Profile
    • My Christmas Website
Re: Complex animatronics
« Reply #14 on: August 31, 2018, 10:06:21 AM »
The Falcon boards, even though the Jumpers say LOR, only output DMX protocol, it just puts the data on the correct wires of a CAT5 cable. I know nothing about the LOR Servo dog other than folks really like it, but does it accept DMX?