Youtube Videos of Research
taypworm — Tue, 01/13/2009 - 00:59
I posted a couple of Youtube videos of some of the research I've been involved in. These demos are pretty old. Expect some new stuff in the next two months.
This video is a sensor sharing demonstration. It begins with two robots driving in formation. To do this they are using their laser measurement systems and fiducial markers. About half-way through the video we force the rear robot to shut down its laser -- it can no longer see. The robots rotate 180 degrees, then the lead robot sends its laser data over a wireless network to the following robot (via Society). The rear robot processes this information to determine where it resides in the lead robot's laser field. The lead robot then escorts the rear robot to safety using sonar obstacle avoidance.
In the next experiment a human controller would assign waypoints to a group of four robots. Each robot was either a "green" or "red" robot (labeled by the goofy colored "hats"). Robots could only visit waypoints of their color. A waypoint of both colors required a robot of each color to simultaneously be present to be considered "accomplished". Rather than assign waypoints directly to a specific robot the controller interface would allocate the waypoint to all robots of the desired color. The robots would the bid on the waypoint. The robot with the lowest bid was allocated the waypoint. In this way, the most optimal robot was always dispatched to the waypoint. What you will see: The large background image is the human control interface. The top video is a feed from one of the robots, while the other three are from stationary cameras mounted throughout the environment. The colored cones in the environment were placed as a visual representation of waypoints for spectators.
- taypworm's blog
- Login to post comments
Jamming Cellular Phones During a Terrorist Attack
taypworm — Sun, 01/11/2009 - 21:28
Liberty for all!
I read in a Wired article that, "in the wake of Mumbai massacre the NYPD wants to jam cellular phones during a terrorist attack" [1]. At face value, I'd say that knocking out local cellular communication is probably a good countermeasure -- it works well in full-scale war. But we're dealing with terrorists. In this case, is providing the police with the jurisdiction to disable civilian communication networks counterproductive? As we've witnessed in the wars in Afghanistan and Iraq: terrorists are agile and adapt easily to counter-strategy. I'd hedge a bet that we (the attackers) adapt strategy to them; placing the terrorists in control. If police jamming is allowed the terrorists would simply adapt their attacks to simultaneously attack civilians and communication. An attack of this type could create more chaos and spread irrational fear more quickly than a more "conventional" attack. Especially in New York City.
Some more to think about: what will classify an attack as a "terrorist attack"? How does the legislation apply to activities that could be (magically) linked to terrorism e.g., protests? IMHO, this is too much power for a police force. This is why we have a military. I hope the Senate levels their heads before they jump the gun on this initiative. At least the Homeland Security guys are understanding of situation (see final quote in [1]).
[1] http://blog.wired.com/defense/2009/01/nypd-eyes-disru.html
- taypworm's blog
- Login to post comments
Interplanetary Overlay Network
taypworm — Sun, 01/11/2009 - 06:52
I stumbled across the "Interplanetary Overlay Network" (ION) while doing some research today. This is an interesting project for anyone into networks. I'd like to attempt downloading ION because I'm curious about their shared memory architecture. I'm currently debating a shared memory implementation for local IPC in Society. It'd be great to see how someone else has done it.
Check it out: https://ion.ocp.ohiou.edu/
- taypworm's blog
- Login to post comments
Python getch()
taypworm — Sat, 01/10/2009 - 00:53
I stumbled across a great Python recipe by Danny Yoo for pulling a single character from a terminal (without echoing the character) [1].
Check it out:
- class _Getch:
- """Gets a single character from standard input. Does not echo to the screen."""
- def __init__(self):
- try:
- self.impl = _GetchWindows()
- except ImportError:
- self.impl = _GetchUnix()
- def __call__(self): return self.impl()
- class _GetchUnix:
- def __init__(self):
- import tty, sys
- def __call__(self):
- import sys, tty, termios
- fd = sys.stdin.fileno()
- old_settings = termios.tcgetattr(fd)
- try:
- tty.setraw(sys.stdin.fileno())
- ch = sys.stdin.read(1)
- finally:
- termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
- return ch
- class _GetchWindows:
- def __init__(self):
- import msvcrt
- def __call__(self):
- import msvcrt
- return msvcrt.getch()
- getch = _Getch()
I recently dusted off my Python key mapper software. This software allows you to bind characters or strings to python methods e.g., press 'a' and it opens a socket to a foreign host and sends an image from a webcam. Anyway, I was using curses to capture a single character input and not echo it to the screen. This worked great unless a user tried to print something -- causing the screen buffer to get mangled. So, I went searching for a better solution. Thus the above code. Now I'm able to capture a single character without requiring a newline, without echoing it to the screen, and without borking the terminal. Excellent recipe!
My Favorite Tool
taypworm — Fri, 01/09/2009 - 08:52
My favorite tool is the Leatherman Squirt E4. This is one of the miniature multi-tool line. The features that distinguish it from the rest of the squirt line are needle nose pliers and wire strippers. Other tools include knife blade, file, two flat-head screwdrivers, philips-head screwdriver bottle opener, and tweezers.
I carry the Squirt E4 on my keychain. While bulky, the fact that I use it about ten times each day makes up for its size and weight. My favorite features are the excellent pliers and philips-head screwdriver. The plier blades mesh perfectly together allowing them to be used for fine manipulation tasks like, extracting a splinter or retrieving a lost screw. The philips-head screwdriver is unlike any I've used in a multi-tool. First, it's a real philips-head screwdriver -- it's in the shape of a '+'. Second, it fits just about every philips-head screw found on electronic devices -- very useful in a lab where the screwdriver is always misplaced.
Leatherman put a lot of attention into the details of this tool. The result is highly functional. It's well worth its ~$30 price tag and makes a great gift.
- taypworm's blog
- Login to post comments
Let the job search begin
taypworm — Wed, 12/31/2008 - 08:06
One of the reasons this site is being developed is because I am beginning to apply for jobs. I'm hoping that centralization of some of my stuff will make it easier for potential employers to evaluate me as a candidate. If you're a potential employer, please check out the research and software tabs.
The ideal job for me is one in robotics research located on the West Coast, USA. I'm really interested in working in a team environment. (I've worked alone for the past four years and feel I've made limited progress). I'm an imaginative guy, and would like an agile work environment where my input is accepted and my ideas are used. Finally, I like cutting edge technology. Therefore, I'd like to work with some outlandish equipment and algorithms. If, by some miracle, you have a job that fits this description please contact me.
- taypworm's blog
- Login to post comments
