====== 2016-12-04 - hello human ====== {{ :blog:2016:12:04:low_img_20161201_220001.jpg?400|complete hardware}} few days ago we had an open-hours in our SW-dev department. since we mostly do algorithmic data processing, embedded system... and do not have hardware platform on-site... it's really hard to show it in an interesting fashion, for non-technical ppl. i've decided to show something connected to a SW development in general, but not directly tided to our system. it was inspired by a though that "SW dev is about putting a spirit (ghost?) into a machine". :) i though -- how about a simple project with a camera, to catch and track faces, using servo motors? when some1 approach it, system catches a focus and move along a person's face movements, to keep her at focus? ...and so -- during a course of 3 evenings [[https://github.com/el-bart/hello_human|hello human]] project was brought from a rough idea to a real life machine. :) {{:blog:2016:12:04:low_img_20161130_192619.jpg?300|}} {{:blog:2016:12:04:low_img_20161201_210815.jpg?300|}} project is interesting since, because though it contains software, electronics and 3d-printed model... it was almost solely about programming! just think: * main logic was implemented in [[wp>Python (programming language)|python]] * image processing is done with [[wp>OpenCV]] (i.e. [[wp>C (programming language)|C]]) * servo motors controller is implemented in [[wp>C++]] * all the 3d-printer are programmed in [[wp>OpenSCAD]] * [[wp>Printed circuit board|PCB]] is done in [[wp>EAGLE (program)|Eagle]] the only thing on the list, that is not about programming is PCB-design SW. all the rest is pure programming. now isn't that cute? :) it turned out that it drawn quite a bit of attention. ppl asked about how it works, how much would it cost to build such a thing at home (btw: there's actually only about 30[[wp>EUR]] worth of parts in it!)... and there was quite some laughter, when vision system decided that cat drawing on one of the girls' dress is actually a face, and followed it for a long time! ;) some practical applications? well -- aside from keeping ppl interested in SW development and modern technologies... not that many. ;) it could be used for monitoring, video conferencing (ever got annoyed about camera not following your movements in the room, while chatting?)... or an extended version, that would detect/monitor who's speaking, and focus on that person (useful for video-conferencing, when there are many ppl in the room). who knows -- maybe one day, when i'll get bored with whatever i'm doing at that particular moment? ;)