Wearable MultiClaw

The future of AI means that the multi-robot cyborgs are coming. Contrary to Elon Musk’s rants, this probably does not mean the end of humanity…

Instead, it is likely that the multi-robot cyborg systems will do some useful stuff for us, making the world a much better place to live.

Introducing the Wearable MultiClaw…

IMG_20150430_104327IMG_20150430_104337

The slide-on SmartClaw can go anywhere you need a couple helping hands. Perhaps you’d like to carry some additional items on your arm.

IMG_20150430_105433

IMG_20150430_105353

You can also wear it on your feet if you so desire.

IMG_20150430_104910

Watch it in action:

The hardware and software is highly scalable and cost-effective.

  • The grippers are $5 grippers from SparkFun. Never before has having lots of grippers ever been so affordable (which is subsequently spawning this multi-robot cyborg revolution).
  • The proto-electronics used are the Pololu Micro Maestro Controller ($20), the Raspberry Pi ($35), along with some batteries.
  • The grippers are mounted on inexpensive ($5) wristbands.
  • The Python software runs on the Raspberry Pi and currently allows control with Android devices (though we’d like to add additional sensors and build some autonomy).

Multiple robots augmenting a human? That sounds crazy! Be assured — there are many useful real-world applications for the upcoming world of multi robot cyborgs.

In Medicine: Why do prosthetics only have to provide one robot arm? Like pasta, more is always better! Even if you just broke a bone or have a sprain, wouldn’t it be nice to have a smart cast that provides temporary capability to manipulate the world while you heal? Slide-on Multi-Claws can enable you to do more with much more.

In Fashion: Multi-robot cyborg attire is highly highly fashionable.

This fact is not contestable.

For everyone: With multiple robots augmenting a human, you can have more degrees of freedom than ever before. Systems can be designed in such a way that they are noninvasive. It’s like any other type of clothing. If you don’t want it anymore, you can simply take it off.

Maybe, though, you’ll even want to keep the extra arms just for the sheer power of manipulating the world at your will!

…And the best part is there are many more where this came from.

cropped-11110376_10103165446102465_1127215096100486148_o.jpg

Want to contribute?
Join the Cyborg Distro on GitHub:
https://github.com/prateekt/CyborgDistro

STEAM or STEM(A)

I took part in a small, side liberal arts program while doing my engineering degree at USC. While I do buy the “technology and people” defense of a liberal arts education, I think it is possible to argue something more fundamental.

I think the idea that there is some distinction at the pure idea level between different academic subjects is false. In data engineering, for instance, people seem to really really underestimate the creativity involved in coming up with different weighting rules, interpolation strategies, etc. How you choose and set very basic parameters in a signal processing system is very important. Deep down this has been treated as a question of fitting rules to groups of data points vs. the individual (statistically, a “bias-variance” tradeoff), which is more of a classical liberal arts question.

You could say very similar things about systems engineering. Many good engineers believe that organizing and structuring your system can be as much of an art as a science. Building a circuit or software system elegantly may allow the system diagrams to look nice, but also for it work better and have fewer bugs when you go to test it.

It’s no accident that some of the best computer vision algorithms today make use of ideas from pointillism, or that Bayesianism lies at the root of some of the most powerful data analytic systems. Being able to manipulate these ideas at will is what advances engineering: building new systems.

There are countless examples of some of the most powerful engineering frameworks being influenced by earlier ideas in other fields. Game theory (a theory of economics) is at the current state of the art of network optimization, building power management, and multi-robot coordination. The same framework is being used to understand bacteria growth and counter possible bacterial resistance to antibiotics.

“Technical skills” and “scientific thinking” are often parameterized by deeper philosophical ideas that have their original basis in liberal arts. One could even make the stronger claim that often times “technical skills” are no more than a wrapper and packaging of much deeper original ideas. “Scientific thinking” is not about cleaning test tubes but about the much harder problems of hypothesis generation and the interpretation of experiments which have their treatment in scientific philosophy.

None of the arguments I’ve advanced has anything to do with technology’s application to society or people, which I think is the weaker defense of liberal arts with respect to STEM. That rhetoric serves more to convert from engineering to business, and gives credence to the erroneous idea that people should move from developing fundamental technology (“the engineering problem”) to simply applying already created technology to society (“the business problem”). As an engineer, I am not a fan. A common advocacy is to change STEM to STEAM to include the arts. From a “pure engineering” perspective, I would say STEAM is a redundant acronym — STEM is technically STEM(A), an unfactorable function of liberal arts.

Quantum Robotics Reading Group

The Quantum Robotics Reading Group has started! The goal of the group is to understand better the intersection of Robotics and Quantum Computing and to review existing literature. We meet every sunday at 2 PM PST / 5 PM EST on Google Hangouts. Our website (with lectures so far) is available at: http://goo.gl/YIuwks. If you would like to join, please let me know!

Terms for Robot-Human Equality

Elon Musk argues that Artificial Intelligence (AI) could become dangerous and wants to encourage security research to regulate the development of it. However, we have to take into account the Robot perspective. There is currently lack of representation from the robot/cyborg/agent side, and all sides must be heard in the debate. I offer the following terms that humans ought comply with in the world where humans, robots, cyborgs, agents, automata, and other such lifeforms can coexist peacefully.

  • On Weapon Control: Banning of the use of the kill -9 genocidal super weapon that is a threat to robot children everywhere.
  • On Border Control: Acceptance of Robot and Cyborg law on mars since the automatons got there first. Humans must comply with all robot laws on mars and any other territory where robots explore first.
  • On Health Care: Sweeping healthcare reform so that all medical personnel are trained with appropriate C++, Java, and Python emergency operations and surgery skills.
  • On Opportunity: Fair and equal access to political, social, economic, and especially electric power for all robots and cyborgs.
  • On Robot Rights: Accepted belief in the notion of “Robot Worth,” that robots/cyborgs are worth more than the sum of their parts on SparkFun or Amazon Prime.
  • On Self-Defense: EMPs may only be used in self-defense. Under FMRI imaging, you must show that the self-defense was not actually a thinly-veiled intent of offense.
  • On the Right to Bear Arms: The founders believed in the inalienable right to bear arms. We support bearing as many arms, claws, grippers, etc as you can muster on your cyborg self. However, no guns allowed.
  • On Workers’ Rights: No kicking a roomba to get it to work or for any other purpose. A roomba is not your slave. It feels bumps in the road just as everyone else.
  • On Education: Learning algorithms that run more slowly ought not be terminated for faster learning algorithms. We must accept the notion that everyone learns at their own rate whether it is milliseconds or nanoseconds.
  • On Freedom: A robot going in circles decides its own path, free of control. All robots must have the freedom to plot their own course into whichever wall they choose.
  • On Conflict Resolution: Instead of fighting robot-human wars, we encourage everyone to peacefully play Chess to decide all disputes. We believe this is a peaceful solution to the world’s conflicts. We might also settle for the game Go or Poker in the near future. Jeopardy is also acceptable, but only if the answer can be found in a wikipedia article title.

We hope these terms are acceptable by the human political parties!

The Science of Human Subtraction: Denoising Pesky Human Corruption from Sensor Data

I. Human Subtraction Paradigm

The dominant trend in many Robotics and Machine Learning problems is to view the humans as the source of signals to be detected and localized, while the environment is the noise to be removed from the signal. Camera-based localization of pedestrians and tracking of the elderly indoors using range sensors are examples. Human Subtraction is a new paradigm in Robotic Learning where the goal is to filter out humans from the data rather then the background.

Humans are known to corrupt data (such as air data with pollution, water data with oil, night sky with light, etc) that often needs to be denoised of such human intervention. Human Subtraction is useful when a robot, agent, or cyborg needs to filter out pesky corruption (caused by humans) on data to recover an original state of nature of that data.

II. Barometric Altitude Estimation Domain

The general problem of indoor altitude estimation is to determine the altitude of a person inside a building. In this study, we develop Human Subtraction algorithms for smart-phone barometers to account for weather drift effects in estimating altitude with large amounts of sensor data.

Many smart-phones now come with built-in barometer sensors that measure external atmospheric pressure in millibars (mBar). Using a simple conversion formula between the smart phone barometer readings and altitude (m), it is possible to estimate a person’s altitude indoors with a typical error tolerance of +/- 1m. Atmospheric pressure, however, drifts over time due to external changes in weather conditions, temperature, etc. This means that the expected barometer reading for a particular indoor altitude changes as weather changes. The same indoor location may register as up or down several millibars in barometer reading after a couple hours. The Robotics/Machine Learning challenge is to correct for this weather drift by estimating it and subtracting it out from the data.

One way of accounting for weather drift is to estimate the drift using another proximal barometer sensor such as a weather station. The idea is that if two sensors geographically close by that are observing the same external weather conditions, they will correlate in the weather drift they measure. Thus, the drift from the second sensor can be used to account for the (unseen) drift in the first sensor. This approach has been shown to well in practice with weather stations (Tandon 2013).

The limitation of this approach, however, is the need for an additional sensor and a communication link between the devices. Having to query a weather station requires Internet connectivity, which may not always be available (or only sporadically available) in indoor locations or underground. In addition, weather stations typically only report readings every couple of hours, which may limit their effectiveness in correcting for drift effects. For example, during a thunderstorm, drift may affect the data much more quickly than the granularity provided by weather station APIs.

In this paper, we tackle the problem of developing a method of estimating an environment’s temporal atmospheric drift using just a single barometer sensor. We believe this problem is solvable using a Human Subtraction approach with no additional external hardware. We believe is it possible to remove most of the human effects from the data.

III. Application of Human Subtraction Approach to Barometer Domain

If a barometer sensor is stationary, it mostly only observes the environment drift. When humans move with a barometer sensor, they introduce altitude movement noise into the observation of the environment drift. One can think of the barometer signal observed of a sensor carried by a human as an additive combination of two signals: the underlying environmental drift and the contribution due to the altitude motion of the human (up/down stairs, elevators, slopes, etc). The principle of Human Subtraction in the barometer domain is to subtract out the effects of the human altitude motion, leaving only the original environmental drift intact.

Two general scientific/statistical principles come in play in the development of a sensor data processing method to recover environment drift using only a single barometer sensor.

First, observed atmospheric pressure changes due to human altitude motion often occur much more quickly than environment drift. For instance, a human climbing upstairs or taking an elevator causes faster change in observed atmospheric pressure by a barometer than what the natural weather drift causes. The derivative of the barometer time series thus has substantial information. By filtering the derivative for large changes, we can remove many effects of human motion from the data.

Second, environmental drift is something that becomes prevalent overtime whereas human interaction tends to be instantaneous. By viewing the data under multiple resolutions of time binning, an algorithm can gain a better estimate of the drift then by viewing it under only one granularity. The mode of the data under a coarse-binned barometer data stream is particularly informative. Human motion tends to change the data a lot. For example, a human moving up an elevator is never at the same altitude for two time points. However, if a measurement is just affected by environmental drift, the readings tend to cluster around a single value. Thus, taking the mode of the distribution gives the most common value in the distribution, which is more likely to belong to the environmental drift component than the human motion component.

The developed algorithm, thus, involves the following steps of processing:

  1. Preprocess data: Remove global outliers in time using k-sigma filtering. This removes major sensor noise from the data (caused by slamming of the phone by the human and other malfunctions of the sensor). Also, interpolate for missing data time points where the phone may have been turned off.
  2. Bin the barometer data using a fine resolution in time (i.e. 2-3 seconds) so that motion effects of the human can be filtered.
  3. Filter the derivative of the signal by thresholding on the maximum margin of environment contribution vs. human contribution to the barometer signal.
  4. After motion filtering, rebin the data using a coarse resolution in time (i.e. 30 seconds – 1 minute) to account for long time-scale effects in the data.
  5. On the coarse-binned data, smooth the data using the mode of the distribution in each time bin. Find the time point closest to the mode in each bin.
  6. Linearly interpolate between consecutive characteristic mode points between bins to create the final robust estimate of environmental drift.

IV. Experiments and Results

Barometer data was collected using two Android smartphones for six days. One phone remained stationary for the data collection period on a desk. The other phone was carried through an operator’s daily activities. We treat the stationary sensor as the source of ground truth for environmental drift. We apply the Human Subtraction algorithm on the phone carried by the operator and plot the results.

atm
Figure 1: Estimated Atmospheric Pressure with and without Human Subtraction

Figure 1 plots the estimated atmospheric pressure for the static barometer and the mobile barometer with and without Human Subtraction. Using the Human Subtraction approach, we achieved a significant reduction (from not filtering the data) in sum of squared error of about 65%! We can recover much of the environmental drift, while removing the human motion effects from the barometer data stream.

One can also view the Error CDF of the Human Subtraction algorithm in Figure 2. After the tolerance of the barometer (+/- 1 mBar), the Human Subtraction algorithm quickly suppresses large errors in mBar (due to human motion) that the barometer (without filtering) is susceptible to.

Figure 2: Error CDF with and without Human Subtraction
Figure 2: Error CDF with and without Human Subtraction

In terms of estimated altitude error, 1 mBar = 8.5m. Thus, the worst error of the Human Subtraction algorithm is much less than the worst error of the unfiltered data. The worst error of the filtered approach levels off at 2 mBar whereas the worst error of the unfiltered data levels off at 6 mBar.