
Mac
Just a quick question:
I'm having an issue with the face tracking in that if a face moves off screen too quickly, it is, of course, lost. It would seem iRobot's head need to move more quickly to keep up (with a reasonably moving face) but if I set the servo speed over 2 it gets jerky and kind of scary. My frame rate is pretty slow. I don't remember the exact rate but it's under the lowest setting. I have the camera resolution set to 160x120, the lowest res. Would a faster computer help? I'm running it on an old quad-core, win 7 unit. I have an i7 Asus laptop but the vid card went belly-up (I think). I may risk the $70 for a used vid card replacement. I'm assuming the camera is a processor intensive process and that more RAM or better graphics won't help.
Thanks
1) Press CONFIG button on the connection control
2) Edit the script for the EZ-B #0 Connection
3) Add something like...
Code:
Each time the software connects, that script will run. The script must run for the servo speeds to initialize. The servo positions must be set before the servo speed command takes effect.
I haven't played much with the "steps". I'll give that a try. Thanks DJ.
The video card doesn't process the recognition algorithm - the video card displays video. There was an update to ARC a few releases ago with performance enhancements for face tracking. I would recommend upgrading to the latest ARC.
Based on your usage, the update to face tracking includes new parameters...
Once released do they have to be initialized again?
I sometimes see my servos jerk when I send a series of release commands to several servos (with sleep commands between the releases). Sometimes they jerk violently sometimes just a twitch, sometimes not at all. Any thoughts on this?
Also I highly doubt after a release, that you're putting the servo back in the original position that it was when released. Which means not only is it moving into a position because it had moved due to the weight of... ah i'm not finishing this sentence - it's common sense
Find out how a servo works here: http://www.ez-robot.com/Tutorials/Lesson/48?courseId=6
You, on the other hand, with those "Danger, Will Robinson!" arms, I can certainly see why you want to release them.
BTW, I have one of those digital servos, the Hitec HS 7950TH you used for the arms and modified the controller, I have one barely used if you'd like it. $75 a fair price? It didn't fit the servo housing in the top of the spine.
@DJ Thank for the info. I need to play with the new release a little anyway. I was having trouble with the face tracking after installing it. Dave suggested deleting the camera control and opening a new one. servo speed and slider worked fine.
Code:
I know this is Mac's thread so no real need to follow up on this here. I just thought this may be useful to him.
Mac, I would be interested in your very fare offer. Please contact me at dschulpius@gmail.com and we can seal the deal.
The servo holds position when the PWM starts. When it starts holding position, the motor starts moving. The motor may jerk, it may not jerk. It's irrelevant to the function of Release(). The release does what it does, releases a servo.
If your servo jerks, then it jerks. If it doesn't, then it doesn't. It doesn't matter to the command, because the command and the ez-b are performing exactly what the commands do.
RELEASE -> STOPS THE PWM GOING TO THE SERVO
That's it. There's no magic that can be good or bad. You can't STOP PWM badly. You can't STOP PWM incorrectly. Stopping something is the lack of doing something.
And the opposite is STARTING PWM, which is exactly that. You can't START PWM incorrectly either.
What is happening is the servo is initializing into a position and holding weight. The "jerk" that a servo may or may not experience is due to the servo beginning to "do something". It wasn't doing anything before because it was released.
Perhaps a better example is to provide a experiment example...
1) Extend your arm out and hold something somewhat heavy
2) Now ask someone to put pressure under your hand to relieve the weight of holding so your arm no longer feels the weight of the heavy object
3) Now ask the person to quickly remove their hand from assisting to hold the weight
Your arm is going to jerk. It's going to move. This is because suddenly the force that was supporting your arm is gone. Your muscles have to engage, they have to identify a position. They have to suddenly start doing something, because they weren't doing anything before.
Does that make sense?
Also would it be reasonable to have a drop down in each window for setting up the servo speed?
Code:
Of course DJ is the uber expert. I'm just pretending to know anything about all this, lol.
FYI, let's not worry about hijacking and what-not. This is good info.