У робота-пылесоса оптический датчик расстояния — излучает свет и смотрит на его отражения от стен. Робот этим датчиком сканирует комнату и строит её план, а потом уже пытается заехать в то или иное помещение.
В прихожей и коридоре стоит большой икеевский шкаф с зеркалами. Робот видит отражение стен в зеркале и строит план аж до них, рисуя на карте несуществующий кусочек коридора. Естественно, физически он попасть в эту часть пространства не может, и просто считает, что там есть какое-то препятствие, но за ним комната с его точки зрения продолжается.
Так что да, у меня есть настоящая карта зазеркалья.
#gadgets
https://github.com/aio-libs/aiohttp-mako
#mako template renderer for #aiohttp.web based on aiohttp_jinja2. Library has almost same api and support python 3.5 (PEP492) syntax. It is used in aiohttp_debugtoolbar.
#Mako is a #template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. Mako's syntax and #API borrows from the best ideas of many others, including #Django and #Jinja2 templates, #Cheetah, #Myghty, and #Genshi. Conceptually, Mako is an embedded Python (i.e. Python Server Page) language, which refines the familiar ideas of componentized layout and inheritance to produce one of the most straightforward and flexible models available, while also maintaining close ties to Python calling and scoping semantics.
http://www.makotemplates.org/