форум робототехников: ‘орум роботов и робототехники

‘орум роботов и робототехники

‘орум про роботов и робототехнике. ќбсуждаем, конструируем из подручных средств или на 3D-принтере и программируем роботов на ардуино и из лего. –ассуждаем о развитие науки и техники в промышленности –оссии, японии и других стран! ¬ысказывайте своЄ мнение о стать€х, оставл€йте комментарии на тему искусственного интеллекта, LEGO конструировани€. «адавайте любые вопросы и ставьте задачи. ¬месте будем их решать! ƒелитесь наработками своих роботов!

ѕоискѕоиск  
—егодн€: 03.06.2020 - 04:18:42
—траницы:  1  
ќбъ€вление участникам робототехнического форума

”важаемые гости и участники робототехнического форума. ѕомогайте друг другу, отвечайте на интересующие ¬ас вопросы.
ƒоступ дл€ отправки сообщений и создани€ тем открыт всем посетител€м без регистрации.

јвтор—ообщение

GrayHunter

G
гость-робототехник
ѕриветствую. –ешил € реализовать свой проект и разработал следующую логическую схему. ѕланирую использовать микроконтроллер ATmega8.
ѕомогите мне пожалуйста в следующем:
I.напишите названи€ тех элементов, которые здесь понадоб€тс€,
II.напишите пожалуйста собственно код, которым нужно будет прошить ATmega8 (в логической схеме есть неопределЄнное число УNФ (€ркость), которое должно быть самым тусклым светом, т.е. то, что уже нельз€ назвать темнотой, так же есть знаки вопроса и могут быть неточности Ц это те моменты, которые € прошу ¬ас дописать/изменить так, чтобы обща€ логика работала Ц насчЄт того, что же € хочу смотри в конце поста)

ќбщее:
ƒва колеса Ц два мотора,
— каждой из двух сторон по датчику, определ€ющего €ркость света,
¬ пам€т€х фигурируют две переменные Ц по одной от каждого датчика.
(подробнее что же это будет Ц см. под лог. схемой)

0. ¬ключение робота.

Ћогическа€ схема:
1. ∆дЄт 5 сек
2. ѕровер€ет €ркость света на датчиках
2.1 ≈сли €ркость одинакова€ Ц перейти к пункту є 3
2.2 ≈сли €ркость разна€ Ц перейти к пункту є 5
3. «апоминает €ркость на каждом датчике в оперативной пам€ти
3.1 ЅерЄт €ркость из оперативной пам€ти и из посто€нной пам€ти, и высчитывает среднее арифметическое, и провер€ет его:
3.2 ≈сли оно меньше N (это другое значение (никогда неизмен€емое роботом!), которое тоже в посто€нной пам€ти находитс€), то изменить полученное на N и перейти к пункту є 3.4
3.3 ≈сли оно равно N или больше N Ц перейти к пункту є 3.4
3.4 «аписать полученное в посто€нную пам€ть
4. ƒвигатьс€ вперЄд на случайное кол-во сантиметров, но не больше 200 и не меньше 20, одновременно провер€ть €ркость на датчиках каждую секунду (?) и свер€ть с €ркостью, котора€ в оперативной пам€ти, и если:
4.1 яркость на обоих датчиках больше или равна той, котора€ указана в посто€нной пам€ти Ц перейти к пункту є 12, если нет Ц см. далее
4.2 яркость на обоих датчиках заметно больше, чем в оперативной пам€ти Ц перейти к пункту є 11, если нет Ц см. далее
4.3 яркость на обоих датчиках заметно меньше, чем в оперативной пам€ти Ц после проезда выбранного рассто€ни€ перейти к пункту є 9, если нет Ц см. далее
4.4 яркость на обоих датчиках така€ же, как в оперативной пам€ти Ц после проезда выбранного рассто€ни€ перейти к пункту є 7, если нет Ц см. далее
4.5 Ќа одном из датчиков заметно больше €ркости, чем в оперативной пам€ти Ц перейти к пункту є 5, если нет Ц см. далее
4.6 Ќа одном из датчиков заметно меньше €ркости, чем в оперативной пам€ти Ц перейти к пункту є 8
5. ќстановитьс€
6. ѕовернутьс€ в сторону датчика, €ркость которого больше Ц перейти к пункту є 3
7. ќстановитьс€
8. ѕовернутьс€ в случайную сторону на случайный угол, но не больше 180 градусов Ц перейти к пункту є 4
9. ќстановитьс€.
10. ѕовернутьс€ в случайную сторону на случайный угол, но не меньше, чем на 150 и не больше 180 градусов Ц перейти к пункту є 4
11. «апомнить €ркость на каждом датчике в оперативной пам€ти (продолжа€ делать всЄ то же, что и в пункте є 4, например, движение и, желательно, проверку €ркости)
11.1 ЅерЄт €ркость из оперативной пам€ти и из посто€нной пам€ти, и высчитывает среднее арифметическое, и провер€ет его:
11.2 ≈сли оно меньше N (это другое значение (никогда неизмен€емое роботом!), которое тоже в посто€нной пам€ти находитс€), то изменить полученное на N и перейти к пункту є 11.4
11.3 ≈сли оно равно N или больше N Ц перейти к пункту є 11.4
11.4 «аписать полученное в посто€нную пам€ть
11.5 ѕерейти к пункту є 4.
12. ќстановитьс€
13. «апомнить €ркость на каждом датчике в оперативной пам€ти
13.1 ЅерЄт €ркость из оперативной пам€ти и из посто€нной пам€ти, и высчитывает среднее арифметическое, и провер€ет его:
13.2 ≈сли оно меньше N (это другое значение (никогда неизмен€емое роботом!), которое тоже в посто€нной пам€ти находитс€), то изменить полученное на N и перейти к пункту є 13.4
13.3 ≈сли оно равно N или больше N Ц перейти к пункту є 13.4
13.4 «аписать полученное в посто€нную пам€ть
14. ”множить €ркость в оперативной пам€ти на 0,6 (?)
15. «аписать полученное в оперативной пам€ть
16. ѕроверить €ркость на датчиках через минуту (?) и сверить с €ркостью, котора€ в оперативной пам€ти, и если:
16.1 яркость на обоих датчиках больше, чем в оперативной пам€ти Ц перейти к пункту є 13, если нет Ц см. далее
16.2 яркость на обоих датчиках така€ же, как в оперативной пам€ти Ц перейти к пункту є 16, если нет Ц см. далее
16.3 яркость на обоих датчиках заметно меньше, чем в оперативной пам€ти Ц перейти к пункту є 9, если нет Ц см. далее
16.4 Ќа одном из датчиков заметно больше €ркости, чем в оперативной пам€ти Ц перейти к пункту є 5, если нет Ц см. далее
16.5 Ќа одном из датчиков заметно меньше €ркости, чем в оперативной пам€ти Ц перейти к пункту є 16


-=-=-=-=-
„“ќ ∆≈ Ё“ќ Ѕ”ƒ≈“:

–обот, на двух моторах, с выключателем, с датчиком на каждом из двух боков, с микроконтроллером, с аккумул€торами, с солнечной батареей, котора€ зар€жает аккумул€торы, с реле, к которой подключены аккумул€торы и не дают соединитьс€ батарейки со светодиодом.

»так, робот передвигаетс€ по местности в поисках наибольшего (по €ркости) источника света посто€нно привод€ к реальности значени€ в посто€нной пам€ти, но это значение не может быть ниже тусклого света, чтобы робот не прекращал поиски источника света, даже наход€сь в полной темноте.  огда робот найдЄт самый €ркий источник света, который ему повезЄт и который будет в его зоне определени€ €ркости Ц робот остановитьс€ в зоне наибольшей €ркости. —олнечные батареи будут зар€жать аккумул€торы робота, а он будет провер€ть рентабельность (скажем так) своего пребывани€ в этом месте. ≈сли €ркость упала Ц он продолжит поиски. ≈сли аккумул€торы сели так, что больше не смогут передвигать/питать робота Ц то реле переключитс€ и соединит УэкстреннуюФ батарею со светодиодом Ц это будет сигналом, что робот разр€дилс€.

ѕо идеи, робот будет работать так (в комнате с единственным источником света Ц окно с выходом на глухую стену (т.е. звЄзд и луны не видно)):
¬сю ночь он будет искать источник света (если найдЄт - остановитьс€)
”тром он либо переместитьс€ к окну, либо у него и будет сто€ть (см. про ночь)
ƒо того момента, когда солнце будет закатыватьс€ Ц он будет смирно сто€ть у окна.
 огда солнце будет уже давать меньше света Ц он снова начнЄт искать светЕЕ.

P.S.- было бы неплохо ещЄ прописать, что при возобновлении поисков света рассто€ние, которое будет проезжать робот будет зависеть от того, насколько сильно вдруг изменилась €ркость, но сначала мне хот€ бы это сделатьЕ

--> ѕ–ќЎ” помочь мне в осуществлении этого проекта Ц в начале поста всего два пункта, в которых мне нужна помощь. Ѕуду очень рад помощи. :)
—ообщение # 1 22.07.08 - 22:21:20

Aist35

интересующийс€ ботами





—татистика:
“ем создано: 0
—ообщений: 15
–епутаци€: 30 ±
Ќарушени€: 0
»нтересна€ задумка ... Ќе до конца конечно €сно зачем он вам ... но тем неменее интересно ... „ем сможем поможем... пока будем думать :)
—ообщение # 2 23.07.08 - 11:23:55

Aist35

интересующийс€ ботами





—татистика:
“ем создано: 0
—ообщений: 15
–епутаци€: 30 ±
Ќарушени€: 0
“олько еще вопро ..не лучше ли искать и в поиске опиратьс€ на градиент света???
—ообщение # 3 23.07.08 - 11:25:28

GrayHunter

G
гость-робототехник
а что это? €ркость?
—ообщение # 4 23.07.08 - 12:35:36

GrayHunter

G
гость-робототехник
ƒќѕќЋЌ≈Ќ»≈:
«абыл дописать в свою логическую схему » -локатор, чтобы он не врезалс€ в стены и даже уворачивалс€ от идущих людей. ≈сли не сложно - его тоже допишите плиз. » -локатор, например, как тут http://homorobot.narod.ru/teach/rober/rober.html ( http://homorobot.narod.ru/teach/rober/rober.html )

ƒќѕќЋЌ≈Ќ»≈ 2:
¬от логическа€ схема дл€ локатора, работающего одновременно с основной схемой, но имеюща€ приоритет:
1. ѕосто€нно должен работать » -локатор (или иной Ц какой посоветуете) и, если:
1.1 Ќичего нет в поле действи€ (например сантиметров 20), то никак не реагировать на это отсутствие чего-либо Ц перейти к пункту є 1
1.2 ≈сли что-то по€вилось Ц перейти к пункту є2
2. «апомнить рассто€ние до объекта
3. —верить полученное рассто€ние через полсекунды с тем, которое было запомнено в пункте є 2, и если:
3.1 ќбъект пропал Ц перейти к пункту є 1
3.2 –ассто€ние не изменилось Ц перейти к пункту є 3
3.3 –ассто€ние увеличилось Ц перейти к пункту є 2
3.4 –ассто€ние сократилось быстрее, чем скорость робота (т.е. объект двигаетс€ к роботу) Ц перейти к пункту є 4
3.5 –ассто€ние сократилось со скоростью робота (т.е. объект стоит) Ц перейти к пункту є 6
4. ѕовернуть направо на 90 градусов и прибавить к запланированному рассто€нию 50 сантиметров
5. ѕерейти к пункту 2
6. ѕовернуть направо на 90 градусов
7. «апомнить рассто€ние до объекта
8. ѕродолжить двигатьс€ на запланированное рассто€ние, и если:
8.1 «апланированное рассто€ние пройдено Ц перейти к пункту є 2
8.2 ќбъект исчез Ц перейти к пункту є 9
8.3 –ассто€ние не изменилось Ц перейти к пункту є 8
8.4 –ассто€ние увеличилось Ц перейти к пункту є 7
8.5 –ассто€ние сократилось быстрее, чем скорость робота (т.е. объект двигаетс€ к роботу) Ц перейти к пункту є 4
8.6 –ассто€ние сократилось со скоростью робота (т.е. объект стоит) Ц перейти к пункту є 6
9. ѕовернуть на 90 градусов налево
10. ѕродолжить двигатьс€ на запланированное рассто€ние
11. ѕерейти к пункту є 1
—ообщение # 5 23.07.08 - 12:37:11

Aist35

интересующийс€ ботами





—татистика:
“ем создано: 0
—ообщений: 15
–епутаци€: 30 ±
Ќарушени€: 0
Ќет ... под градиентом € понимал вектор наибольшего роста некоторой функции ... ну тоесть если робот двигаетс€ в комнате с одним источником света то сначала ему надо происледовать некоторую локальную область пола ... например проехатьс€ по восьмиугольнику .... дл€ того что бы пон€ть в какомнаправлени €ркость света начинает возростать !!!
2 3
1 4
8 5
7 6

если условный 8-ми угольник промаркировать .. и узнать что при движении из точки 3 в точку 4 свет возростал а из точки 7 в 8 падал ... то дальнейшее движение надо продолжать опира€сь на направлнеие 3-4 так как именно вэтом направлении предположительно находитс€ источник света.... вот! ...

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

—ообщение # 6 23.07.08 - 15:27:45

Aist35

интересующийс€ ботами





—татистика:
“ем создано: 0
—ообщений: 15
–епутаци€: 30 ±
Ќарушени€: 0
восьмиугольник неполучилс€ .... Ќадо бы по админу кирпичом бросить ...

перерисую ....

**2**3**
1******4
8******5
**7**6**
—ообщение # 7 23.07.08 - 15:29:44

GrayHunter

G
гость-робототехник
прикольно. да, это сто€ща€ доработка. спасибо.

ѕравда € не пон€л причЄт тут зеркало, а именно, что в нЄм плохого? Ќу отражаетс€ свет из окна, например, от зеркала и попадает на пол - робот вместо того, чтобы довольствоватьс€ рассе€ным светом, отражЄнным от потолка будет сто€ть и гретьс€ (зар€жатьс€) под зеркалом - вроде нет ничего страшного :)
или предлагаемый ¬ами датчик н≈сколько иначе понимает зеркало (не как "стену", а как ... что?)?

» по поводу рада - мне немного сложнова-то встроить его в основную лог. схему, поэтому, надеюсь, мне в этом тоже помогут, как начинающему...

Ќу и по поводу самого кода (т.е. переведЄнной лог. схемы на €зык микроконтроллера) - вопрос всЄ ещЄ актуален - жду помощи
—ообщение # 8 23.07.08 - 15:35:52

Aist35

интересующийс€ ботами





—татистика:
“ем создано: 0
—ообщений: 15
–епутаци€: 30 ±
Ќарушени€: 0
ƒаже если отказатьс€ от карты местности то использование этого пробного восьмиугольника только ускорит поиски .... и воббще как по мне то это лучше чем случайным образом бегать по комнате ...
—ообщение # 9 23.07.08 - 15:39:40

GrayHunter

G
гость-робототехник
согласен с ¬ами.

—можете ли ¬ы помочь мне такое воплотить (написать код) или это всЄ же слишком сложно?
—ообщение # 10 23.07.08 - 15:50:59

Aist35

интересующийс€ ботами





—татистика:
“ем создано: 0
—ообщений: 15
–епутаци€: 30 ±
Ќарушени€: 0
Ќасчет зеркала ...

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

Ќасчет кода .... могу попробовать помочь ...все таки программист .. только у мну нету контроллера.. да и програмамтора тоже ...

потому могу сделать набросок который вам потом придейтсь€ допил€ть в случае чего :))
—ообщение # 11 25.07.08 - 11:45:32

GrayHunter

G
гость-робототехник
Ѕыл бы признателен. :)
 онтроллер ATmega8, если ¬ам это поможет
—ообщение # 12 29.07.08 - 13:37:41
¬оздушна€ подушка (модель) :ѕредыдуща€ тема—ледующа€ тема: ѕросто программатор
—траницы:  1  

—ообщение
»м€ E-mail
—ообщение

Ќажмите на точку возле имени дл€ обращени€ к участнику

—майлы:
≈щЄ смайлы
         
«ащитный код: (введите цифры, которые на синем фоне)
   
Powered by WR-Forum Professional © 2.2

≈сли вы хотите видеть на нашем сайте больше статей то кликните ѕоделитьс€ в социальных сет€х! —пасибо!
—мотрите также:

ќбратите внимание полезна€ информаци€.