ROS bir Ahududu Pi ile koşabilir mi?


28

Can ROS bir Ahududu Pi üzerinde çalışır?

ROS, farklı makinelerle bir makine ağında, aynı makine üzerinde farklı işler yapan farklı çekirdeklerde bile çalışmak üzere istifa etti. Bu makinelerden biri bir Ahududu Pi olabilir mi?

Bir mobil robotta EtherCAT master olarak bir R-Pi kullanmayı , ana bilgisayarla WiFi üzerinden iletişim kurarak, bir dongle kullanmayı düşünüyorum.

  • Bir R-Pi bile ROS çalıştırabilir mi?
  • Bir R-Pi 1kHz servo yapmak için yeterli işlem gücüne sahip midir?
  • WiFi bağlantısı üzerinden sunucuda bir miktar servo çalıştırmak mümkün olabilir mi?

Yanıtlar:


16

Resmi RaspberryPi işletim sistemi Debian'ın bir versiyonudur, fakat aynı zamanda web sitelerinde de bir ArchLinux versiyonu var .

ROS'un çapraz platform olma iddiasına rağmen, şu anda yalnızca resmi olarak Ubuntu'yu destekliyorlar. Bununla birlikte, aşağıdaki işletim sistemlerinde, ros.org’a göre deneysel kurulumlar yapılmıştır :

  • OS X (Homebrew)
  • fötr şapka
  • Gentoo
  • OpenSUSE
  • Debian
  • Arch Linux
  • , Windows

İlk elden deneyimim olmamasına rağmen (iki Pis'im utanç verici bir şekilde köşede oturuyor), ros.org hızlı ve kirli bir kurulum rehberine sahip .

Answer.ros.org'da benzer talimatlar var .

Herhangi bir sorunla karşılaşırsanız, RaspberryPi forumları da yardımcı olabilir. Ve elbette, SE'ler kendi PI.SE'lerine sahipler (Hatırlatmalar için @Jivings ve @ppumkin sayesinde).

Aksi takdirde, sadece "ros ahududu pi" google ve çok daha fazla bilgi bulmalısınız.


IMO, Debian, Ahududu Pi için daha iyi bir seçimdir. Linux Çekirdeğinin diğer lezzetlerine karşı, toplum açısından daha kolay ve daha iyi destek bulacağınıza inanıyorum.
DogEatDog

3
@DogEatDog Katılmıyorum, Arch da çok iyi destekleniyor. Ayrıca, burada utanmaz fiş; Bu sorunun herhangi bir Raspberry Pi sorunu, Raspberry Pi'de ve resmi forumlarda minnetle karşılanacaktır .
Jivings

@Jivings RaspberryPi.SE'yi kontrol etmeyi unuttuğuma inanamıyorum ... ROS için hızlı bir arama şu ana kadar herhangi bir sonuç
atmadı

@ThomasH - Cevabınıza PI.SE'ye gelmek için bir link ekleyebileceğinizi düşünüyor musunuz? Cevaplar var ve muhtemelen bazı çözümler var. Cevaplarınızı doğru olduğu gibi düzenlemek istemiyorum.
Piotr Kula

ROS BSD altında çalıştığı için - FreeBSD'nin en yeni sürümüne kadar desteklenmiyor - Elbette ve ROS kaynağı da en yeni BSD kodunda çalışmak zorunda kalacak. Her şey sabit disk ile yapılacak ve BroadCom tarafından yapılan belirli ARM için bazı sürücü güncellemeleri yapacak (PS - BCM'nin video sürücüsü açık kaynak kodlu olacak, bu nedenle gelecekte daha fazla destek sağlanmalı)
Piotr Kula

6

Robotik, tüm bağımlılıklarınızın çalıştığı gibi yeterince zor. İhtiyacınız olan son şey, uyumsuz bileşenlerden veya desteklenmeyen kombinasyonlardan kaynaklanan ek problemlerdir.

Buna biraz baktım ve işte benim ilerlemem:

Raspberry Pi, Ubuntu'yu desteklemiyor, çünkü ARM CPU daha eski bir komut seti kullanıyor (ARM v6? Sanırım?) Ve Ubuntu ekibi bunun gibi bir destek verdi.

Beaglebone Ahududu Pi'ye birçok yönden benzer ve Ubuntu'yu çalıştıracak yeni bir talimat setine sahip. Bununla birlikte, 'en iyi' Ubuntu ARM dağıtımı Linaro projesinden çıkıyor ve Beaglebone desteğini bir kaç revizyona geri bıraktılar (en son Linaro 12.03 idi) çünkü daha eski bir TI OMAP 3 işlemci kullanıyor (hızlı akıllı telefonun harika dünyasına hoş geldiniz!) ilerleme).

Bir sonraki adım, şu anda desteklenen daha yeni OMAP 4 işlemciyi kullanan TI Pandaboard'a bakmaktı, ancak 200 $ 'a yakın bir maliyette.

Ama şimdi Ubuntu Nexus 7 için resmen yayınlandı. 200 Dolar, Nexus 7 size Ahududu Pi'nin sunduğu her şeyi ve daha fazlasını sunar. Ahududu Pi ile bile, bir kez şarj cihazına, wifi adaptörüne, depolama kartına ve kablolara 35 dolardan 100 dolara yaklaştığınızı, bu yüzden Nexus 7'nin çok daha iyi bir anlaşma olduğunu unutmayın.

Son olarak, gerçek zamanlı olmayan bir işletim sisteminden 1 khz sinyal çıkarmayı denemeyin. Kendinize PJRC Teensy (Arduino klonu) gibi ucuz bir mikrodenetleyici takın ve sizin için basit gerçek zamanlı işleri yapmasına izin verin. Bu şekilde ucuz CPU'yu zamana duyarlı bu basit görevlere adamazsınız. Birden fazla zamanlayıcıyı destekleyen 16 MHz'de, küçük bir AVR MCU, sorun çıkmadan yarım düzine görevi yapabilir.


1
Robotunuzu Ubuntu ile bir Nexus 7'de çalıştırmak harika bir fikir! Şans eseri, nexusu bu şekilde kullanan herhangi bir robotik projesi biliyor musunuz?
bit korsan

5

Bu soru ThomasH tarafından iyi cevaplandı , ancak ek olarak sadece quadcopter'i bir dizüstü bilgisayara bağlamak için kablosuz bağlantı imkanı önermek istiyorum . Yani, sadece quadcopter için hoş ve hızlı bir kablosuz (wifi?, Bluetooth?) İletişim protokolü yazın, ardından bir dizüstü bilgisayarda ağır CPU işlemlerini yapın, talimatları ve sensör sorgularını R-PI'ya iletin. Birçok uygulamayı denedik ve tüm küçük robotlarımız için benzer bir kurulum yaptık. Ayrıca hemen hemen her çene düşürücü quadcopter uygulaması bu şekilde kurulur. Hayatı kolaylaştırır ve büyük harç kitaplıklarını hızdan ödün vermeden kullanmanıza izin verir.

Dürüst olalım ki, bu quadcopter muhtemelen dizüstü bilgisayarınızın kablosuz menzilinin dışına çıkmayacak.


Açıkçası, burada "ağır CPU" deyince, SLAM veya bilgisayarla görü gibi çok sayıda çırpma içeren üst düzey kontroller kastedilir. Düşük seviyeli uçuş kontrolü gerçek zamanlı olarak ve kablosuz bağlantı üzerinden mümkün olmayacak kadar yüksek frekanslarda yapılmalıdır.
yoos

Uçuş kontrolünün, servo çıkışlarında olduğu gibi, yerleşik elektronikler tarafından üretilmesi gerekecektir, evet. Ancak uçuş komutları, istenen rotor hızları ve benzeri gibi , bağlı bir bilgisayar tarafından üretilebilir (bunun için bluetooth muhteşemdir), ancak bunları R-Pi'de çalıştırabilmeniz için hiçbir sebep yoktur. Durum buysa, o zaman evet, "ağır CPU işleri", üst düzey planlama, çoklu araç koordinasyonu, SLAM, CV, vb.
Anlamına gelir


4

Raspbian (wheezy) için ROS Groovy paketleri ile henüz deneysel bir havuz oluşturuldu, kullanım talimatları burada bulunabilir:

http://www.ros.org/wiki/groovy/Installation/Raspbian

Depo 350'den fazla pakete sahiptir ve çekirdek ROS paketleri, yeni bir Raspbian kurulumunda birkaç dakika içinde kurulabilir.


2

Donanım projesini kontrol ederdim . Temel olarak, seri üzerinden bilgisayardaki bir ROS düğümüne iletişim kurmak için Arduino için bazı kodlar üretir. Eminim onu ​​Ahududu Pi'ye dönüştürebilirsin, böylece Pi ile ana bilgisayar arasında iletişim kurmak için başka bir protokol de kullanabilirsin.


2

Evet. Emin. Bu kadar uzun zamandır yapıyoruz.
ROS bir "işletim sistemi" değildir ve büyük değildir. Bu sadece "raspbian" da iyi çalışan "ara katman yazılımı" dır.
Sadece resmi raspiyle yakarız (bu yüzden bizi "istikrarlı" bir ortamda çalışmamızı sağlar ve ROS'u kaynakla derleriz). İşte adım adım bağlantı (Kinetik için):
http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi
ros_comm veya masaüstünü deneyebilirsiniz.
Ros_comm'u denedim ve daha sonra başka paketler de ekledim.


1
Neden Ubuntu Mate kullanıyor ve ROS'u paketlerden yüklemiyorsun?
FooTheBar

çünkü Ubuntu Mate ahudududaki ARM çipinde yavaş çalışıyor, hem Pi2 hem de Pi3. Raspbian lite debian ve ARM çipinde gerçekten iyi çalışıyor. @FooBar
Nick Qian

Bunun için herhangi bir kaynak var mı? Herhangi bir hız problemi yaşamadım.
FooTheBar

Ahududu seçtikten sonra daha fazla denemedim. belki şimdi ahududu için Ubuntu Mate dist kullanmak daha iyi ve sorunsuzdur. Tekrar denemeye ilgi duyuyorum çünkü ubuntu'da yazılım yönetimi iyi. Peki ya GPIO? belki ubuntu yeni bersion'un da gpio desteği var, bilmiyorum ....
Nick Qian

1
Peki neden denemediyseniz yavaş olduğunu söylüyorsunuz?
FooTheBar

1

ROSpberry Pi adlı bir proje var kontrol edebilirsiniz. Ve Pasadena'da Acrobotic adlı bir şirket şimdi önceden kurulmuş olan ROSpberry'nin SD görüntülerini satıyor.


1

Diğer (oldukça eski) cevaplarda söylenenlerin aksine, ROS'u Raspbian veya Ubuntu'da Raspberry Pi 2 Model B ile çalıştırmayı başarıyla denedim .

Bir süre sonra tekrar Ubuntu ile bağlantı kuracağım: Raspberry kamera modülüne Ubuntu ile erişemedim, ancak üstün paket yönetimi ve ROS ile uyumluluğu konusunda büyük avantajlar görüyorum. Yeni bir ROS özelliğine mi ihtiyacınız var? Sadece sudo aptitude installpaket ve hepiniz hazırsınız.


0

Bir işletim sistemi olarak Ubuntu Mate kullanarak ROS'u bir Raspi'ye kurma deneyimim var . Esasen normal bir ubuntu işletim sistemidir, ancak bir kol cihazındadır. ROS'u önceden oluşturulmuş ikili dosyalar aracılığıyla kurabilir. Normal bir Ubuntu dizüstü bilgisayardan daha fazla yapılandırma gerektirmez. Pi'nin resmi olarak desteklenmeyen bir versiyonunun olduğunu biliyorum (sanırım 3B +, kurulumdan bu yana çok zaman geçti), ancak birileri googled yaptığım bir forum gönderisinde bu sorunu nasıl çözebileceğini buldu.


forum gönderisine bağlantı?
drerD

Ubuntu dostunu indirebilmeniz için zaten web sitesine bağladım. Kelimenin tam anlamıyla ROS yüklemek için normal bir ubuntu makinesi kadar basittir. Neden bir forum mesajı bağlantısına ihtiyacınız olduğunu bilmiyorum ... Özel depolar üzerine bir okul projesi içindi (yani, ROS kaynak kodu halka açık değil), ancak Ubuntu arkadaşı herkese açık. İşte başka, daha spesifik bir link .
thatrobotguy


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.