=====Thèse de master d'Aaron Montoya===== https://bvdp.inetdoc.net/files/Aaron_Thesis.pdf =====Swiss Ranger 3000 ===== http://www.mesa-imaging.ch/ driver: http://www.mesa-imaging.ch/drivers.php === installation du driver=== dpkg -i libmesasr-dev-1.0.12-583.i386.deb sudo dpkg -i libmesasr-dev-1.0.12-583.i386.deb tentative d'installation du driver sur mon linux: sudo dpkg -i libmesasr-dev-1.0.12-583.i386.deb [sudo] password for bvdp: Sorry, try again. [sudo] password for bvdp: Sélection du paquet libmesasr-dev précédemment désélectionné. (Lecture de la base de données... 170348 fichiers et répertoires déjà installés.) Dépaquetage de libmesasr-dev (à partir de libmesasr-dev-1.0.12-583.i386.deb) ... dpkg : des problèmes de dépendances empêchent la configuration de libmesasr-dev : libmesasr-dev dépend de libusb-0.1-4 (= 2:0.1.12-13) ; cependant : La version de libusb-0.1-4 sur le système est 2:0.1.12-8. dpkg : erreur de traitement de libmesasr-dev (--install) : problèmes de dépendances - laissé non configuré Des erreurs ont été rencontrées pendant l'exécution : libmesasr-dev === description module genom === https://intranet.laas.fr/intranet/robots/wiki/OpenRobots/ModulesGuide/SrangerModule?highlight=%283000%29 === installation du soft openrobots=== echo $CVSROOT export CVSROOT=bvandepo@cvs.laas.fr:/cvs/openrobots mkdir et cd cvs checkout modules/sranger === exemples d'images === {{image1.png?200*50}} {{image2.png?200*50}} {{image3.png?200*50}} {{image4.png?200*50}} ===infos=== mesure distance : 4 mesures d'amplitude à 20Mhz*4 pour une lumiere emise à 20Mhz -> déduit phase et amplitude probleme pour les objets bougeant rapidement il faut une alimentation de 12V+-5%, soit de 11,4V à 12,6V... c'est limite pour alimenter en direct avec 3 éléments LIPO consommation: 12 W typiquement, 18 W Max utiliser l'information de reflectance pour attribuer une confiance aux points 3D temps d'exposition réglable entre 200us et 5120 us: valeur 0 pour 200us et 255 pour 5120us Information de distance codée sur 16 bits pour chaque points: 0 pour 0m, 0xffff pour 7,5 m Information de distance est modulo 7,5m (1 periode du signal sinusoidal à 20Mhz) correspond a la durée du trajet de la lumiere sur 7,5m *2 grosse influence du temps d'intégration sur le bruit, mais au dela d'un certain seuil, le déplacement de la caméra dégrade les données === Etalonnage ==== http://www.mesa-imaging.ch/KnowledgeBase.php?KeyWords=driver&what=doit What is the calibration data for? No calibration files are needed for the SR4000 because the calibration data is stored in the camera at factory. For SR3000 and older models: For high quality measurements each camera has a camera specific calibration file. The name of this file is: camDataSR2B.xml for an SR-2B and camData.xml (e.g. camData000877f9.xml) for an SR3000. The file name for an SR3100 is camData.xml (e.g. camData100877f9.xml). If there is no calibration file for an SR3000/SR3100, the driver will try to download the calibration file from the Internet when the SR_Open() function is called. =====ancienne facon d'installer le driver===== ===droits d'acces:=== liste des devices usb /sbin/lsusb /devices T: Bus=01 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 3 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0852 ProdID=0074 Rev= 1.00 S: Manufacturer=CSEM SA S: Product=3D-SR3000 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none) E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms pour: Bus 001 Device 004: ID 0852:0074 CSEM sudo chmod a+rw /proc/bus/usb/001/004 -------------------------------------- ===module genom sranger=== installation: git clone ssh://softs.laas.fr/git/robots/robotpkg setenv CVSROOT login@cvs.laas.fr:/cvs/openrobots cvs checkout -P modules/sranger git clone ssh://softs.laas.fr/git/robots/robotpkg ne marche pas a cause de mon compte?? recupere sur le compte d'arnaud git clone ssh://adegroot@tournefeuille.laas.fr//home/adegroot/robotpkg cd robotpkg/bootstrap/ ./bootstrap --prefix=$HOME/openrobots cd ../architecture/genom setenv ROBOTPKG_BASE /home/bvandepo/openrobots/ make install cd openrobots/modules/sranger/ setenv PATH ${PATH}:${ROBOTPKG_BASE}/bin rehash genom -t sranger cd ../ cd robotpkg/localization/pom-genom/ make install cd openrobots/modules/sranger/ genom -r sranger setenv PKG_CONFIG_PATH ${PKG_CONFIG_PATH}:${ROBOTPKG_BASE}/lib/pkgconfig setenv PKG_CONFIG_PATH ${ROBOTPKG_BASE}/lib/pkgconfig genom -t sranger ./configure --prefix=$HOME/openrobots setenv PATH ${PATH}:${ROBOTPKG_BASE}/bin rehash cd robotpkg/localization/pom-genom/ make install cd ../openrobots/modules/sranger/ setenv PKG_CONFIG_PATH ${ROBOTPKG_BASE}/lib/pkgconfig genom -t sranger ./configure --prefix=$HOME/openrobots make il manque le fichier libusbSR.h find . -name libusbSR.h il n'est pas sur la machine, ls /usr/local/openrobots/hardlib/swissranger/ création module sranger cd modules/sranger genom -t sranger configure make make install lancement du module h2 init =====Nouveau driver===== driver en .deb telecharge et decompresse: /home/bvandepo/Desktop/libmesasr-dev-1.0.12-608.i386/data/usr eventuellement décompresser pour voir le contenu /home/bvandepo/Desktop/libmesasr-dev-1.0.12-608.i386/data/usr/share/doc/libmesasr-dev/examples voir le fichier : /home/bvandepo/Desktop/libmesasr-dev-1.0.12-608.i386/data/usr/share/doc/libmesasr-dev/README ===pour convertir du .deb vers un .rpm=== http://wiki.mandriva.com/fr/Alien_:_Convertir_des_paquets_.RPM_et_.DEB_%C3%A0_la_vol%C3%A9e#Convertir_un_paquet_.DEB_en_.RPM super doc sur les gestionnaires de paquet, alien etc... http://www.commentcamarche.net/faq/1328-linux-installer-les-programmes-gestion-des-paquets-compil pas trouve sous fedora... je l'installe sous mon ubuntu sudo apt-get install alien scp bvandepo@borderouge.laas.fr:/home/bvandepo/Desktop/libmesasr-dev-1.0.12-608.i386.deb ./ alien --to-rpm libmesasr-dev-1.0.12-608.i386.deb scp libmesasr-dev-1.0.12-609.i386.rpm bvandepo@borderouge.laas.fr:/home/bvandepo/Desktop puis sous fedora sudo yum --nogpgcheck install libmesasr-dev-1.0.12-609.i386.rpm copie executable dans /usr/bin/libMesaSRTester ===Documentation:=== cd /usr/share/doc/libmesasr-dev/ sudo chown bvandepo * sudo gunzip README.gz gedit README ===programme d'exemple:=== cd /usr/share/doc/libmesasr-dev/examples g++ -lusbSR TestSuite.cpp TestSRCustomer.cpp libMesaSRTester.cpp -o libMesaSRTester TestSRCustomer.cpp:20:25: error: stropts.h: No such file or directory TestSRCustomer.cpp: In function ‘int _kbhit()’: TestSRCustomer.cpp:44: error: ‘ioctl’ was not declared in this scope grep -nri stropts.h * j'essaie d'ajouter: #define __BFIN__ mais non... TestSRCustomer.cpp: In member function ‘void CTestSRCustomer::TestBasic()’: TestSRCustomer.cpp:141: error: ‘SR_Open’ was not declared in this scope TestSRCustomer.cpp: In member function ‘void CTestSRCustomer::TestDataDump()’: TestSRCustomer.cpp:318: error: ‘SR_Open’ was not declared in this scope TestSRCustomer.cpp: In member function ‘void CTestSRCustomer::TestTrial()’: TestSRCustomer.cpp:382: error: ‘SR_Open’ was not declared in this scope non ce n'est pas bon, B_FIN est pour compiler pour le DSP Blackfin, il ne faut pas le definir ====SOLUTION pour compiler le programme d'exemple ===== remplacer ligne 22 du fichier TestSRCustomer.cpp: #include par: #include =====pour faire fonctionner la sr3000 sous virtualbox===== creer un filtre usb pour que la camera soit automatiquement redirigee vers le machine virtuelle editer ce filtre pour ne garder que le champ "nom du fabriquant" =====pour avoir les droits d'acces vers le periph usb avec udev===== créer le fichier /etc/udev/rules.d/99-sranger.rules # CSEM SwissRanger rules SYSFS{idVendor}=="0852", SYSFS{idProduct}=="0074", MODE="0666", OWNER="root", GROUP="root"=====Installation sur ubuntu sony ===== sudo aptitude install libmesasr-dev-1.0.12-608.i386.deb aptitude search libusb p libusb++-0.1-4c2 - userspace C++ USB programming library p libusb++-dev - userspace C++ USB programming library development files i libusb-0.1-4 - userspace USB programming library i A libusb-dev sudo dpkg -i libmesasr-dev-1.0.12-608.i386.deb Sélection du paquet libmesasr-dev précédemment désélectionné. (Lecture de la base de données... 171813 fichiers et répertoires déjà installés.) Dépaquetage de libmesasr-dev (à partir de libmesasr-dev-1.0.12-608.i386.deb) ... dpkg : des problèmes de dépendances empêchent la configuration de libmesasr-dev : libmesasr-dev dépend de libusb-0.1-4 (= 2:0.1.12-13) ; cependant : La version de libusb-0.1-4 sur le système est 2:0.1.12-8. dpkg : erreur de traitement de libmesasr-dev (--install) : problèmes de dépendances - laissé non configuré Des erreurs ont été rencontrées pendant l'exécution : libmesasr-dev pour forcer l'installation sans checker les dépendances sudo dpkg -i --force-all libmesasr-dev-1.0.12-608.i386.deb pendant l'install, le fichier /etc/udev/rules.d/46-mesa.rules a été créé, il contient: BUS!="usb", SUBSYSTEM!=="usb_device", ACTION!="add", GOTO="kcontrol_rules_end" #Swissranger SR3k(old),SR3k,SR4k SYSFS{idVendor}=="0852", SYSFS{idProduct}=="0074", MODE="666", GROUP="usb" SYSFS{idVendor}=="1ad2", SYSFS{idProduct}=="0074", MODE="666", GROUP="usb" SYSFS{idVendor}=="1ad2", SYSFS{idProduct}=="0075", MODE="666", GROUP="usb" LABEL="kcontrol_rules_end" a la compilation du programme d'exemple j'ai une erreur que la librairie n'est pas trouvée locate libmesasr.so /usr/lib/libmesasr.so /usr/lib/libmesasr.so.1.0.12 /usr/lib/libmesasr.so.1.0.12.608 ajouter /usr/lib à LD_LIBRARY_PATH dans ~/.bashrc ensuite pour compiler le nom de la lib est erroné dans la ligne de commande fournie, il faut taper: g++ -lmesasr TestSuite.cpp TestSRCustomer.cpp libMesaSRTester.cpp -o libMesaSRTester /usr/include/libMesaSR.h /usr/lib/libmesasr.so.1.0.12 ===== driver player===== peut être un driver pour le sr3000 avec des sources, ce qui permettrait de l'utiliser avec une gumstix?? http://cgi.cse.unsw.edu.au/~cs4411/wiki/index.php?title=Obstacle_avoidance_with_the_SR_Range-finder._-_Group_01_-_2009&printable=yes driver sr3000 open source? http://old.nabble.com/problem-setting-parameters-for-sr3000-driver.-td26787748.html