
glycol79
I have been building robots for a long time, PIC, Basic stamp, Arduino and even the Evolution Robotics ER1.
And Always wanted to build a good robot that i could drive across my house and interact with my wife and kid while I'm on businesstrips.
So my suggestion to DJ is like this. Maybe some kind of webserver inside of EZ-builder. Then you or your friends connect to the ARC and command the robot via webGUI. Much like the Rovio or spykee robots. But you get all the EZB goodies. And speech and visionrecognition would continue to work.
Then i really could scrap me Spykee for parts because it Always hits something and falls over when Im not at home(lack of intelligence and videolag).
Or TeamViewer or Spashtop for total remote control of your ARC desktop without worrying about port forwarding. Teamview is free. Spashtop has a yearly subscription for internet control, but is better optimized for video.
Alan
Appending to everyone's responses, here are links to the two controls for HTTP Server that is already built into ARC...
HTTP Server: http://www.ez-robot.com/Tutorials/Help.aspx?id=48
This http server acts like a "vnc" and has pre-built web controls
HTTP Server (Custom): http://www.ez-robot.com/Tutorials/Help.aspx?id=48
This http server allows you to create your own HTML pages with your own design. There's a manual on what "Tags" you can use to display custom information, custom buttons, and camera images.
I'm very new to the EZB stuff thats why I have thousands of questions
This is the good stuff with ezb. The sensors on the robot Will stop the motion before I hit something. And running ARC locally helps to prevent lagging in important functions. If remote video lags the bot Will stop on sensors. I also has a failsafe. An arduino monitors motorcurrent and bumperswitches. If motors stalls or a bumper is triggered, the arduino cuts main power. After that only the arduino is powered. I can restart by sending an ir-command from my homeautomation system.
Arduino listens for commands, such as "move forward, turn right, stop, etc" from the ez-b. The Arduino also monitors the bump sensor, if the bump sensor is triggered, it stops the movement.
The EZ-B just keeps doing what it does....
It's an old robot, that had a raspberry brain before. It's a modified Omnibot 2000.
The bottom with the motors and gearbox are rebuilt. It now uses the steppermotors from the Evolution Robotics kit. These are very powerful. The arduino drives and monitors the stepper drivers. And the ezb Thinks its a regular H-bridge.
The reason I cut Power to ezb is because sometimes when i had the raspberry in it would freeze and the robot Went crazy. So i needed some way of rebooting from a remote location. I also had my server go down on me when playing with the ezb.
Same thing happened, the robot continued driving forward until I rebooted the ezb.
Is there a way to shut down all outputs when Connection to ARC is lost ?
So here's what i recommend..
1) Connect SaberTooth to EZ-B v4 for direction movement control
2) Connect one of the Arduino's digital pins to a high amperage relay that provides power to the sabertooth. By default, the relay is ON
3) Connect Arduino to monitor bumper stopper in a constant loop. When bumper stopper is triggered, disable relay. Disabling the relay will STOP the sabertooth in it's tracks because the relay is what provides power to the sabertooth.
4) In the Arduino's "monitor bumper stopper loop", also add a check to receive a serial command from the EZ-B to "re-enable relay". This way, if you ever wish to STOP and RE-ENABLE the Sabertooth remotely, you can still do that from ARC by sending a serial command to the arduino.
This whole setup only needs...
- 1 wire from ez-b to arduino
- 1 wire from arduino to bumper switch
- 1 wire from arduino to sabertooth relay
- 7 lines of code on arduino
Voila! What do you think?
On second thought... I think DJ's method would be more elegant and efficient...
My idea was to rewrite some of the code in the arduino to accept sabertooth commands from ARC via serial instead. Doing it this way I can use the sabertooth controller in ARC instead of writing my own.
And I will make DJ's relay thingy, but with dual relays. Because sometimes ezb looses connection with the server but remains on wifi. And I can´t reconnect without rebooting. Maybe a firewall issue also.