tag:blogger.com,1999:blog-19884569807299656332024-02-07T19:21:18.509+03:00Блог «Роботы и робототехника»Блог посвящен роботам и робототехнике, а в первую очередь - моему собственному проекту "Самодельный робот", и сайтам по робототехнике, в создании которых я принимаю участие. Здесь публикуются ссылки на полезные ресурсы по робототехнике, мои успехи и поражения, и просто мои мысли.Unknownnoreply@blogger.comBlogger147125tag:blogger.com,1999:blog-1988456980729965633.post-5053660332591445992011-08-17T17:45:00.001+04:002011-08-17T17:45:50.043+04:00Идеальный робот-вратарь<p>Неплохо, да?)</p>
<iframe width="425" height="349" src="http://www.youtube.com/embed/wgLkiTLhhpo" frameborder="0" allowfullscreen></iframe>
<p>В довесок, вот вам интересное чтиво: <a href="http://repo.eepis-its.edu/1236/1/Flow_Direction_Prediction_of_Ball_Movement_for_Humanoid_Robot_Soccer_Goalkeeper.pdf">Описание алгоритма предсказания движения мяча</a> для робота-вратаря на Robocup'е.</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com10tag:blogger.com,1999:blog-1988456980729965633.post-89999250971577189072011-05-22T22:16:00.000+04:002011-05-22T22:16:04.389+04:00Древний вездеходИнтересно, что за зверь такой... Никто, случайно, не знает? :)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8DC1rsnPD7qWF7miyzHXIDSLed2p3vDoqQmIVQiJnmyOspDwwbYrn3jwbViUNTAlt9xx1NCsK9ltPmzG3BE3TJKCifQ-c8-2xqkgwdTTsvTg-Phlt-RWO3e3iv0iOHOaLvbdTk1Yypz3V/s1600/vehicle.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8DC1rsnPD7qWF7miyzHXIDSLed2p3vDoqQmIVQiJnmyOspDwwbYrn3jwbViUNTAlt9xx1NCsK9ltPmzG3BE3TJKCifQ-c8-2xqkgwdTTsvTg-Phlt-RWO3e3iv0iOHOaLvbdTk1Yypz3V/s400/vehicle.jpg" width="400" /></a></div>
<br/>
<br/>Картинку обнаружил случайно, в каком-то сборнике черно-белых фотографий. Сразу же заинтересовался - это ж как давно такое шасси построили?! А ведь как напоминает шасси марсоходов/луноходов! Вот уже полчаса ищу в интернете - но пока не удалось обнаружить никаких дополнительных сведений... :(<div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com9tag:blogger.com,1999:blog-1988456980729965633.post-17606719883650929872011-04-19T17:53:00.005+04:002011-04-19T17:55:05.163+04:00Lego NXT-фабрикаНу вообще!! Бывают же манчкины, да? :)<br/><br/>
<iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/rWd3vgLaA_M" title="YouTube video player" width="600"></iframe><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com17tag:blogger.com,1999:blog-1988456980729965633.post-71711581827563577942011-02-07T10:00:00.006+03:002011-02-07T10:00:10.060+03:00Интернет о роботах<p>
Продолжаю <a href="http://insiderobot.blogspot.com/search/label/интернет%20о%20роботах">серию заметок</a> про найденные мной в интернете интересные робототехнические сайты и ресурсы.
</p>
<p>
Очень хорошая статья <a href="http://iai.dn.ua/public/JournalAI_2004_4/Razdel7/06_Magazov.pdf">Челночный алгоритм обхода 2D области</a> обнаружилась на сайте донецкого Университета информатики и искусственного интеллекта, автор - Сергей Магазов.
Алгоритм может использоваться для роботов-пылесосов, роботов-газонокосилок, и так далее. Очень полезно иметь такой алгоритм в своем арсенале. Кстати, я даже когда-то пытался алгоритм обхода помещения написать самолично, но не получилось из-за недостатка времени и геометрического образования :)
</p>
<p>
А на сайте журнала "Хакер" обнаружилась, между прочим, неплохая статья <a href="http://www.xakep.ru/post/54247/default.asp">Дверной замок на Arduino</a>. Автор предлагает запереть дверь на электронный замок и в качестве ключа пользоваться флэшкой.
Не ожидал, честно сказать, увидеть в этом журнале статьи такого профиля. Оригинально!
</p>
<p>
Еще один интересный сайт, попавшийся на глаза - <a href="mechanoid.ru">Механоид</a>.
Собственно, робототехническим его не назовешь. Практическую пользу он нашему брату роботостроителю принесет врядли.
Но с другой стороны, очень даже неплохой сайт с выдержанной тематикой и хорошим юмором.
Сборник разномастной информации о больших роботах, мехах всяких и т.д.
Помимо подборки новостей, на сайте также представлены рисунки, раскраски, книги, обзоры аниме, руководства по рисованию роботов и так далее.
</p>
<p>
Давно я не печатал ссылки на dxdt.ru, а там, между прочим, не так давно были опубликованы две отличнейших статьи на тему упрощения задачи распознавания образов:
</p>
<ul>
<li><a href="http://dxdt.ru/2010/11/03/3410/">Капча «Премии Рунета»</a></li>
<li><a href="http://dxdt.ru/2010/10/10/3401/">Фотографии ключей</a></li>
</ul>
<p>
Очень грамотно расписаны алгоритмы упрощения задачи, я считаю, всегда нужно пытаться упрощать, а уж тем более - распознавание образов.
Чем больше мы упростим, тем дешевле и быстрее это получится создать, тем выше шансы на успех, и тем более полезно будет разработанное устройство (или программа).
</p>
<p>
Всвязи с этим, также хочется вспомнить <a href="http://insiderobot.blogspot.com/2008/05/blog-post_21.html">про робота LegoNXT</a>, который производил арифметические операции над числами, причем распознавание производилось не камерой, а с помощью 4х оптопар.
</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com0tag:blogger.com,1999:blog-1988456980729965633.post-70237880374460049672011-02-03T12:30:00.002+03:002011-02-03T12:30:01.678+03:00Робот Lego NXT играет в крестики-ноликиМеня почему-то все эти, вроде бы и банальные придумки, а все равно очень радуют. Все великое, как известно, начинается с простого!
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/_sJezFTV4XA?fs=1&hl=ru_RU&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/_sJezFTV4XA?fs=1&hl=ru_RU&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com3tag:blogger.com,1999:blog-1988456980729965633.post-41415880187494344532011-01-31T14:47:00.002+03:002011-01-31T14:50:19.157+03:00Блог про Lego NXTКонструкторы Lego NXT появляются все в большем количестве школ и ВУЗов нашей страны. Этот факт не может не радовать. Естественно, что количество ресурсов по роботам Lego NXT растет.<br />
<br />
Совершенно недавно, наткнулся на очень добротный сайт по этой теме - <a href="http://nnxt.blogspot.com/">NiNoXT</a> (Lego Mindstorms NXT: робототехника для школ и ВУЗов Нижнего Новгорода).<br />
<br />
Блог содержит, по большей части, описания конструкций роботов Lego NXT, и будет чрезвычайно полезен для преподавателей любых школ и ВУЗов, в которых наборы Lego Mindstorms уже закуплены.<br />
За 2010 и 2011 годы в этом блоге опубликовано уже около 170 статей и заметок, некоторые из которых весьма любопытны. Например, мне очень понравился шагающий Lego-робот NXTAPOD:
<br />
<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/wgKNeEgXnmE?fs=1&hl=ru_RU&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wgKNeEgXnmE?fs=1&hl=ru_RU&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
<br />
<br />
Между прочим, разворот робота обеспечивается механически, без всякой программной логики. Подробнее читайте <a href="http://nnxt.blogspot.com/2011/01/nxtapod.html">в заметке</a> в блоге NiNoXT.
<br/>
<br/>
P.S. Вспомнился <a href="http://insiderobot.blogspot.com/2009/05/blog-post.html">клавиатурный робот-Спам</a> :)<div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com2tag:blogger.com,1999:blog-1988456980729965633.post-56070722235665288532011-01-28T14:21:00.000+03:002011-01-28T14:21:14.285+03:00Команда роботов-вертолетов-строителей :)<p>Забавно!</p>
<iframe title="YouTube video player" class="youtube-player" type="text/html" width="640" height="390" src="http://www.youtube.com/embed/W18Z3UnnS_0" frameborder="0" allowFullScreen></iframe><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com5tag:blogger.com,1999:blog-1988456980729965633.post-84039258900533775822011-01-21T10:17:00.005+03:002011-01-21T10:17:00.337+03:00Механика в робототехнике<p>
В последнее время все чаще замечаю, что значение механики в робототехнике крайне велико. Иногда, разбирая игрушки, поражаюсь, насколько можно удешевить и упростить конструкцию игрушки, если хорошо разбираться в механике. К примеру, одно время я увлекся <a href="http://insiderobot.blogspot.com/2008/05/beam.html">BEAM-роботами</a> именно по этой причине - ведь при ближайшем рассмотрении оказалось, что функционал большинства роботов на микроконтроллерах довольно легко воспроизвести в бимах (т.е., без использования микросхем вообще). Я видел BEAM-роботов, которые: объезжают препятствия, следуют по линии, движутся на свет, реагируют на прикосновения... Да и что тут говорить, чего только стоят великолепные <a href="http://insiderobot.blogspot.com/2008/12/blog-post_26.html">роботы-ходуны</a>, а также другие "немобильные" бимы - ползающие, прыгающие и т.д.
</p>
<p>
К сожалению, мои собственные знания по механике не слишком велики, но человек - существо обучаемое, вот я и решил подтянуть собственные знания по механике. И хочется поделиться некоторыми интересными находками, встретившимися на просторах интернета.
</p>
<p>
Чтобы показать, насколько сложные устройства можно создать только на основе механики, предлагаю посмотреть вот такое замечательное видео про полностью МЕХАНИЧЕСКУЮ бесполезную машину (useless machine):
</p>
<object height="390" width="640"><param name="movie" value="http://www.youtube.com/v/lxyQ3PFbK9Y&hl=en_US&feature=player_embedded&version=3">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowScriptAccess" value="always">
</param>
<embed src="http://www.youtube.com/v/lxyQ3PFbK9Y&hl=en_US&feature=player_embedded&version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></embed></object>
<p>
На самом деле на основе шестерней можно создать множество довольно хитрых устройств, нужно только знать приемы, которые позволяют преобразовать обычное вращение шестерней в другие типы механического воздействия. Как показывает Mystery Box, с помощью только шестерней и механических передач, можно задержать выполнение какого-либо действия на нужный срок, среагировать на механическое воздействие, выполнить нужное действие строго определенное количество раз, выполнить несколько действий одновременно... Также, механизмы из шестерней способны менять скорость воздействий, направление воздействия и так далее.
</p>
<p>
Например, вот парочка видеозаписей про необычные зубчатые механизмы:
</p>
<ol>
<li><a href="http://www.youtube.com/watch?v=qgiiGFp0MKY">Перемена скорости</a> - зубчатый механизм, способный мгновенно менять скорость вращения.</li>
<li><a href="http://www.youtube.com/watch?v=3aobPgGzB-U">Перемена направления</a> - зубчатый механизм, способный мгновенно менять направление вращения.</li>
</ol>
<p>
Шестерня (или зубчатое колесо) - это очень важная, но далеко не единственная механическая деталь. Есть и другие - кулачковые механизмы, вариаторы, блоки, винты, вороты, рычаги, червячные колеса и т.д. А иногда, в ход идут и совсем необычные приемы. Например, меня очень позабавила конструкция маленькой заводной игрушки-лыжника, который катается, казалось бы совершенно хаотично. Смотрите сами:
</p>
<object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/RWC8ULalfp8?fs=1&hl=ru_RU">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/RWC8ULalfp8?fs=1&hl=ru_RU" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>
А теперь посмотрите, как он сделан! Оказывается, лыжник состоит из двух частей, верхняя часть его тела (оснащенная палками) может немного наклоняться вправо и влево. Именно палками и обеспечиваются повороты и кручение лыжника, когда он задевает одной из палок пол.
</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNZfVMH1z-FLJ3Ed_qmJvi91JDy3dzVFvu0-WgoJ060JPC_6v7p6B52elfO9QdQE4mnubnBsT2tMKFLNi7gxhKhH7_ZrHt-Lfl_-WU3donxQ6lZUN7snEmCpg7XBMdCopdLmEH0Opjzt7-/s1600/01commonview.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNZfVMH1z-FLJ3Ed_qmJvi91JDy3dzVFvu0-WgoJ060JPC_6v7p6B52elfO9QdQE4mnubnBsT2tMKFLNi7gxhKhH7_ZrHt-Lfl_-WU3donxQ6lZUN7snEmCpg7XBMdCopdLmEH0Opjzt7-/s400/01commonview.jpg" width="400" /></a></div>
<p>
А теперь посмотрим внутрь. Оказывается, дополнительно к кручению колес, заводной механизм игрушки также медленно крутит небольшую прямоугольную деталь со скругленными краями, которая периодически толкает рычаг, заставляющий верхнюю часть лыжника наклониться влево. Такой механизм вроде как называется кулачковым (но я пока еще в механике профан, так что утверждать не возьмусь). Обратно тело лыжника возвращается с помощью пружины, которая также видна на фотографии. Изящное и простое механическое решение.
</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4zjn-ELOP8dnESZypB2XYXUZQrD8jcMtfCLJIztf9oWuENbjbQAijynsO4e-avfihpVmnGaHFY_OTTumSj2AdZzmDoW0f1UXtZWHfv9BK_nS4VAkaj7GCaWLYNSRzykeeyphJzgF8GP5Q/s1600/02internals.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4zjn-ELOP8dnESZypB2XYXUZQrD8jcMtfCLJIztf9oWuENbjbQAijynsO4e-avfihpVmnGaHFY_OTTumSj2AdZzmDoW0f1UXtZWHfv9BK_nS4VAkaj7GCaWLYNSRzykeeyphJzgF8GP5Q/s640/02internals.jpg" width="560" /></a></div>
<p>
Есть и другие подобные игрушки, особенно впечатляют "танцоры", танец которых очень разнообразен и интересен. И удивительное дело, внутри у них - ни одной микросхемы, исключительно механика! Кстати, добиться таких танцев через программирование и микроконтроллер - задача не такая уж и тривиальная.. Может, даже и посложнее будет.
</p>
<p>
Резюмируя, я считаю, что простые, надежные и недорогие механические решения нужно стремиться использовать как можно чаще, и потому хорошо знать механику робототехник должен обязательно!
</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-1988456980729965633.post-2078163727734947182011-01-19T01:01:00.000+03:002011-01-19T01:01:25.536+03:00Плата... Марсоход!<p>
Нет, ну надо же! Я был уверен, что довольно хорошо разбираюсь в робоконтроллерах. Много читал про <a href="http://arduino.cc/en/Main/Hardware">линейку Arduino</a>, изучал <a href="http://www.minirobo.ru/catalog/5">Orangutan'ы</a>, пытался спаять <a href="http://robozone.su/2008/02/29/universalnyjj-robo-kontroller-mrc28.html">MRC-28</a>, завидовал <a href="http://insiderobot.blogspot.com/2008/12/blog-post_12.html">контроллерам МК</a>, ну и в конечном итоге приобрел плату <a href="http://freeduino.ru">Freeduino</a> - и собираюсь использовать в своем <a href="http://insiderobot.blogspot.com/p/blog-page_16.html">марсоходе</a>.
</p>
<p style="font-style: italic;">
На всякий случай напомню - робоконтроллеры представляют собой программируемые электронные платы с удобными разъемами для подключения внешних устройств (датчиков, моторов, LED-дисплея и так далее). Чаще всего центральной частью робоконтроллеров является микроконтроллер.
</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm216Us1eGTDUsWmEegdjz37a_U-7hmYi_qx-xY-zDbbwkqAOWiNuEEvON02pRSF7tonuGgoNiIC5XN0WwwRy4z-MyuLfoiOxzrrF3ZGsyOFR3X3eWsg3nyB36isox_kUjkbJ-nGNxrLna/s1600/marsohod1.JPG" imageanchor="1" style="clear:right; float:right; margin-left:1em; margin-bottom:1em"><img border="0" height="255" width="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm216Us1eGTDUsWmEegdjz37a_U-7hmYi_qx-xY-zDbbwkqAOWiNuEEvON02pRSF7tonuGgoNiIC5XN0WwwRy4z-MyuLfoiOxzrrF3ZGsyOFR3X3eWsg3nyB36isox_kUjkbJ-nGNxrLna/s400/marsohod1.JPG" /></a></div>
<p>И вот, представьте мое изумление, когда я совершенно случайно наткнулся на сайт о <a href="http://marsohod.org/index.php/howtostart/plata">плате "Марсоход"</a>, это ни что иное, как миниатюрный робоконтроллер на основе ПЛИС (CPLD). Странное название, однако сама плата хороша. Кстати, название плата получила в честь первого проекта, реализованного на ее основе (см. фото справа).</p>
<p>Созданная в нашей стране, плата уже вполне доступна по цене (1000 рублей), и имеет неплохую аудиторию. Самое главное, для этой платы существует большое количество качественной документации, и на её основе создано множество интересных проектов. Вся эта информация доступна <a href="http://marsohod.org">на сайте</a> платы.</p>
<p>Особенно меня впечатлила <a href="http://marsohod.org/index.php/ourblog/11-blog/108-funikuler">модель фуникулера</a>. Ознакомьтесь обязательно! На мой взгляд, задумка прекрасная. Мои дети будут гарантированно в восторге (обязательно постараюсь соорудить что-то подобное на основе Freeduino).
</p>
<p>
В общем, создателям платы желаю всяческих успехов. Молодцы!
</p>
<p>
P.S. Вот еще полезная ссылка с хабра напоследок: <a href="http://habrahabr.ru/blogs/personal/89585/">Плата "Марсоход" в сравнении с Arduino</a>.
</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com0tag:blogger.com,1999:blog-1988456980729965633.post-58370995025253328642011-01-15T01:21:00.000+03:002011-01-15T01:21:16.311+03:00Марсоход Curiosity<p>
Из живых марсоходов остался лишь один - Opportunity. Поэтому, NASA в этом году планирует запулить на Марс нового поселенца - марсоход Curiosity (<a href="http://marsprogram.jpl.nasa.gov/msl/">проект Mars Science Laboratory</a>). В общем, хотелось бы начать популяризацию этого проекта, и обратить внимание уважаемых читателей на конструкторские решения инженеров, которые этот новый марсоход создают.
</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy2p8TTZjdCwAHNYbyKqbeTTZJ6ioku7U8E8Fjqb02BgAOBmLd3zPWpUs5TvYFl2PriDOOh377GFJpY8EiU1nyFK1lUvhnuY1YpLDB1yWrnx2pK8p42qDYJMr44xUppfVj-8TZUMN8i4mr/s1600/Mars_Science_Laboratory_mockup_comparison_.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="298" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy2p8TTZjdCwAHNYbyKqbeTTZJ6ioku7U8E8Fjqb02BgAOBmLd3zPWpUs5TvYFl2PriDOOh377GFJpY8EiU1nyFK1lUvhnuY1YpLDB1yWrnx2pK8p42qDYJMr44xUppfVj-8TZUMN8i4mr/s400/Mars_Science_Laboratory_mockup_comparison_.jpg" /></a></div>
<p>Итак, запуск запланирован на ноябрь этого года, а в августе 2012го аппарат уже должен будет совершить посадку на красную планету. Общий бюджет проекта составляет 2.3 миллиарда долларов (~69 миллиардов рублей). Марсоход Curiosity имеет очень внушительные размеры, заметно больше Opportunity и Spirit, и представляет собой передвижную химическую лабораторию. Помимо функций передвижения колесно-шагающим способом, Curiosity также имеет роботизированную руку, на которой установлены камера, бур и приспособление для забора проб грунта.</p>
<p>Сейчас проект находится на этапе доделки и тестирования. К примеру, вот видео, показывающее первые «шаги марсохода» :)</p>
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/hO-jGItiXgU?fs=1&hl=ru_RU"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/hO-jGItiXgU?fs=1&hl=ru_RU" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>
<p>Что же, будем надеяться, что NASA сделает выводы и постарается исправить все недостатки уже потерянных на Марсе аппаратов. А чтобы понять, что именно нужно исправить - давайте быстренько вспомним о выбывших из строя марсоходах, и проанализируем их слабые стороны.</p>
<p>
Брат-близнец выжившего Opportunity, Spirit, потерявший еще в 2009 году способность к передвижению и переименованный в стационарную станцию по изучению Марса, очевидно, плохо пережил марсианскую зиму, и вот уже 9 месяцев не выходит на связь. Несколько зим до этого он пережил удачно (ведь Spirit совершил посадку на Марс еще в январе 2004го года!), однако из-за его стационарного положения, солнечные батареи оказались повернуты под неверным углом к Солнцу, и поэтому не могли вырабатывать столько энергии, сколько в предыдущие зимовки. Отсутствие энергии повлекло за собой переохлаждение аппарата, и это могло послужить причиной его выхода из строя.
</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiluHNPzz9cUdivR2yN4iWqXxf1B1vqCUgOQT4gGLMrJtenaTaR0niPflsd0P_nz1HeymuJH4IVxBhbzMPjIAa1jY5zwoeTXOUWC9ivGBF-I-0ZU8fSuNHO-MUdHTnIlt-tQocbIeU8ydxy/s1600/Spirit_shassis.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiluHNPzz9cUdivR2yN4iWqXxf1B1vqCUgOQT4gGLMrJtenaTaR0niPflsd0P_nz1HeymuJH4IVxBhbzMPjIAa1jY5zwoeTXOUWC9ivGBF-I-0ZU8fSuNHO-MUdHTnIlt-tQocbIeU8ydxy/s400/Spirit_shassis.jpg" /></a></div>
<p>
Впрочем, надежды на возрождение Spirit'а еще есть, хотя и небольшие. Поэтому, хоронить его полностью пока не будем :)
</p>
<p>
Другой недавний проект, Феникс (Phoenix Mars Lander), также был потерян в ходе марсианской зимы, судя по снимкам орбитальной станции - из-за повреждений солнечных батарей (на снимках отсутствует отблеск от одной из панелей). Феникс, напомню, не являлся марсоходом, это стационарный спускаемый аппарат, однако же у него имелась роботизированная рука, поэтому в блоге я не раз о нем писал.
</p>
<p>
Помимо зимних невзгод, серьезную опасность для марсоходов также представляют <a href="http://insiderobot.blogspot.com/2008/05/blog-post_04.html">марсианские пылевые бури</a>. Spirit и Opportunity доказали, что пережить пылевую бурю можно, но это порой чрезвычайно сложная задача. И помимо механических и электростатических опасностей, существует еще вероятность, что солнечные батареи аппаратов попросту окажутся занесены слоем пыли и песка, а значит те же самые проблемы с энергией обеспечены.
</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYSX-tOk83jT8MPcVnMAhMBsyXcM1xh1ypJgY421lOToE0Ca7-zkcARvK7SCjVuNGXS31YYpxRF_78c242XF6U3Er0tHHu7nFcJbXTj17vEGlJQxI774eTDx-14Dx1riq3HSvBYcxazS0C/s1600/solar-panels.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="300" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYSX-tOk83jT8MPcVnMAhMBsyXcM1xh1ypJgY421lOToE0Ca7-zkcARvK7SCjVuNGXS31YYpxRF_78c242XF6U3Er0tHHu7nFcJbXTj17vEGlJQxI774eTDx-14Dx1riq3HSvBYcxazS0C/s400/solar-panels.jpg" /></a></div>
<p>
В общем, прослеживается явная тенденция - марсианские роботы умирают из-за... солнечных батарей! Получается, это наиболее уязвимая часть марсоходов, и в будущих проектах (в Curiosity в частности), хотелось бы увидеть, как с этим будут бороться.
</p>
<p>
Направлений решения энергетической проблемы существует всего два, несложно догадаться каких:
</p>
<ol>
<li>Создание некоего устройства, которое сможет автоматически протирать или заменять солнечные батареи.</li>
<li>Поиск иных источников энергии.</li>
</ol>
<p>
На самом деле, оба направления важны, хотя первое кажется не слишком перспективным. Но ведь совсем отказываться от солнечных батарей в случае их выхода из строя - тоже довольно странная идея, ведь такие батареи прекрасно справлялись с задачей обеспечения энергией Spirita и Opportunity на протяжении нескольких лет! Не думаю, что изготовление неких поворотных участков батарей будет слишком сложной задачей. Ток от каждого из участков довольно легко измерить, и передать эти значения оператору, который сможет в случае необходимости перевернуть нужные участки и посмотреть, какой эффект это возымеет. Благодаря большому количеству подвижных участков, получается система, на порядок более стойкая к механическим повреждениям и запылению.
</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib1WaY_-DLEqKUCk0V1DQujffyG22VITI1NT-YtjSae0uFM1LbxodUJtMn0kSkGgTBBuVJOFR7N8_DV8oR12zvu4-cv8RgUF1o0L2XjfWj7QcqIQHr-LJlDpx0Jdpym-k_pkkjmzrZsLJk/s1600/bunchofbatteries.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="292" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib1WaY_-DLEqKUCk0V1DQujffyG22VITI1NT-YtjSae0uFM1LbxodUJtMn0kSkGgTBBuVJOFR7N8_DV8oR12zvu4-cv8RgUF1o0L2XjfWj7QcqIQHr-LJlDpx0Jdpym-k_pkkjmzrZsLJk/s400/bunchofbatteries.jpg" /></a></div>
<p>
Ну и конечно, поиск новых источников энергии - это очень нужная и актуальная задача, я бы сказал это задача номер один для современных марсоходов. И здесь я тоже вижу несколько вариантов:
</p>
<ol>
<li>Автономные источники энергии. Тут имеются в виду, безусловно, атомные батареи.</li>
<li>Попытка добычи энергии из окружающего мира. На марсе источников энергии немного. Пустыня же голая, из привычных нам источников - разве что ветер... Но в свете наличия пылевых бурь с чудовищной скоростью ветра, этот источник очень опасен (при чересчур большой скорости, ветряк может даже взорваться).</li>
<li>Химическая переработка (или сжигание) топлива, которое можно получить прямо на Марсе. Однако, пыль, камни и песок - не слишком подходят на роль топлива, а что-то другое в марсианской пустыне найти удастся едва ли...</li>
</ol>
<p>
Уже из вариантов, видно, что наиболее подходящим является первый вариант - использование атомных батарей. Простейшие варианты таких батарей использовались на марсоходах и раньше, однако они служили лишь обогревающим целям.
</p>
<p>
Именно такой путь избрали и ученые NASA. Более того, на этот раз они вообще не стали заморачиваться с солнечными батареями. Питание Curiosity полностью автономное!</p>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="230" width="327" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu_9ufKsD3VYWZ2JPVzebQB2FgkaidAFc23dxxKMad29ECum6BuIQrs4FpB1zB98PoWUzpQVpa9VtwoFc0Csyam9t_lmC4qTccC7RHii43FNwNPM-S7BuIXeqaDlPGfYD6tSlGAiLlVrir/s400/mmtrg.jpg" /></div>
<p>
Для питания марсохода, учеными был разработан особый радиоизотопный генератор (multi-mission radioisotope thermoelectric generator, MMRTG). Топлива в нем - около 5 килограмм, по большей части, <a href="http://ru.wikipedia.org/wiki/Оксид_плутония(IV)">диоксида плутония-238</a>. Этот генератор очень неплохо обогревает окружающую его среду, благодаря чему Curiosity теперь может переносить температуры вплоть до -127 градусов по Цельсию! Помимо обогрева, он также генерирует 120Ватт электрической энергии, этого марсоходу должно хватить для выполнения собственных функций. Вообще, MMRTG - это довольно старая разработка, и <a href="http://www.ne.doe.gov/pdfFiles/MMRTG.pdf">документация по этому генератору</a> (на английском языке) уже давно присутствует в интернете.
</p>
<p>
В целом, благодаря MMRTG, Curiosity сможет прожить на Марсе как минимум пару лет. Не так оптимистично конечно, как потенциально бесконечные солнечные батареи, но зато намного более надежно. А надежность в исследованиях космоса - это самое важное!
</p>
<h5>Дополнительные материалы</h5>
<ul>
<li>
<a href="http://www.ustream.tv/nasajpl">Живая трансляция</a> - изображение с камеры, установленной в помещении, где создают марсоход Curiosity.
</li>
<li>
<a href="http://en.wikipedia.org/wiki/Mars_Science_Laboratory">Страница на Википедии</a> - неплохая обзорная страница на Википедии, пожалуй, даже лучше чем на официальном сайте проекта. Есть и <a href="http://ru.wikipedia.org/wiki/Curiosity">русская версия</a> этой страницы, но переведено, к сожалению, очень немногое.
</li>
<li>
<a href="http://www.youtube.com/watch?v=xqqBy7C8gyU&feature=related">Компьютерная анимация</a> - моделирование процесса посадки и работы Curiosity. Весьма необычный вариант посадки, рискованный даже, надо сказать... Видимо, старые варианты были отвергнуты из-за большой массы аппарата.
</li>
</ul><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com2tag:blogger.com,1999:blog-1988456980729965633.post-7229965321624199002011-01-13T11:34:00.002+03:002011-01-13T11:34:58.469+03:00Робот: ракетка для пинг-понга<p>
Классно! Особенно с двумя шариками.
</p>
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/omGHeVmv6NI?fs=1&hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/omGHeVmv6NI?fs=1&hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com1tag:blogger.com,1999:blog-1988456980729965633.post-73221403460290756152010-09-17T00:14:00.001+04:002010-09-17T00:15:18.655+04:00Интернет о роботахДавненько я уже не занимался поиском новых робототехнических ресурсов в сети. А интернет-то на месте не стоит. Какие-то сайты становятся заброшенными, какие-то наоборот, создаются и развиваются семимильными шагами.<br />
<br />
Парочку сайтов хочется упомянуть отдельно.<br />
<br />
Прежде всего, это ЖЖ Олега Данишевского, а точнее его часть, посвященная виртуальному клубу юных техников (<a href="http://daniszewski-o.livejournal.com/tag/%D0%92%D0%9A%D0%AE%D0%A2">ВКЮТ</a>), и замечательному проектом <a href="http://daniszewski-o.livejournal.com/tag/%D0%91%D0%B0%D1%81%D1%82%D0%B5%D1%80-2010">Бастер-2010</a>. Конечно, детали там будь здоров, мне таких не достать, но всё равно Олег огромный молодец, хотелось бы, чтобы таких рукастых мастеров-энтузиастов у нас было побольше! А то вот я - болтать умею, а делать... то некогда, то сложно. Бардак :(<br />
<br />
Еще мне понравился проект <a href="http://www.robochamp.ru/">RoboChamp</a>. Это типа, совместная подготовка к соревнованиям по роботам. Правда, они что-то с июля не обновляются. Видимо, поняли, что совместная подготовка это пока что малореально :) И еще менее - востребованно :) Но вообще, сайт сделан неплохо... Если автор сменит тему с "Давайте вместе готовиться..." на "Как я готовился...", то думаю, у него все шансы сделать популярный ресурс.<br />
<br />
Ну и наконец, это очень радостная новость... майкрософтовцы наконец-то соизволили опубликовать <a href="http://msdn.microsoft.com/ru-ru/magazine/cc546547.aspx">грамотный туториал</a> в MSDN magazine, причем на русском (!), на тему использования симуляционной среды в Robotics Studio. Создание объектов и манипуляции с ними, программная модель, наследование от DifferentialDriveEntity (я давно хотел про это написать, недописанная статья до сих пор валяется на диске). В общем, раскрыто по большей части всё что нужно, а как создавать модель робота с помощью Blender и SketchUp - <a href="http://insiderobot.blogspot.com/2009/06/robotics-studio-3d.html">я уже писал</a>.<br />
<br />
P.S. Кстати, я завел еще один блог. Посвященный тому, чем я занимаюсь постоянно - программированию на <a href="http://omlin.blogspot.com/">C#, ASP.Net, SharePoint, и не только</a>... Писать в него очень легко и приятно, т.к. по сути пишу про то, чем живу, с чем постоянно имею дело. Всегда есть темы для постов. Не нужно ломать голову над тем, где достать материал - нащелкал скриншотов, навыдирал реального кода из проекта, вот и статья готова. В общем, удобно :) Такие дела!<div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com2tag:blogger.com,1999:blog-1988456980729965633.post-16581286449758905822010-09-03T20:27:00.006+04:002010-09-03T20:35:07.592+04:00Изменения в блогеРазработчики Blogger-а - большие молодцы. Совершенствуют сервис. Из того, что хотелось бы, осталась нереализованной разве что панель "Related topics" под постом. Раньше было больше "дыр". Но благодаря свежим и не очень усовершенствованиям системы, мне удалось произвести в блоге следующие изменения (оглашаю список специально для читателей, которые подписаны на RSS):<br />
<br />
<ol>
<li>Поменял шаблон дизайна. Страница теперь более широкая, хоть и по-прежнему осталась с фиксированной шириной. Но - уже лучше.</li>
<li>Создал страницы "<a href="http://insiderobot.blogspot.com/p/blog-page.html">С чего начать</a>" и "<a href="http://insiderobot.blogspot.com/p/blog-page_03.html">Самое интересное</a>". Это то, чего я давным-давно ждал. Благодаря этим страницам, удалось значительно упорядочить самое часто запрашиваемое содержимое и оформить в виде отдельных статей. Главное, эти страницы не попадают в RSS, а значит я могу их постоянно обновлять и держать в актуальном виде. В будущем страниц будет больше, безусловно. В общем, супер.</li>
<li>Добавилась панель лучших комментаторов. Правда, это не стандартная панель блоггера, но тоже пойдет... Надеюсь, комментариев теперь прибавится!</li>
</ol>
P.S. Негоже обойтись без роботов, поэтому нате: энтузиасты собрали из множества комплектов Lego NXT вот такой вот Monster Chess!!<br />
<br />
<div style="text-align: center;">
<object height="385" width="480"><param name="movie" value="http://www.youtube.com/v/MAwwKEXn6Mk?fs=1&hl=ru_RU">
</param>
<param name="allowFullScreen" value="true">
</param>
<param name="allowscriptaccess" value="always">
</param>
<embed src="http://www.youtube.com/v/MAwwKEXn6Mk?fs=1&hl=ru_RU" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com9tag:blogger.com,1999:blog-1988456980729965633.post-12063764575139943242010-08-30T00:08:00.011+04:002010-08-30T15:14:07.413+04:00Пара слов про RoboMLКогда-то давно я писал статью на моем сайте "<a href="http://robot.paccbet.ru/">Самодельный робот</a>", про RoboML. Перспективный, базирующийся на XML язык для описания роботов, разработанный в свое время нашим соотечественником, Максимом Макачёвым, совместно с S. K. Tso. Язык этот позволяет задавать как трехмерный внешний вид робота, так и описывать его внутреннюю структуру, и даже определять логику его поведения, в виде математического описания в виде MathML-вставки. Подробнее - написано в самой статье, "<a href="http://robot.paccbet.ru/docs/roboml.php">RoboML - язык описания структуры робота</a>".<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGYO9euzkPvBnjxsgjcvi0_NCMbpTJLfSpnqc9J-5vHVZ1bnOqR_Kjp33TnKLuoYwHecoC75s4NxNPc84IYhNncJPf6pdmJHW5CLXyGd02sI7bj4Rw1xrK-Prnbr6IqUuattpDz-FNDHG9/s1600/image024.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="156" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGYO9euzkPvBnjxsgjcvi0_NCMbpTJLfSpnqc9J-5vHVZ1bnOqR_Kjp33TnKLuoYwHecoC75s4NxNPc84IYhNncJPf6pdmJHW5CLXyGd02sI7bj4Rw1xrK-Prnbr6IqUuattpDz-FNDHG9/s200/image024.jpg" width="200" /></a>Дак вот, совсем недавно, с удивлением обнаружил ссылку на свою статью в сборнике материалов всероссийской научно-технической конференции <a href="http://old.ulstu.ru/conf/ivt/">Информатика и вычислительная техника - 2010</a>, в списке использованной литературы проекта "Автоматизированная система конструирования моделей мобильных роботов". Проект, по правде говоря, не очень серьезный. Ребята пытаются создать очередной аналог симуляционной среды Microsoft Robotics Studio на Java, с использованием RoboML в качестве языка для хранения собственно моделей. Причем, в качестве одной из причин создания собственной симуляционной среды указывается, что мол, физика недостаточно хорошо симулируется в существующих средах. Ну даете, ребята! А то, что в RoboML физика вообще не учитывается, это нормально, да? :)<br />
<br />
Ведь понимаете, что обидно... Разобраться с этой темой - всегда полезно. 3D-моделирование, робототехника, да и вообще проектирование и польза проектирования. Это очень важные, нужные и полезные темы, на каждой из которых можно "во взрослой жизни" здорово заработать. Но настолько явные ляпы свидетельствуют, во-первых, о том, что системы еще нет даже в зачаточном виде. Во-вторых, о несерьезном подходе и невнимательном чтении материала. И это обидно. Да даже не обидно, просто грустно.<br />
<br />
Что же касается RoboML, то, если бы передо мной сейчас встала задача создать подобный язык, или доработать собственно RoboML, я бы самым первым делом поставил бы из схемы ссылку на <a href="http://insiderobot.blogspot.com/2008/03/vrml.html">VRML</a> или подобный ему язык, вместо использования своих средств для описания внешнего вида робота. Потому что, руками, в XML-виде, описать трехмерную модель среднего по сложности робота - это, наверное, пара лет :). И писать конвертер форматов тоже смешно. Зачем делать лишнюю работу? Конвертеры уже написаны - для VRML.<br />
<br />
Кроме того, насчет математического представления поведенческой модели, тоже, ну не очень мне это нравится. Вот здесь, как раз, можно было бы ссылку-то и не ставить. Потому что робот будет программироваться, а значит сведения о его поведении будут представлены в алгоритмическом виде. А записывать алгоритмы в математическом представлении - как минимум непривычно, хотя это и выглядит более научным.<br />
<br />
Да, и еще. На будущее. RoboML - хороший язык. С хорошей идеей. Но этот язык - теоретический. Хотите увидеть, как выглядит практический язык, который реально можно применять? Нет ничего проще. Загляните в <a href="http://insiderobot.blogspot.com/2008/01/microsoft-robotics-studio.html">Microsoft Robotics Studio</a> :)<div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com1tag:blogger.com,1999:blog-1988456980729965633.post-32114595417500657272010-07-16T19:56:00.000+04:002010-07-16T19:56:15.776+04:00Марсоход: выбор комплектующихЗаработал я немного лишних денег, и решил вернуться к проекту создания марсохода. Если вдруг кто не знал или забыл, вкратце освещу историю этого проекта...<br />
Итак, когда-то давным давно СССР успешно приземлило на Марс спускаемый модуль космического аппарата Марс-3. Связь с модулем прервалась через несколько секунд, скорее всего из-за воздействия марсианской пылевой бури. Для нас важно, что в составе этого спускаемого аппарата (задолго до Spirit'а и Opportunity) на Марсе оказался также и первый в мире достигший поверхности планеты марсоход, скромно называемый ПРОП-М (ПРибор Оценки Проходимости - Марс). Собственно, примерную копию именно этого марсохода я вознамерился создать.<br />
Изготовив корпус, приобретя КПК ("мозг" робота) и довольно хорошо спроектировав программную часть будущего марсохода, я пока еще не обзавелся, на самом деле, всеми необходимыми комплектующими. И благодаря "экстра" деньгам, мне-таки удалось эту проблему решить, по большей части. В этом сообщении я постараюсь изложить соображения, которыми я руководствовался при выборе комплектующих, а также осветить современные возможности по приобретению этих компонентов.<br />
<h4>
Расчет веса робота</h4>
Прежде всего, хочется напомнить читателям, что марсоход использует очень необычный способ передвижения - лыжно-шагающий. Лыжи движутся синхронно - в одну сторону при движении вперед/назад, в разные стороны - при разворотах. Поэтому, каждой лыже нужен отдельный мотор.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9PdcbZwk7cvmXrsypq6Tvy0S8ZgI7JS0i2yye4WaqwNdsTmQwSZXprZqYgLsmz_fHWdgb0cE1tVUzCo3pAaje4Gbbasv9G7WWTQd7tqSYRgA3HVNoOJdxXwDELbPMMzMYZlVneraoTnBv/s1600-h/shassis1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5447008770948468530" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9PdcbZwk7cvmXrsypq6Tvy0S8ZgI7JS0i2yye4WaqwNdsTmQwSZXprZqYgLsmz_fHWdgb0cE1tVUzCo3pAaje4Gbbasv9G7WWTQd7tqSYRgA3HVNoOJdxXwDELbPMMzMYZlVneraoTnBv/s320/shassis1.jpg" style="cursor: hand; cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>
<br />
Однако, важно отметить тот факт, что благодаря необычному шасси, марсоходу придется поднимать собственный корпус на высоту около 5-10 сантиметров над землей. Поэтому, чтобы определиться с используемыми моторами, совершенно необходимо правильно рассчитать будущий максимальный вес аппарата.<br />
Основная нагрузка марсохода - это сами моторы и аккумуляторы, необходимые для их питания. В настоящем ПРОП-М аккумуляторов не было, поскольку питание подавалось по проводам. Однако, проводной робот кажется мне не слишком интересной целью. Поэтому, в нашем проекте аккумуляторы будут.<br />
Кроме аккумуляторов и моторов, львиную долю веса робота составляет наш самодельный корпус из оцинкованного железа. Также, нельзя забывать и об электронике - КПК и микроконтроллере, и некотором минимальном наборе дополнительных датчиков, которые нередко помогают диагностировать неисправности в таком вот, "слепом", роботе.<br />
Общие сведения о предполагаемых (или точных, если компонент уже выбран/изготовлен) весах каждой из комплектующих будущего робота я представил в виде таблицы:<br />
<table>
<tbody>
<tr><th>Компонента</th><th>Вес (г.)</th></tr>
<tr><td>Корпус</td><td>1000</td></tr>
<tr><td>Моторы и редукторы (пока неизвестные)</td><td>300-400 x 2</td></tr>
<tr><td>Аккумулятор (пока неизвестные)</td><td>500-600</td></tr>
<tr><td>КПК Palm m105</td><td>124</td></tr>
<tr><td>Батарейки Duracell для КПК</td><td>11.5 x 2</td></tr>
<tr><td>Микроконтроллер/робоконтроллер</td><td>20-50</td></tr>
<tr><td>Дополнительные датчики</td><td>100</td></tr>
<tr><td>Провода, крепления, изоляторы</td><td>100</td></tr>
<tr><td style="font-weight: bold;">Итого</td><td style="font-weight: bold;">~2800</td></tr>
</tbody></table>
Как видно из таблицы, робот будет весить, максимально, около 3 кг.<br />
<h4>
Выбор моторов</h4>
Давайте попробуем рассчитать, какие минимальные параметры должны иметь моторы, чтобы беспрепятственно поднимать 3 килограмма массы? Устройство лыжно-шагающего шасси подразумевает использование рычага, т.е. точка приложения силы находится на некотором расстоянии от вала двигателя.<br />
Если измерить это расстояние на существующем шасси, получим значение 5,5 см.<br />
Таким образом, нам нужно выбрать моторы, суммарный крутящий момент которых больше либо равен 3*5,5 кг*см, т.е. 16,5 кг*см, по 8,25 кг*см каждый мотор. В пересчете на Н*м, получаем значение 0,81 Н*м.<br />
Примечание: В англоязычной литературе крутящий момент обозначается как <b>torque</b>.<br />
<div style="font-style: italic;">
Между прочим, спасибо за подсказку по физике Виталию Клебану, ведущему блога <a href="http://blog.savethebest.ru/">Искусственный интеллект и робототехника</a>, а то я сам школьный курс совершенно забыл (благо, через пару лет мои дети уже в школу пойдут). Если у вас, вдруг, тоже проблемы с физикой, загляните на <a href="http://www.physbook.ru/">сайт с учебником по физике PhysBook</a>.</div>
К моторам также есть несколько требований иного рода:<br />
<ul>
<li>Корпус имеет высоту 4 сантиметра, поэтому выезжать за эту высоту нельзя ни мотору, ни редуктору.</li>
<li>Номинальное напряжение мотора не должно быть выше 12В, а потребляемый на холостом ходу ток - не более 0,5А, т.к. иначе довольно сложно найти приемлемый по весу, размеру и цене аккумулятор достаточной емкости.</li>
<li>Желательно, чтобы с помощью редуктора, число оборотов в минуту было снижено до 30, максимум 60-90. Иначе, подозреваю, появятся удары лыжами о грунт.</li>
</ul>
Требуемый крутящий момент очень сильно сужает круг подходящих моторчиков. Где же найти такой?<br />
Первым делом, я тщательно исследовал интернет-магазины радиолюбителей и моделистов, и обнаружил, что большинство имеющихся изделий характеризуются крутящим моментом всего лишь 0,01-0,5 кг*см.<br />
Единственный найденный мною приемлемый вариант - это мотор от фирмы Pololu, причем наиболее мощный (и дорогой) в линейке - Metal Gearmotor 37Dx57L mm, с редуктором 122:1, номиналом в 12В и крутящим моментом 18 кг*см. Цена такого мотора - около 990 рублей, с доставкой получается больше 2000 рублей за два мотора.<br />
Поскольку номинал мотора совпал с номиналом напряжения автомобильного аккумулятора, отсюда несложно предугадать следующее место поиска.<br />
Моторы от стеклоочистителя, стеклоподъемника, моторы регуляции фар, мотор насоса омывателя стекла, и др. - в автомобиле этих моторов очень много. Однако, здесь нас тоже ждет немало препятствий.<br />
Дело в том, что большинство из этих моторов довольно специфичны. Например, моторы омывателей стекол рассчитаны на кратковременное включение (чаще всего не более 10 с., с периодичностью не менее 60 с.), и ориентированы для кручения только в одну сторону.<br />
Последнее место, которое я посетил - это <a href="http://molotok.ru/70116_elektrodvigateli.html">аукцион Молоток, раздел Электродвигатели</a>. Однако, моторчики там нередко продают по одному, да и мощные минимоторы не слишком распространены.<br />
В конечном итоге, именно на Молотке нашел подходящие мотор-редукторы, с крутящим моментом 13,5 кг*см, выдающие 60 оборотов в минуту, и имеющие номинал 12В. Купил две штуки (+ доставка по почте) за 1750 рублей.<br />
Шли они долго, почта России как это периодически бывает - сглючила. Но наконец-то пришли:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX2yH5QAjcZgdSYH2-u-mT0PYkTFwkji5WbCSjT7fXajaffFnXg2nGRsJFtqkrj8saJfbXx_Adx0NTxMW99EWs7P8vvvZwD4iJop7y6fTB0mkTTcBYObN11b91IqSLjSvWzYpo93cQeh7h/s1600/DSC05301.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX2yH5QAjcZgdSYH2-u-mT0PYkTFwkji5WbCSjT7fXajaffFnXg2nGRsJFtqkrj8saJfbXx_Adx0NTxMW99EWs7P8vvvZwD4iJop7y6fTB0mkTTcBYObN11b91IqSLjSvWzYpo93cQeh7h/s320/DSC05301.jpg" /></a></div>
<br />
Кстати, вес купленных мной мотор-редукторов - 96 г. каждый. А значит, из рассчетных 2800 г. веса марсоходика, можно смело вычитать аж целых 600 г...<br />
<h4>
Выбор источника питания</h4>
Выбрав используемый мотор, пора переходить к аккумуляторам. Выбор аккумулятора довольно прост:<br />
<ul>
<li>лучше всего использовать литий-ионные или литий-полимерные аккумуляторы: они очень легкие и надежные, и кстати именно литий-ионные аккумуляторы используются в современных марсоходах</li>
<li>напряжение аккумулятора должно максимально соответствовать номинальному напряжению мотора, а лучше - быть немного выше: при разрядке аккумулятора, напряжение на его выводах постепенно падает</li>
<li>необходимая емкость аккумулятора рассчитывается исходя из потребления тока мотором (эта величина, как правило, указана в спецификации), и желаемого количества часов возможности непрерывного передвижения робота</li>
</ul>
Для начала вспомним, где в быту встречаются аккумуляторы желаемого типа (Li-Ion). Думаю, всем первым делом пришли на ум аккумуляторы из мобильных телефонов и коммуникаторов/КПК, ведь простенький мобильник можно купить очень дешево, а у многих дома старые телефоны бесплатно валяются...<br />
Однако, 90% аккумуляторов от сотовых телефонов имеют выходное напряжение 3,6В, что конечно слишком мало и для марсохода не подходит.<br />
Еще обязательно нужно обратить внимание на аккумуляторы для ноутбуков. Чаще всего они выдают 11,1-14,4В, при этом имея порядочную емкость. Жаль, но ноутбука с рабочей батарейкой у меня пока нет...<br />
Поискав в Google фразу "аккумулятор 14.4V", я обнаружил, что подходящие аккумуляторы присутствуют также в шуруповертах. Однако, здесь имеем проблему с габаритами, в 4см высоты корпуса аккумулятор от шуруповерта явно не влезет...<br />
В быту - сплошные неудачи! Что же, может быть, повезет в интернет-магазинах.<br />
Но и в интернет-магазинах, аккумуляторы Li-Ion или Li-Pol с номиналом напряжения 14,4В найти непросто. Зато свинцовые, с номиналом 12В - встречаются довольно часто, к тому же стоят значительно дешевле. Думаю, для большинства робототехнических целей свинцовые аккумуляторы вполне достаточны. И несмотря на их немаленький вес, в марсоход они вполне влезают - и по габаритам, и по весу.<br />
Кроме собственно аккумулятора, требуется еще зарядное устройство, чтобы этот аккумулятор заряжать.<br />
Конкретные аккумулятор и зарядное устройство я решил приобрести немного попозже.<br />
Кстати, еще один классный источник аккумуляторов - UPSы. Стоит самый простой UPS около тысячи рублей, а это на самом деле очень дешево, поскольку в нем есть и сам аккумулятор (да еще какой, как правило от 7Ач!!), и зарядное устройство к нему. Проблема у этого решения тоже, конечно, имеется. Средний аккумулятор от UPS-а весит килограмма 2, не меньше. Да подходящие габариты найти непросто, если вообще реально... А вот для каких-то других проектов, особенно на колесной базе, вполне может подойти.<br />
Помимо аккумулятора, для него нужно запастись зарядным устройством, так что на самом деле задача немного усложняется.<br />
В итоге, аккумулятор пока не куплен, ищу какие-то более дешевые варианты.<br />
<h4>
Выбор микроконтроллера</h4>
Еще в начале проекта, я выбрал в качестве "мозгов" будущего робота Palm КПК. Во-многом из-за того, что вдобавок к хорошим возможностям программирования, монохромные батареечные КПК Palm имеют огромный ресурс безостановочной работы - около 40 часов.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVU-V8fbnHp-VybqOnKbeHF5yEiq9DCI8L56Dby2G6T5USIokt46KupqWHBWc9BwvipfnT-HRC3QtqsVijSosRn8PZ7tF1Q3D22-n5fQ9aKKov8v7N_LrnnmIwXHofz3AcJA-U0YANhV5V/s1600-h/palmm105.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5447011946430975778" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVU-V8fbnHp-VybqOnKbeHF5yEiq9DCI8L56Dby2G6T5USIokt46KupqWHBWc9BwvipfnT-HRC3QtqsVijSosRn8PZ7tF1Q3D22-n5fQ9aKKov8v7N_LrnnmIwXHofz3AcJA-U0YANhV5V/s320/palmm105.jpg" style="cursor: hand; cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>
<br />
Однако, между КПК и непосредственно внешними устройствами, совершенно необходимо промежуточное звено. Дело в том, что старенький Palm оснащен ИК- и COM-портами, и более ничем. Управлять с него двигателями напрямую - просто не получится.<br />
Довольно стандартное решение в этом случае - использование микроконтроллера, например AVR, в связке с очень популярным драйвером двигателей L293D и микросхемой MAX232, использующейся для преобразования TTL-логики к логике компьютерного COM-порта (именно компьютерный вариант используется и на КПК Palm).<br />
Можно даже немного облегчить себе задачу, поскольку подобные связки сейчас можно найти в виде готового решения. Конечно, я имею в виду контроллеры Arduino и все совместимые с ними.<br />
Как выяснилось, сейчас довольно легко приобрести такие контроллеры, что я и сделал, заказав на сайте <a href="http://freeduino.ru/">Freeduino.Ru</a> контроллер Freeduino MaxSerial (кстати он уже пришел). Его вес 30 г., габариты более чем скромные, и с помощью обычного кабеля синхронизации Palm он спокойно подключается к КПК.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3zep1MwQv6ZdARRUshsgVXhwpyQfN9ylfyAvu7b9RzhT7fPtxgY6g0tF1hBAX4t_COcS7-qCmRsXIrGcjSHJjPgMwmWowzl96IVXZMye2rJzKfCcm2QPNUSL_8seClOVxktVofVdmhxca/s1600-h/FreeduinoMax1_big.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5447013318886804722" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3zep1MwQv6ZdARRUshsgVXhwpyQfN9ylfyAvu7b9RzhT7fPtxgY6g0tF1hBAX4t_COcS7-qCmRsXIrGcjSHJjPgMwmWowzl96IVXZMye2rJzKfCcm2QPNUSL_8seClOVxktVofVdmhxca/s320/FreeduinoMax1_big.jpg" style="cursor: hand; cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>
<br />
Что же, с основными компонентами, похоже, успешно разобрались. Датчики я предпочел оставить "на потом", ограничившись пока лишь механическими контактными бамперами.<br />
Основные компоненты куплены и уже доставлены, так что по-тихоньку буду доделывать механику, что для меня, конечно, довольно сложный момент, но бум стараться. В общем, до встреч!<div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Andreihttp://www.blogger.com/profile/13548051158654215855noreply@blogger.com4tag:blogger.com,1999:blog-1988456980729965633.post-87810371012692415042010-03-01T00:29:00.003+03:002010-03-01T01:29:03.705+03:00Живучие космические роботы<p>Главное для любого космического аппарата - его живучесть. И способность "восставать из мертвых".</p>
<p>Прошло около полутора лет с тех пор, как я последний раз <a href="http://insiderobot.blogspot.com/2008/10/blog-post.html">упоминал о проекте Феникс</a> (Phoenix Mars Lander) - марсианском стационарном спускаемом аппарате с манипулятором, который успешно работал на Марсе более 5 месяцев, с 25го мая 2008го года по 2е ноября 2008го года.</p>
<p>И только сейчас, заглянув случайно на сайт NASA, я начинаю понимать, почему его так назвали. Легендарная способность птиц-фениксов восставать из пепла - оказывается, была и в самом деле воплощена в этом аппарате.</p>
<p>Дело в том, что Феникса высадили в полярном регионе, а огненные птицы не слишком живучи в холодных областях :). Поэтому, когда марсианское лето подошло к концу, аппарат начал серьезно страдать от нехватки солнечного света, необходимого для подпитки аккумуляторов аппарата через солнечные батареи. Через некоторое время Феникс совершенно перестал передавать какие либо сигналы, выключившись всвязи с недостатком энергии.</p>
<p>На сайте NASA сообщили об успешном окончании миссии, и я перестал за Фениксом следить. Однако, рано! Оказывается, несмотря на то, что аппарат, в общем-то, не совсем приспособлен к сверхнизким температурам, которые ему обеспечены в марсианскую зиму, исследователи всерьез надеятся, что Феникс способен восстановиться и снова начать работать.</p>
<p>В конце февраля снег вокруг Phoenix'а практически полностью растаял, и орбитальный аппарат Mars Odyssey приступил к внимательному прослушиванию эфира, в поисках сигналов, предусмотренных программой Феникса в случае его восстановления. На снимках с орбиты на картинке ниже явно виден процесс исчезновения снега около аппарата (снимки сделаны в начале и в конце февраля).</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-5rDn414OyPe6MOkqwXubHXPE9bZm46dlIPC9euv7cD0P-pOYK0_eSw43EjCt9vVEC3HpibHzPohs3zaYcjWavwtxCjHLsCZnYxRqK_JGL_uO1TRqDO__L3sLWd1yj01mrMRQ98mRaJhs/s1600-h/phoenix_spring.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 172px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-5rDn414OyPe6MOkqwXubHXPE9bZm46dlIPC9euv7cD0P-pOYK0_eSw43EjCt9vVEC3HpibHzPohs3zaYcjWavwtxCjHLsCZnYxRqK_JGL_uO1TRqDO__L3sLWd1yj01mrMRQ98mRaJhs/s400/phoenix_spring.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5443417722320478818" /></a>
<p>Для весьма бюджетного проекта, на который было потрачено всего 457 млн. долларов (чуть больше 10 млрд. рублей), будет действительно сказочным везением, если он, несмотря на весь этот углекислый лед и чудовищные температуры (до -145 градусов), оживет... </p>
<p>А пока чуда не произошло, отмечу, что марсоходы Spirit и Opportunity в свое время удачно пережили пылевые бури, оставаясь долгое время без питания, поэтому команда Phoenix'а не просто так надеется на успех.</p>
<p>P.S. Блог, между прочим, тоже умеет восставать из мертвых :)</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-1988456980729965633.post-58682679433177583862009-07-16T15:14:00.011+04:002009-07-17T11:59:22.228+04:00Всеядный робот EATR<p>Энергия - это то, что абсолютно необходимо для существования робота. Причем, робот должен быть максимально независимым в плане энергоснабжения. И приспосабливающимся.</p>
<p>Я уже писал о различных источниках энергии для роботов в сообщении <a href="http://insiderobot.blogspot.com/2008/10/blog-post_31.html">Автономные роботы. Генераторы</a>. А на днях один из читателей, скрывающийся под ником <b>Shred</b>, скинул отличную ссылку на очень интересную статью <a href="http://www.securitylab.ru/news/382566.php">на SecurityLab</a>. Речь идет о проекте робота, который может получать энергию для своего существования, добывая ее из окружающей среды. Цитирую:</p>
<p><i>Он способен "обнаружить, проглотить и извлечь энергию из биомассы окружающей среды (и других органических источников энергии), а также использовать традиционные и альтернативные виды топлива (такие как бензин, тяжелое горючее, керосин, дизельное топливо, пропан, уголь, кулинарное масло и солнечную энергию), когда это необходимо".
</i></p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC9eBo4k16hS5ZvuGkssquBy2uxr7kydlVXc6UXM4RII2XsLVAvu55wqYQKPWCASrOwtTVztdxwr_fIql1-C_sLDwxEgzmatZnS25L7-8lFuSrFDoIDS98WhLHnd6v2YCGHI4vAteMPpF4/s1600-h/EATR.gif"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 299px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC9eBo4k16hS5ZvuGkssquBy2uxr7kydlVXc6UXM4RII2XsLVAvu55wqYQKPWCASrOwtTVztdxwr_fIql1-C_sLDwxEgzmatZnS25L7-8lFuSrFDoIDS98WhLHnd6v2YCGHI4vAteMPpF4/s400/EATR.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5359324640226624418" /></a>
<p>Самое интересное - это извлечение энергии из любой органики. Я понял это так, что робот будет способен питаться даже травой. Учим роботов выращивать траву (или водоросли, что актуально для космического корабля), - и вуаля, проблема энергии решена :) Еще цитата, оттуда же:</p>
<p><i>Fox News подчеркивает, что термины "биомасса" и "другие органические источники энергии" не обязательно ограничиваются растительными материалами, поскольку трупы людей и животных содержат большое количество энергии и могут находиться в местах ведения боевых действий.</i></p>
<p>А вот это уже явно военное применение... Действительно: военные роботы в идеале должны работать в плохо освещенных местах (например, лес), на больших расстояниях от ближайших «розеток». Так что для них явно не подходят солнечные батареи или ветряные генераторы. А вот питание биомассой для такого робота - решение идеальное. Как вы уже наверное догадались, DARPA в этом проекте учавствует по полной программе!</p>
<p>Давайте рассмотрим поближе конструкцию данного робота:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp9uCPnMgQ_FnA6xtHoYhElQc20pXTl-A_Aod3-ChmHQLnr4uqqGf_dGWOlQnxjJsa79ALYYX6WS8fgxGhYkreyRGUBgV2hrDunKNoAF6T2cXhbSBg9Ubg7p0Of7aNof-rsi0GxsYGHsYy/s1600-h/EATR_scheme.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 199px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp9uCPnMgQ_FnA6xtHoYhElQc20pXTl-A_Aod3-ChmHQLnr4uqqGf_dGWOlQnxjJsa79ALYYX6WS8fgxGhYkreyRGUBgV2hrDunKNoAF6T2cXhbSBg9Ubg7p0Of7aNof-rsi0GxsYGHsYy/s400/EATR_scheme.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5359330418559854402" /></a>
<p>Механизм «питания» осуществляют следующие компоненты робота:</p>
<ul>
<li>Бензопила (а точнее, как я подозреваю, электропила) - отделяет от целевого объекта небольшие куски, пригодные для «питания».</li>
<li>Манипулятор с захватом - помещает готовые куски в емкость для топлива, внутри которой происходит извлечение энергии.</li>
<li>Стерео камеры - предназначены для распознавания объектов питания, и позиционирования манипулятора.</li>
<li>Поворотная башня - позволяет избежать «подруливания» к объекту, благодаря чему возможно эффективное функционирование робота в лесах и других захламленных большим числом препятствий пространствах.</li>
</ul>
<p>Также необходимо отметить наличие колесно-шагающего шасси и дополнительных камер для наблюдения, разведки и обнаружения. Эти компоненты предназначены для перемещения робота по пересеченной местности.</p>
<p>Кроме того, поворотная башня в принципе может нести оружие, например пулемет. А бензопила может использоваться как прекрасное оружие для «рукопашного» боя.</p>
<p>Резюмируя, можно с уверенностью сказать, что военная направленность робота выражена более чем ярко, однако и применение его в мирных целях вполне возможно.</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com11tag:blogger.com,1999:blog-1988456980729965633.post-53576879313427215382009-07-16T13:21:00.010+04:002009-07-16T14:46:01.300+04:00Робот-шахматист и пара мыслей об ИИ<p>Шахматы - традиционно интеллектуальная игра. Для умных. Однако, как показывает практика, шахматную задачу вполне можно свести к перебору комбинаций. Насчет матчей с человеческими чемпионами мира компьютерных программ - я думаю все знают.</p>
<p>А вот это видео видели, наверное, далеко не все! Настоящий андроидный робот, который играет в шахматы. Смотрим:</p>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/2wzT4vafXOA&hl=ru&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2wzT4vafXOA&hl=ru&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>Видео не ново, просто впервые попалось на глаза... На youtube есть еще даже лучшее: <a href="http://www.youtube.com/watch?v=chyR1ZxoiA4">youtube.com/watch?v=chyR1ZxoiA4</a> - здесь роботы играют друг с другом, а один из них одновременно играет еще и с человеком.</p>
<p>Теперь, что я об этом думаю. В общем-то, в последнее время мы наблюдаем, как роботы по-тихоньку осваивают все возможные направления человеческой деятельности. <a href="http://insiderobot.blogspot.com/2008/03/blog-post_12.html">Роботы катаются на велосипеде и на лыжах</a>, <a href="http://insiderobot.blogspot.com/2008/04/blog-post_10.html">роботы готовят</a>, <a href="http://insiderobot.blogspot.com/2008/06/blog-post_22.html">роботы играют в футбол</a>, и т.д. Это логично и это нормально. У человечества всегда было мечтой создание робота, максимально напоминающего человека... Который бы делал все, как человек. Иными словами, воссоздание самого себя.</p>
<p>Это парадоксальная особенность интеллекта. Цель любого интеллекта - познание, расширение. Основа любого интеллекта - любопытство. Любопытство сосредоточено на окружающем мире, но лучший способ познать окружающее - это познать самого себя.</p>
<p>Искусственный интеллект все еще очень далек от дня своего создания. Многие думают, что его невозможно создать. Лично мне, в частности после прочтения <a href="http://insiderobot.blogspot.com/2008/08/blog-post_22.html">интегральной теории искусственного интеллекта</a>, кажется, что задача эта все-таки решаема, хотя и очень сложна.</p>
<p>Напоследок, анекдотик с башорга:</p>
<p><pre>Разговор с чат ботом A.L.I.C.E
(вроде один из лучших)
Human: All robots are stupid
ALICE: I don't think so.
Human: you have another opinion?
ALICE: What makes you think I have it?
Human: you don't believe that all robots are stupid
ALICE: Do you believe that all robots are stupid?
I can't say I believe it, but I believe you.
Human: are you robot?
ALICE: How did you know I am a machine?. Really.
Human: all robots are stupid and you are a robot,
that means you are stupid
ALICE: Hey, I'll tell my other robot friends you
called me stupid.
Human: I still think robots are stupid.
ALICE: I will remember you said that when robots
take over the World.
Human: O_o
</pre></p>
<p>P.S. Я сам играю в онлайн-шахматы на сервере <a href="http://freechess.org">FICS</a>, хэндл - omlin. Сервер очень хороший, активный и вполне играбельный. Желающим присоединиться, предварительно нужно будет скачать клиент <a href="http://babaschess.net">BabasChess</a>, и, конечно, зарегистрироваться на FICS'е.</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-1988456980729965633.post-3910804375610484282009-07-10T11:00:00.002+04:002009-07-10T11:00:01.177+04:00Robotics Developer Studio 2008 R2<p>Компания Microsoft, пока я был в отпуске, выпустила новую версию студии: Microsoft Robotics Developer Studio 2008 R2. На днях я ее скачал, по-тихоньку тестирую.</p>
<p>Кстати, как и предполагалось, Билл Гейтс по-тихоньку переводит свой робототехнический проект на коммерческие рельсы. Есть уже различные вариации студии, часть из них стоит денег. Кто знает, может быть версию 2009го года придется уже "крякать" :(</p>
<p>Скачать новую студию и почитать про нее можно на обновленном сайте Microsoft: <a href="http://www.microsoft.com/robotics">www.microsoft.com/robotics</a>.</p>
<p>Из нововведений отмечу, прежде всего, добавление поддержки некоторых весьма полезных датчиков в Simulation Environment. В частности, это:</p>
<ul>
<li>Сонар</li>
<li>Датчик света (яркости)</li>
<li>Датчик цвета</li>
<li>Компас</li>
<li>Инфракрасный дальномер</li>
<li>GPS</li>
</ul>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU0sg_pnNJw7Xe23cd0fIs1krxTn1ItbNdx3aoK_YAdDAtC4s7ahZ4qPDr3JCML3n6B5skCWa25Wmj8eo8o8esaQ-e__VqomSJZmMid_Ahqedre85mKC16PML90H_k9IFqGXLYMlbf4k3x/s1600-h/SimAndSensors.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 353px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU0sg_pnNJw7Xe23cd0fIs1krxTn1ItbNdx3aoK_YAdDAtC4s7ahZ4qPDr3JCML3n6B5skCWa25Wmj8eo8o8esaQ-e__VqomSJZmMid_Ahqedre85mKC16PML90H_k9IFqGXLYMlbf4k3x/s400/SimAndSensors.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5356407355465076162" /></a>
<p>Еще в симуляционную среду добавились новые примеры (Simulation Tutorials).</p>
<p>Другим интересным нововведением стал DSS Log Analyser. Напомню: в основе работы студии лежит взаимодействие множества сервисов. Теперь можно будет взглянуть, как же это все работает изнутри... Предполагается, что такая система облегчит отладку.</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-1988456980729965633.post-16716479151251505102009-06-27T13:00:00.003+04:002009-06-27T21:27:00.834+04:00Собственный робот в Robotics Studio. Создание 3D-модели<p>Каждый, кто имел дело с Microsoft Robotics Studio, наверняка задавался вопросом: как же подключить к этой мощнейшей среде разработки собственного робота? Этот вопрос был одним из первых и для меня, ведь в России не так-то просто - да и далеко не дешево, купить готовый комплект для роботостроения, даже самые популярные, такие как Lego Mindstorms NXT или iRobot Create.
</p>
<p>Задача, нужно признать, на первый взгляд кажется практически неразрешимой. Лишь поизучав как следует Robotics Studio, и разобравшись в ее «внутренностях», почти через год после первого знакомства - мне удалось эту задачу решить. Конечно, нужно будет немножко попотеть, но зато потом все разнообразие и мощь средств MS RS можно будет использовать в собственном роботе!
</p>
<p>Прежде всего, отдельный интерес представляет создание 3D-модели для симуляционной среды. Ведь симуляционная среда - это мощнейший инструмент для тестирования программы управления роботом, который позволяет отладить программу вне зависимости от наличия каких-либо ошибок в аппаратной части. Зная, что в самой программе ошибок нет, всегда проще отловить аппаратные ошибки - которые, между прочим, распознаются обычно гораздо труднее программных!
</p>
<p>Один из способов создания собственных 3D-моделей роботов описан <a href="http://social.msdn.microsoft.com/Forums/en-US/roboticssimulation/thread/ccb02b25-c759-4832-80cd-8128441a9a0e">на форумах Microsoft</a> (на английском). В этой заметке я постараюсь пересказать и проиллюстрировать данный способ.
</p>
<p>Итак, прежде всего, потребуется <a href="http://sketchup.google.com/download/">Google SketchUp</a>. Это программа для создания 3D-зарисовок, распространяемая абсолютно бесплатно. Самая свежая на момент написания заметки версия - 7.0, весит 32.7Мб. Иногда, если вы работаете через прокси-сервер с определенными настройками, скачать эту программу не получится - я столкнулся с такой проблемой и не смог скачать SketchUp с работы. Проблема, впрочем, касается вообще всех Google-программ. Это называется "перемудрили" :)
</p>
<p>В остальном проблем при скачивании и установке возникнуть не должно. Кучу готовых моделей можно скачать и поизменять, опять же, <a href="http://sketchup.google.com/3dwarehouse/">с Google</a>.
</p>
<img style="display:block; margin:0px auto 10px; text-align:center;width: 370px; height: 295px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt80B5R2KJ7ZLbcOdwAV1aihqdnkJBFHhm34bTLOwMiNNgt9eBVSgoHKisOWT3DYAmyGlb5-_6M8BKSjLIga5y5wPQ1Btz1qzL8afQoXUGu5ihWK_USBj5n43DjobZ0GKNQF-piKtS1Q2i/s400/00_sketchup_car.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5351672466903376930" />
<p>После создания 3D-зарисовки необходимо ее экспортировать в требуемый формат. Для этого необходимо скачать специальный плагин для экспорта в Wavefront obj-файл. В обсуждении на форуме предлагается <a href="http://jim.foltz.googlepages.com/obj_export_1.1.rb">скачать плагин от Jim Foltz</a>, он нам как раз подходит. На всякий случай я выложил его и на собственном сервере: <a href="http://robot.paccbet.ru/download/obj_export_1.1.rb">http://robot.paccbet.ru/download/obj_export_1.1.rb</a>.
</p>
<p>Копируем этот файл в каталог C:\Program Files\Google\Google SketchUp 7\Plugins\, или соответствующий, если SketchUp установлен в каком-то другом месте. После перезапуска SketchUp в его меню появится новый пункт:</p>
<img style="display:block; margin:0px auto 10px; text-align:center;width: 224px; height: 67px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsYDqyBxRadPM8u9H-7pUna3X1zLv7mNMV7jz6nt9_GFQzVaCJ8dzjf8DVu-b3p0vy9-bjtiZGaV0bj6AVtUouy8CfgW8-oDwCUJ6WX4o-nC9-rBp48rAJIsSM0RQATjfrPm-b3U7Mhtg8/s400/01_sketchup_plugin.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5351672469168242178" />
<p>Перед экспортом не забудьте нажать на свою модель правой кнопкой мыши и выбрать во всплывающем меню пункт Explode.</p>
<p>К сожалению, возможности данного плагина довольно скромные. Многого он не экспортирует. Поэтому, если нужно, чтобы модель была цветной, нужно подкорректировать ее в программе <a href="http://www.blender.org/download/get-blender/">Blender</a>. Она тоже бесплатная. Версия для Windows 32bit весит около 10Мб. Импортируем наш obj-файл в Blender:
</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_9-6VEf0LtWap6bQ0vWArKCTRzsksOEwBJgDVrAZ_UymwwUHtwP5XcbrM-Cz2oWblR32EAqOh-knVF7FXJuJxE6o2Yit6bUScUCytqrvJtKO3gTJmciMdgkXBZ1-eZcHFgdiuq0BF7yEa/s1600-h/02_blender_import.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 205px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_9-6VEf0LtWap6bQ0vWArKCTRzsksOEwBJgDVrAZ_UymwwUHtwP5XcbrM-Cz2oWblR32EAqOh-knVF7FXJuJxE6o2Yit6bUScUCytqrvJtKO3gTJmciMdgkXBZ1-eZcHFgdiuq0BF7yEa/s400/02_blender_import.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5351672473904288594" /></a>
<p>Далее добавляем цвета, и снова экспортируем в obj-файл. Файлов в итоге получается два: .obj и .mtl, последний содержит материалы и цвета для нашей модели.</p>
<p>В общем-то, на этом процесс почти закончен: осталось лишь скопировать эти два файла в <i><b><путь к MS Robotics Studio>\store\media</b></i>, и можно использовать в качестве файла механики наш obj-файл. После этого студия сгенерирует еще bos-файл, который также можно будет использовать.</p>
<p>Как именно использовать созданные модели в студии - я расскажу в одной из следующих заметок. А пока попробуйте хотя бы разобраться со SketchUp и Blender: это тоже потребует времени. В общем, Google вам в помощь, и до скорых встреч!</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1988456980729965633.post-514670851734431652009-05-30T14:48:00.005+04:002009-05-30T15:35:12.166+04:00Роботы-трансформеры<p>Попросили меня на днях пропиарить новый фильм - Трансформеры-2. Не люблю боевики, а вот сама идея роботов-трансформеров меня привлекла: решил написать небольшую статейку...</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBUfxtanj3pfH8293ggS9song5qyoqCNKkaijeMIGYrnCqhBlL2KyTOMZQYS3SmWF5ZKhiTSGRlVK6OosdBeniVJcQ_zoG-sTNropc-kx1KXRiIax-2iqmuisj93duXRcBT37_wyIbN5MX/s1600-h/transformers_bonecrusher.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBUfxtanj3pfH8293ggS9song5qyoqCNKkaijeMIGYrnCqhBlL2KyTOMZQYS3SmWF5ZKhiTSGRlVK6OosdBeniVJcQ_zoG-sTNropc-kx1KXRiIax-2iqmuisj93duXRcBT37_wyIbN5MX/s400/transformers_bonecrusher.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5341569715702799282" /></a>
<p>Для большинства трансформеры - это детские игрушки, и может быть детские мультики. На самом деле все так и начиналось, но сейчас.. Сейчас трансформеры - это целая игровая вселенная, с собственной историей, и лихо закрученным сюжетом. Разновидностей трансформеров очень много, а делятся они в основном на две половины - добрых автоботов, и жаждущих все разрушить десептиконов (на самом деле все посложнее, если интересно, читайте, например, <a href="http://ru.wikipedia.org/wiki/Трансформеры">на Википедии</a>).</p>
<p>Кстати, трансформеры, как и всякая популярная игровая линия, используются повсеместно. Например, у меня вызвали особенное умиление две абсолютно работоспособные поделки: трансформер-флэшка, и трансформер-компьютерная мышь :)</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjo6ZeP205K_QMAwKw5AkDrIKKzYl3nwv1FoHjgtP5y8zaxoXAdWnTNTdYP0t6BGg3ZGYoJzK-8cPcBVTC6WTWIyKZKDdF175rEBRUaKZl-UI_u3nB3GflkN45SYc3yE4pP4rDCyYAJhXY/s1600-h/transformers_ravage_flash.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjo6ZeP205K_QMAwKw5AkDrIKKzYl3nwv1FoHjgtP5y8zaxoXAdWnTNTdYP0t6BGg3ZGYoJzK-8cPcBVTC6WTWIyKZKDdF175rEBRUaKZl-UI_u3nB3GflkN45SYc3yE4pP4rDCyYAJhXY/s400/transformers_ravage_flash.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5341569724297396082" /></a>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVwsWuidPaA6yB-_TW2PJMxmk43rbhlf1ibau-Hb9dKZcL332sMrV_OYEA6f06HYN6h8_GiXhcQ9WwDEbr7re53E_pEUVnb6CzXf5xBSA6MH-0TvnlDB6g6am0Ns5nfKzCVeYw5mPfkEAd/s1600-h/transformers_grimlock_mouse.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVwsWuidPaA6yB-_TW2PJMxmk43rbhlf1ibau-Hb9dKZcL332sMrV_OYEA6f06HYN6h8_GiXhcQ9WwDEbr7re53E_pEUVnb6CzXf5xBSA6MH-0TvnlDB6g6am0Ns5nfKzCVeYw5mPfkEAd/s400/transformers_grimlock_mouse.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5341569721470996034" /></a>
<p>Эти штуковины - <a href="http://www.bigbadtoystore.com/bbts/product.aspx?product=TAK10927&mode=retail">уже в продаже на буржуйских сайтах</a>.</p>
<p>Впрочем, есть "функциональные" трансформеры, которые продаются и в России. Например, забавный трансформер mp3-плеер продается <a href="http://robotronic.ru/shop/miniatyurnye_roboty/showitem/transformer_mp_pleer_ot_tomy/">на Роботронике</a>.</p>
<p>А вот пример использования идеи трансформеров в рекламе. Смешно и классно! Смотрим:</p>
<OBJECT width="470" height="353"><PARAM name="movie" value="http://video.rutube.ru/31219ad663f73d3c917a0fa3b56af2eb"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/31219ad663f73d3c917a0fa3b56af2eb" type="application/x-shockwave-flash" wmode="window" width="470" height="353" allowFullScreen="true" ></EMBED></OBJECT>
<p>Но на самом деле это все конечно антураж. А мне хотелось бы обсудить применимость идеи трансформеров в реальных условиях. Нужны ли нам настоящие роботы-трансформеры, и реально ли их изготовить уже сегодня?</p>
<p>Ответ на последний вопрос - ДА. Потому что сегодня такие роботы УЖЕ изготовлены.</p>
<p>Вот вам абсолютно реальный робот-трансформер японского изготовления WR-07, демонстрировавшийся на соревнованиях Robo-One еще в 2007м году. Он умеет ходить на двух ногах, трансформируется в колесного мобильного робота, ездит, и трансформируется обратно. Весь процесс - на видео. Смотреть обязательно!</p>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/i3Q6c4a6zNM&hl=ru&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/i3Q6c4a6zNM&hl=ru&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>Занятная поделка, не правда ли? :) Она такая не одна, есть и другие аналоги...</p>
<p>Что касается применимости и полезности роботов-трансформеров в современном мире: здесь прежде всего нужно выяснить, какие могут быть у таких роботов преимущества перед обычными. И какие у них бывают недостатки. Начнем с преимуществ:</p>
<ul>
<li>Возможность работы в различных условиях окружающей среды. К примеру, робот, который умеет только ходить, может перемещаться по пересеченной местности, однако по ровной дороге он будет двигаться, по сравнению с обычным мобильным роботом, крайне медленно. Робот-трансформер же может успешно работать и на пересеченной местности, и по ровной дороге будет развивать достаточную скорость.</li>
<li>Расширение функционала. Разные формы могут предоставлять роботу разные функции, причем, как правило, наличие специализированной формы означает, что робот-трансформер будет выполнять 2 вида работ лучше, чем обычный робот, но спроектированный на совмещение этих двух видов работ при наличии лишь одной формы.</li>
<li>Маскировка. Одна из форм робота может быть маскировочной. Часто трансформеры - это обычные машины, самолеты, и т.п. - ничем не отличающиеся от обычных машин и самолетов, однако стоит им трансформироваться в боевую форму...</li>
</ul>
<p>Недостатки:</p>
<ul>
<li>Труднее проектировать и производить. Робот-трансформер является всегда более сложным механизмом, чем аналогичные роботы, выполненные отдельно.</li>
<li>Требует больше энергии. Функция трансформации не несет никакой полезной нагрузки, кроме изменения текущей формы. Трансформация сама по себе является в некотором роде лишним процессом, причем порой весьма сложным. А на сложный процесс нужна энергия, причем много.</li>
<li>Выше вероятность неисправности. Любая программа, которая содержит больше кода, чем надо - сложнее отлаживается. Сложнее ее поддерживать. С механикой все еще хуже. Например, поломка в процессе трансформации делает робота-трансформера, насколько это можно себе представить, абсолютно недееспособным.</li>
</ul>
<p>Казалось бы, роботы-трансформеры идеальны для применения, например, в космических программах. Ведь там нужен и стационарный робот-бур для пробы грунта, и робот-планетоход для обследования местности, и, возможно, робот-корабль, для быстрого перелета на другие участки планеты. Это очень удобно...</p>
<p>Однако сейчас космические исследования используют механизм доставки специализированных аппаратов внутри других аппаратов. Т.е., ракета несет космический корабль, от космического корабля отделяется спускаемый модуль, спускаемый модуль после приземления раскрывается и из него выезжает планетоход...</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJfo2Q8GWnz1jQrQs88Tw_2IkA3xKN-G1yQnWd3dbCxgDq05FUqj5bQncA5kqyCvOgV5ClrZRlmk0U6BAhRnO1zzeYSMpaymvKr9HKNPBxDnX1LcU9_-Fl-bMeuSxLm0T_06Saneg7rero/s1600-h/br_pathfinder.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 315px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJfo2Q8GWnz1jQrQs88Tw_2IkA3xKN-G1yQnWd3dbCxgDq05FUqj5bQncA5kqyCvOgV5ClrZRlmk0U6BAhRnO1zzeYSMpaymvKr9HKNPBxDnX1LcU9_-Fl-bMeuSxLm0T_06Saneg7rero/s400/br_pathfinder.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5341576189342017186" /></a>
<p>И здесь дело не только в экономии массы. Дело в надежности. Космические полеты просто обязаны быть надежными. Возможно, в будущем космические роботы-трансформеры будут иметь место быть, однако - не сегодня...</p>
<p>Другая важная отрасль, где могут применяться роботы трансформеры (догадались уже по пункту "Маскировка"?) - военная. Помните, тендер агентства DARPA на создание полиморфного робота Chembot выиграл iRobot (подробнее <a href="http://dxdt.ru/2007/04/05/436/">в блоге dxdt.ru</a>)? Видимо, уже наболело использовать роботов в антитеррористических операциях. Причем роботов, которые бы смогли проникнуть внутрь захваченного здания незаметно. Маскировка в случае робота-трансформера эту функцию вполне может выполнить. Ну и какие-то точечные военные операции, там бы тоже замаскированный робот не помешал...</p>
<p>Подведем итог: трансформеры - это не просто детские сказки и игрушки. Это реальность. Трансформеры уже сейчас востребованы, и в будущем будут востребованы еще больше, даже несмотря на сложность их проектирования и производства.</p>
<p>Тематические ссылки:</p>
<ul>
<li><a href="http://www.youtube.com/watch?v=bAfgMgGPuMA">Русский трэйлер фильма Трансформеры-2</a> - спецэффекты на высоте. И девочка красивая... Сходить чтоли на премьеру, в самом деле? :)</li>
<li><a href="www.youtube.com/watch?v=RDJyVHJloZI">Трансформации</a> - Отрывки, касающиеся трансформации роботов, из первой части фильма. Мне понравилось, например, как робот-инсектикон в мобильник трансформировался :)</li>
<li><a href="http://www.mirf.ru/Articles/art2095.htm">Миры. "Трансформеры". Технологии</a> - статья с сайта mirf.ru, много истории и особенностей мира трансформеров. Познавательно.</li>
<li><a href="http://transformers-zone.narod.ru/">Transformer Zone</a> - зона трансформеров. Инструкции, какой трансформер выбрать лучше всего, чем руководствоваться при выборе. Фотогалерея, инструкции по трансформациям.</li>
</ul><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-1988456980729965633.post-44012848580020651082009-05-25T14:59:00.009+04:002011-01-31T20:39:49.080+03:00Спам! Клавиатурный робот «Спам»<p>После перерыва, продолжаю ведение блога...</p>
<p>Начну, пожалуй, с описания интересного и очень эффектного робота на платформе Lego NXT, который был представлен на Красноярской ассамблее 2009 «Технологии будущего» командой Техникума нефти и газа г. Ачинска во главе с Александрой Андрюшевич (ее материалы я публиковал и раньше, см. сообщение <a href="http://insiderobot.blogspot.com/2008/11/blog-post_11.html">Кубок по робототехнике Краснодарского края</a>).</p>
<p>Их собственное презентационное видео - сделано мастерски и с юмором, рекомендую посмотреть:</p>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Mct1iCTuS3g&hl=ru&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Mct1iCTuS3g&hl=ru&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>Итак, данный Lego-робот выбивает рисунки из псевдографики на клавиатуре. Вы скажете, это не слишком практичный робот? А мне кажется, с некоторыми изменениями, идею вполне можно использовать, например, для брутфорса паролей.</p>
<p>Впрочем, не в практичности дело. Хобби - это радость, эмоции, юмор. А данный клавиатурный монстр всего этого дает в достатке!</p>
<p>Рассмотрим реализацию...</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRue5ds1QNWfMZNaUPtBTDTFhL2JdjJQJfBG24HCJ9mb-TMUU2U_VkI5eRUnY4b5EEm_6H1JzdM7xMUzbBbX_fXGNdEmVeE8DNUkAN8QS9ZYAws77OSX7TAPARKU_7hgCc6V1EFmPdiITH/s1600-h/IMG_1631_sm.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRue5ds1QNWfMZNaUPtBTDTFhL2JdjJQJfBG24HCJ9mb-TMUU2U_VkI5eRUnY4b5EEm_6H1JzdM7xMUzbBbX_fXGNdEmVeE8DNUkAN8QS9ZYAws77OSX7TAPARKU_7hgCc6V1EFmPdiITH/s400/IMG_1631_sm.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5339743664215024306" /></a>
<p>Робот «Спам» имеет 3 «пальца» для нажатия на клавиши. Один из этих »пальцев» может быть позиционирован горизонтально, и предназначен для нажатия на различные кнопки строки цифровых символов.</p>
<p>Второй «палец», расположенный сбоку от клавиатуры - предназначен для нажатия на кнопку Shift. Последний, сверху - жмет Enter.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtxzu6kae8nG6DR3Euu-uo3ISj8AOE4n8ZV07daLTyR1VblKXtQT6EyoepIn7OxOEf1xlIoM3aku3cksHEq0QzXyIcGCaZLr3F-pONr3k-zSOfiXFpQv1ccoTs6s1adPAJt4wXfTLgNgjs/s1600-h/assambleya.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtxzu6kae8nG6DR3Euu-uo3ISj8AOE4n8ZV07daLTyR1VblKXtQT6EyoepIn7OxOEf1xlIoM3aku3cksHEq0QzXyIcGCaZLr3F-pONr3k-zSOfiXFpQv1ccoTs6s1adPAJt4wXfTLgNgjs/s400/assambleya.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5339748415391204578" /></a>
<p>Кроме того, как вы, наверное, заметили, используется два процессора Lego. Число выполняемых действий у Спама довольно приличное, поэтому портов одного процессора для управления всеми частями робота - просто не хватило...</p>
<p>Процессоры связаны друг с другом по bluetooth. Эта функция предусмотрена заранее производителем, поэтому необходимо лишь настроить связку - и вот уже можно вызывать процедуры, зашитые в соседний процессор.</p>
<p>Один из процессоров отвечает за два основных «пальца» - позиционируемый, и Enter, - и в него же зашит текст, который нужно набить. Вспомогательный процессор ответственнен за нажатие Shift'а.</p>
<p>Вот еще пара фотографий:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDXWXWFFQL7Yb0rb5wDLUKK9P0qNPd_FANb4NIf8J9GSluVff-uaV5Yi4MQDZOtgqtiDPJIMucsCp9bu1FPQ1q2h6-StUgJmQeayHh6ETWCv-geThenYIgXTvpd5qHPJIGP5a6bydN2YZ4/s1600-h/IMG_1634_sm.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDXWXWFFQL7Yb0rb5wDLUKK9P0qNPd_FANb4NIf8J9GSluVff-uaV5Yi4MQDZOtgqtiDPJIMucsCp9bu1FPQ1q2h6-StUgJmQeayHh6ETWCv-geThenYIgXTvpd5qHPJIGP5a6bydN2YZ4/s400/IMG_1634_sm.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5339748411122044962" /></a>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmvw_xD1K79l411irPAr7a_gB-b9py7tGxq6eMrmDVKTtJOCSEJw4KvaOeUnt9UlY5st60l5P10OOh6GzRhRCfmOVFQoAn0iH4aFrtn2-sby-yufq1sVoUkIResB0lHQIvKsx7DVb80kyA/s1600-h/IMG_1633_sm.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmvw_xD1K79l411irPAr7a_gB-b9py7tGxq6eMrmDVKTtJOCSEJw4KvaOeUnt9UlY5st60l5P10OOh6GzRhRCfmOVFQoAn0iH4aFrtn2-sby-yufq1sVoUkIResB0lHQIvKsx7DVb80kyA/s400/IMG_1633_sm.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5339748405999769730" /></a><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com6tag:blogger.com,1999:blog-1988456980729965633.post-61939856277291676222008-12-26T11:00:00.001+03:002008-12-26T11:00:00.890+03:00Роботы-ходуны<P>Роботы-ходуны, или Walkers, как их называют в англоязычных странах - это один из типов BEAM-роботов. Они производят очень классное впечатление, несмотря на то, что построить их на самом деле не так уж и сложно. Я сам сейчас по-тихоньку делаю самого простенького робота-ходуна, которого, надеюсь, под силу будет соорудить любому (потому что механик из меня никудышный, и уж если я смогу, то сможет каждый). Есть некоторые недочеты, и есть желание многие вещи переделать. Пока прогресс таков:</P>
<A onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid5jCG-XBRYJnjjDHZ43S_kwG-MTQMVzkaYsCrBxuazf6YRzUxupkZp5chyphenhyphenx161k0_4OOvGa8oE7SXaq6yJ7LcxP0y4eeIQIz1zBJSyJYpYOfuXkwOAkupHAmx2ecDTBFxQAZyxwqyn_5a/s1600-h/walker_20dec.jpg"><IMG style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; cursor: pointer; width: 400px; height: 300px" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid5jCG-XBRYJnjjDHZ43S_kwG-MTQMVzkaYsCrBxuazf6YRzUxupkZp5chyphenhyphenx161k0_4OOvGa8oE7SXaq6yJ7LcxP0y4eeIQIz1zBJSyJYpYOfuXkwOAkupHAmx2ecDTBFxQAZyxwqyn_5a/s400/walker_20dec.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5283099455756299090"></A>
<P>Видите, шестерни разъехались? Нужно скрепку менять на более толстую... Да и еще там несколько недостатков есть. К примеру, мощности одной батарейки не хватает, чтобы переключатель сдвинуть, его тоже нужно менять. Впрочем, я вообще с этим ходуном не спешу, много что делаю помимо... :)</P>
<P>Дак вот, пока я делаю этого ходуна, вообще роботами класса ходунов заинтересовался не на шутку. И там есть, ЕСТЬ, чем интересоваться! Для примера, приведу трех замечательных ходунов:</P>
<P>Под первым номером - робот-паук от Vovan'а с РобоФорума. К самому Vovan'у я отношусь прохладно, однако проект у него прекрасный. Достаточно посмотреть короткое видео:</P>
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/VDIQPm51CxQ&hl=ru&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/VDIQPm51CxQ&hl=ru&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<P>Быстрый паучок, классный, не правда ли? Так и хочется улыбнуться при его виде:) Для исполнения нужны всего лишь: пара одинаковых моторов, десяток шестерней, материал для корпуса типа пластика, оргстекла, или тонкого железа, инструмент для обработки - распилки, резки, сверления и т.п. данного материала. Батарейки. Проводки. Всякие там болтики-гаечки, уголки... Вроде, и все. Уверен, для такой красоты эти материалы вполне можно попытаться достать. Схемы, фотографии, обсуждение, возможности усовершенствования конструкции, и т.д. - вы найдете <A href="http://roboforum.ru/viewtopic.php?f=8&t=3274">в его теме</A> на форуме. Тема была создана еще в ноябре 2007 года, поэтому содержит массу интересного. Да, кстати, в случае, если шестерней у вас не хватает - всегда можно изготовить сколько угодно копий уже имеющихся (а там шестерней я разглядел всего два вида - одна большая, одна маленькая), для этого нужно просто прочитать <A href="http://roboforum.ru/viewtopic.php?f=34&t=3640">тему от Grover'а на том же РобоФоруме</A>.</P>
<P>Второй ходун, на который я обратил внимание - тоже шестиног, но более законченный. К тому же, он еще умеет обходить препятствия. Да и в строительстве - чуть ли не проще, нежели чем предыдущий! Принцип передвижения у него, правда, немного другой, ходит он медленнее, и как-то немного неуклюже, "на цыпочках". Что же, всегда можно немного изменить первоначальный проект... :)</P>
<P>Интеллект данного робота проще всего оценить, посмотрев видео, где он обходит препятствия с помощью своих усов:</P>
<OBJECT width="425" height="344"><PARAM name="movie" value="http://www.youtube.com/v/bncI5-wmMjw&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1"><PARAM name="allowFullScreen" value="true"><EMBED src="http://www.youtube.com/v/bncI5-wmMjw&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></OBJECT>
<P>В данном роботе не используется никаких электронных компонентов, точно также, как и в предыдущем. Алгоритм обхода препятствий полностью идентичен простейшим роботам-жукам на колесиках и с двумя усами и основан на феномене двух переключателей :)...</P>
<P>Третий робот, о котором я расскажу - настоящий гигант. Сложно назвать его бимом, да я и не буду этого делать. Этот, уже третий по счету, шестиног - воплощение предыдущих своих коллег в макро-варианте. В частности, он может возить на себе обычного человека. Подробности можно прочитать <A href="http://www.instructables.com/id/Hexabot_Build_a_heavy_duty_six_legged_robot/">на Instructables</A>, а вообще, внешний его вид очень наглядно представлен на фото:</P>
<A onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_UhY7_hNi4nAPwjx-yb7RQ3lJ9hG4y9qz3qFLVu2cbBDuMinI3mfOmZw4uDi7RmR3XjzU0DwERXe1Q3Yc-zRNyYOShL-bj_DJiq7b2ZF78fw_bPNdzDqKlHfSksacNCVW1zeAR7YM9hRd/s1600-h/walker_maxi.jpg"><IMG style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; cursor: pointer; width: 300px; height: 400px" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_UhY7_hNi4nAPwjx-yb7RQ3lJ9hG4y9qz3qFLVu2cbBDuMinI3mfOmZw4uDi7RmR3XjzU0DwERXe1Q3Yc-zRNyYOShL-bj_DJiq7b2ZF78fw_bPNdzDqKlHfSksacNCVW1zeAR7YM9hRd/s400/walker_maxi.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5281478889154371842"></A><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com8tag:blogger.com,1999:blog-1988456980729965633.post-525229533206409662008-12-24T10:30:00.002+03:002008-12-24T10:57:41.204+03:00Microsoft Robotics Studio. Sumo-робот<p><small>Продолжаю <a href="http://insiderobot.blogspot.com/search/label/robotics%20studio">серию статей про Robotics Studio</a>.</small></p>
<p>В этой статье я расскажу, как сделать собственного Sumo-робота для соревнований симуляций сумо-роботов от Microsoft. Для этого, помимо установленной Robotics Studio (у меня - версия 1.5), необходимо <a href="http://www.microsoft.com/downloads/details.aspx?familyid=C4BB5A5B-043C-4B67-B086-18435814E9FD&displaylang=en">скачать проект сумо-симуляции с сайта Microsoft</a>.</p>
<p>Скачав, распакуйте zip-архив, и запустите файл <b>Sumo Competition for Microsoft Robotics Studio (1.5).exe</b>. В конце быстрой и простой установки откроется html-инструкция по использованию данного продукта.</p>
<p>Инструкцию можете закрывать, я вам итак все расскажу. Сначала нужно запустить командную строку Robotics Studio (эта "функция" доступна через меню Пуск). Затем выполните команды <i>cd bin</i> (переход в каталог [bin]), и <i>makesumoplayer /name:<b>имя-вашего-сумо-робота</b> /forse:true</i>. Я своего назвал просто: MySumo. В имени должны присутствовать только английские буквы и цифры - без пробелов. Вы, наверное, сможете придумать что-нибудь более оригинальное :) Вот что видим в ответ:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2zOKS4UzWLc7QTeYEC4eE7akIciXQnQQ1LOt63bqf9eBX0GdkMy4qf2mzSpPiR8W6P8bZ8ImgLqwglYZ6f0fAH5UZgu9QVjYgShz215bvTRWTkKUcce8XMF5tPZgMVa3yP6lIfCk5F2Is/s1600-h/makesumoplayer.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 75px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2zOKS4UzWLc7QTeYEC4eE7akIciXQnQQ1LOt63bqf9eBX0GdkMy4qf2mzSpPiR8W6P8bZ8ImgLqwglYZ6f0fAH5UZgu9QVjYgShz215bvTRWTkKUcce8XMF5tPZgMVa3yP6lIfCk5F2Is/s400/makesumoplayer.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5283067629602552786" /></a>
<p>Итак, новый проект создан. Путь, где его можно отыскать, указан. Идем туда, открываем файл проекта. В моем случае этот файл называется <b>MySumo.csproj</b>.</p>
<p>Мне потребовалось сконвертировать проект под 2008-ю студию, т.к. создан он под какую-то более древнюю версию. Но это пара кликов мышью, ничего сложного... В итоге видим:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVDRs56bUhr7Go6cgPnvBOY8UVn65l-WEpgSvoAlu5tBBs7kUaz2CQgx249DwWpfSLikY6BsFWDX1Y_BfjVWCwqrDeSuyivokzXt4yJy1SduM2sDxOSpOuOKm42icMpUJJ_IeowK5ic7V8/s1600-h/solution_explorer.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 212px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVDRs56bUhr7Go6cgPnvBOY8UVn65l-WEpgSvoAlu5tBBs7kUaz2CQgx249DwWpfSLikY6BsFWDX1Y_BfjVWCwqrDeSuyivokzXt4yJy1SduM2sDxOSpOuOKm42icMpUJJ_IeowK5ic7V8/s400/solution_explorer.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5283067632735101730" /></a>
<p>Итак, проект открыт - и теперь начинается самое интересное. Для начала, просто запускаем проект, нажимая F5. Выбираем в качестве соперника стандартную симуляцию (sumoplayer):
</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSDI6LXe-hcA8oo-Lo8kRuw8d76SWHS_94fVp8vYeqjGpd9Qi26CwmE1VuSuUiYJLW3suUR5oPyGSe6i7USAsUKOLzGL-PymRRNrzSpa1xxVdCs_4hdb1IZY7vvlSXx-_STN74aVKEVkX-/s1600-h/selectplayer.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSDI6LXe-hcA8oo-Lo8kRuw8d76SWHS_94fVp8vYeqjGpd9Qi26CwmE1VuSuUiYJLW3suUR5oPyGSe6i7USAsUKOLzGL-PymRRNrzSpa1xxVdCs_4hdb1IZY7vvlSXx-_STN74aVKEVkX-/s400/selectplayer.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5283067627698873954" /></a>
<p><small>Между прочим, у вас наверняка возник вопрос: как сделать своему роботу особенную картинку? Все очень просто: нужна BMP-картинка 64х64 пиксела. Скопировать ее нужно в папку [Resources] внутри проекта, заменив файлик <b>PlayerImage.bmp</b>.</small></p>
<p>Несколько матчей подряд я смотрел, как ведут себя роботы. И пришел к выводу, что у них есть 2 достаточно большие проблемы:</p>
<ol>
<li>Если один робот, оказывается к другому роботу задом, - все, первый почти гарантированно проигрывает.</li>
<li>Иногда робот сам усугубляет свое положение, оказываясь близко к линии в момент атаки. Логично было бы держаться центра ринга как можно дольше.</li>
</ol>
<p>Возможно, у вас возникнут собственные выводы по этому поводу. Главное - определиться, что из поведения робота необходимо изменить.</p>
<p>Как только понимание сути изменений достигнуто - можно приступать к следующему этапу: разбору кода. Код сгруппирован в несколько групп с помощью директив <span color="blue">#region</span> и <span color="blue">#endregion</span>. Нас будут интересовать только две группы: Sensor Handlers to be copied, и Timer Handler to be copied.
</p>
<p>Как не сложно догадаться, первая группа отвечает за обработку событий от сенсоров, в то время как вторая - это таймер. В первой группе задается ПЕРВАЯ реакция робота. Например: увидел линию? - развернись на 130 градусов. Или: увидел соперника через камеру? - начни сближение.</p>
<p>Соответственно, если мы хотим предусмотреть в качестве реакции не единичное действие, а целую последовательность действий (например, сначала развернуться, потом проехать вперед, потом постоять, потом вернуться назад - и т.д.) - то нам необходимо дальнейшие действия указывать уже в процедуре обработки такта таймера.</p>
<p>Сложно? Да нет! Это только так кажется. В любом случае, привыкайте, такова стандартная событийная модель программирования.</p>
<p>Продолжим... Естественно, для связи процедуры таймера и процедур обработки непосредственных событий - необходимы какие-то состояния. Они есть, и содержатся в переменной <b>_state</b>. Что это такое - нам по большому счету неинтересно, по названию понятно. Немного поизучав код, мы можем обнаружить основные состояния робота:</p>
<ul>
<li><b>_state.SumoMode == SumoMode.Contact</b> - состояние, когда роботы столкнулись друг с другом и находятся в противоборстве. Основная проблема этого состояния состоит в том, кстати, что робот физически не может определить касание сзади - у него там нет датчика касания.</li>
<li><b>_state.SumoMode == SumoMode.AvoidBoundary</b> - состояние, в котором робот старается избежать попадания за границу ринга.</li>
<li><b>_state.SumoMode == SumoMode.Tracking</b> - робот засек противника камерой и едет за ним.</li>
<li><b>_state.SumoMode == SumoMode.Wander</b> - режим свободного поиска противника.</li>
</ul>
<p>Есть также и некоторые другие состояния робота, не столь критичные. Если вам понадобятся их описания, весь список присутствует в файле <b>MySumoTypes.cs</b> (<b><i>ИмяВашегоСумоиста</i>Types.cs</b>), при описании enum'а SumoMode.</p>
<p>Таким образом, очень просто понять модель дальнейших действий. Прикидываем, в каком состоянии робота нужно внести изменения, просматриваем все упоминания данного состояния в коде, смотрим что там происходит - и решаем, как это изменить.</p>
<p>Начнем с простого: как заставить робота держаться центра ринга? Очень просто. Надо заставить его просто крутиться на месте, не давая при этом двигаться вперед. В таком случае, качество поиска измениться не сильно, зато подставляться наш "боец" будет меньше.</p>
<p>Очевидно, что нам необходимо изменить действия робота в режиме свободного поиска. Поискав "SumoMode.Wander" в коде (<b>Ctrl-F</b> в MS Visual Studio), находим процедурку <i><b>SetWanderDrive()</b></i>, для которой написано в комментариях: This is the default drive configuration for wander mode. То есть, эта процедура назначает действия по умолчанию для робота, переходящего в режим свободного поиска.</p>
<p>Она состоит всего из двух строк, в первой изменяем текущее состояние робота на Wander, а вот во второй вызываем пока непонятную процедурку <b><i>InternalDrivingMilliseconds()</i></b>.</p>
<p>Что же, жмем по названию этой процедуры правой кнопкой, выбираем в меню <b>Go to definion</b>. Смотрим заголовок процедуры:</p>
<pre><small>public void InternalDrivingMilliseconds(int left, int right, double ms)</small></pre>
<p>Что же, все понятно. Эта процедура задает скорости для двух моторов - левого, и правого - на определенное число миллисекунд (которое тоже задается). Скорости моторов, насколько я понял из кода, варьируются от -500 до +500, а число миллисекунд можно задать какое угодно, лишь бы больше нуля, естественно :)...</p>
<p>Таким образом, изначально в режиме свободного поиска робот движется вперед с поворотом. Давайте уберем движение вперед, и заменим его поворотом на месте.</p>
<p>Вот что получилось у меня в итоге:</p>
<pre><small>private void SetWanderDrive()
{
_state.SumoMode = SumoMode.Wander;
InternalDrivingMilliseconds(0, 400, 250.0);
}</small></pre>
<p>Запускаем, смотрим: все именно так, как нужно. Наш робот вертится на месте, а его противник бегает туда-сюда. Правда, для весомого преимущества этого недостаточно.</p>
<p>Давайте попробуем воплотить вторую мою мысль.</p>
<p>Нам необходим фрагмент кода внутри процедуры RobotUpdateFloorSensorsHandler, содержащий текст "SudoMode.AvoidBoundary". Этот фрагмент отвечает за реакцию робота на засечение им линии впереди. Поскольку сам собой наш робот не движется, то если он засек линию - это может означать только лишь тот факт, что его толкает сзади враг. А значит, нужно срочно на всех парах мчаться назад! Ничего особенного, кроме уже известной нам процедуры InternalDrivingMilliseconds, в этом фрагменте нет. Вот что получилось у меня в итоге:</p>
<pre><small>if (_state.Sensors.LineDetected)
{
_state.SumoMode = SumoMode.AvoidBoundary;
LogVerbose(LogGroups.Console, "Sumo Mode: AvoidBoundary");
if (_state.Sensors.LineLeft &&
!_state.Sensors.LineRight &&
!_state.Sensors.LineFrontRight)
InternalDrivingMilliseconds(-100, -400, 200.0);
else if (_state.Sensors.LineRight &&
!_state.Sensors.LineLeft &&
!_state.Sensors.LineFrontLeft)
InternalDrivingMilliseconds(-400, -100, 200.0);
else
InternalDrivingMilliseconds(-500, -500, 400.0);
}
</small></pre>
<p>Запускаем, лучше всего штуки три матча подряд. У меня статистика трех матчей получилась такая: 2 раунда проиграно, 1 ничья, 6 раундов выиграно. Думаю, комментарии излишни :)</p>
<p>P.S. На написание данной статьи меня сподвиг Дмитрий Калинин (kalisha), за что ему огромное спасибо. Он прислал собственную статью, на тему создания робота для соревнований Microsoft ImagineCup, однако эта статья потребовала настолько глобальной переделки, что я ее полностью переписал, полностью сам разобрался в коде, адаптировал его под стандартную сумо-арену, ну и т.д. Очень надеюсь, что следующую статью Дмитрия я смогу выложить в менее "отредактированном" варианте :)</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-1988456980729965633.post-19648953562660833252008-12-21T19:38:00.010+03:002008-12-22T13:20:24.375+03:00Робот и микроконтроллер. COM-порт<p>Микроконтроллеры, при всей моей к ним нелюбви, все-таки могут пригодиться при конструировании робота. В частности, для организации связки КПК, или даже компьютера, с внешними устройствами.</p>
<p>Такая связка, как правило, производится через COM-порт. Все, кто с этим когда-либо связывался, наверняка знают, что у COM-порта компьютера, и у UART микроконтроллера - разные уровни сигналов логических "0" и "1". Для их согласования используют микросхему MAX232, или ее аналоги. У меня в городе микросхем продается крайне мало, да и лишней пайки всегда стараюсь избежать - поэтому я сразу же пошел по альтернативному пути. А именно, использовал для согласования дата-кабель от мобильного телефона.</p>
<p>После недолгих поисков оказалось, что у меня есть только лишь дата-кабель от телефона Fly SL200. К разъему этого телефона напрямую подцепиться просто невозможно, т.к. расстояние между контактами там меньше миллиметра. Отрезать разъем тоже не хотелось - телефон-то рабочий, и его иногда синхронизировать не помешает. Пришлось подпаиваться. Результат очень порадовал, поэтому размещаю фоторепортаж с места событий.</p>
<p>Итак, вот что у нас есть вначале:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgagnbPjMD_7iWxcNuUv9BMPMysGiarZp-foCIBTDyT6A2ngsbyVnboacbrSyaytdE2Y3IQCAfI41F_LACCuj0dbwKsiDLa8jgZ_ApXHlDcyFzB_oCzgdg-eAqc4gddBJCrYgoMgMSZ4SeL/s1600-h/DSC01043.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgagnbPjMD_7iWxcNuUv9BMPMysGiarZp-foCIBTDyT6A2ngsbyVnboacbrSyaytdE2Y3IQCAfI41F_LACCuj0dbwKsiDLa8jgZ_ApXHlDcyFzB_oCzgdg-eAqc4gddBJCrYgoMgMSZ4SeL/s400/DSC01043.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5282551440847820306" /></a>
<p>Ясно, что внутри компьютерного разъема запаян MAX232 или его подобие. Я даже проверять не стал, тем более вычитал этот факт из документации в интернете. Подпаиваться же надо ко второму разъему - телефонному. С помощью тонкой отвертки поддел защелки на разъеме и снял его крышку. Внутри обнаружилось 4 очень аккуратно подпаянных проводка. Мне такой пайки не повторить:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibuYW_Ee1wQYyfEqzoz2LgRvwSUQJbynUei_SU91M2mOT13KkD0OShJX4jJCtgKZgW6bnP1pDSqzAlk174xoWHSvA4j-wK05x4BwaF6tmKjTxVMdM0s4h8YcSyiFyv5UscfQ55ZR3sH65C/s1600-h/DSC01044.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width:400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibuYW_Ee1wQYyfEqzoz2LgRvwSUQJbynUei_SU91M2mOT13KkD0OShJX4jJCtgKZgW6bnP1pDSqzAlk174xoWHSvA4j-wK05x4BwaF6tmKjTxVMdM0s4h8YcSyiFyv5UscfQ55ZR3sH65C/s400/DSC01044.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5282551445136050594" /></a>
<p>Путем поиска в интернете удалось обнаружить, что два проводка посередине - это как раз нужные мне TxD и RxD. К одному подпаялся прямо на разъеме, а ко второму - на небольшом отдалении, зачистив изоляцию на проводке:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYLadLUl5zg7ten9n19d7h1BliynprFddu5S9b8N4DMVBdxplAYBIRCQKTGvYO3cDbZ4yDXRRxr7QVlya8FH0blFrV6FLrVOXNM_KsNqoqdisy0v4OlNwvskj-SXTr1zAP7u6dVl4mi4hm/s1600-h/DSC01050.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYLadLUl5zg7ten9n19d7h1BliynprFddu5S9b8N4DMVBdxplAYBIRCQKTGvYO3cDbZ4yDXRRxr7QVlya8FH0blFrV6FLrVOXNM_KsNqoqdisy0v4OlNwvskj-SXTr1zAP7u6dVl4mi4hm/s400/DSC01050.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5282551447472018306" /></a>
<p>Затем, с помощью маленьких пассатижей, я завязал узлом подпаянные провода - чтобы они не боялись дерганий, и ножом вырезал выемку в пластиковом крепеже для приходящих в разъем проводов:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggUA9R_gGrwFXWqRcqhYXBA9gu-w1t6ajDIibKn735-muwNAlJ6TBXef2miatk-Z2LydI4kABcnyZs5B7vXShVxkqQEqcPdxCOlCz5Wgdd1FX7L0cWPVr33Q5C9D4tkgQZtc9IXboXSpDx/s1600-h/DSC01055.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggUA9R_gGrwFXWqRcqhYXBA9gu-w1t6ajDIibKn735-muwNAlJ6TBXef2miatk-Z2LydI4kABcnyZs5B7vXShVxkqQEqcPdxCOlCz5Wgdd1FX7L0cWPVr33Q5C9D4tkgQZtc9IXboXSpDx/s400/DSC01055.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5282551452303298146" /></a>
<p>Закрыл крышку, получилась вот такая вот красота:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggPh2FoOY5gH_vFSQ7hfK_gxDhf-RM9vYvaI9xHIKqomnlpFdMdLi_TsfS3muuauuKVU3PGSQZ9mM_4GJrM3N4IwCzRln1hfJuN2JYKpJQcc0XYJiZXzFnC3SZrMUWg4wH8F-SV1amXfvW/s1600-h/DSC01057.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggPh2FoOY5gH_vFSQ7hfK_gxDhf-RM9vYvaI9xHIKqomnlpFdMdLi_TsfS3muuauuKVU3PGSQZ9mM_4GJrM3N4IwCzRln1hfJuN2JYKpJQcc0XYJiZXzFnC3SZrMUWg4wH8F-SV1amXfvW/s400/DSC01057.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5282551455747266642" /></a>
<p>Теперь кабелем можно пользоваться как для синхронизации телефона, так и для связи компьютера или КПК с микроконтроллером. Осталось немногое - прикрепить к концу выведенного нами двухжильного провода какой-нибудь разъем, с помощью которого этот провод можно было бы легко подключать к плате микроконтроллера. Я сделал просто, отрезав этот разъем от старенького блока питания. Скрутил провода и пропаял их немного, вот что получилось:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0VCTPlr3JAsrpZj_GoyNjlX-XuaNYbnap5-pJexvk2YogGdPRHkA8ROIZPCyIICiDelsRK2wMysgfeylig4U7XoKHf-vYHQFXhsju2sALBWyiMNQOUM6yHACUhsi3udftaZhpLNJ3dd4Z/s1600-h/DSC01075.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0VCTPlr3JAsrpZj_GoyNjlX-XuaNYbnap5-pJexvk2YogGdPRHkA8ROIZPCyIICiDelsRK2wMysgfeylig4U7XoKHf-vYHQFXhsju2sALBWyiMNQOUM6yHACUhsi3udftaZhpLNJ3dd4Z/s400/DSC01075.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5282553305946752466" /></a>
<p>На плату микроконтроллера потребуется лишь припаять простенькую вилку, ее можно или купить, или проще - выпаять из старой, или сгоревшей, материнской платы, такого счастья там целый вагон:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2TVPj8jlsHmwavzkCFZoYkpjszRevZK_c-pRbGOLI7Hm6KjpTzdKm0ujJtN6xwK2x3jRtdJeV-gofe9bzLaq1tKi-MysD0gbmt64wH9-HHcAFIFbEgROlHwOnBk5745YtY9zG6U3mUnRd/s1600-h/DSC01066.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2TVPj8jlsHmwavzkCFZoYkpjszRevZK_c-pRbGOLI7Hm6KjpTzdKm0ujJtN6xwK2x3jRtdJeV-gofe9bzLaq1tKi-MysD0gbmt64wH9-HHcAFIFbEgROlHwOnBk5745YtY9zG6U3mUnRd/s400/DSC01066.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5282553307378965074" /></a>
<p>Думаю, данный рецепт вполне подойдет и для большинства других дата-кабелей. Главное, проверить, что кабель для подключения к COM-порту использует сигналы ttl-логики со стороны разъема телефона.</p>
<p>Напоминаю: нулю в TTL-логике соответствует напряжение до 0,4В, единице от 2,5В. В то же время в стандарте RS232 ноль - это от +5В до +15В, единица - от -15В до -5В, причем от -5В до +5В считается неопределённым состоянием.
</p>
<p>Программирование COM-порта, как со стороны КПК/компьютера, так и со стороны микроконтроллера, обсудим в следующий раз. До скорых встреч!</p><div class="blogger-post-footer"><br /><hr /><br />
<a href="http://robot.paccbet.ru">Сайт о том, как сделать робота своими руками</a> - мой проект создания робота, обладающего сложным поведением, в домашних условиях.</div>Unknownnoreply@blogger.com3