Success! The worlds first automated haircut has been cut by HairSense.
Updated: Apr 16, 2019
I'd like to introduce you to 'B', a hairdressing mannequin who's hair has just been cut using HairSense.
To see the full video click here.
He has the worlds first automated haircut. HairSense was pushed through his hair, and over the whole head. The device was simply moved over the head in any direction I felt like, and HairSense automatically cut the hair to the correct length at every location. The result is a new haircut based a previously saved haircut style.
In summary, HairSense works like this.
(1) When you get a new hairstyle, you use HairSense to record the hairstyle.
(2) Once your hair grows longer, you use HairSense to cut your hair to one of your previously saved style.
Notes on the first haircut
First off, we are surprised how well it turned out. Due to the patent deadline coming up fast, we had to stop all hardware development and try to do a haircut as soon as possible. So we had literally just finished constructing the final touches on the second prototype, and this is the first time we have tried out a full haircut.
In summary its worked surprisingly well.
The good bits
Hair cutting worked very well, and hair lengths were cut accurately at all locations over the head. The end result looks very good.
Uncut hairs were not a big problem. We were expecting uncut hairs getting carried through to be a bit of a problem, but surprising this did not happen much. There were a few stray uncut hairs in places however we're unsure at the moment what the cause of this is.
The hair flowed well through the hair gathering feeder fins. We were expecting some hairs to get flattened by this didn't seem to be a problem.
Notes on cut: This haircut has lengths of around 1cm longer than the original haircut. This was because the software didn't take into account the much faster speeds of the second prototype. The software was developed for the first prototype which traveled at a much slower pace over the head. As this second prototype is much faster, in the time it takes the hook to raise up and pull the hair into the cutting blades, the cutting head has already moved back another 1 cm. The software needs to made a bit more intelligent.
The unexpected finds
Hair cutting performance was degraded when the device was held vertical. When the device was held perfectly vertical while doing the side burns etc, the cuts were messy and some hair stands were cut longer than they were supposed to be. However when the device was held horizontally, such as when doing the top of the head, the cutting was near perfect. We're not sure what is causing this - likely the springs aren't strong enough, but we're confident its an issue that can be solved. A few areas of the side of the head we went over twice because the cutting was sloppy.
The bits that need working on
a. Hair cutting time
The hair cutting time was around 50 minutes. This is the total time the device was actually cutting - and does not include the software wait time at the end of each cut pass which will not be a problem with a final build (the Arduino waited at the back for about 4 seconds at the end of each pass) or fiddling around trying to choose the next location to cut. Including all that, it happened over the space of about 4 hours. (Note: Because of the looming deadline of the patent, we didn't have time to complete the hair waste removal mechanism at the back of the device, so decided to just attach a vacuum cleaner to suck the hair away. This still needs to be researched and built, but we don't think its a high risk area).
50 minutes for a cut is a long time, but the prototype had some major limitations which should not be a problem in future. To increase the speed considerably three things can be done:
(1) Double the width of the hair capture device - from 2cm to 4cm (factor of x2 improvement)
(2) Use stronger cutter motor so it can take in 10mm of hair per cut rather than 2-3mm. (factor of x4 improvement)
(3) Increase the speed of the head unit on the rail to 1 second per cycle rather than 2 seconds (factor of x2 improvement). And it can probably go fast than this.
These changes would increase the speed by 16 times. And this doesn't include other improvements. For example in hair recording mode - if the hair is a fairly short hairstyle (which most mens cuts are) the hook unit doesn't need to travel to the very back of the device each time. It can just move back as far as the current hair length, before it goes to grab new hair. This would speed things up by several factors again.
So here in detail are the reasons the prototype does not do these things already.
(1) We slowed the speed at which the hook unit traveled back and forth. This was done to prevent damaging the prototype. There are a couple of very delicate parts, such as the teeth which are printed in brittle detailed plastic. If these break under stress it would take weeks of work to get it up and running again. At full speed the head unit would run at twice the speed and possibly higher.
(2) We had to move the unit forward through the hair much slower than expected so it wouldn't pull in too much hair with each cycle. For this hair cut, we had to move it forward through the hair at a distance of 2-3mm at a time.
If we moved the unit forward faster than this so it pulled in more hair, and all 14 hooks were cutting at the same time, the hair was not cut cleanly. The clipper blade motor could not handle so much hair passing through the cutting blades at one time. However the whole design is actually based around pulling 10mm of each in at each pass, but we underestimated the motor. A more powerful motor will be required to handle the scenario with all the hooks cutting in unison. We do know it can cut up to 10mm of hair successfully, as during testing with the current motor, when cutting was isolated to just 2 hooks, each hook could cut clean with 30 hairs each. 30 hairs is around the number that each hook would pull in over 10mm of forward movement over the scalp.
However a more powerful motor goes against the requirement to keep the head unit of low mass and small, so a sweet spot will need to be found. Hopefully there is motor technology that allows a power powerful output at the same size or smaller.
(3) The width of the hook capture array is only around 20mm - which was designed based on the clipper blades we had at our disposal. A width of 20mm does not cover much scalp, so a much wider hook array with more hooks will be a lot faster. However a wider design will probably require a custom clipper blade design.
Our estimate is that it is realistically possibly to get the hair cut time down to around 6 minutes.
b. Minimum hair length
We set the minimum hair length to 20mm to ensure there the device was not damage i.e. to prevent the hooks raising when the clipper head is still moving back into place, which could damage the hooks. We think the likely minimum hair length will be around 10mm. This is still quite a long length for some hairstyles. A possible solution could be to have another separate pair of hair clippers that adjust their length to clean a 'clipper' look. Or perhaps this functionalit could be built into the main clippers.
We're very encouraged by both the performance of the cutter and the result of final haircut. The tracking and the cutting device worked great together. Its actually very exciting. We think this prototype shows that most of the biggest hurdles and risks have been solved. Everything still on the to-do list is entirely possible to achieve.
After doing this haircut, we're now optimistic that this could be a real product that could work well and be user friendly.
a. an interesting challenge we faced during the cut, was when the clipper blade motor was turned on, the vibration cause the Vive tracking to go haywire. The tracked controller location would jump all over the place up to 30cm, and therefore was totally unusable. After some research online it seemed the small vibrations were causing the accelerometer, gyroscope etc to get confused. We did encounter this problem in the first prototype too, and solved this by adding a lot of weights to body to increase its mass. Luckily this time we found a way to turn the IMU inputs off in a Vive config file , so it only used the Lighthouses for tracking. This solved the problem without another few extra days of work.
b. The current system we have set up is pretty fragile and lots of things went wrong during the haircut. Wires came loose. The big grey ribbon cable connecting the device had a wire break. The Vive tracking decided to randomly drop the location of the center of the Vive universe by 5cm several times. And a 0.6mm steel rod used in the teeth array fell off (they are all just superglue in). We're actually amazed the prototype lasted the full haircut considering how many tiny parts are just super-glued into place or made of plastic.