Главная страница
Навигация по странице:

  • СОДЕРЖАНИЕ Введение 4

  • Разработка программного обеспечения

  • Микроконтроллеры PICmicro

  • Подключение к микроконтроллеру периферийных устройств

  • Вдохните в робота жизнь 324

  • Проектирование автоматических устройств 354

  • Приложение 366Предметный указатель 399 ВВЕДЕНИЕ

  • ДЛЯ КОГО ПРЕДНАЗНАЧЕНА ЭТА КНИГА

  • ЗАРЕГИСТРИРОВАННЫЕ ТОРГОВЫЕ МАРКИ

  • Устройства управления роботами, схемотехника и программирование (М. Предко, 2004). Устройства управления роботами, схемотехника и программирование. Устройствауправления роботамисхемотехника и микроконтроллеров picmicro


    Скачать 6.79 Mb.
    НазваниеУстройствауправления роботамисхемотехника и микроконтроллеров picmicro
    АнкорУстройства управления роботами, схемотехника и программирование (М. Предко, 2004).pdf
    Дата29.08.2017
    Размер6.79 Mb.
    Формат файлаpdf
    Имя файлаУстройства управления роботами, схемотехника и программирование .pdf
    ТипРеферат
    #8441
    КатегорияПромышленность. Энергетика
    страница1 из 33
      1   2   3   4   5   6   7   8   9   ...   33

    В
    Устройства
    управления роботами
    схемотехника и
    микроконтроллеров PICmicro,
    управление исполнительными устройствами,
    подключение периферийных устройств, датчиков, детекторов
    I
    помощь радиолюбителю
    Майк Предко
    УСТРОЙСТВА
    УПРАВЛЕНИЯ РОБОТАМИ:
    СХЕМОТЕХНИКА
    И ПРОГРАММИРОВАНИЕ

    СОДЕРЖАНИЕ
    Введение
    4 Использование микроконтроллеров в автоматике
    1.1. Управление роботом
    Основные компоненты устройств управления
    1.3. Память и устройства ввода-вывода
    1.4. Прерывания
    1.5. Периферийные устройства микроконтроллеров
    1.6. Подключение устройства управления к роботу
    18 18 21 26 29 32 34
    Разработка программного обеспечения
    2.1. От исходного текста к НЕХ-файлу
    2.2. Ассемблер
    2.3. Интерпретаторы
    2.4. Компиляторы
    2.5.
    и эмуляторы
    2.6. Интегрированные средства разработки
    36 37 40 43 46 51 53
    Микроконтроллеры PICmicro
    3.1. Основные особенности микроконтроллеров PICmicro
    3.2. Инструментальные средства разработки программ
    3.3. Простые схемы
    3.4. Описание микроконтроллера PIC16F627 3.5. Программатор El Cheapo
    56 58 61 79 84 120
    Подключение к микроконтроллеру
    периферийных устройств
    4.1. Аппаратные интерфейсы 130 4.2. Шаблон программы на языке С 133 4.3. Макетирование устройств на основе микроконтроллеров PICmicro 137 4.4. Межпроцессорные коммуникации 141 4.5. Реализация интерфейса RS-232 143 4.6. Программа
    . 148

    Устройства управления роботами
    4.7. Реализация интерфейса RS-232 для связи микроконтроллера с персональным компьютером 152 4.8. Двунаправленный синхронный интерфейс 162 4.9. Устройства индикации 166 4.10. Светодиодные индикаторы 167
    Управление светодиодным индикатором
    Использование модуляции для управления аналоговыми устройствами 178 4.13. Управление яркостью светодиодного индикатора 180 4.14. Использование пьезоэлектрических излучателей и звуковых динамиков 189 4.15. Устройство звуковой сигнализации 191
    Использование жидкокристаллического дисплея 195 4.17. Вывод информации на жидкокристаллический дисплей 202 4.18. Датчики 213 4.19. Механические датчики 214 4.20. Подавление дребезга контактов • 218 4.21. Инфракрасный детектор столкновений 226 4.22. Инфракрасный обнаружитель объектов 229 4.23. Дистанционное управление роботом 238 4.24. Приемник сигналов дистанционного управления 241 4.25. Совмещение работы детектора объектов и приемника команд дистанционного управления 246 4.26. Ультразвуковой дальномер 252 4.27. Подключение ультразвукового дальномера к микроконтроллеру 255 4.28. Световые датчики 263 4.29. Подключение световых датчиков к микроконтроллеру 266 4.30. Звуковые датчики 279 4.31. Распознавание звуковых команд 283 4.32. Управление двигателем 289 4.33. Модели фирмы Tamiya в качестве прототипа радиолюбительских конструкций 291 4.34. Одометрия 305 4.35. Радиоуправляемый сервопривод 310 4.36. Простое радиоуправляемое устройство 312
    Вдохните в робота жизнь 324
    5.1. Операционные системы реального времени 325 5.2. Пример приложения, работающего под управлением ОСРВ 330 5.3. Конечные автоматы 336 5.4. Дистанционное управление роботом,
    совершающим случайные блуждания 340 5.5. Поведенческое программирование 343 5.6. Нейронные сети и искусственный интеллект 348

    Содержание
    Проектирование автоматических устройств 354
    6.1. Техническое задание 355 6.2. Выбор периферийных устройств 358 6.3. Выбор электронных компонентов и методов программирования 359 6.4. Испытания робота 361 6.5. Поиск ошибок 363 6.6. Модернизация устройств 364
    Приложение
    366
    Предметный указатель
    399

    ВВЕДЕНИЕ
    Каждый год накануне Хэллоуина показывают очередной специальный выпуск известного мультсериала
    — нечто среднее между фильмом ужасов и научной фантастикой. В одном из моих любимых эпизодов мистер Берне, руко- водитель атомной станции, хочет построить робота, чтобы заменить им своих ле- нивых сотрудников. Единственная вещь, которой он не учитывает в своем проек- те, - это управляющее устройство, контроллер. Самое простое решение заключается в том, чтобы использовать мозг Гомера Симпсона. Но тот имеет свое собственное представление о жизни и работе. Разочаровавшись в своем проекте Идеального
    Работника, мистер Берне вынимает мозг Гомера из машины.
    Хотя описанный эпизод кажется не слишком подходящим для серьезного вве- дения в программирование контроллеров для управления роботами, он хорошо иллюстрирует один момент, который я часто наблюдал, общаясь с настоящими разработчиками автоматических устройств. Многие из них и в самом деле уделя- ют не слишком много внимания разработке контроллера, а сосредотачивают свои усилия на проектировании механических частей, датчиков и двигателей. Работая над книгой, я обнаружил, что многие прекрасные проекты так и не нашли приме- нения из-за того, что их разработчики не продумали работу управляющего устройства или не обеспечили возможность его модернизации.
    Цель моей книги, как и всех остальных книг серии «Основы робототехники»
    (Robot DNA), заключается в том, чтобы снабдить проектировщика практическими методиками и надлежащим инструментом, которые смогут гарантировать рабо- тоспособность проектируемого автоматического устройства и облегчат его моди- фикацию и модернизацию. Я считаю, что блок управления (контроллер) являет- ся важной частью любого автоматического устройства - по крайней мере, не менее важной, чем все другие его подсистемы, - и что проектировщик должен вспом- нить о контроллере в самом начале своего проекта, еще до того, как тот примет свои окончательные очертания.
    В данной книге я познакомлю вас с тем, как программируются контроллеры для управления подвижными механизмами - роботами. При этом будет рассмот- рена совместная работа всех подсистем: входных датчиков, выходных устройств,
    блоков управления и периферийного связующим звеном (как го- ворят, интерфейсом) между которыми служит микроконтроллер. Познакомив- шись с функциями, выполняемыми всеми этими подсистемами, мы выясним необходимые подробности техники программирования микроконтроллеров, поз- воляющие связать все эти функции воедино и создать программу высокого уров- ня для управления роботом.
    Хотя большое количество роботов управляется с помощью компьютеров, спе- циальных микропроцессорных устройств, нейронных сетей или простых световых

    Введение датчиков, в данной книге упор делается на применение однокристальных микро- контроллеров. Это не означает, что приведенные здесь примеры не могут быть перенесены на другие аппаратные платформы; просто мне доставляет искреннее удовольствие использовать все преимущества именно этих устройств. К порази- тельной функциональности и легкости применения микроконтроллеров следует добавить удивительную устойчивость к ошибкам разработчиков, которая обеспе- чивается современными КМОП микросхемами. В это трудно поверить, но боль- шинство схем, приведенных в книге, может быть собрано и проверено всего за несколько минут.
    Помимо введения в искусство программирования контроллеров для управле- ния роботами будут представлены и проиллюстрированы на нескольких приме- рах методы разработки устройств ввода-вывода. Это поможет вам разобраться в том, как можно обеспечить сопряжение различных устройств друг с другом. Мы будем обсуждать три различных типа устройств ввода-вывода: устройства ввода информации (датчики, сенсоры), устройства вывода и устройства управления сер- водвигателями. Вы узнаете, как можно программировать устройства различного типа, чтобы обеспечить наиболее гармоничное их взаимодействие.
    В большинстве случаев будет использоваться микроконтроллер PIC16F627
    фирмы Microchip. Он имеет 18 выводов, память команд объемом 1 Кб и еще 68 байт для хранения переменных, до шестнадцати линий ввода-вывода (некоторые из которых могут быть использованы в качестве компараторов напряжения), два
    8-разрядных и один 16-разрядный таймеры, последовательный порт, простую одновекторную систему прерываний. Память этого микроконтроллера выполне- на по Flash-технологии. Это означает, что он может быть многократно перепро- граммирован с помощью простейшего устройства - программатора, и для сти- рания предыдущей программы не требуется источник ультрафиолетовых лучей. На сайте издательства а также на моем персональном сай- те www.myke.com можно найти описание простого программатора и программное обеспечение, необходимое для его использования.
    Несмотря на явно скромные возможности однокристальных микроконтролле- ров (по сравнению с большими ЭВМ), они получили чрезвычайно широкое при- менение. В сети Internet в свободном доступе имеется огромное количество ре- сурсов по их применению и программированию; о микроконтроллерах написано не так уж мало книг. Как показало мое неофициальное исследование многочис- ленных любительских конструкций, микроконтроллер PIC16F627 и его
    PIC16C84 наиболее популярны у радиолюбителей.
    Примеры схем и программ, приведенные в этой книге, выполнены таким обра- зом, чтобы в максимальной степени облегчить перенос рассмотренных решений на другие микроконтроллеры. Сейчас уже имеются сотни, а может быть, и тысячи раз- личных микроконтроллеров, которые пригодны для управления роботами. Поэто- му в программах на языке С мы будем избегать машинных команд и аппаратных особенностей, специфичных для микроконтроллеров каждого типа, акцентируясь на общих возможностях, которые присущи многим из них. Хотя в книге будет рас- смотрена концепция операционной системы реального времени (RTOS — Real-Time

    10 Устройства управления роботами
    Operating System), большинство примеров программ использует только один вектор прерывания. Контроллер как и многие другие, не может обес- печить работу RTOS в полном объеме, но существует множество других мето- дов программирования микроконтроллеров, позволяющих облегчить труд раз- работчика. Эти методы будут проиллюстрированы в книге на многочисленных примерах.
    Разработка программного обеспечения для микроконтроллеров PIC еще более упрощается благодаря интегрированной среде разработки MPLAB IDE (In- tegrated
    Environment) фирмы Microchip, а также совместимому с этой средой компилятору
    Lite для языка С фирмы HI-TECH. Оба инструмен- тальных средства распространяются бесплатно и доступны на сайтах microchip.com. www.microchip.ru и www.htsoft.com. Несмотря на это, они обеспе- чивают возможности, за которые при использовании других контроллеров при- шлось бы заплатить не одну тысячу долларов.
    При описании процесса программирования управляющих устройств роботов мы выделим три уровня задач, которые условно будут именоваться биологичес-
    кий, механический и
    Значения этих терминов проиллюстрированы на рис. 1.
    Время реакции
    Рис. I. Три
    задач, решаемых роботом
    Биологический уровень является самым верхним - на нем контроллер должен принимать стратегические решения, поэтому программирование на этом уровне самое трудное и подразумевает обязательное использование методов искусствен- ного интеллекта. Зато высокого быстродействия здесь не требуется: время задер- жки реакции на входной стимул может достигать 50 мс секунды). Биологи- ческий уровень обеспечивает реакции, сходные с теми, за которые отвечает
    В оригинале автор использует придуманные им самим термины и

    Прим.

    Введение 11
    центральная нервная система человека. При этом предполагается, что специфи- ческие функции, связанные с управлением конкретных аппаратных средств и ин- терфейсов, берут на себя другие подсистемы. Например, в человеческом теле управление мускулами осуществляет периферическая нервная система, ее функ- ции мы будем относить к остальным двум уровням.
    Команды механического уровня
    управление устройствами, входящими в состав автоматической системы, например электро- двигателями постоянного или переменного тока. Время реакции здесь может ле- жать в диапазоне от 100 мкс до 100 мс. Этот уровень - самый простой с точки зрения программной и аппаратной реализации. Для управления механическими функциями мы обычно будем использовать систему прерываний.
    Электронный уровень отвечает за взаимодействие друг с другом различных электронных устройств, входящих в состав автоматической системы, а также ре- ализует интерфейсы ввода-вывода. Команды данного уровня требуют максималь- ного быстродействия, чтобы снизить временные затраты на передачу информа- ции внутри системы. Обычно функции электронного уровня не слишком трудны для программирования, но необходимо увязывать их выполнение с другими про- цессами, происходящими в системе на иных уровнях.
    В этой книге мы рассмотрим законченные примеры
    Хотя в фокусе нашего внимания будут контроллеры, но как уже говорилось, все подсистемы робота должны проектироваться совместно, поэтому описанные здесь подходы можно использовать при изучении других книг серии Robot DNA
    Возможно, вас удивит тот факт, что простой однокристальный микроконтрол- лер PIC16F627, который и по своей производительности, и по объему памяти не дотягивается даже до первого компьютера Apple, может не только эффективно управлять различными периферийными устройствами робота, но еще и обеспечивать принятие решений на верхнем уровне. Тем не менее уверяю вас - с этими задачами микроконтроллер справляется намного лучше, чем мозги Гомера Симпсона.
    ДЛЯ КОГО ПРЕДНАЗНАЧЕНА ЭТА КНИГА
    Как и в других книгах серии Robot DNA здесь мы будем предполагать, что чита- тель имеет элементарные навыки программирования и знаком с основами элект- роники. Если вы можете написать простейшую программу, выводящую на экран приветствие «Hello и когда-нибудь собирали простые электронные схе- мы, состоящие, может быть, всего из нескольких элементов, то эта книга не долж- на показаться вам слишком трудной для понимания.
    Все программы в книге написаны на языке С и спроектированы так, чтобы особенности аппаратуры использовались в минимальной степени, поэтому не- сложно модифицировать их в случае применения другого микроконтроллера или компилятора. При выборе другого контроллера необходимо учитывать, что он дол- жен иметь возможность обработки прерывания от таймера и при изменении вход- ного сигнала. Это необходимо для реализации последовательности выполнения

    12 Устройства управления роботами различных функций электронного и механического уровней. Тогда приложение верхнего (биологического) уровня сможет работать в однозадачном режиме, не
    «замечая», что оно периодически приостанавливается из-за программы обработ- ки прерываний, которая обеспечивает выполнение функций остальных двух уровней.
    Если вы не знакомы с языком С, советую обратиться к книге Б. Кернигана и
    Ритчи «Язык программирования
    Она по праву считается «библией» язы- ка С и поможет вам освоить в том числе операторы и алгоритмические конструк- ции, которые находят применение при разработке программ для контроллеров с по- мощью компилятора
    Lite.
    Некоторые склонны считать язык С трудным для изучения и использования,
    но вряд ли какой другой язык программирования может сравниться с ним по своим возможностям манипулирования низкоуровневыми данными. Разумеется, язык С
    не слишком приспособлен для написания программ управления базами данных или программирования Internet-приложений, но он просто идеален для управле- ния аппаратными средствами. Программирование на С упрощается благодаря тому, что он является структурным и строго типизированным, а эти свойства крайне необходимы для программирования электронных схем вообще и роботов в частности.
    В языке С, однако, существует возможность существенно усложнить понима- ние логики работы программы. Например, последовательность операторов
    А = А + 1;
    В = А » 4;
    if (В ==
    16)
    {
    может быть записана следующим образом:
    if
    =
    ==
    16}
    {
    Здесь значение переменной А увеличивается на единицу, переменной В при- сваивается значение, в 4 раза большее нового значения а затем следует услов- ный оператор, выполняющийся при В =
    В этой книге мы будем избегать таких трюков, чтобы не запутать читателя и упростить перевод программ на другие язы- ки программирования, например Basic.
    Другая особенность языка С заключается в использовании указателей. В по- следнее время наметилась тенденция ухода от явного использования указателей в языках программирования высокого уровня (в частности, Java). Но важно по- нимать, что, например, строка в языке С реализуется в виде указателя на массив символов.
    Чтобы собрать конструкции, описанные в книге, требуются элементарные знания в области электроники. Они нужны хотя бы для того, чтобы при случае вы нашли замену необходимым электронным компонентам. Если вы слышали
    На русском языке книга опубликована в издательстве «Невский диалект» (СПб, 2000). - Прим. ред.

    Введение 13
    о законах Ома и Кирхгофа и кое-что смыслите в транзисторах и логических эле- ментах, то для вас не составит труда реализовать описанные здесь
    Умение собрать электронную схему на макетной плате еще важнее, чем знание теории. Для многих конструкций, представленных в книге, будут приведены ри- сунки печатных плат. Если вы захотите использовать эти устройства для управ- ления реальными роботами, то для повышения надежности их работы предпочти- тельны печатный монтаж или монтаж накруткой.
    Для разработки программ и их загрузки в микроконтроллер удобно использо- вать персональный компьютер. Я настоятельно рекомендую держать программы,
    относящиеся к различным устройствам, в разных папках (директориях). Для ра- боты с нижеописанными программами требуется элементарная «компьютерная грамотность», а также умение использовать любой текстовый редактор.
    Наконец, будет очень хорошо, если у вас есть доступ к сети Internet. He только для того, чтобы заглянуть на сайт автора и скачать новые версии программ, а так- же поправки к тексту этой книги, но и чтобы узнать характеристики различных электронных компонентов и готовых устройств. Роботам посвящено огромное количество сайтов, серверов и других Internet-ресурсов; эта дополни- тельная информация поможет вам в разработке своего собственного робота.
    ОСНОВНЫЕ ОБОЗНАЧЕНИЯ
    В этой книге используется ряд следующих соглашений:
    курсивом обозначены фрагменты, на которые следует обратить особое вни- мание, в частности термины, вынесенные в предметный указатель;
    • элементы интерфейса и клавиши обозначаются полужирным шрифтом, на- пример: меню File (Файл), клавиша F6;
    • сочетания клавиш, которые следует нажимать одновременно, записываются со знаком + (плюс), например:
    • последовательность действий, выполняемых в меню, отмечается стрелочкой,
    например: Debug
    Simulator Stimulus
    Asynchronous Stimulus (Отладка
    Входные воздействия
    Асинхронные стимулы);
    • фрагменты программного кода и надписи на дисплеях выделяются моноши- ринным шрифтом, например: if
    ==
    При этом моноширин- ным курсивом отмечены фрагменты кода, вместо которых следует подставить какое-либо значение (например, #
    <Файл>, где Файл - имя файла, содержимое которого нужно включить в текст программы);
    • подчеркиванием оформляются адреса Web-сайтов.
    На сайте издательства
    Пресс»
    вы найдете электронное приложение к данной книге, в котором содержатся все исходные тексты программ и описание простого программатора, а на персональном сайте автора (www.
    myke.com) - новые версии программ и поправки к английскому изданию.

    14
    Устройства управления роботами
    В табл. 1 расшифрованы основные обозначения, используемые в книге.
    Таблица 7. Основные обозначения *
    k
    PF
    psecs
    Hz
    kHz
    MHz
    GHz
    Ом
    пФ
    с
    МКС
    Гц
    кГц
    МГц
    ГГц
    Описание
    Единица измерения электрического сопротивления, ом
    7 кОм =
    МОм -
    ] МОм
    Ом
    Единица измерения емкости, микрофарада
    Единица измерения времени, секунда
    Миллисекунда, 7 мс -
    с
    Микросекунда, 1 мкс =
    с
    Наносекунда, 1
    = 7
    Пикосекунда, 1
    Единица измерения частоты, герц
    Килогерц, 7 кГц
    Гц
    Мегагерц, 7 МГц
    Гц
    Гигагерц, 1 ГГц =1 (У Гц
    Десятичное
    число
    десятичное целое число
    целое число
    Двоичное целое число
    Вещественное десятичное число экспоненциальном
    В квадратных скобках указываются необязательные
    параметры
    | Вертикальная черта разделяет альтернативы
    одно, или
    _ Знак подчеркивания в конце строки означает перенос на
    следующую строку
    _Label
    Register.Bit
    &
    &&
    Знак подчеркивания перед названием сигнала указывает на
    отрицательную логику (активным считается низкий уровень
    Точка отделяет обозначение регистра от номера бита
    Фраза, следующая за двойным слэшем, представляет собой
    комментарий
    Поразрядная операция И
    Входы Выход
    В
    0 7 0
    1 0 0
    1 1 1
    Логическая операция И
    \ • Поразрядная операция ИЛИ
    Входы Выход
    А
    0 1 1
    1 0 1
    1 1 7

    Введение 15
    Таблица 7. Основные
    Обозначение
    \\.OR
    XOR
    NOT
    -
    /
    обозначения (окончание)
    Описание
    Логическая операция ИЛИ
    Поразрядная операция ИСКЛЮЧАЮЩЕЕ ИЛИ
    Входы Выход
    А В
    .
    0 1 1
    1 1 0
    Логическая операция ИСКЛЮЧАЮЩЕЕ
    Поразрядное отрицание
    Вход Выход
    1 0
    Логическое отрицание
    Арифметическое сложение
    Арифметическое вычитание
    Умножение
    Деление
    Остаток от деления одного числа на другое
    Сдвиг
    на указанное число разрядов
    Сдвиг вправо на указанное число разрядов
    ЗАРЕГИСТРИРОВАННЫЕ ТОРГОВЫЕ МАРКИ
    Компания Microchip является владельцем следующих охраняемых торговых ма- рок: PIC,
    MPLAB, PICSTART, PRO MATE и PIC-
    MASTER. Фирме microEngineering Labs, Inc. принадлежит торговая марка
    PicBasic.
    и
    - торговые марки Microchip, но лицензия на них при- надлежит HI-TECH Software. HI-TECH С - торговая марка HI-TECH Software.
    Корпорация Microsoft владеет торговыми марками Windows 95, Windows 98,
    Windows NT, Windows 2000 и Visual Basic. Остальные не указанные здесь продук- ты и названия являются собственностью их владельцев.
    БЛАГОДАРНОСТИ
    Эта книга (и вся серия, в которую она входит) не появилась бы на свет без энту- зиазма Скотта Грилло (Scott Grillo) - моего редактора в издательстве McGraw-
    Hill. Больше всего я благодарен ему за то время, что он потратил на мои книги,
    посвященные использованию и программированию микроконтроллеров PIC, и за неоценимую помощь, которую он оказал мне и Гордону МакКомбу (Gordon
    McComb), направляя наши дискуссии и помогая определить тематику каждой книги серии
    Гордону МакКомбу принадлежит идея создания вышеназванной серии, и я це- ню выпавшую мне возможность внести свой вклад в это дело. Мы оба провели немало часов за телефонными разговорами, обсуждая название и содержание

    16 Устройства управления роботами каждой главы. Гордон - уникальный специалист в области робототехники, и из каждого разговора с ним я извлекал для себя что-нибудь новое.
    Как всегда, неоценимым источником идей для меня оказался Бен Уирз (Ben
    Wirz), соавтор одной из моих книг по микроконтроллерам. Я всегда наслаждаюсь нашими длительными беседами, когда мы в очередной раз пытаемся дать опреде- ление понятию «Совершенный Робот». Может быть, когда-нибудь мы наконец создадим нечто близкое к нему.
    Приведенные в книге устройства могут быть разработаны на основе любого микроконтроллера, выпускаемого в настоящее время, но мой выбор пал на контрол- леры PICmicro благодаря технической поддержке и инструментальным средствам проектирования/отладки фирм Microchip и HI-TECH Software. Возможности интегрированной среды разработки MPLAB IDE и номенклатура выпускаемых микроконтроллеров превосходят продукты других фирм и, без сомнения, при выборе поставщика микроконтроллеров для любого проекта Microchip должна рассматриваться в первую очередь.
    Эта книга не была бы написана без помощи Грега Андерсона (Greg Anderson),
    Эла Ловрича
    Lovrich) и Кима Ван Херка (Kim Van Herk) из фирмы Microchip.
    Их помощь и поддержку, в целом характерную для сотрудников Microchip, я вос- принимаю как стандарт, по которому должны оцениваться остальные фирмы.
    Я также благодарен всем помогавшим мне сотрудникам HI-TECH Software,
    особенно Клайду Стаббсу Смиту (Clyde Stubbs Smythe) и Марку Лукману (Mark
    Luckman). Качество компилятора
    Lite, а также поддержка в его освоении достигают той высокой планки, которую установила фирма Microchip.
    Как всегда, я должен поблагодарить всех подписчиков Internet-рассылки
    PICList (около 2000 человек), которые помогли Microchip разработать один из лучших микроконтроллеров, выпускаемых в настоящее время. В книге не хватит страниц, чтобы перечислить всех помогавших мне советом или давших ответы на многочисленные вопросы.
    В течение последнего года я был приобщен ко всем радостям, выпадающим на долю владельца собаки, так что выражаю свою признательность Суси (Susi) - нашей сибирской лайке, благодаря прогулкам с которой я имел возможность от- влечься от всех проблем, связанных с книгой или программированием. Призна- юсь, во время наших прогулок по я изучал траекторию блужданий
    Суси, пытаясь оценить алгоритм, который заставил бы робота двигаться сходным образом.
    Сейчас у нас появился щенок Лобо (Lobo), который не только укрепляет мою сердечно-сосудистую систему, но также служит еще одним неиссякаемым источ- ником самых замысловатых траекторий для моих разработок.
    Я благодарен моей дочери Марии за ее вопросы, предложения и тот энтузиазм, с которым она проводила тестирование моих устройств (в большин- стве случаев разрушительное). Я знаю не так уж много семилетних детей, которые
    Don Mills - в Канаде. - Прим.

    Введение 17
    мечтают стать генетиками и тем не менее находят время для робототехнических изысканий своих родителей.
    Как всегда, безмерно благодарен своей жене, чье имя по праву звучит как Тер-
    пение (Patience). Спасибо ей за то, что она позволяла мне проводить бесконечные часы за компьютером и не забывала напоминать в три часа утра, что пора идти спать.
    Я думаю, каждый из нас хотя бы немного изменил свои взгляды на жизнь сен- тября 2001 года. Я выражаю благодарность всем, кто путешествует по этому пытаясь сделать его более безопасным и справедливым. Ваши попытки не напрас- ны, и я искренне надеюсь, что все вы благополучно вернетесь домой.
    Майк
    Торонто, Канада

      1   2   3   4   5   6   7   8   9   ...   33


    написать администратору сайта