Asked — Edited
Resolved Resolved by DJ Sures!

Question On Playback Rates

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?


ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

PRO
Synthiam
#1  

Ah yes - this could be one of three things...

  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.

PRO
USA
#2  

Thanks for the info. I think I’m going to pick up another laptop tomorrow. Something tells me something did not upgrade properly with win 7 to win 10 upgrade that happened to this computer a few months ago.

PRO
Synthiam
#3  

Can you install windows 10 from scratch? If the upgrade is valid, a full installation should be possible as well.

#4  

You can run task manager, or for more details resource manager to see if something is taking processor cycles or memory. From your description I don't think it is the comm port being slow, since once it receives a command, the EZ-B should execute it at the same speed, so actions could start late, but should run at the same speed once started.

Are both 64bit windows installs? Should not matter since ARC is 32 bit, but another data point.

Alan

PRO
USA
#5  

@dj I could but this laptop is for all my 3D printing and has a lot of software. This was an upgrade and I remember there were some unknown devices (3) that drivers could not be found. It is possible they could be usb related. I’ve since uninstalled because I read somewhere that a reboot would reinstall. It didn’t. But I lost any info to look up. Also ASUS only has win 7 and 8.1 drivers on their website for this computer :/

@alan yeah first thing I did. Nothing chewing ram or using clock on cpu... very quiet.

PRO
Synthiam
#6  

Task manager can only show a queue of cpu messages of tasks. The "percent of cpu usage" isn't what most think - so you most likely won't see it in the task manager. Specially serial/usb communication and if the device driver thinks it's dooing it correctly

#7  

I've tried this out as well and play back is quite slow. A 15 second recording plays back at about 90 seconds. I'm running Windows 10 and had nothing else running on the computer.

PRO
USA
#8  

Bob, can you give some stats of your computer. I would like to compare.

#9  

@ fxtst, here's you go. It's a Dell Inspiron 15 Laptop (nothing fancy) and I realize it may not be able to do any better.

User-inserted image

PRO
USA
#10  

My proper running laptop ( real time) has similar specs. Do you have a windows 7 computer you can try?

PRO
Synthiam
#11  

Bob - I wonder if there’s other controls running that are taking a lot of cpu. Could you give me a list or screenshot of the project? And what’s running and what isn’t?

PRO
USA
#12  

I just checked my Asus laptop and its running at about same ratio, about 1 to 3 same as Bobs.

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.

PRO
Synthiam
#13  

It’s not a problem if it’s a behavior. The speed of the computer combined with the factors I listed earlier (look at first page of this thread for refresh)

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

PRO
USA
#14  

I'll just bring this up and lay it on the table for you to look at.

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

#15  

@fxrtst, no I don't have a computer with Windows 7 on it. @DJ, is this what you were looking for?

User-inserted image

The servo Pads and Recorders are on Screen 2

PRO
Synthiam
#16  

I imagine that their software works fine because you define and create the servo animation. Recording data is a completely different thing.

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.

PRO
USA
#17  

My insistent query is usually struggling to understand how things work. That’s my nature. If something doesn’t work or works in a surprising way ( to me) like this recorder, then I’m going to ask a lot of questions so I understand why. Then at the end of that, I’m sitting there either still not understanding why , or I do but I want to offer a suggestion about a possible way to think about it from another angle, (Suggestions based on some 30 years of professional animatronics , servos, and countless programs to control them), then I’m going to.

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

#18  

I think I know what DJ is saying: when you record, you are not recording the movement (as you would be doing with a video), but you are recording the data that causes the movement. Depending on what operating system you are using (in this case, Windows 7 vs. Windows 10), that data will be read at a different rate, because that is how the developers created/changed the operating system.

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! :D

#19  

I think what @DJ is saying is we are recording the "data" as movement on any given device with what ever device parameters it might have.

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.

Germany
#20  

I have the same problem with servo Motors and DC Motors via H Bridge.. it doesn't matter what kind of Computer I use.. the wireless place and Fitzbox direct connection or connet to my own Network-Card change the speed-time. in the living room my robot works fast.. in the bedroom, not.

regards

PRO
Canada
#21  

Think you want to narrow it down to either hardware or software. Simplest way is to boot off a clean image and without any complex drivers installed. Sounds like something is generating interrupts that is causing your system to lag and that could be anything from a bad video driver, background process or even a virus or malware. I would start with a clean boot of windows and take it from there

https://support.microsoft.com/en-us/help/929135/how-to-perform-a-clean-boot-in-windows

PRO
USA
#22  

Thanks Nink good advice. I need to have two different laptops running to demonstrate both Alan and Alena at the same time. Time is money, so just going out and buying another laptop, but was comparing notes with Bob in hopes to avoid a new computer with the same slow results. That would make me very unhappy.

PRO
Synthiam
#23  

Maybe what i can do for you is a create a plugin that doesn't record data, but records servo positions.

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.

PRO
USA
#24  

...that might be interesting indeed...i look forward to what ever brilliance you come up with...it will always be useful.

PRO
USA
#26  

Brilliant ! Brilliant ! Brilliant!

PRO
Synthiam
#27  

Does that mean it worked?

PRO
Synthiam
#29  

That’s great to hear the voodoo works. To keep the conversation in the same thread, I removed the other.

PRO
USA
#31   — Edited

...I'm having the old problem with the servo recorder plug in, where it played back at different speeds on different computers. I have not had that problem since DJ fixed it by recording servo positions. I opened a file with servo recorder on it from last year at CES. Playing it on a different computer than I recorded it plays back super fast like the old issue where the plug in was recording data and not servo positions. Can anyone else confirm this?

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.

PRO
Synthiam
#33  

I cannot confirm the issue. Perhaps verify the computers are using the latest version of ARC and all plugins are up to date

PRO
USA
#34  

Ok I’ll run some tests and collect data.

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.

PRO
Synthiam
#35  

The plug-in uses the high resolution system clock - so I can’t see why it would run different speeds on different computers. Unless the computer is underpowered for the skills and features that are enabled in arc. Lots of resource hungry displays such as adc graphs and such may be a culprit. But generally ARC is pretty fast even on slow PCs

PRO
USA
#36   — Edited

Yeah its a head scratcher...I think I even had issues on the original computer that I recorded them so might just be old versions of ARC /servo recorder on each of those laptops, as you suggested (both only 3 years old).

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":D