
Ok im having a head scratcher today. I connected Alan and Alena up to different laptops to run them simultaneously. One is an older Apple Mac Pro with bootcamp and Win 7. The other is an asus PC Laptop Win 10. Both are i7 quadcores both have 8 megs ram. Both are connected to the EZB via serial/usb using a osepp FTDI. Both are in maximum mode under power options:
BUT The Asus is running my recorders at half the speed as my Mac Pro. I have tried rebooting, changing com ports etc. I've killed and rebuilt animations with recorder, same issue no change. No background programs running either. Alan looks like he is in a slow motion movie "noooooooooooooooo"
When i move the robot over to the Mac running Win 7it runs at perfect speed as it should.
Question is:
What should I be looking for on the Asus that would be slowing down the data?
1) Windows is not a real-time operating system. So the closest the timing can be calculated is within an acceptable tolerance defined by the cpu capabilities - and workload. So shut down as many apps as you can. Background processes etc.
2) the network driver could have a program running or virus scanner. Start from a bare bone windows install. Always bare bone otherwise no idea what is intercepting network packets
3) the cpu differences of threads and cores. ARC is multitasking and it may be sharing cores or threads waiting... I don’t normally experience this - well, never have experienced it. But it’s a chance if it’s not an I5 or i7 cpu. Any of the mobile cpus like Intel N or amd I’m not familiar with and can’t say how they’ll perform.
Are both 64bit windows installs? Should not matter since ARC is 32 bit, but another data point.
Alan
@alan yeah first thing I did. Nothing chewing ram or using clock on cpu... very quiet.
60 seconds recording played back at about 180 seconds.
The other laptop with the same project at about 1 to 1.1 ratio
Computer 1: Win 7 professional ,8 gigs ram, i7 intel quad core 2.5 ghz (real time playback)
Computer 2: Win 10 home, 8 gigs ram, i7 intel quad core 3.0 ghz (3 times slower)
Both run Panda antivirus and i tried disabling, same results.
Just adding details encase we see a relationship to the same problem.
A problem is something that can be fixed.
This is not something that can be fixed because it’s a behavior. Windows time slices between tasks. And the smallest thread sleep available can vary. This means the accuracy of super small millisecond delays will be limited by the operating systems ability to work within the speed of the cpu.
Sometimes this means that anything less than 10 milliseconds actually takes 15 milliseconds. In your case, I’m guessing it’s 1 ms is actually 3 ms
This means the thread is told to wait 1 ms but the cpu can only deliver 3 ms accuracy
You can find more on this topic using google
Before EZB I did all my work with this software and a SSC-32 card.
The software grabbed my attention (15 years ago) because they claim they have solved the timing issue with every computer. That is they say their software will play at exactly 30 fps regardless of the computer. Exact same frame rate on all PCs, i guess like a genlock.
It does what it says. I build animations on a desktop and move over to a laptop the play back is exact...everytime.
Perhaps the difference is between moving positions and recording vs recording the motion live and playing back with the recorder (much larger overhead?)
Here is a link to the software for a free download. There could be something inside useful.
VSA servo animation
@DJ, is this what you were looking for?
The servo Pads and Recorders are on Screen 2
What you're thinking that I said is "an mp3 would play faster on one computer than another". That's not what i am explaining. You can re-read what i typed, save me from retyping it
Is there another way it can be done? Yes - if someone created an animation plugin like the program you referred to which allowed you to specify servo positions... Or, you can use the auto position. The Auto Position is an example that timing per cpu is fine IF it’s designed that way.
But with recording data - which is what this conversation is about - "recording data" because that's what the recorder does. Records data.
There's not benefit for me to tell you otherwise. If there's a way to do something, i always do. If i tell you i can't do something, it's because I can't.
Bob was experiencing the same thing as me so why not try and figure out a solution? If there is none then there is none. The Recorder is yes just that, a recorder, but it’s also a playback control, otherwise why is it recording anything?
The program I referred to was only to say they figured out how to run at at the same rate on any computer. That’s seems like a positive observation, I wasn’t criticizing EZ ( after praising you today) or asking you to rewrite anything.
This based on your first unedited post
You may have 1ms of data, but Windows 10 is processing it as 3ms, as that is the smallest increment it will do.
@DJ_Sures: did I get it, or did I make the water even muddier?
The solution (IMHO): ditch Windows 10 and go back to Windows 7. As an aside: I've been using Windows since version 3, and I can say from experience "newer" is not "better". And despite the fact that Microsoft is trying to force us into giving up control of our operating systems, many of us are fighting to hold on to the older O/S's as long as we can.
One "good" thing that may come of this was that I am planning to set up a dedicated EZ-Robot machine; I know now to avoid Win 10!
You could record movement on an Windows 7 device i7 process and 8gb ram and potentially have different play back speed on a different Windows 7 device that is not the same specifications.
That means if you want to make a recording in a project and have it play back the same way you need to record it and play it back on the same device. You might need a work bench laptop and demo laptop to be the same (2 of the exact same model and OS). Or if your robots all use an embedded PC like the lattepanda you'd need to be aware that you can't record your movement on a laptop and then play it back on the lattepanda and expect the same result.
That is an important nuance to know and understand, I certainly did not know that before about this control.
in the living room my robot works fast.. in the bedroom, not.
regards
https://support.microsoft.com/en-us/help/929135/how-to-perform-a-clean-boot-in-windows
You see, the "Recorder" is recording actual data - so that's everything from digital ports, sending serial, sending i2c, etc...
So what you really want is just servo positions be recorded. Let me whip something up for you tonight when i'm back at my hotel.
My main concern is recording all the servo animations for the bartender robot on my laptop computer and then sending it over to the latte panda and having it playback at different rate.
I don’t remember what version I was using back in late 2018 when I created those animations. But I’ll make sure every computer is updated to the latest ver and plugins and test again.
As far as the Latte Panda in the bartender robot...I have all 24 slots filled in the EZB ...so def putting the Panda through its paces. Good thing is if have to go to a more powerful computer I have plenty of room under his "skirt"