İçindekiler:

EyeRobot - Robotik Beyaz Baston: 10 Adım (Resimlerle)
EyeRobot - Robotik Beyaz Baston: 10 Adım (Resimlerle)

Video: EyeRobot - Robotik Beyaz Baston: 10 Adım (Resimlerle)

Video: EyeRobot - Robotik Beyaz Baston: 10 Adım (Resimlerle)
Video: CEVAP 1871 & FANTASTİK SESLİ KİTAP & MUHTEŞEM BİR HİKAYE 2024, Temmuz
Anonim
EyeRobot - Robotik Beyaz Baston
EyeRobot - Robotik Beyaz Baston

Özet:iRobot Roomba Create'i kullanarak eyeRobot adlı bir cihazın prototipini yaptım. Roomba'yı temel alarak geleneksel beyaz bastonun sadeliği ile gören bir köpeğin içgüdülerini bir araya getirerek, görme engelli ve görme engelli kullanıcılara darmadağınık ve kalabalık ortamlarda rehberlik edecek. Kullanıcı, sezgisel olarak kolu iterek ve çevirerek istediği hareketi gösterir. Robot bu bilgiyi alır ve kullanıcıyı statik ve dinamik engellerin etrafında uygun bir yöne yönlendirmek için sonar kullanarak koridorda veya bir odada net bir yol bulur. Kullanıcı daha sonra, tutamağında hissedilen gözle görülür kuvvetle kullanıcıyı istenen yöne yönlendirirken robotun arkasından takip eder. Bu robotik seçenek çok az eğitim gerektirir: Gitmek için itin, durdurmak için çekin, döndürmek için çevirin. Mesafe ölçerlerin sağladığı öngörü, gören bir göz köpeğine benzer ve beyaz bastonun kullanımına işaret eden sürekli deneme yanılma yöntemine göre önemli bir avantajdır. Yine de eyeRobot, 12.000 dolardan fazlaya mal olan ve sadece 5 yıl için kullanışlı olan rehber köpeklerden çok daha ucuz bir alternatif sunarken, prototip 400 doların altında bir fiyata üretildi. Aynı zamanda, birkaç ucuz sensör, çeşitli potansiyometreler, bazı donanımlar ve elbette bir Roomba Create gerektiren nispeten basit bir makinedir.

1. Adım: Video Gösterimi

Video Gösterimi
Video Gösterimi

Yüksek Kaliteli Sürüm

2. Adım: Operasyona Genel Bakış

Operasyona Genel Bakış
Operasyona Genel Bakış

Kullanıcı Kontrolü: eyeRobot'un çalışması, eğitimi büyük ölçüde azaltmak veya ortadan kaldırmak için mümkün olduğunca sezgisel olacak şekilde tasarlanmıştır. Harekete başlamak için kullanıcının ileriye doğru yürümeye başlaması yeterlidir, çubuğun tabanındaki doğrusal bir sensör bu hareketi algılayacak ve robotu ileri doğru hareket ettirmeye başlayacaktır. Bu lineer sensörü kullanarak robot, hızını kullanıcının istediği hıza uydurabilir. eyeRobot, kullanıcının gitmek istediği kadar hızlı hareket eder. Bir dönüşün istendiğini belirtmek için kullanıcının kolu çevirmesi yeterlidir ve eğer bir dönüş mümkünse robot buna göre yanıt verecektir.

Robot Navigasyonu: Açık alanda seyahat ederken, eyeRobot, kullanıcıyı engelleyebilecek herhangi bir engeli algılayarak ve kullanıcıyı bu nesnenin etrafında ve orijinal yola geri yönlendirerek düz bir yol tutmaya çalışacaktır. Pratikte kullanıcı, bilinçli bir düşünceyle robotun arkasından doğal olarak takip edebilir. Bir koridorda gezinmek için kullanıcı, robotu her iki taraftaki duvarlardan birine itmeye çalışmalıdır, bir duvar elde ettikten sonra robot onu takip etmeye başlar, rehberlik eder. kullanıcı koridorda. Bir kavşağa ulaşıldığında, kullanıcı robotun dönmeye başladığını hissedecek ve kolu çevirerek yeni dalı geri çevirmeyi veya düz bir yolda devam etmeyi seçebilir. Bu şekilde robot beyaz bastona çok benzer, kullanıcı robotla çevreyi hissedebilir ve bu bilgiyi küresel navigasyon için kullanabilir.

Adım 3: Menzil Sensörleri

Menzil Sensörleri
Menzil Sensörleri

Ultrasonik: EyeRobot, 4 Ultrasonik telemetre (MaxSonar EZ1) taşır. Ultrasonik sensörler, robotun önündeki ve yanlarındaki nesneler hakkında bilgi sağlamak için robotun önünde bir yay şeklinde konumlandırılmıştır. Robotu nesnenin menzili hakkında bilgilendirir ve o nesnenin etrafında açık bir rota bulmasına ve orijinal yoluna geri dönmesine yardımcı olurlar.

IR Telemetreler: EyeRobot ayrıca iki IR sensörü (GP2Y0A02YK) taşır. IR telemetreler, robota duvar takibinde yardımcı olmak için 90 derece sağa ve sola bakacak şekilde konumlandırılmıştır. Ayrıca robotu, kullanıcının içine girebileceği kenarlarına çok yakın nesneler konusunda uyarabilirler.

Adım 4: Baston Konum Sensörleri

Baston Konum Sensörleri
Baston Konum Sensörleri

Lineer Sensör: eyeRobot'un hızının kullanıcının hızına uyması için eyeRobot, kullanıcının ileri hareketini ittiğini veya geciktirdiğini algılar. Bu, bir potansiyometre bastonun konumunu algılarken, bastonun tabanını bir yol boyunca kaydırarak elde edilir. EyeRobot, robotun hızını düzenlemek için bu girişi kullanır. EyeRobot'un lineer bir sensör aracılığıyla kullanıcının hızına uyum sağlama fikri, aslında aile çim biçme makinesinden esinlenmiştir. Bastonun tabanı, bir ray boyunca hareket eden bir kılavuz bloğa bağlıdır. Kılavuz bloğa, kılavuz bloğun konumunu okuyan ve bunu işlemciye bildiren bir kayar potansiyometre iliştirilmiştir. Çubuğun robota göre dönmesine izin vermek için, bir tahta bloktan geçen ve dönen bir yatak oluşturan bir çubuk vardır. Bu yatak daha sonra çubuğun kullanıcının boyuna göre ayarlanmasını sağlamak için bir menteşeye bağlanır.

Büküm Sensörü: Büküm sensörü, kullanıcının robotu döndürmek için kolu döndürmesini sağlar. Bir ahşap milin ucuna bir potansiyometre takılır ve topuz, sapın üst kısmına takılır ve yapıştırılır. Teller dübelden aşağı iner ve büküm bilgisini işlemciye besler.

Adım 5: İşlemci

İşlemci
İşlemci

İşlemci: Robot, Robodyssey Advanced Anakart II üzerinde oturan bir Zbasic ZX-24a tarafından kontrol edilir. İşlemci hızı, kullanım kolaylığı, uygun maliyeti ve 8 Analog girişi nedeniyle seçildi. Hızlı ve kolay değişikliklere izin vermek için büyük bir prototip oluşturma devre tahtasına bağlanır. Robotun tüm gücü anakart üzerindeki güç kaynağından gelir. Zbasic, roomba ile kargo bölmesi portu üzerinden iletişim kurar ve Roomba'nın sensörleri ve motorları üzerinde tam kontrole sahiptir.

6. Adım: Kod Genel Bakış

Kod Genel Bakış
Kod Genel Bakış

Engelden kaçınma: Engelden kaçınmak için eyeRobot, robotun yakınındaki nesnelerin robotu nesneden uzaklaştırarak robot üzerinde sanal bir kuvvet uyguladığı bir yöntem kullanır. Başka bir deyişle, nesneler robotu kendilerinden uzaklaştırır. Uygulamamda, bir nesne tarafından uygulanan sanal kuvvet, uzaklığın karesiyle ters orantılıdır, bu nedenle nesne yaklaştıkça itmenin gücü artar ve doğrusal olmayan bir yanıt eğrisi oluşturur:PushForce = ResponseMagnitudeConstant/Distance2Her sensörden gelen itmeler toplanır; sol taraftaki sensörler, robotun hareketi için bir vektör elde etmek için sağa ve tersi yönde iter. Tekerlek hızları daha sonra değiştirilir, böylece robot bu vektöre döner. Robotun önünde ölü olan nesnelerin "yanıt yok" (her iki taraftaki kuvvetler dengelendiği için) göstermemesini sağlamak için, ölü cephedeki nesneler robotu daha açık tarafa doğru iter. Robot nesneyi geçtiğinde, değişikliği düzeltmek ve orijinal vektöre geri dönmek için Roomba'nın kodlayıcılarını kullanır.

Duvar Takip: Duvar takip prensibi, duvara istenilen mesafeyi ve paralel açıyı korumaktır. Robot duvara göre döndürüldüğünde sorunlar ortaya çıkar çünkü tek sensör işe yaramaz menzil okumaları verir. Menzil okumaları, duvara olan gerçek mesafe kadar robotun duvara açısı tarafından da etkilenir. Açıyı belirlemek ve böylece bu değişkeni ortadan kaldırmak için robotun, robot açısını elde etmek için karşılaştırılabilecek iki referans noktasına sahip olması gerekir. EyeRobot'un yalnızca bir tarafı IR telemetreye sahip olduğundan, bu iki noktayı elde etmek için robot hareket ettikçe telemetreden olan mesafeyi zaman içinde karşılaştırması gerekir. Ardından, robot duvar boyunca hareket ederken iki okuma arasındaki farktan açısını belirler. Daha sonra bu bilgiyi yanlış konumlandırmayı düzeltmek için kullanır. Robot, belirli bir süre boyunca yanında bir duvar olduğunda, duvarı takip moduna girer ve yolunda, robotu rotasından çıkaran bir engel olduğunda veya kullanıcı döndürmek için kolu kullanırsa, robottan çıkar. robotu duvardan uzaklaştırın.

Adım 7: Parça Listesi

Parça listesi
Parça listesi

Gerekli Parçalar:1x) Roomba create1x) Büyük akrilik levha2x) Sharp GP2Y0A02YK IR telemetre4x) Maxsonar EZ1 ultrasonik telemetre1x) ZX-24a mikroişlemci1x) Robodyssey Advanced Anakart II1x) Kaydırmalı potansiyometre1x) Tek dönüşlü potansiyometre1x) Doğrusal yataklı devre tahtası1x))) Menteşeler, dübeller, vidalar, somunlar, braketler ve teller

Adım 8: Motivasyon ve İyileştirme

Motivasyon ve İyileştirme
Motivasyon ve İyileştirme

Motivasyon: Bu robot, yetenekli ama pahalı rehber köpek ile ucuz ama sınırlı beyaz baston arasındaki bariz boşluğu doldurmak için tasarlandı. Pazarlanabilir ve daha yetenekli bir Robotik Beyaz Bastonun geliştirilmesinde Roomba Create, konseptin işe yarayıp yaramadığını görmek için hızlı bir prototip tasarlamak için mükemmel bir araçtı. Ayrıca ödüller, daha yetenekli bir robot inşa etmenin önemli masrafı için ekonomik destek sağlayacaktır.

İyileştirme:Bu robotu yapmayı öğrendiğim miktar önemliydi ve burada ikinci nesil bir robot yapmaya çalışırken öğrendiklerimi ortaya koymaya çalışacağım:1) Engelden Kaçınma - Gerçek zamanlı engeller hakkında çok şey öğrendim kaçınma. Bu robotu inşa etme sürecinde, orijinal nesne kuvveti fikrinden başlayarak, ardından en açık vektörü bulma ve arama ilkesine geçerek ve daha sonra, nesne yanıtının doğrusal olmaması gerektiğinin anlaşılması. Gelecekte, projeme başlamadan önce daha önce kullandığım yöntemlerle ilgili herhangi bir çevrimiçi araştırma yapmama hatamı düzelteceğim, çünkü şimdi hızlı bir Google aramasının konuyla ilgili çok sayıda harika makale vereceğini öğreniyorum.2) Çubuğun tasarımı sensörler - Bu projeye başlarken, bir lineer sensör için tek seçeneğimin bir sürgülü kap ve bir çeşit lineer yatak kullanmak olduğunu düşündüm. Şimdi çok daha basit bir seçeneğin çubuğun üst kısmını bir joystick'e takmak olduğunu anlıyorum, öyle ki çubuğu ileri itmek aynı zamanda joystick'i de ileri itecek. Ek olarak, basit bir evrensel mafsal, çubuğun bükülmesinin birçok modern joystick'in bükülme eksenine çevrilmesine olanak tanır. Bu uygulama, şu anda kullandığımdan çok daha basit olurdu.3) Serbest dönüş tekerlekleri - Roomba ile bu imkansız olsa da, artık serbest dönen tekerleklere sahip bir robotun bu görev için ideal olacağı açıkça görülüyor. Pasif olarak dönen bir robot, motora ve daha küçük bir pile ihtiyaç duymaz ve böylece daha hafif olur. Ek olarak, bu sistem, kullanıcıların ittiğini algılamak için doğrusal bir sensör gerektirmez, robot basitçe kullanıcı hızında döner. Robot, bir araba gibi tekerlekleri yönlendirerek döndürülebilir ve kullanıcının durdurulması gerekirse frenler eklenebilir. Yeni nesil eyeRobot için kesinlikle bu çok farklı yaklaşımı kullanacağım.4) Duvar takibi için iki aralıklı sensör - Daha önce tartışıldığı gibi, sadece bir tarafa bakan sensörle duvar takibi yapmaya çalışırken sorunlar ortaya çıktı, bu nedenle robotu okumalar arasında hareket ettirmek gerekiyordu. farklı referans noktalarına ulaşmak için. Aralarında mesafe olan iki sensör, duvar takibini büyük ölçüde basitleştirir.5) Daha fazla sensör - Bu daha fazla paraya mal olsa da, bu robotu işlemcinin dışındaki dünyada bu kadar az pencere ile kodlamaya çalışmak zordu. Navigasyon kodunu daha eksiksiz bir sonar dizisi ile çok daha güçlü hale getirebilirdi (ancak elbette sensörler o zaman sahip olmadığım paraya mal oldu).

9. Adım: Sonuç

Çözüm
Çözüm

Sonuç: iRobot, Robotik Beyaz Baston konseptiyle deney yapmak için ideal bir prototip oluşturma platformu olduğunu kanıtladı. Bu prototipin sonuçlarından, bu tip bir robotun gerçekten uygulanabilir olduğu açıktır. Roomba Create'i kullanırken öğrendiğim derslerden ikinci nesil bir robot geliştirmeyi umuyorum. EyeRobot'un gelecekteki versiyonlarında, bir insanı koridorda yönlendirmekten daha fazlasını yapabilen bir cihaz hayal ediyorum, bunun yerine günlük hayatta kullanılmak üzere körlerin eline verilebilecek bir robot. Bu robotla, kullanıcı sadece gideceği yeri söyler ve robot, kullanıcının bilinçli bir çabası olmadan onları oraya yönlendirir. Bu robot, merdivenlerden kolayca taşınabilecek ve bir dolaba saklanabilecek kadar hafif ve kompakt olacaktır. Bu robot, yerele ek olarak küresel navigasyon da yapabilecek, kullanıcıyı önceden bilgi veya deneyim olmadan başlangıçtan varış noktasına kadar yönlendirebilecek. Bu yetenek, GPS ve körlerin dünyayı özgürce dolaşmasına izin veren daha gelişmiş sensörler ile rehber köpeğin bile ötesine geçecek, Nathaniel Barshay, (Stephen Barshay tarafından girildi)(Roomba Create için Jack Hitt'e özel teşekkürler)

Adım 10: Yapım ve Kodlama

İnşaat ve Kod
İnşaat ve Kod

İnşaat üzerine birkaç yabancı kelime: Elektronik erişime izin vermek için arkada bir açıklığı olan bir daire şeklinde kesilmiş bir akrilik parçasından yapılmış güverte ve daha sonra kargo bölmesinin yanındaki montaj deliklerine vidalanıyor. Prototipleme panosu, bölmenin altındaki vida deliğine vidalanır. Zbasic, güverte ile aynı vidalara sahip bir L braket ile monte edilir. Her bir sonar, güverteye bağlı bir L braketine bağlanan bir akrilik parçasına vidalanır (L braketleri daha iyi bir görünüm sağlamak için 10 derece geriye eğilir). Lineer sensörün rayı doğrudan güverteye vidalanır ve sürgü kabı, yanına L braketlerle monte edilir. Lineer sensör ve kontrol çubuğunun yapısının daha teknik bir açıklaması 4. adımda bulunabilir.

Kod: Robots kodunun tam sürümünü ekledim. Bir saat boyunca, dosyadaki üç veya dört nesil kodu temizlemeye çalıştım, şimdi takip etmesi yeterince kolay olmalı. ZBasic IDE'ye sahipseniz, main.bas dosyasıyla başlayan ve diğer.bas dosyalarına giden bir not defteri kullanmıyorsanız, görüntülemesi kolay olmalıdır.

Önerilen: