Так как мне предстоит заниматься новым проектом, роботом которого мне безвозмездно отдал demon333, за что ему огромный респект! По этому я решил опубликовать свой старый проект, так и не получивший в свою комплектацию Веб камеру с роутером Nexx wt3020 Проект получился достаточно бюджетным и простым, думаю что сынишка подрастет и доведет его до ума.
plat9_mid.jpg (28.86 КиБ) Просмотров: 20352
Точить и сверлить я конечно люблю, но нет такой возможности, поэтому я купил готовый комплект деталей для робота.
Сборка робота заняла 10-15мин. Код программы робота получился тоже простым, но он выполняет то что мне требуется Робот обходит препятствия, даже с неподвижным дальномером. Мне так и не удалось создать такую ситуацию из которой бы он не смог выбраться Для управления роботом и для стабильной работы дальномера, я использовал библиотеку CyberLib
Интересная вещь, но я бы использовал ИК радар, там программа проще, ещё неплохо было бы установить несколько датчиков, чтобы робот лучше всё видел или сделать так чтобы датчик вращался и снимал показания с разных угллв. А вобще класно получилось.
Я пробовал с ИК радаром, к него есть недостаток, он сильно зависим от напряжения питания. Учитывая тот факт что питаю робота напрямую от аккумуляторов, без стабилизатора, то получается полная лажа Также при использовании ИК, потребуется источник опорного напряжения для АЦП и делитель на входе АЦП. К тому же ИК радар узконаправленный в отличии от УЗД и для него уж точно пришлось бы использовать сервомотор. Так что я бы не сказал что ИК радар в данном роботе был бы лучше и проще А вот с УЗ дальномером как раз нет никаких проблем Роль сервомотора выполняет сам робот, за счет дистанции 40см и широкого угла дальномера, робот своевременно обнаруживает препятствия как перед собой, так и сбоку и соответственно начинает разворачиваться и сканировать допустимое расстояние Даже если он зацепится за какое нибудь препятствие которое он не увидел, то за счет круглой формы его начинает разворачивать лицом к препятствию, ну и соответственно он детектирует его и разворачивается пока не найдет выход Несколько УЗД датчиков будут конфликтовать
Последний раз редактировалось CyberLab 30 май 2013, 00:24, всего редактировалось 1 раз.
Я не знаю что у вас там за схема с этим ИК датчиком, но у меня всё работает намного проще и без помех, вне зависимости от напряжения питания. Просто ШИМ на мк генерирует несущую, которая отражается от препятствия и возвращается на ТСОП, который подключён через транзисторный ключ к другой ноге МК и при возникровении сигнала на нём он передаётся на мк. Если ставить много датчиков то при правильно постановки программы они не будут конфликтовать, я также проверял на ИК датчиках, ставил несколько по кругу, и они отлично взаимодействовали. Я попробую его обратно собрать (этого робота), и видео выложу
Компилируется без проблем и как видите работает, а что не нравится? Можно конечно и убрать, в моем коде не тот случай где нужно экономить каждый такт
Добавлено спустя 2 часа 48 минут 45 секунд:
Artem писал(а):Я не знаю что у вас там за схема с этим ИК датчиком, но у меня всё работает намного проще и без помех, вне зависимости от напряжения питания. Просто ШИМ на мк генерирует несущую, которая отражается от препятствия и возвращается на ТСОП, который подключён через транзисторный ключ к другой ноге МК и при возникровении сигнала на нём он передаётся на мк. Если ставить много датчиков то при правильно постановки программы они не будут конфликтовать, я также проверял на ИК датчиках, ставил несколько по кругу, и они отлично взаимодействовали. Я попробую его обратно собрать (этого робота), и видео выложу
Я извиняюсь, думал что речь идет о дальномерах Sharp Беспорно с ИК бампером на TSOP будет работать. Только генерировать хардверным ШИМ-ом 38кГц не получится. Также этот датчик не сможет измерять дистанцию.
Последний раз редактировалось CyberLab 20 мар 2017, 03:19, всего редактировалось 2 раз(а).
Почему не получиться, нужна только правильная настройка, хотя может дело в ардуино, я никогда им не пользовался поэтому не знаю какая там тактовая частота, но если разогнать хотя бы до 4 мегагерц то можно будет и более 36 килогерц выводить, если хотите могу код программы выложить, но на СИ будет. А по поводу измерения расстояния: а зачем вам это, робот будет объезжать препятствия и без этого.
Artem писал(а):А по поводу измерения расстояния: а зачем вам это, робот будет объезжать препятствия и без этого.
Для данного примера не спорю, измерять расстояние не нужно, но я изначально планировал использовать WR703N и удаленный сервер для навигации и отрисовки карты помещения(SLAM)
Artem писал(а):Почему не получиться, нужна только правильная настройка, хотя может дело в ардуино, я никогда им не пользовался поэтому не знаю какая там тактовая частота, но если разогнать хотя бы до 4 мегагерц то можно будет и более 36 килогерц выводить, если хотите могу код программы выложить, но на СИ будет.
Можно рассматривать не как ардуино , а как Atmega328 с частотой задающего генератора 16мГц
Последний раз редактировалось CyberLab 30 май 2013, 00:25, всего редактировалось 1 раз.
для SLAM, мне кажется, надо много точек и желательно угол 360
У робота на платформе есть места для крепления сервы. Большое число точек всегда можно получить используя алгоритм Брезенхэма Про RP-LIDAR читал, если цена будет адекватная, то популярная вещь получится у роботостроителей. Ждем начала продаж
Последний раз редактировалось CyberLab 30 май 2013, 00:26, всего редактировалось 1 раз.
эм. во-первых это какое то извращение заставлять робота крутиться\кататься чтобы добавить точек в карту. во-вторых картостраительство для того и нужно что бы нивелировать ошибки расчета перемещений по одометрии методом проверки растояний до объектов с известными координатами. может мы по разному понимаем SLAM для меня ето
без всякой одометрии))только Lidar+IMU
Добавлено спустя 3 минуты 29 секунд: PS я делаю подобие этого робота
и до полного счастья не хватает упомянутого сканируещего дальномера остальное все в продаже есть по адекватным ценам