Спасибо за комментарии к видео! Для меня в новинку использовать ютуб не только для донесения моих мыслей до заинтересованных темой людей, но и как площадку для обсуждения. Я уверен, что проект без обратной связи обречён на провал. Как мне давно сказал хороший знакомый: "один человек создаёт поделку. Только коллектив и обратная связь создают продукт". И я рад, что с вашей помощью я смогу улучшить мой проект. Выписал себе из почёрпнутого в комментариях: - провести стресс-тест (повысить частоту коррекций и замерить кол-во пропусков. Довести и найти предельную частоту). Оценить, потянет ли одна "пилюля" два мотора (думаю да, но хочу быть уверенным) - спасибо @ИванОсинин-с7и ; - нужна ли мне 115200 бод скорость? Опять таки, хочу замерить и принимать решение на основе цифр, а не ощущений - спасибо @barcooler ; - напирать на децентрализацию - спасибо Алексею и Игорю.
@@KyM_TlolKBA Привет! С наступающим :) CAN, конечно, стоит попробовать. Судя по описанию и со слов того знакомого, очень хорошая шина! Но ресурсов разработчиков (меня) мало, так что исходя из принципа "не чини работающее", с этой частью робота я закончил. Пока что буде пара UART.
Arduino UNO R4 поддерживает CAN. Arduino UNO R4 WIFI поддерживает WIFI, Bluetooth BLE. Есть ЦАП и АЦП. Часы реального времени RTC. Интерфейс HID. Один операционный усилитель.
@@innamoratopazzo25 blue pill на похожем процессоре. Тоже есть CAN. Но для его работы нужны трансиверы на стороне каждого контроллера и на стороне Orange Pi. Для подключения по UART дополнительного оборудования не требуется. Достаточно трёх проводов.
Когда навигацию уже начнёш делать и закончишь с колёсами, протоколами? Решил объеденить одометрию от лидара и данные от камеры глубины (воксельную карту) оказалось это решается значительно сложнее чем предпологалось (мне казалось этот путь самый простой, ведь проторен многими), и потребовалось как специальное крепление распечатанное на 3д принтере (обьеденяющее камеру и лидар) так и калибровать лидар с камерой, что-бы система координат (СК) однометрии совпадала с СК воксельной карты в моём случае эта калибровка решается нахождением поправок для совмещения облаков точек от камеры и лидара (матрицы вращения и вектора смещения) теперь с энкодерами колёс (и ижесними imu, компасы т.д.) я не преставляю как найти такое преобразование. Если хочешь что-бы ведрусоход ездил автономно т.е. по координатам полученным от камеры, они должны совпадать с однометрией. А без калибровки но с помощью однометрии нужно проехать по маршруту в ручную что-бы он потом проехал сам и всё. С протоколоми не копался ни один не знаю) скопировал бинарный протокол UBLOX себе и по его примеру свои делаю пока нареканий нет.
Да самого напрягает эта возня с железом. Хочется уже высокоуровневыми софтами заниматься. Но засада в том, что движение робота застопорилось в прямом и переносном смысле из-за отсутствия энкодеров у него на ногах. А энкодеры потянули за собой STM32. А теперь мне ещё надо все датчики (сонары, термометр и АЦП) перевесить на порты апельсина (I2C и GPIO, видимо). А для этого неплохо бы платку нарисовать и фрезернуть. Не заливать же 40 pin апельсина в термоклей. Пока платформа не готова, не могу развивать проект дальше. Хвала небесам, двиние вперёд есть! А о большем сейчас и мечтать не хочу. Поведенческие алгоритмы ещё и рефакторил с LLM-помощником. По их запуску тоже предстоит небольшая морока. Но то уже предстоящие приятные хлопоты. P.S. Я бы развивал проект быстрее, но интересно и видео о нём записать. Думаю, мои ролики могут быть кому-то полезны.
однозначно uart лучше всех по пропускной. Если не брать spi. Но лучше 485. Есть возможность внешнего мониторинга. Помехи не проблема. Есть возможнось нпрастить. Драйверы копеечные тянут 500кбит.
@@borisov_dmitry верно. Нужно три трансивера, чтобы связать три устройства (апельсин и две stm32 пилюли), чтобы был CAN. Или (в моём случае достаточно) два по 4 провода кинуть на UART.
Сам апельсин - точно нет. У него уже загрузка около 40% и будет только расти. А вот на одну STM два колеса повесить - идея хорошая! Но только после стресс-тестов смогу точнее ответить, реализуемая ли она.
@@olegmilantiev одна стм32 спокойно справится с твоим роботом. у меня робот -пылесос на том же стм, что в голубой таблетке. и да в голубой таблетке есть аппаратный юсб, не надо ни каких конверторов.
Проблема у всех без исключения роботов в том, что они вешаются на центральный процессор, расходуя и без того ценное время его работы, своими относительно редкими функциями. Нужно же менять концепцию в корне! а именно: Делать так как в природе. Вспомните структуру мозговых трубчатых костей да хоть человека, хоть любой другой животной. За действия членов отвечает не центральный мозг, а местные мини мозги в этих трубчатых костях, которые в период роста обучаются определенным навыкам(ходьбе, бегу, сидению, письму и прочему и прочему) и после обучения уже выполняют только короткие команды от головного мозга, а не заново учатся. Надеюсь доступно изложил.
На все 100% согласен! Есть у меня подозрение, что Orange Pi 3B и будет тем самым вспомогательным компом. А поверх него, в некоторой не такой уж отдалённой перспективе, придётся ставить мозг побольше. С GPU или NPU. Грубо говоря, этот апельсин может поставлять в гипотетический центральный мозг обработанные через YOLO данные камер, safety предупреждения и тревоги и т.п. Очень интересно именно к этой части перейти. Но так как иду от простого к сложному, то вот ... ноги робота переделал. В текущей реализации тоже есть что доделать. Но должно на первое время хватить и такого шасси.
Немного не по теме ролика, но все же - о каких структурах в трубчатых костях вы говорите? Насколько мне известно, в костях действительно есть орган, называемый мозгом - костный мозг. Но он только называется так, а по сути к нервной деятельности отношения не имеет. Занимается выработкой клеток крови. Опять таки - не являюсь специалистом и могу ошибаться, но всю двигательную активность - генерирует спинной мозг. Он имеет простую структуру и разделен на отделы, каждый из которых отвечает за моторику отдельных частей тела.
@AET-j3q вы не тот вопрос задали :) Есть ли возможность подключения этих устройств без трансиверов? По какому-то другому протоколу. Например, UART или USB. Задача же не во что бы то ни стало использовать CAN. Смотрите на 03:05
А чего не взять контроллер со встроенным CAN? Тогда проще было бы, как минимум с одном стороны. К слову - 100кБит есть потребность, в такой скорости обмена?
Если цель во что бы то ни стало запустить CAN, то в твоих словах есть логика. На 01:03 я объяснял, особенно в хобби проекте с единственным разработчиком приходится концентрироваться и решать узкую задачу. Сейчас нужно было связать апельсин с колёсами. Проще всего и эффективней всего оказалось пару UART кинуть к BluePill. У меня на RKNN уже настроена YOLOv8 с custom моделью. Я поэтому не хочу этот апельсин менять на другой. Если сейчас затевать перестановку основного компа или смену контроллеров - это ещё больше отдалит меня от интересных поведенческих задач робота. Железо меня так .... во вторую очередь интересует.
что такое "Дорого"? У вас куча камер, колёса, приводы, одноплатник... В этом случает три-пять конвертеров CAN - это какой процент стоимости от всего? Я просто не понимаю таких экономистов, сначала купят железа на 15 тыс, а потом... "не, преобразователь за 150 р это дорого...". Это как те, кто по электричкам от контролёров бегает, у которых 200 тыс на айфон есть, а 55р на проезд нет.
@@SeregaTikhonov ну не стоит передёргивать. "Дорого" я говорил про смену миникомпа. Он тыщ 12 стоит, если orange 5 на рокчипе следующем. Тренд "CAN любой ценой", нешуточно разгоревшийся в комментах мне нравится :) Хорошо, что я чётко понимаю задачу и у меня нет сомнений в эффективности применённого решения.
Ага, наличие CAN видно в правом списке на 03:05. И там же сноска, что CAN не подключить без трансивера. Если б нужно было BluePill подключить к существующей системе с CAN, выбор мог бы быть другим. Но этой шины нет в используемом сейчас апельсине.
@@yurigolovin4333 с новым годом! :) Да, есть у него CAN, гляди 03:05. Там же рассказал, почему именно в этот раз эта хорошая шина не подошла именно мне. Я рещал и решил локальную задачу. В отрыве от контекста CAN супер выбор!
Спасибо за комментарии к видео! Для меня в новинку использовать ютуб не только для донесения моих мыслей до заинтересованных темой людей, но и как площадку для обсуждения. Я уверен, что проект без обратной связи обречён на провал. Как мне давно сказал хороший знакомый: "один человек создаёт поделку. Только коллектив и обратная связь создают продукт". И я рад, что с вашей помощью я смогу улучшить мой проект.
Выписал себе из почёрпнутого в комментариях:
- провести стресс-тест (повысить частоту коррекций и замерить кол-во пропусков. Довести и найти предельную частоту). Оценить, потянет ли одна "пилюля" два мотора (думаю да, но хочу быть уверенным) - спасибо @ИванОсинин-с7и ;
- нужна ли мне 115200 бод скорость? Опять таки, хочу замерить и принимать решение на основе цифр, а не ощущений - спасибо @barcooler ;
- напирать на децентрализацию - спасибо Алексею и Игорю.
Привет Олег, дядя Вова здесь. КМК надо CAN- потому что ты с ним не работал. Из интереса, если силы есть. Ну, и цена UART2САN.
@@KyM_TlolKBA Привет!
С наступающим :)
CAN, конечно, стоит попробовать. Судя по описанию и со слов того знакомого, очень хорошая шина!
Но ресурсов разработчиков (меня) мало, так что исходя из принципа "не чини работающее", с этой частью робота я закончил. Пока что буде пара UART.
Мне очень нравится 485😊
Да ты прав, самый лучший интерфейс это CAN, только у него проблема это близорукость.
Arduino UNO R4 поддерживает CAN. Arduino UNO R4 WIFI поддерживает WIFI, Bluetooth BLE. Есть ЦАП и АЦП. Часы реального времени RTC. Интерфейс HID. Один операционный усилитель.
@@innamoratopazzo25 blue pill на похожем процессоре. Тоже есть CAN. Но для его работы нужны трансиверы на стороне каждого контроллера и на стороне Orange Pi.
Для подключения по UART дополнительного оборудования не требуется. Достаточно трёх проводов.
Есть еще Modbus на 485 - старый добрый, проверенный. Но нужен внешний контроллер, да
@@handlewithoutsuitcase Странно, что SPI забыли :)
Что за "внешний контроллер"? Наверно драйвер.
Когда навигацию уже начнёш делать и закончишь с колёсами, протоколами? Решил объеденить одометрию от лидара и данные от камеры глубины (воксельную карту) оказалось это решается значительно сложнее чем предпологалось (мне казалось этот путь самый простой, ведь проторен многими), и потребовалось как специальное крепление распечатанное на 3д принтере (обьеденяющее камеру и лидар) так и калибровать лидар с камерой, что-бы система координат (СК) однометрии совпадала с СК воксельной карты в моём случае эта калибровка решается нахождением поправок для совмещения облаков точек от камеры и лидара (матрицы вращения и вектора смещения) теперь с энкодерами колёс (и ижесними imu, компасы т.д.) я не преставляю как найти такое преобразование. Если хочешь что-бы ведрусоход ездил автономно т.е. по координатам полученным от камеры, они должны совпадать с однометрией. А без калибровки но с помощью однометрии нужно проехать по маршруту в ручную что-бы он потом проехал сам и всё. С протоколоми не копался ни один не знаю) скопировал бинарный протокол UBLOX себе и по его примеру свои делаю пока нареканий нет.
Да самого напрягает эта возня с железом. Хочется уже высокоуровневыми софтами заниматься. Но засада в том, что движение робота застопорилось в прямом и переносном смысле из-за отсутствия энкодеров у него на ногах. А энкодеры потянули за собой STM32. А теперь мне ещё надо все датчики (сонары, термометр и АЦП) перевесить на порты апельсина (I2C и GPIO, видимо). А для этого неплохо бы платку нарисовать и фрезернуть. Не заливать же 40 pin апельсина в термоклей.
Пока платформа не готова, не могу развивать проект дальше. Хвала небесам, двиние вперёд есть! А о большем сейчас и мечтать не хочу.
Поведенческие алгоритмы ещё и рефакторил с LLM-помощником. По их запуску тоже предстоит небольшая морока. Но то уже предстоящие приятные хлопоты.
P.S. Я бы развивал проект быстрее, но интересно и видео о нём записать. Думаю, мои ролики могут быть кому-то полезны.
однозначно uart лучше всех по пропускной. Если не брать spi. Но лучше 485. Есть возможность внешнего мониторинга. Помехи не проблема. Есть возможнось нпрастить. Драйверы копеечные тянут 500кбит.
К Orange Pi можно подключить MCP2515, драйвера есть.
@@borisov_dmitry верно. Нужно три трансивера, чтобы связать три устройства (апельсин и две stm32 пилюли), чтобы был CAN.
Или (в моём случае достаточно) два по 4 провода кинуть на UART.
Зачем тебе по STMке на колесо? Неужели 1 STM не может справится сразу с двумя или вообще сам апельсин?
Сам апельсин - точно нет. У него уже загрузка около 40% и будет только расти. А вот на одну STM два колеса повесить - идея хорошая! Но только после стресс-тестов смогу точнее ответить, реализуемая ли она.
@@olegmilantiev одна стм32 спокойно справится с твоим роботом. у меня робот -пылесос на том же стм, что в голубой таблетке. и да в голубой таблетке есть аппаратный юсб, не надо ни каких конверторов.
@denpar5450 понятно. Что ж, тем проще подключать.
какой кан?! там что в роботе по 10 метров провода? и в блюпил есть кан и юсб есть.
Проблема у всех без исключения роботов в том, что они вешаются на центральный процессор, расходуя и без того ценное время его работы, своими относительно редкими функциями. Нужно же менять концепцию в корне! а именно: Делать так как в природе. Вспомните структуру мозговых трубчатых костей да хоть человека, хоть любой другой животной. За действия членов отвечает не центральный мозг, а местные мини мозги в этих трубчатых костях, которые в период роста обучаются определенным навыкам(ходьбе, бегу, сидению, письму и прочему и прочему) и после обучения уже выполняют только короткие команды от головного мозга, а не заново учатся.
Надеюсь доступно изложил.
На все 100% согласен!
Есть у меня подозрение, что Orange Pi 3B и будет тем самым вспомогательным компом. А поверх него, в некоторой не такой уж отдалённой перспективе, придётся ставить мозг побольше. С GPU или NPU.
Грубо говоря, этот апельсин может поставлять в гипотетический центральный мозг обработанные через YOLO данные камер, safety предупреждения и тревоги и т.п. Очень интересно именно к этой части перейти. Но так как иду от простого к сложному, то вот ... ноги робота переделал. В текущей реализации тоже есть что доделать. Но должно на первое время хватить и такого шасси.
Немного не по теме ролика, но все же - о каких структурах в трубчатых костях вы говорите? Насколько мне известно, в костях действительно есть орган, называемый мозгом - костный мозг. Но он только называется так, а по сути к нервной деятельности отношения не имеет. Занимается выработкой клеток крови. Опять таки - не являюсь специалистом и могу ошибаться, но всю двигательную активность - генерирует спинной мозг. Он имеет простую структуру и разделен на отделы, каждый из которых отвечает за моторику отдельных частей тела.
давно у блюпил кан отняли?
@@AET-j3q его и не было без трансивера
@@olegmilantiev аааа
а он у кого то есть с трансивером?
@AET-j3q вы не тот вопрос задали :)
Есть ли возможность подключения этих устройств без трансиверов? По какому-то другому протоколу. Например, UART или USB.
Задача же не во что бы то ни стало использовать CAN. Смотрите на 03:05
А чего не взять контроллер со встроенным CAN?
Тогда проще было бы, как минимум с одном стороны.
К слову - 100кБит есть потребность, в такой скорости обмена?
Если цель во что бы то ни стало запустить CAN, то в твоих словах есть логика. На 01:03 я объяснял, особенно в хобби проекте с единственным разработчиком приходится концентрироваться и решать узкую задачу. Сейчас нужно было связать апельсин с колёсами. Проще всего и эффективней всего оказалось пару UART кинуть к BluePill.
У меня на RKNN уже настроена YOLOv8 с custom моделью. Я поэтому не хочу этот апельсин менять на другой. Если сейчас затевать перестановку основного компа или смену контроллеров - это ещё больше отдалит меня от интересных поведенческих задач робота. Железо меня так .... во вторую очередь интересует.
100кбит - это очень небольшая скорость.
что такое "Дорого"? У вас куча камер, колёса, приводы, одноплатник... В этом случает три-пять конвертеров CAN - это какой процент стоимости от всего?
Я просто не понимаю таких экономистов, сначала купят железа на 15 тыс, а потом... "не, преобразователь за 150 р это дорого...". Это как те, кто по электричкам от контролёров бегает, у которых 200 тыс на айфон есть, а 55р на проезд нет.
@@SeregaTikhonov ну не стоит передёргивать. "Дорого" я говорил про смену миникомпа. Он тыщ 12 стоит, если orange 5 на рокчипе следующем.
Тренд "CAN любой ценой", нешуточно разгоревшийся в комментах мне нравится :)
Хорошо, что я чётко понимаю задачу и у меня нет сомнений в эффективности применённого решения.
Бритва Оккама даёт очень простой ответ, отсекая лишние компоненты.
Modbus rtu
Привет!
Спасибо за видео!
Но у BluePill (stm32f103) есть CAN на борту. Называется bxCAN. Но трансивер для него прикупить придётся.
Ага, наличие CAN видно в правом списке на 03:05. И там же сноска, что CAN не подключить без трансивера. Если б нужно было BluePill подключить к существующей системе с CAN, выбор мог бы быть другим. Но этой шины нет в используемом сейчас апельсине.
Делай по SPI 😅
@@hutoryanin о да!! :)
Эм, в Blue Pill на чипах f103с8 есть CAN, держу в курсе. Ни один интерфейс на серъезных щах подключать без доп обвязки нельзя
@@yurigolovin4333 с новым годом! :)
Да, есть у него CAN, гляди 03:05. Там же рассказал, почему именно в этот раз эта хорошая шина не подошла именно мне.
Я рещал и решил локальную задачу. В отрыве от контекста CAN супер выбор!
@@olegmilantiev и вас с наступившим! Мне ж как зрителю надо вас носом тыкнуть :)
@yurigolovin4333 :) согласен. В споре рождается истина
Апельсинка мозг, нафига ей знать как работают датчики. ? Вешай их на блупилы, а с них собирай информацию и им же командуй.
@@AlexeyKuklinДатчики почти не влияют на загрузку проца. И пока не влияют на низкоуровневые функции управления колёсами
Vania!!!!