A huggable robot should not look like a mechanical metal monster from the outside. Rather it should look friendly and approachable.
The robot should be able to detect in real time when a person is hugging it and seamlessly execute its hug sequence in response.
The robot should be cost effective to build. A six feet tall robot traditionally can cost a small fortune. By replacing metal parts with high quality plastic parts, expenses are minimized.
Anyone should be able to replicate the process used to build the robot. No expensive or special machinery should be needed.
Using the Meccanoid G15KS Personal Robot as a baseline, Baymax was built by expanding upon that structure using two additional G15KS kits. With over 2000 parts, the robot is lifesized but still very lightweight.
A webcam mounted on Baymax's chest acted as its eyes. A binary image processing algorithm implemented using OpenCV on Python allowed the robot to detect when it was being hugged.
A Raspberry Pi connected serially to an Arduino was responsible for the hugging motion. The Pi ran the vision program and sent a command to the Arduino to drive the servos in the arms.