Difference between revisions of "Water Cannon Robot"

From ivc wiki
Jump to navigationJump to search
Line 11: Line 11:
[[Image:robotic_arm_watercannon_left.png|300px]] [[Image:robotic_arm_watercannon_right.png|300px]]
[[Image:robotic_arm_watercannon_left.png|300px]] [[Image:robotic_arm_watercannon_right.png|300px]]


== Setup ==
== Build==
=== Arm ===
A company named Lynxmotion is offering an excellent range of parts to build a robotic arm. With all kinds of bracket and connectors, it's possible to build almost everything imaginable. Makes it very flexible to build things.
A company named Lynxmotion is offering an excellent range of parts to build a robotic arm. With all kinds of bracket and connectors, it's possible to build almost everything imaginable. Makes it very flexible to build things.
[[Images:Robot_arm_armassembly.jpg|300px]] [[Images:Robot_arm_baseassembly.jpg|300px]]
[[Images:Robot_arm_standingassembly.jpg|300px]] [[Images:Robot_arm_headcloseup.jpg|300px]]


== Remote Control ==
== Remote Control ==

Revision as of 15:43, 8 July 2009

Lately a friend of mine and I have talked about a new robotic arm project, as a summer activity. The idea is to create a stationary autonomous robot that can detect motion in the immediate vicinity and activate a pump to spray water in the direction of the object.

The project will be based on servos, brackets for mechanics, electric pump, motion and range sensors, video streaming, and java programming/sequencing.

Sketch

This is a sketch drawn in Google Sketch-Up. Took approx. 1.5 hour to get the base done.

Robotic arm watercannon overview.png Robotic arm watercannon closeup.png

Robotic arm watercannon left.png Robotic arm watercannon right.png

Build

Arm

A company named Lynxmotion is offering an excellent range of parts to build a robotic arm. With all kinds of bracket and connectors, it's possible to build almost everything imaginable. Makes it very flexible to build things.

300px 300px 300px 300px

Remote Control

The final idea includes the ability to remotely control the arm. The Java API for the Phidget servo controller allow for remote calls via IP. The only difference is to use a different "signature" a.k.a number of arguments when calling the servo Open() function, and to specify the IP address and port for main machine where the controller and network service is running.

Live Video

As for the streaming software, it had to be something with zero buffering, low-delay, and compression overhead. I tried the free Windows Media Encoder and Expression Encoder kits to stream via the MMS protocol, but I couldn't get the buffering/delay below 4 seconds.

Turned out only a more proprietary application/protocol could deliver the real time stream I wanted. Unreal Streaming Technologies develop three components for streaming video; Live Server for each camera, Media Server to aggregate all the incoming streams, and the Media Player to receive the streaming either directly from the Live Server or via the Media Server. Free but with some limitations on number of streams and codecs.

File:Robotarm inputlag.jpg

The real time input lag is no more than 300 ms, which is very respectable.

References