Სარჩევი:

ნავიგაცია რობოტზე ფეხსაცმლის სენსორებით, W/o GPS, W/o რუკა: 13 ნაბიჯი (სურათებით)
ნავიგაცია რობოტზე ფეხსაცმლის სენსორებით, W/o GPS, W/o რუკა: 13 ნაბიჯი (სურათებით)

ვიდეო: ნავიგაცია რობოტზე ფეხსაცმლის სენსორებით, W/o GPS, W/o რუკა: 13 ნაბიჯი (სურათებით)

ვიდეო: ნავიგაცია რობოტზე ფეხსაცმლის სენსორებით, W/o GPS, W/o რუკა: 13 ნაბიჯი (სურათებით)
ვიდეო: en EBE 00a)2018-9-22 UFO Congress Czech, Podhrazska iLona, Ivana CC.- Subtitles,Titulky Krucemburk 2024, ივლისი
Anonim

Obluoblu დაიცავით შესახებ: oblu არის შიდა სანავიგაციო სენსორი მეტი oblu შესახებ »

რობოტი გადადის წინასწარ დაპროგრამებულ გზაზე და გადასცემს (ბლუთუზით) მის მოძრაობის რეალურ ინფორმაციას ტელეფონზე რეალურ დროში თვალთვალისთვის. Arduino წინასწარ არის დაპროგრამებული ბილიკით და oblu გამოიყენება რობოტის მოძრაობის საგრძნობად. oblu გადასცემს მოძრაობის ინფორმაციას არდუინოს რეგულარული ინტერვალებით. ამის საფუძველზე, არდუინო აკონტროლებს ბორბლების მოძრაობას, რათა რობოტი მიჰყვეს წინასწარ განსაზღვრულ გზას.

ნაბიჯი 1: მოკლე შესავალი

მოკლე შესავალი
მოკლე შესავალი

პროექტი გულისხმობს რობოტის გადაადგილებას წინასწარ განსაზღვრულ გზაზე სიზუსტით, GPS- ის ან WiFi- ის ან Bluetooth- ის გამოყენების გარეშე პოზიციონირებისთვის, თუნდაც რუქისა და შენობის განლაგების გეგმისთვის. და დახაზეთ მისი რეალური გზა (მასშტაბისკენ), რეალურ დროში. Bluetooth შეიძლება გამოყენებულ იქნას როგორც მავთულის შემცვლელი, რეალურ დროში მდებარეობის ინფორმაციის გადასაცემად.

ნაბიჯი 2: საინტერესო ისტორია

საინტერესო ისტორიული ისტორია
საინტერესო ისტორიული ისტორია

ჩვენი გუნდის მთავარი დღის წესრიგია ფეხსაცმელზე დამონტაჟებული ფეხით მოსიარულეთა სანავიგაციო სენსორების შემუშავება. თუმცა, ჩვენ მოგვმართა აკადემიური კვლევის ჯგუფმა რობოტის შიდა ნავიგაციის მოთხოვნით და მისი რეალურ დროში პოზიციის ერთდროული მონიტორინგის მოთხოვნით. მათ სურდათ ამგვარი სისტემის გამოყენება რადიაციის დახურულ პალატაში გამოსახვისთვის, ან აღმოაჩინეს გაზის გაჟონვა სამრეწველო სტრუქტურაში. ასეთი ადგილები საშიშია ადამიანისთვის. ვეძებთ მძლავრ გადაწყვეტას ჩვენი Arduino დაფუძნებული რობოტის შიდა ნავიგაციისთვის.

ჩვენი აშკარა არჩევანი ნებისმიერი მოძრაობის სენსორის მოდულისთვის (IMU) იყო "oblu" (გამოსახულების ზემოთ გამოსახულება). მაგრამ სახიფათო ნაწილი ის იყო, რომ oblu– ს არსებული firmware შესაფერისი იყო ფეხით დამონტაჟებული შიდა ფეხით მოსიარულეთა დაღუპვისათვის (PDR) ან ფეხით მოსიარულეთა ნავიგაციისთვის, მარტივი სიტყვებით. oblu– ს PDR შესრულება დახურულ სივრცეში, როგორც ფეხიზე დამონტაჟებული IMU, საკმაოდ შთამბეჭდავია. Android პროგრამის (Xoblu) ხელმისაწვდომობა oblu– ს რეალურ დროში თვალყურის დევნებისთვის, როგორც ფეხსაცმლის სენსორი, ამატებს უპირატესობას. თუმცა, გამოწვევა იყო არსებული ალგორითმის გამოყენება, რომელიც ემყარება ადამიანთა სიარულის მოდელს, რობოტში ნავიგაციისთვის და მისი მონიტორინგისთვის.

ნაბიჯი 3: მოკლე შემოღება "oblu" - ში

Image
Image
ᲡᲘᲡᲢᲔᲛᲘᲡ ᲐᲦᲬᲔᲠᲐ
ᲡᲘᲡᲢᲔᲛᲘᲡ ᲐᲦᲬᲔᲠᲐ

"ობლუ" არის მინიატურული, დაბალი ღირებულების და ღია რესურსების განვითარების პლატფორმა, რომელიც მიმართულია ტარებადი მოძრაობის საგრძნობი პროგრამებისთვის. ის მუშაობს Li-ion დატენვის ბატარეაზე და იძლევა საბორტო USB ბატარეის დატენვის საშუალებას. მას აქვს ბორტ Bluetooth (BLE 4.1) მოდული უკაბელო კომუნიკაციისთვის. "ობლუ" მასპინძლობს 32 ბიტიანი მცურავი წერტილის მიკროკონტროლერს (ატმელის AT32UC3C), რომელიც საშუალებას გაძლევთ გადაჭრათ რთული ნავიგაციის განტოლებები ბორტზე. ამრიგად, თქვენ უნდა შეასრულოთ ყველა მოძრაობის დამუშავება თავად oblu– ზე და გადასცეს მხოლოდ საბოლოო შედეგი. ეს ხდის oblu– ს ასოცირებულ სისტემასთან ინტეგრაციას ძალიან მარტივად. "oblu" ასევე მასპინძლობს მრავალ IMU (MIMU) მასივს, რომელიც იძლევა სენსორების შერწყმის საშუალებას და აძლიერებს მოძრაობის შეგრძნების მუშაობას. MIMU მიდგომა მატებს უნიკალურობას "oblu".

ობლუს შიდა გამოთვლები ემყარება ადამიანის სიარულს. oblu იძლევა გადაადგილებას ორ თანმიმდევრულ საფეხურსა და სათაურის ცვლილებას შორის. როგორ - როდესაც ფეხი ხვდება მიწასთან, ძირის სიჩქარე ნულის ტოლია, ანუ ძირი გაჩერებულია. ამ გზით oblu ამოიცნობს 'ნაბიჯებს' და ასწორებს ზოგიერთ შიდა შეცდომას. და შეცდომების ეს ხშირი გასწორება იწვევს თვალთვალის დიდ შესრულებას. ასე რომ, აქ არის დაჭერა. რა მოხდება, თუ ჩვენი რობოტიც ერთნაირად დადის - გადაადგილება, გაჩერება, გადაადგილება, გაჩერება.. ფაქტობრივად, oblu შეიძლება გამოყენებულ იქნას ნებისმიერი ობიექტისთვის, რომლის მოძრაობას აქვს რეგულარული ნულოვანი და არა ნულოვანი მომენტები. ამრიგად, ჩვენ წინ წავედით oblu– ით და უმოკლეს დროში ჩვენ ვერ შევკრიბეთ ჩვენი რობოტი და თვალთვალის სისტემა.

ნაბიჯი 4: რა არის "oblu" - ს სარგებლობა?

ჩვენ დროის თითქმის 70% -ს ვატარებთ სახლში. ამრიგად, არსებობს მრავალი პროგრამა, რომელიც მოითხოვს ადამიანებისა და მანქანების შიდა ნავიგაციას. ყველაზე ხშირად გამოყენებული პოზიციონირების გადაწყვეტა არის სატელიტური GPS/GNSS, რომელიც კარგია გარე ნავიგაციისთვის. ის ვერ ხერხდება შიდა ან ურბანულ გარემოში, რომელიც მიუწვდომელია წმინდა ცისათვის. ასეთი პროგრამებია ნაგავსაყრელების ან მძიმე ხეების ქვეშ მდებარე ტერიტორიების გეო-გამოკითხვა, რობოტების შიდა ნავიგაცია, ხანძრის ჩაქრობის სამაშველო აგენტების განთავსება, სამთო უბედური შემთხვევები, ურბანული ომი და ა.

ობლუს წინამორბედი შემოღებულ იქნა როგორც ძალიან კომპაქტური ფეხსაცმლის სენსორი (ან PDR სენსორი) მეხანძრეების პოზიციონირებისათვის, რომელიც მოგვიანებით განახლდა და მოდიფიცირდა როგორც უაღრესად კონფიგურირებადი განვითარების პლატფორმა შემქმნელებისთვის, რომლებიც ეძებენ ადვილად ზუსტ- ხელმისაწვდომი ინერციული ზონდირების გადაწყვეტა როგორც ადამიანების, ასევე რობოტების შიდა ნავიგაციისთვის. ჯერჯერობით, oblu– ს მომხმარებლებმა აჩვენეს მისი გამოყენება ფეხით მოსიარულეთა თვალთვალისთვის, სამრეწველო უსაფრთხოებისა და რესურსების მართვის, ტაქტიკური პოლიციის, GPS– ის არმქონე ტერიტორიის გეო – კვლევის, თვით ნავიგაციის რობოტის, დამხმარე რობოტიკის, თამაშების, AR/VR, მოძრაობის დარღვევების მკურნალობაში, ფიზიკის გაგებაში. მოძრაობა და ა.შ. oblu შესაფერისია სივრცის შეზღუდვის მქონე პროგრამებისთვის, მაგ ტარებადი მოძრაობის შეგრძნება. ის ასევე შეიძლება გამოყენებულ იქნას როგორც უკაბელო IMU, ბორტ Bluetooth– ის წყალობით. მცურავი წერტილის დამუშავების შესაძლებლობის არსებობა, ოთხი IMU მასივთან ერთად, შესაძლებელს ხდის სენსორის შერწყმას და მოძრაობის დამუშავებას თავად მოდულის შიგნით, რაც თავის მხრივ იწვევს მოძრაობის ძალიან ზუსტ შეგრძნებას.

ნაბიჯი 5: პროექტის ისტორია

Image
Image

ამ პროექტის სიუჟეტი ვიდეოშია…

ნაბიჯი 6: სისტემის აღწერა

რობოტი გადადის წინასწარ დაპროგრამებულ გზაზე და გადასცემს (ბლუთუზით) მის მოძრაობის რეალურ ინფორმაციას ტელეფონზე რეალურ დროში თვალთვალისთვის.

Arduino წინასწარ არის დაპროგრამებული ბილიკით და oblu გამოიყენება რობოტის მოძრაობის საგრძნობად. oblu გადასცემს მოძრაობის ინფორმაციას არდუინოს რეგულარული ინტერვალებით. ამის საფუძველზე, არდუინო აკონტროლებს ბორბლების მოძრაობას, რათა რობოტი მიჰყვეს წინასწარ განსაზღვრულ გზას.

რობოტის გზა დაპროგრამებულია როგორც სწორი ხაზის სეგმენტების ნაკრები. თითოეული სეგმენტი განისაზღვრება მისი სიგრძითა და ორიენტაციით წინა ნაწილთან მიმართებაში. რობოტის მოძრაობა დაცულია გონივრულად, ანუ ის მოძრაობს სწორი ხაზით, მაგრამ უფრო მცირე სეგმენტებში (სიმარტივისთვის მოვუწოდებთ "ნაბიჯებს"). ყოველი ნაბიჯის ბოლოს, ობლუ გადასცემს ნაბიჯის სიგრძეს და გადახრის ხარისხს (ორიენტაციის ცვლილება) სწორი ხაზიდან არდუინოში. არდუინო ასწორებს რობოტის განლაგებას ყოველ ნაბიჯზე ასეთი ინფორმაციის მიღებისას, თუ აღმოაჩენს გადახრას წინასწარ განსაზღვრული სწორი ხაზიდან. პროგრამის თანახმად, რობოტი ყოველთვის უნდა მოძრაობდეს სწორი ხაზით. თუმცა, ის შეიძლება გადაუხვიოს სწორ ხაზს და იაროს გარკვეული კუთხით ან გადახრილი ბილიკით არა იდეალურობების გამო, როგორიცაა არათანაბარი ზედაპირი, რობოტების შეკრება მასობრივი დისბალანსი, DC ძრავებში არქიტექტურული ან ელექტრული დისბალანსი ან წინა თავისუფალი საჭის შემთხვევითი ორიენტაცია. გადადგი ერთი ნაბიჯი.. შეასწორე შენი სათაური … წადი წინ. რობოტი ასევე უკან ბრუნდება, თუ ის გადაადგილდება ამ ხაზის სეგმენტის დაპროგრამებულ სიგრძეზე მეტი. შემდეგი ნაბიჯის სიგრძე დამოკიდებულია დანარჩენ მანძილზე, რომელიც უნდა დაიფაროს ამ სწორი ხაზის სეგმენტში. რობოტი დიდ ნაბიჯებს დგამს, როდესაც გასავლელი მანძილი უფრო დიდია და უფრო მცირე ნაბიჯებს დგამს დანიშნულების ადგილთან ახლოს (ანუ ყოველი სწორი ხაზის ბოლომდე). oblu გადასცემს მონაცემებს Arduino– ს და ტელეფონს (bluetooth– ით) ერთდროულად. Xoblu (Android აპლიკაცია) ასრულებს რამდენიმე მარტივ გამოთვლას რობის შესაქმნელად რობოტიდან მიღებული მოძრაობის ინფორმაციის საფუძველზე, რომელიც გამოიყენება ტელეფონზე რეალურ დროში თვალთვალისთვის. (Xoblu– ს გამოყენებით გზის მშენებლობა ილუსტრირებულია მეორე სურათზე).

მოკლედ რომ ვთქვათ, ობლუ გრძნობს მოძრაობას და მოძრაობის ინფორმაციას არდუინოს და ტელეფონს რეგულარულად აწვდის. პროგრამირებული ბილიკისა და მოძრაობის ინფორმაციის საფუძველზე (გაგზავნილი oblu), არდუინო აკონტროლებს ბორბლების მოძრაობას. რობოტის მოძრაობა არ არის დისტანციურად კონტროლირებადი გარდა დაწყების/გაჩერების ბრძანებებისა.

Oblu firmware– ისთვის ეწვიეთ

რობოტის Aurduino კოდისთვის ეწვიეთ

ნაბიჯი 7: გზების მოდელირება

გზის მოდელირება
გზის მოდელირება
გზის მოდელირება
გზის მოდელირება

რობოტი საუკეთესოდ კონტროლდება, თუ ის დადის მხოლოდ სწორი ხაზის სეგმენტებში. აქედან გამომდინარე, გზა უნდა იყოს მოდელირებული, როგორც სწორი ხაზების სეგმენტები. სურათები შეიცავს რამდენიმე მაგალითის ბილიკს და მათ წარმოდგენას გადაადგილებისა და ორიენტაციის თვალსაზრისით. ასე დაპროგრამებულია გზა არდუინოში.

ანალოგიურად ნებისმიერი გზა, რომელიც წარმოადგენს სწორი ხაზების სეგმენტებს, შეიძლება განისაზღვროს და დაპროგრამდეს არდუინოში.

ნაბიჯი 8: წრის შეკრება

წრეწირის შეკრება
წრეწირის შეკრება

უმაღლესი დონის სისტემის ინტეგრაციის დიაგრამა. Arduino და oblu არის აპარატურის შეკრების ნაწილი. UART გამოიყენება Arduino– სა და oblu– ს შორის კომუნიკაციისთვის. (გთხოვთ გაითვალისწინოთ კავშირი Rx/Tx კავშირი.) მონაცემთა ნაკადის მიმართულება მხოლოდ მითითებისთვისაა. აპარატურის მთელი ასამბლეა კომუნიკაციას უწევს სმარტფონს (Xoblu) bluetooth- ის გამოყენებით.

ნაბიჯი 9: წრედის დიაგრამა

ᲬᲠᲘᲣᲚᲘ ᲓᲘᲐᲒᲠᲐᲛᲐ
ᲬᲠᲘᲣᲚᲘ ᲓᲘᲐᲒᲠᲐᲛᲐ

დეტალური ელექტრული კავშირები Arduino– ს, oblu– ს, ძრავის მძღოლს და ბატარეის პაკეტს შორის.

ნაბიჯი 10: კომუნიკაციის პროტოკოლი:

ქვემოთ მოცემულია, თუ როგორ ხდება მონაცემთა კომუნიკაცია რობოტსა და სმარტფონზე დამონტაჟებულ oblu სენსორს შორის, ანუ Xoblu:

ნაბიჯი 1: Xoblu აგზავნის დაწყების ბრძანებას oblu ნაბიჯი 2: oblu აღიარებს ბრძანების მიღებას შესაბამისი ACK გაგზავნით Xoblu ნაბიჯი 3: oblu აგზავნის DATA პაკეტს, რომელიც შეიცავს გადაადგილებისა და ორიენტაციის ინფრომაციას თითოეული ნაბიჯისათვის, ყოველ ნაბიჯზე, Xoblu. (ნაბიჯი = ყოველთვის, როდესაც აღმოაჩენს ნულოვან მოძრაობას ან დგება გამოვლენილი). ნაბიჯი 4: Xoblu აღიარებს DATA ბოლო პაკეტის მიღებას შესაბამისი ACK გაგზავნით oblu– ში. (ნაბიჯების ციკლი 3 და 4 მეორდება მანამ, სანამ Xoblu არ აგზავნის STOP. STOP ბრძანების მიღებისას, oblu ასრულებს ნაბიჯ 5) ნაბიჯი 5: STOP - (i) შეაჩერე დამუშავება oblu- ში (ii) შეაჩერე ყველა შედეგი oblu გთხოვთ მიმართოთ oblu– ს განაცხადის შენიშვნას START, ACK, DATA და STOP დეტალები

ნაბიჯი 11: როგორ მუშაობს "oblu" IMU (სურვილისამებრ):

წარმოგიდგენთ რამდენიმე ცნობას oblu- ს მიმოხილვაზე და ძირითად პრინციპზე, რომელიც დაფუძნებულია PDR სენსორებზე:

Oblu– ს არსებული კოდის სამიზნეა ფეხით დამონტაჟებული ნავიგაცია. და ის საუკეთესოდ არის ოპტიმიზირებული ამ მიზნით. ქვემოთ მოყვანილი ვიდეო მოიცავს მის ძირითად პრინციპს:

აქ არის რამოდენიმე მარტივი სტატია ფეხზე დამონტაჟებული PDR სენსორებისთვის: 1. თვალყური ადევნეთ ჩემს ნაბიჯებს

2. გააგრძელე ჩემი ნაბიჯების თვალყურის დევნება

თქვენ შეგიძლიათ მიმართოთ ამ დოკუმენტს ფეხით მოსიარულეთა გარდაცვალების დეტალების შესახებ ფეხის სენსორების გამოყენებით.

ნაბიჯი 12: ეწვიეთ "oblu.io" (სურვილისამებრ)

Image
Image

უყურეთ ვიდეოს "oblu" - ს შესაძლო პროგრამებისთვის:

---------------- გთხოვთ გაუზიაროთ თქვენი გამოხმაურება, წინადადებები და დატოვეთ კომენტარები. საუკეთესო სურვილები!

ნაბიჯი 13: კომპონენტები

1 oblu (ღია წყაროების IMU განვითარების პლატფორმა)

1 სმარტ მოტორი რობოტი მანქანის ბატარეის ყუთი შასის ნაკრები წვრილმანი სიჩქარის კოდირება Arduino– სთვის

1 Solderless Breadboard Half ზომა

1 მამაკაცი/ქალი მხტუნავი მავთული

2 კონდენსატორი 1000 µF

1 Texas Instruments Dual H-Bridge ძრავის მძღოლი L293D

1 Arduino Mega 2560 & Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH დატენვის

გირჩევთ: