суббота, 28 июня 2008 г.

Роботы и работа. Вакансии робототехникам

Недавно со мной связался Анатолий из компании Votum, с просьбой найти пару "молодых и увлеченных", для серьезной работы в робототехнической сфере.

Про компанию эту я ничего никогда не слышал, но судя по сайту, люди серьезные. Занимается это компания, а точнее - даже группа компаний, разработкой и производством научного и производственного оборудования под торговыми марками Votum, Томографик, Сталкер и ДАМИ-С. Головный офис компании расположен в Москве, производство - судя по всему, в Зеленограде. Также, есть филиал в Кишиневе (Молдова).

Среди оборудования, производимого компанией - дефектоскопы, толщинометры, сканирующие устройства и тестеры. Но особый интерес представляет Робоскоп ВТ-3000, роботизированная установка для контроля некоторых производственных операций на современных промышленных предприятиях. Именно с этой установкой, насколько я понял, в первую очередь и предстоит работать будущим обладателям вакансий.

Итак, подробно о самих вакансиях:

Требуется два молодых и увлеченных программиста с опытом работы по специальности не менее 2 лет. Язык - С++. Работа в Москве, м.Сокол, заработная плата от 40000р., стандартный соц. пакет.

Требования по первой вакансии: навыки работы с 3D-графикой (в XP на Open GL или DirectX 3D).

По второй: навыки управления роботами (предпочтительно фирмы Kawasaki)

Думаю, пояснять тут нечего... :) Впрочем, если что - спрашивайте, в комментариях к посту.

Ссылки по теме:

  • Сайт компании Вотум - доступна информация о продукции и о самой компании. Там же вы найдете всю контактную информацию для связи с работодателем.
  • Робоскоп ВТ-3000 - описание установки, ее возможностей и технических характеристик.
  • Работа для робототехника - мое предыдущее сообщение о возможностях работы в робототехнической сфере.

P.S. Кстати, это сообщение в блоге - 90е по счету. В следующем месяце здесь будет уже более сотни сообщений. Такие дела!

четверг, 26 июня 2008 г.

Роботы и обработка изображений. Практика

Совсем недавно я публиковал маленький обзор подходов к распознаванию образов.

Сейчас - хочу продолжить, на этот раз не теорией, а самой что ни на есть практикой. Всем известно, что на олимпиадах очень часто дают очень интересные задачи. Которые, на самом деле, при наличии доли сообразительности, может решить кто угодно - без всяких, причем, теоретических знаний. Предлагаю господам читателям размять косточки на нижеследующей олимпиадной задаче:

Распознавание подписей

По условиям олимпиады, на задачу отводится 160 мин. Олимпиада называется "KPI-OPEN 2007". Итак, условия:

Банку нужна программа, которая позволяет распознавать подписи клиентов на чеках. После сканирования и предварительной обработки каждая подпись представляет из себя ломаную линию, для которой известна начальная точка. Распознавание подписей производится на основе их сравнения с образцами.

О том, насколько ломаные (образец и подпись) соответствуют друг другу, можно судить по соответствию длин сегментов подписи, и углов между соответствующими сегментами подписи.

Если количество сегментов в образце и подписи не совпадают, то считают, что длины и углы для недостающих сегментов равны нулю.

Входной файл

Входной файл input.txt в первой строке содержит целое десятичное число C, 0 <= C <= 50, которое определяет количество образцов подписей. Далее следует C*2 строк, которые описывают образцы подписей.

Первая строка содержит имя клиента (не более 255 строчных букв английского алфавита). Вторая строка описывает подпись (ломаную), и содержит пары (не более 100) целых чисел от 0 до 32000 включительно, разделитель между парами - пробел. Числа в парах разделены пробелом, первое число - координата X, второе - координата Y для каждой из точек ломаной. Первая пара определяет начальную точку.

Далее во входном файле следует целое десятичное число P (от 0 до 50), которое содержит число распознаваемых подписей. P строк подписей описываются также, как в образце.

Последняя строка не заканчивается символом перевода каретки.

Выходной файл

Выходной файл output.txt первой строкой соответствует число P, равное числу из входного файла. Затем следует P строк, в каждой из которых - имя клиента, которому принадлежит распознанная подпись. Порядок строк соответствует порядку строк с распознаваемыми подписями из входного файла.

Пример (щелкните на изображении для увеличения):

Автор задачи: Болдак А.А.

среда, 25 июня 2008 г.

Роботы, роботы, роботы!

Давно не было у меня "легеньких" постов.. А роботы, ведь, с каждым днем радуют все новыми открытиями. Короче, смотрим!

Неплохо? Полный комплекс уборки помещения! Большой робот - это Readybot, круглая штуковина которая из него выезжает - конечно же, всем известный iRobot Roomba. Readybot вообще создавался для полной чистки кухни. Но как видно из данного видео, успешно справляется и с другими помещениями.

Правда, весьма похоже, что эта "презентация" либо полностью запрограммирована, либо вообще с пульта управлялась. И если изменить положение предметов, робот уже так просто может и не справиться с задачей... Это, конечно, мое личное мнение.

А вот еще одно прикольное видео, демонстрационного посещения магазина Robot Village в Нью-Йорке. Вот бы нам такой же магазин...

Наконец, хочется отметить еще одну интересную штуку... В новом, недавно вышедшем Mozilla Firefox 3, если набрать в адресной строке about:robots, получится вот такая вот страничка:

воскресенье, 22 июня 2008 г.

Роботы и футбол

Просто не могу не написать про футбол! Потому что всем наверное уже известно, что нынешней ночью Россия разорвала Голландию со счетом 3:1. Все наверное слышали в 2 часа ночи "Ole-Ole-Ole, Россия, вперед!". Футбол был замечательным, и в который раз показал, что тренер, в лице Гуса Хидинка, это очень важная составляющая победы.

Однако, блог посвящен роботам и робототехнике, и оффтопики я здесь плодить не собираюсь. А собираюсь - обсудить еще ни разу не затронутую тему, хотя уже давно известную и популярную, а именно - футбол роботов.

Чемпионаты по футболу среди роботов проводятся уже достаточно давно. RoboCup - это известное, очень популярное и, что немаловажно - весьма доступное соревнование, и с каждым годом количество его участников растет. "Вселенской" целью организаторы RoboCup выбрали себе победу команды робофутболистов над чемпионами мира по реальному футболу, причем, не далее чем в 2050 году (я еще жив буду, так что посмотрим)...

Кратко о самом RoboCup'е. Вообще, в рамках RoboCup проводится сразу несколько соревнований. Однако, главное из них - конечно же, робофутбол, который, в свою очередь, включает несколько лиг участников. Состав лиг меняется от года к году. Например, в RoboCup 2008 будут представлены пять лиг:

  1. Чемпионат среди симуляций (где играют друг с другом программы)
  2. Роботы малых размеров
  3. Роботы средних размеров
  4. Роботы стандартных платформ
  5. Гуманоидные роботы

Россия, между прочим, в робофутбол тоже играет. Например, российской командой STEP в 2004 году был выигран чемпионат в лиге симуляций. Это весьма закономерно, ведь финансовые и вообще робототехнические возможности россиян просто не позволяют им на равных соревноваться в турнирах реальных роботов, но зато программисты у нас - будь здоров! :)

Кстати, например, компания Мовиком выпускает уже готовых робофутболистов, пригодных для игры в робофутбол. Если купить комплект таких роботов, то дальше можно вполне сосредоточиться на алгоритмах, как в симуляции.

Да, что касается алгоритмов, я нашел очень интересную страничку, описывающую простенький алгоритм игры команды n-th.com (ака Днепр). Простенький алгоритм оттого, что разрабатывался еще в 2001 году, в то время виртуальный футбол был развит гораздо меньше, чем сейчас. Там же представлены исходные коды данного алгоритма, и неплохая подборка ссылок.

Что из себя представляет робофутбол, можно посмотреть на видео. На YouTube подобных роликов - огромное множество. Вот, например, финал лиги гуманоидных роботов прошлого чемпионата - Robocup-2007:

В заключение, о RoboCup-2008: он пройдет в китайском городе Suzhou, с 14 по 20 июля, и соберет более чем 440 команд из 35 стран мира. О развитии событий можно узнать на сайтах RoboCup.org и RoboCup-CN.org.

вторник, 17 июня 2008 г.

Роботы и обработка изображений

О машинном зрении я ранее "заикался" в статьях про RoboRealm и про робот-калькулятор.

В продолжение этой темы, хочу рассказать немного теории, уверен, многим будет полезно. Обещаю: буду стараться излагать кратко и без занудства :)

Для начала отмечу, что любительская робототехника (где для распознавания почти всегда используются веб-камеры, или даже камеры мобильных телефонов), является достаточно сложной сферой для применения алгоритмов распознавания изображений. Это обусловлено следующими основными проблемами:

  1. Изображения с веб-камер изобилуют шумами
  2. И не обеспечивают достаточной для уверенного распознавания разрешающей способности
  3. Почти всегда присутствует сложный фон, обусловленный пребыванием робота в заставленной квартире, или на оживленной улице
  4. Требуемая освещенность, достаточная для распознавания, часто недостижима
  5. Объекты представлены в самых разных расцветках, проекциях, вариациях и модификациях

Однако, ограниченные задачи распознавание в робототехнике решать может вполне. Например, робот сможет иногда опознать, когда ему улыбаются; скорее всего сможет объехать большинство стульев в Вашей квартире; увидит специально оборудованное место для зарядки; и т.д. Поэтому, рассмотрим-ка, господа, технику обработки изображения. Обычно обработка проводится в три этапа (в скобках после названия этапа приводятся его альтернативные названия):

  1. Предобработка: избавление от шума. Часто является встроенной возможностью фото- или видеокамеры.
  2. Сегментация (индексация, выделение характеристик): процесс поиска однородных частей на изображении. В основном однородность определяется либо по яркости, либо по типу текстур. Иногда также используются методы поиска границ внутри изображения. После сегментации изображений, возникающие помехи (неверно определенные области, слишком маленькие области и т.п.) удаляют с помощью графических фильтров.
  3. Распознавание (классификация, принятие решения): это конечный этап обработки, сверяющий тем или иным методом изображение и его части с образцами, которые требуется распознать.

Рассмотрим подробно процесс распознавания...

Существует четыре основных и общепризнанных (насколько я знаю) подхода к распознаванию образов:

  1. Сравнение с образцом (корреляция): подход основан на геометрической нормализации изображения, и вычислении "расстояния" получившейся нормализации до прототипа.
  2. Статистические методы (признаковые): сводятся к выделению "признаков" изображения (например, количество изломов линий, средняя длина линий, средняя площадь однородной области, и т.п.). Затем, производится сравнение этих признаков с известными статистическими распределениями этих же признаков в образцах (понятно, что в таком случае образцов одного и того же объекта должно существовать достаточно большое число). Таким образом, подбирается наиболее близкий прототип для изображения.
  3. Нейронные сети: выбирается тип искусственной нейронной сети, и проводится ее обучение по известным образцам.
  4. Структурные и синтаксические методы: образец разбирается на более простые элементы, и строится правило зависимости от вхождения/не вхождения того или иного элемента или последовательностей. Затем те же элементы ищутся в изображении, и применяются ранее выделенные правила.

Напоследок - несколько комментариев:

  • В силу особенностей современной электронной базы, нейронные сети для своей работы могут потребовать слишком много времени и оказаться по этому параметру неэффективными для применения в роботах. Причем, проблема может возникнуть как при обучении сети, так и при непосредственно распознавании. Насколько мне известно, в современных задачах именно распознавания изображений - нейронные сети применяются сравнительно редко.
  • Cравнение с образцом - тоже очень трудоемкий с точки зрения вычислений метод. Используются сложные математические преобразования.
  • Второй и четвертый подходы имеют немало сходства, поэтому иногда их объединяют в одну группу.
  • Не обязательно использование только одного подхода. Подходы могут применяться последовательно. Чаще всего сначала с помощью "быстрых" методов отсекается большая часть изображений, а затем к оставшимся применяются "медленные" (трудоемкие) методы.

P.S. Я прекрасно понимаю, что обзор не совсем полон. Возможно, стоило бы также упомянуть, например, о нормализации изображений, более подробно рассмотреть методы сегментации, и т.д. Однако, насколько мне известно, многие из моих читателей - студенты. Студентам же, что общеизвестно, теория не слишком нравится. Так что, я немножко изложение сократил :)

суббота, 14 июня 2008 г.

Простейший робот

Помните, Интернет пестрел сообщениями о технике изготовления робота из зубной щетки? Неделю назад собрал себе такого. Конечно, «робот» очень простой, но вместе с тем - забавный, потраченного на него времени (не более получаса), безусловно, стоит. Статья Простейший робот из зубной щетки стала первой статьей цикла «Простейшие роботы», который я планирую на своем будущем RobotLab.Ru поддерживать.

Фотки и видео в этой статье, кстати, мои собственные. Еще отмечу тот немаловажный факт, что мои дети были просто в восторге, когда я положил этого, своеобразного, жучка, на пол, и он начал по этому полу бегать...

Да, кстати, подготовил я идею для еще одного простейшего робота, на этот раз - ходильщика, и в ближайшее время его попытаюсь собрать. Уникальность этого робота будет состоять в том, что требуется ему для работы всего один моторчик, и никаких микросхем, да даже электронных компонентов - совершенно не используется. Ведь часто начинающие спотыкаются на том, что долго не могут подобрать два одинаковых мотора, или пару редких микросхем (другой очень частой ошибкой я считаю переоценку начинающими своих сил, и стремление сразу собрать сложный проект).

Таким образом, я планирую в своей будущей Лаборатории робототехника опубликовать небольшую коллекцию рецептов роботов, от простых до весьма сложных. Чтобы любой посетитель мог, зайдя в Лабораторию, выбрать себе проект по силам, и на самом деле воплотить его в жизнь!

вторник, 10 июня 2008 г.

Рисующие роботы

На днях я нашел очень интересный англоязычный сайт, его создатель, Дэвид Вильямсон, делает рисующие роботы.

Рисующий робот работает примерно как плоттер, т.е. использует обычный фломастер, карандаш или ручку - и умеет ее опускать/поднимать согласно передаваемому ему коду. Согласно другой части кода робот перемещается по поверхности листа.

Код роботам Дэвида передается с помощью бумажного диска, на поверхность которого нанесены черные полосы различной ширины. Больше всего это напоминает штрих-коды. Вот зарисовка одного из роботов Дэвида (DiscBot):

И его фотография:

Вообще, у Дэвида много идей, много вариантов рисующих роботов; роботов, следующих по линии; роботов, принимающих и передающих код Морзе - и т.п. Обязательно сходите на его сайт, и посмотрите на его зарисовки. Очень, очень здорово!

Глупо думать, что Дэвид - единственный, кто попытался решить проблему рисования с помощью робота. Например, еще очень давно я упоминал о том, что универсальный промышленный манипулятор KUKA был научен писать очень красивым почерком.

Впрочем, промышленные роботы стоят для робототехника-любителя мягко сказать дороговато! Так что, обратим внимание на парочку более доступных проектов:

понедельник, 9 июня 2008 г.

Работа для робототехника

Вопрос трудоустройства стоит перед многими будущими выпускниками робототехнических специальностей. «Есть ли смысл учиться на робототехника?» - спрашивают они, - "Не придется ли работать, потом, всю жизнь - за нищенскую зарплату, в лаборатории какого-либо университета?"

Во-первых, смиритесь: найти нормально оплачиваемую работу в качестве именно робототехника в России, тем более не в столице - на сегодняшний день, незабываемая удача. Действительно, наиболее реальный вариант - устроиться в высшее учебное заведение. Впрочем, участь там Вас ждет не завидная. И не только из-за зарплаты: в образовательной сфере крутится не так уж много денег, и проблема с дорогущими запчастями для роботов - насущна в любом ВУЗе. Что касается негосударственных лавочек, у нас в России практически нет компаний, занимающихся робототехникой. Например, вот отрывок разговора с Дмитрием, представителем днепропетровской компании RoboSoft, достаточно давно работающей на рынке робототехнического программного обеспечения:

- Скажите, как относятся клиенты к тому, что Вы предлагаете им внедрять робототехнические решения?

- А мы им пока ничего робототехнического и не предлагали...

Действительно, это видно по продуктам компании - есть решения из смежных с робототехникой областей, но чисто робототехнических пока нет. Почему? Потому что нет клиентов... Впрочем, Дмитрий отметил, что компания RoboSoft просто жаждет увидеть в своих рядах нормальных программистов, не пугающихся вида паяльника. Так что, робототехнические вакансии имеются!

Во-вторых, не отчаивайтесь: получив специальность робототехника, Вы всегда найдете работу.

В определенном смысле, робототехника - это универсальная специальность, как, впрочем, и многие другие. По сути дела, робототехник - это и инженер, и программист, и кибернетик в одном лице.

Инженер - не боится паяльника, и может спокойно работать на любом производстве, благо сейчас очень модно использовать итальянские и другие зарубежные станки, порой чудовищно сложные в наладке, ремонте, обслуживании.

Программист - специалист, готовый писать практически любые программы. Зарплата хорошего программиста, особенно в крупных городах, где на них есть спрос - весьма и весьма достойна.

Кибернетик - теоретически невероятно подкован. Кибернетика - это наука об управлении, наука, очень активно использующая моделирование. Проектирование, разработка любых управляющих процессов и систем - под силу кибернетику.

Часто говорят: не человек выбирает работу, а работа - человека. Например, лично я, закончив университет по специальности «Информационные системы и технологии», дважды работал системным администратором, прежде чем нашел достойную программистскую работу...

Виталий Клебан, автор роботов Quark, студент СпбГУ ИТМО, тоже считает, что робототехника как специальность совершенно не востребована. Однако, в любой отрасли, где используются принципы управления - специалист-робототехник с легкостью найдет себе работу.

Я уже упоминал, в своих многочисленных заметках и статьях, много мест работы для потенциальных робототехников. Например, робототехника всегда найдет применение в охранных сферах, а машинное зрение - обязательно пригодится... современным поисковкам! И т.д.

Хорошее перечисление отраслей, в которых возможно применение относящихся к робототехническим решений, представлено, опять же, на сайте Robosoft.info.

Весьма нашумевшее ЗАО "Андроидные роботы", судя по всему, один из лидеров российского роботостроения, поставляют роботов даже в РЖД.

На их сайте я нашел вот такую ветку в форуме. Если вкратце: вакансии есть и там, можете обращаться...

Также к робототехнике относится (в определенной степени), к примеру, изготовление радиоуправляемых моделей танков. Раздела о вакансиях там, к сожалению, нет, но зато есть контактная информация. А бизнес у ребят очень развитый, судя по представленным материалам.

Главная проблема России, как мне кажется - отсутствие собственной элементной базы, отсутствие налаженных производственных линий для изготовления современной тонкой электроники. Если что-то и есть - станки и сама технология всегда иностранные.

Однако, робототехника - это очень выгодное и серьезное направление развития современных науки и техники. Об этом даже Билл Гейтс знает - не зря же Майкрософт сделал свою Robotics Studio...

Кто знает, каким будет мир через 5 лет, когда вы, уважаемые будущие студенты, выйдете из стен своих университетов? Роботы приходят в нашу жизнь лавинообразными темпами. И через пять лет все может быть совсем не так, как сегодня...

P.S. Бояться нечего, поступайте, учитесь - и да будет с вами матушка Удача!

среда, 4 июня 2008 г.

Робот на основе компьютера: вариант мини

Выбор «мозга» для робота - один из важнейших этапов в его построении. Я уже неоднократно рассматривал различные варианты этого выбора:

  1. Робот на базе обычного компьютера или ноутбука - наиболее хорошее решение с точки зрения программиста:
    • очень много документации
    • можно использовать стандартные порты ввода/вывода
    • прекрасные средства программирования, множество готовых библиотек
    • возможно подключение почти любых современных устройств и использование передовых технологий
    • максимальная производительность
    Однако, при проектировании робота на базе компьютера - предъявляются повышенные требования к грузоподъемности, и габаритам шасси.
    В случае использования не ноутбука, а обычной материнской платы, возникают дополнительные трудности с питанием. Потребляемая компьютером мощность питания очень высока, а значит - аккумуляторы для питания такого компьютера будут весить много, и стоить еще больше. Также, сложность представляет пайка блока питания, поскольку обычная материнская плата требует одновременного наличия напряжений питания +/-12В, +/-5В и +/-3.3В.
  2. Робот на основе КПК: обладая хорошими возможностями программирования, приемлимой документированностью и средней производительностью, КПК имеет целых два огромнейших преимущества перед компьютером:
    • КПК очень компактны и редко весят больше 200 грамм.
    • КПК потребляют очень немного энергии, особенно при выключенном экране. Время их автономной работы без подзарядки в большинстве случаев более чем приемлимо для робота.
    Однако, и КПК не идеален. Трудности здесь возникают при попытке подключить к КПК внешние устройства. В большинстве случаев, для этого приходится использовать микроконтроллер и небольшую самопайную схему с парой промежуточных микросхем.
    Про создание робота на основе КПК я также упоминал в заметках Выбор КПК для робота, и Защищенный КПК своими руками.
  3. Робот на основе микроконтроллера. Эту тему я стараюсь не затрагивать - слишком много минусов... Затруднена отладка, количество документации сравнительно очень невелико, производительность микроконтроллера - никакая... Значительным недостатком я считаю также необходимость много паять, мне кажется, робототехник должен быть сосредоточен на изысках в поведении робота, а не на пайке и отладке его схем.
  4. Создание робота на основе простейших микросхем. Имеются в виду в основном BEAM роботы. Это еще более несерьезно, чем микроконтроллеры, однако достаточно привлекательно и полезно для новичков.

Есть, впрочем, и другие варианты. Например, такая экзотика, как робот на основе калькулятора.

Как видно из представленных выше пунктов, создание робота на основе обычного компьютера или ноутбука имеет всего лишь две неприятных особенности: большой вес/габариты, и высокое потребление электроэнергии (что приводит, опять же, к увеличению веса). Эти особенности, конечно же, вполне можно обойти.

Идеальным вариантом были бы специально созданные компьютеры, полностью совместимые с обычными, однако имеющие минимальные габариты, и оптимизированные на автономную работу от аккумуляторов.

И такие компьютеры уже существуют, или же могут быть созданы. Об этом я и хочу рассказать в сегодняшнем сообщении.

Во-первых, есть ведь промышленное производство компьютеров, где созданные продукты максимально оптимизированы под специализированное использование, и не содержат ненужных компонентов. Впрочем, робототехнику-любителю, бесспорно, заказать изготовление такого компьютера не по средствам :)

Более приемлимый вариант - использование новых бюджетных моделей ноутбуков. Речь идет о продуктах серии Asus Eee, например, Asus Eee PC 701 (изображен на картинке), стоимостью около 12 тыс. рублей.

Кроме того, я уже писал о материнских платах форм-фактора Mini-ITX от компании VIA. Эта же компания совсем недавно аннонсировала выпуск еще более компактной материнской платы, полностью совместимой с x86-компьютерами - Pico-ITX. Размеры платы - 10х7.2см, что более чем приемлимо для робота.

Помимо компании VIA, на рынок миникомпьютеров выходит, например, корпорация Gum Stix. Эти господа производят уж совсем крохотные компьютеры, умещающиеся в ладони, и достаточно приемлимые по цене (от 130$, ~3100 руб.). Правда, и возможности этих компьютеров весьма даже урезаны (в отличии от практически полноценных материнских плат VIA).

Так что, господа робототехники, все уже придумано до нас, были бы, как говорится, деньги :)

вторник, 3 июня 2008 г.

Защищенный КПК своими руками

Целый час вчера сидел, разбирал старенький матричный принтер. Вот раньше делали! С трудом разобрал, несколько особенно неподатливых деталей пришлось просто выламывать, или перекусывать... Но поскольку времени на роботов у меня особенно нет, то пока руки работали, мозги в это же время уже обдумывали новый пост в мой любимый блог :)

В посте Выбор КПК для робота я обращал внимание на то, что КПК всегда можно вытащить из робота и использовать по прямому назначению. Однако, в том сообщении я совершенно забыл рассказать об опасностях использования КПК в роботе.

Во-первых, как и обыкновенный порт компьютера, КПК можно запросто спалить, спаяв неверную схему. Поэтому, необходимо тщательно проверить схему до подсоединения ее к КПК.

Кроме того, любой робот подвержен, в той или иной степени, механическим воздействиям. Особенно, если Вы намерены использовать его в квартире. Ведь есть двери, которыми его можно долбануть; есть ноги, которыми на него можно наступить; есть чай, который можно успешно пролить на робота, споткнувшись обо что-нибудь. В конце концов, у меня например дома есть вообще страшный разрушительный фактор по имени Дети. Уж Дети (если они у вас есть), поверьте, будут любого вашего робота испытывать на прочность не раз и не два!

На Марсе условия еще жестче, нежели чем в обыкновенной городской квартире. Там, например, бывают пылевые бури, и ветер может кинуть и камнем в марсоход, и марсоходом, кстати, в камень - тоже! А камни там, судя по снимкам, часто - очень острые.

Поэтому, проектируя марсоход, стоит задуматься о безопасности КПК, его защищенности от воздействия вибраций, ударов, влаго- и пыле- защищенности.

Я даже написал небольшую статью по этому поводу и разместил ее на будущем RobotLab'е: Роботы на базе КПК. Проблема безопасности

В статье представлен обзор существующих защищенных КПК и краткое руководство по изготовлению "защищенного" КПК для робота своими руками.

Напоследок, хочу поделиться парой интересных ссылок, относящихся к КПК Palm, как к наиболее подходящему (на мой взгляд) КПК для изготовления бюджетного робота: