So, I've gotten my wireless camera I bought from EZ Robot temporally mounted on top of the brain of my B9 and powered from the 3rd EZB I've got mounted up there. That makes it about 6 feet above the ground and pointed down to capture movement as people walk past. The idea is to have the radar section swing left or right and follow the movement. I had no problem setting it up and having EZ Builder recognize it after adding the camera control. I got a good clear picture from the camera with little noise. So far so good.
A couple more things: the radar section the camera is mounted on is powered by a small DC gear motor and a H-bridge that is hooked to two of EZB's digital ports (one for each direction of the motor) and also a third for a PWM. So, this being a H-Bridge set up I added the 4 Wire H-Bridge Movement Panel and assigned the proper digital ports for left & right movement. I can press each direction arrow in the panel and get the radar to swing left and right smoothly so I know it's connected and working.
The problem I'm having is that after setting up what I think is the proper settings in the camera control panel I cant get the radar section to follow movement properly. It will notice movement to each side and start to turn in that direction but quickly stop. I can get it to follow me across it's radius if I move very slowly and wiggle around a little but it's a stop and go process. Also it seems to get distracted and focus on other things like stuff laying on the workbench. Almost like he has the attention span of a 1 year old kid that's board with me.
I see there are several settings within the camera control panel that can be adjusted. After tinkering with a few of them I did get better response and tracking but nothing close to what I see in DJ's videos. I have "Motion" checked in the Tracking section and in the Config section I have "Enable Movement Tracking" checked with only the "Allow left/Right Movement" checked.
Does anybody have any suggestions on how to adjust the settings to get my tracking smoother and follow motion of a person walking past better? I'm not sure what to do with the cross hairs of the grid, Motion Delay in the Config area, Tracking speed and the two sliders in the Motion section that adjusts Movement sensitivity and Object Size. Then there is the "Check Every ? Frames" box. I'm getting flustered with all the choices with no real results.
Any advice is welcomed.
Thanks, Dave Schulpius
Asked
— Edited
I also get phantom detection, I put this down to low light. However that is on face and colour detection not movement. In the processed video it'll change to green when it detects movement, when it gets bored of you and looks at what's on the workbench what happens in the processed video?
Check every ? frames I believe waits x amount of frames before looking for movement (to counter it's own movement which would be detected otherwise). The higher the value the less likely it will incorrectly detect movement but also will respond slower.
It took me a while (changing all settings bit by bit) to set mine up so it was responsive enough but not too sensitive. For me it was a case of trial and error (lots of trial, lots of error) to set it up just right.
From what I gather you have the right options ticked and the controls set up correctly, it's just going to be a case of tweaking those settings.
I have tried to move the two horizontal grid lines totally to top and bottom of the screen and bring the two Vertical grid lines in to capture about a 1/4 of the center of the screen. That leaves me with only two vertical lines visible. I wonder if it's a mistake and I need to bring the two horizontal lines back in?
When it starts to look at things hanging on the wall or on the work bench I see the area turn green and a little box appears. Perhaps it thinks it sees movement where there is none. Maybe a shiny tool or some reflection is sees? Don't know. I do know it focused in on a shinny handle of a whisk broom and seemed fascinated by it.
The Debug window shows activity but it just doesn't seem to follow motion enough.
I think the key will be in the "Check Frames" value and also the "Object Size" and "Sensitivity" sliders. I need to figure out the right Grid placement also.
It's good to hear from others that have fought this battle and how they won (or lost). Thanks for the input. Hope others will chime in.
Still, I'm hitting other problems that may just mean that I'll have to scrap this idea. Too bad cuse it's really real cool watching him track me as I move. As I said above I'm using a H-bridge and DC gear motor to move the radar back and forth on my B9. I can get it to move and follow smoothly as long as I don't move past too fast. Then it just stops and sometimes starts looking around. I could live with that I think. However my new problem is that I have the camera mounted inside the plastic bubble with all the blinking and moving lights and I'm getting false movements when it picks up on all the moving and blinking reflections. To add to the problem when the neon flashes from his voice the camera really picks that up and he'll slowly move towards the bright reflection. Sad because I don't think there is a fix for this other than moving the camera out of the bubble and there is no other place I want to mount it so it won't stick out like a sore thumb.
Anyway, here's a recording from the camera mounted in the bubble and you can see what it sees. Again, very cool. Enjoy! :
You have to remember, anything that moves is considered motion. Even a light is motion. Even a shadow is motion. Even a cat is motion. Even a chicken carrying the easter bunny on his back is motion. Anything that moves is motion
You will need to cut down on the strobe light in your work area to accurately track motion. Less partying and more robots
I am not sure if your radar is hollow or not. Since I am making mine, I can design it that way.
Again, it is just a thought. I am willing to make some compromises in mine for the sake of functionality, and quite frankly, a lack of resources and skill. But, I can certainly understand if you don't want to spoil the looks of yours. It really is a work of art.
In many cases, the camera will benefit from sitting still. And the servo Track Relative Position option (found under Camera -> Configuration) will help you.
It's best to play with different setups and learn how the settings work before making a decision.
I think my only option is to move the camera outside the bubble. Danger, your idea is a good one and may work nicely. I wish I would have thought about this before I completed the finished the paint job. I think I may have room in the radar in the place you showed but right now I'm not willing to tear it all apart and drill holes. Maybe later on.
I'm interested in the relative servo position You mentioned DJ. Will this work with a H-Bridge set up?
Thanks again for the comments and suggestions.
Dave Schulpius
We see through the eyes of the robot as he first becomes self aware. Confused, he looks around the room, slowly at first, and then more frantically. The inventor is back to, busily working on the computer. The red flashes of light and streaks across the screen would be a plot tool to denote danger. The ominous music would continue to build, and then suddenly.
Wait a minute; Brett is the horror author here. I'll let him finish the story. Sadly though Dave, it doesn't look like it's shaping up to be a happy ending for you.
I was just thinking about something. You know how your body swivels with an HBridge and a POT? That's a giant servo, essentially. What if we helped you turn it into a servo? That way, you won't need any code in ARC... You would be able to simply use it as a servo.
I'm thinking of one of two options..
1) Connect the HBridge to the guts of a servo. i.e. replace the motor of a servo with an HBridge.
2) Use an embedded microcontroller (i.e. arduino) to simulate a servo using your existing POT and HBridge.
Let me take a look in the lab and see if I can come up with something for those two. This will simplify your project a great deal and benefit others who are doing the same.
He connected the motor leads from the servo PCB to his HBridge..
The issue is with jitter. I assumed that would be a problem because you cannot adjust the sensitivity. However, if you used the servo AutoRelease Control, combined with a ServoSpeed() setting of around 3 or 4, it would be less noticeable.
This guy did a neat idea... The wiper motor is controlled by an HBridge. He kept the servo only for the internal POT. The servo has the motor removed, and is only using the POT. This way, the servo PCB controls the HBridge and references it's position by an ingenious relationship between the motor and servo POT.
It's an HBridge and servo board all in one. Geez, can't get any easier than that
www.robotmarketplace.com/products/images/0-SHB-01.jpg
Danger, I love your description of a mad scientist and his creation walking up behind him. I watched my vid again and that's exactly how it looked. It had that bad "B" film feel and look to it.
I don't know if this helps you or not, but here is what I'm doing.
As I said, I am working on the waist section. Getting a servo big enough to lift the entire top half of him is out of the question for me. If you look at the second video that DJ posted on this page; I tried that a while ago. I couldn't get it to work. I am doing a similar thing but with mechanical connections, rather than electronic.
I don't know how easy it is to make out in the picture. The servo is connected to the bottom plate. The little push buttons are connected to the top. They trip the relays on the H Bridge and the motor (not visible on the bottom) moves the top plate. I am kind of at a "proof of concept" stage now. I will be modifying the head of the servo with some sort of a larger paddle, and there is a little slack in the buttons, but it works surprisingly well right now. The top plate follows the servo exactly, with no hesitation or flutter. When it gets done, I will post a video.
More moving parts do create the potential for more problems. I am a little concerned about that, but until a better work around comes along, I intend to go with this and make a similar setup to turn the radar.
It does save plugs on the EZ-B using one servo instead of an H Bridge and feedback pot. It also completely eliminates the chance of a voltage spike feeding back from the motor.
I am not sure if you could even work this sort of a setup into your system, but it might be food for thought.
This picture is a side view. As the servo rotates, it pushes one of the buttons; let's say the red one. From this view, the left side of the top plate would go down as the right side goes up. Both buttons swing along in the direction of the movement of the servo. As long as the servo is turning, it holds pressure against the button. Once the servo stops, the red button starts to pull away from it, it releases and the motor stops. If you watch it in action, it is as though the servo is attached to the buttons and swinging the entire top plate back and forth. The small buttons on either side are stops. It moves until one of them hits the bottom, and shuts it down.
I'll have to post a video, but I need to create a Youtube account, and in order to do that, a Gmail, etc.
Right now I am only using a servo control to move it. I have not tested the actual camera tracking with it yet.
Unfortunately, to make the radar rotate, the servo will have to be placed right in the center underneath it. Basically, the servo is placed as if it is actually turning the part. The buttons just activate the motor to haul the weight around. It is something like power assisted steering.
This is a short video of the mechanism in action. I uploaded it to my brother's Youtube account. I was going to wait until I got all of the bugs worked out, but this will give you an idea. It is kind of poorly lit, but you should be able to make it out. The servo needs to be adjusted down a little bit. It is not in the center of motion. Also, the horn of the servo needs to be replaced with something rectangular that makes better contact with the buttons. Once all of that is done, I can adjust the buttons to take all of the play out.