Обновить

Комментарии 11

Я в этих ваших роботах ничё не понимаю, поэтому начну сразу с советов:

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

Снова про эти машины: если пультом не пользоваться - ребенок таки едет и рулит сам.
Иногда даже вполне адекватно, несмотря на возраст и незнание ПДД.
При этом его не волнует точность геометрии кузова и соответствие кинематики матмодели - он подрулит, притормозит, ориентируясь органолептически. т.е. на глаз.
Отсюда выходит, что правильный, годный робот тоже должен быть способен ориентироваться в пространстве по факту, а не по расчетной траектории.
Тем более - мало ли как изменится обстановка там, где можно было бы "просто дать задний ход" - может уже и нельзя.

И третий момент: человек ограничен в своих чувствах: зрение, слух, осязание носом столба, если зрение не помогло (там даже вкус с запахом может появиться, но поздно).
Зато робот умеет еще в ультразвуковую локацию (не от Ардуино, а обычные авто парковочные датчики), плюс теоретически какой-нибудь электроволновой маршрутный датчик, типа "ехать по проводу, воткнутому в розетку 50Гц, ориентируясь на наводки от него", ну и всякие gps на длинной дистанции.
То есть незачем ограничиваться только компьютерным зрением.
Наверняка те же роботы-доставщики это всё прекрасно используют.

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

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

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

Вы правы, про рулёжку не слышал но пульты с блокировкой руля и газа а также ограничением скорости бывают в моей модели такого пульта не было. Ограничение скорости выставлялось ключём на контроллере на фото это переключатель с буквами LHM.

“Снова про эти машины: если пультом не пользоваться - ребенок таки едет и рулит сам. Иногда даже вполне адекватно, несмотря на возраст и незнание ПДД. При этом его не волнует точность геометрии кузова и соответствие кинематики матмодели - он подрулит, притормозит, ориентируясь органолептически. т.е. на глаз. Отсюда выходит, что правильный, годный робот тоже должен быть способен ориентироваться в пространстве по факту, а не по расчетной траектории. Тем более - мало ли как изменится обстановка там, где можно было бы “просто дать задний ход” - может уже и нельзя.”

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

“И третий момент: человек ограничен в своих чувствах: зрение, слух, осязание носом столба, если зрение не помогло (там даже вкус с запахом может появиться, но поздно). Зато робот умеет еще в ультразвуковую локацию (не от Ардуино, а обычные авто парковочные датчики), плюс теоретически какой-нибудь электроволновой маршрутный датчик, типа “ехать по проводу, воткнутому в розетку 50Гц, ориентируясь на наводки от него”, ну и всякие gps на длинной дистанции. То есть незачем ограничиваться только компьютерным зрением. Наверняка те же роботы-доставщики это всё прекрасно используют.”

Машинное зрение и лидары дают большую точность локализации 1-2 см, gps такую точность дать не может даже с RTK. Ровер задумывался как follow me (тележка следующая за человеком без механической связи т.е.сама) и не автономные датчики тут часто не могут помочь т.к. сталкиваются с смешанной средой улица/помещение а они как правило либо уличные строго как gps либо только в помещении как трек камеры или aruco slam ну такое. Опять-же и сама цель follow me предполагает, что робот должен ехать за человек в любой среде и маршрут не обязан повторятся и быть ограниченным какой-то одной локацией. Что касается ультразвуковых датчиков им тоже нужен какой-то софт и этот софт так-же столкнётся с ограничениями управления этого квадроцикла, значит решать эту задачу придётся на любых датчиках. По большому счёту как вы заметили это на людях вся проблема именно в примитивном софте а не датчиках. Смотря на мир через изображённое на экране облако точек от лидара или изображение с камеры я тоже если не много по учусь смогу управлять им лучше чем любой автопилот, значит вина явно не в датчиках а в том как информация от них конвертируется в сигнал управления моторами т.е. в примитивном софте. Но слово примитивный тут относительно, по сравнению с возможностями людей или даже животных он очень примитивен, тем-не менее является очень сложным для понимания людьми и тяжёлым для вычислений на современных компьютерах, часто наивные подходы когда хочется сделать как правильнее и лучше, что-бы решить задачу не тянут на современном железе а их доработка растягивается на годы.

Вот с учёт всех этих ограничений я и пытаюсь что-то сделать )

Ну просто я тут немного со своей колокольни смотрю:
задача follow me сводится к выделению обьекта преследования (хозяина, например), и расчета траектории движения. При отсутствии всяческих препятствий она решается достаточно просто - выдерживанием постоянного, скажем так, угла атаки, что по мере приближения приведет к попаданию в, скажем так, преследуемого.
Если попадать не планируется - на определенном расстоянии заданный угол изменяется так, чтоб траектории никогда не пересеклись (простейший треугольник, катет-катет-гипотенуза).

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

Сейчас всё пытаются через нейросети решать, но тут кстати недавно пример был, как с помощью нейросети решить простейший битовый XOR - да, можно, и даже будет достаточно надежно работать, но потребует вычислительной мощности и времени, в то время как битовый XOR со 100% надежностью и сверхвысоким быстродействием решается на 1 логическом элементе, аппаратно.
Это к тому, что лучше бы комбинировать, нейросеть с конечными автоматами и аналоговыми модулями там, где они быстрее и точнее. А то как-то однобоко выходит...

Кстати, если разместить 2 видеокамеры на жесткой балке - получим бинокулярное зрение, возможность оценки расстояния чисто по смещениям.
2 картинки, yolo, 2 объекта и чуть-чуть тригонометрии.
Но почему-то это никто не пытается делать - лидары лепят сразу.

А управление шасси - это уже отдельная задача...

2е видеокамеры (стереокамера) тут уже есть и она сама умеет на своем чипе считать дистанцию, то что вы говорите по триангуляции, но её поле зрения меньше лидара 90 град против 360 у лидара и точность гораздо хуже лидара, лидар на 80м может видеть точки с погрешностью всего 1-2см а камера нет, у нё погрешность на такой дальности десятки метров + она не надёжно работает на солнце + может врать что что-то видит, лидар не врёт. А это важно для расчётов одометрии а если быть точнее, кореляциии облаков точек.

Да и такой вариант follow me (преследование в области прямой видимости) действительно будет реализован как резервный, в планарных сценах (открытом пространстве, в поле или в тонеле) где лидарная одометрия падает из-за бедной геометрии и как следствие этому дегенерации сцены, без одометрии не получится применить класический подход: картирование+планирование+навигация т.к. все эти 3 пункта зависят от наличия одометрии использование навигации по принципу преследования обьекта в прямой видимости с обьездом препяствий простых и редких слева или справа (реактивное управление) остаётся едиственным и самым надёжным методом в таких ситуациях! А как препяствий станет много так и геометрия сцены перестанет быть бедной одометрия снова появится и можно-будет включить класический стек картирование + планирование + навигация т.к. он надёжнее.

Однако в среде богатой геометрией, где много препяствий и они обладают сложной формой, и могут переодически скрывать обьект преследования из зоны прямой видимости, стек картирования+планирование+навигация позволяет следуя по карте найти путь к позиции где обьект преследования был обнаружен в последний раз (или если follow me по gps прямая видимость вообще не нужна) в обход всех этих препяствий и стабильно двигаться в моменты когда прямая видимость полностью отсуствует. И в то-же время ровер ведёт человек т.е. помогает ему выбирать из множества вариантов движения правильный путь, что упращает задачу в сравнении с роверами яндекса например где нейросети детектируют дорожные знаки, тротуары, пешеходные переходы и т.д. здесь эта задача глобального планирования ложится на человека. Он всё-же одним глазом следит за ровером если-что вносит поправки в свою траекторию и потому, имхо алгоритмы должны справляться и без нейросетей, давать предсказуемое поведение но в то-же время в простой ситуации ровер должен двигаться полностью самостоятельно а не глаз да глаз едет-ли он там или уже где-то застрял.

Потому в общем-то и был выбран follow me он упрощает задачу алгоритмам значительно, но даже так, до этого функционала ещё далеко как можно заметить.

Добрый день
По поводу видеокамер, запросите инфо в проекте OpenIPC (домены .org, .eu, .kz, .ru и т.д.) возможно вам стоит поставить на транспортное средство с альтернативной прошивкой, что-бы был максимальный вариант выбора настроек, в т.ч. с выдержкой, GOPб WDR, HLC и прочим.

Поковыряйте/поищите как все сделано на тех же авто (на Субарах... не всех но некоторые) могут следовать за впереди движ авто. Как бы прицепляясь. Там две камеры.

ИИ пишет: “В штатном режиме адаптивного круиз-контроля Subaru EyeSight самостоятельно препятствия не объезжает — система рассчитана только на удержание машины в текущей полосе и торможение до полной остановки” - а это важно, одновременно следовать за человеком и обьезжать неподвижные и движущиеся (машины) препяствия. А также в случае потери из поля зрения попытаться найти маркер/цель снова.

Про гашение вибраций - там у вса амортизаторы, но они не работают.
Все системы амортизации работают в педелах определенных весов ТС. Если вемсто штатной загрузки (несколько десятков килограм) вы поставили камеру, комп и пару приводов - то у вас ситема амортизации вышла упоры и попроту не может работать.
Либо надо пружины менять, либо догружать платформу.
Но мелкие вибрации штатная ситема врятли погасит - она расчитана на езджу по "грубому рельефу"...

Я уже менял поставил 450lsb было 1200 lsb меньше 450 не нашёл и то пришлось переделать их крепление т.к. они оказались чуть больше штатных.

Ну тогда - ок. Главное что вы этот помент тоже понимаете (из статьи сложилось ложное впечатление, что вы упутсили этот момент). Если меньше не найти то стоит просто баластом тогда догрузить платформу, что бы она вышла на рабочий диапазон.

Ожидать от штатных рессор много все-равно не стоит. Но пока (судя фоткам из статьи) у вас все стоит на упорах - оно вообще не работает и не гасит даже то, что может погасить.

Судя по фото у вас там обычные нерегулируемые газомасляные аморты?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации