Talk:LURCH - The autonomous wheelchair

From AIRWiki
Revision as of 17:25, 11 March 2013 by GiulioFontana (Talk | contribs) (Software Installation [TODO: complete])

Jump to: navigation, search

D-Link router

ip: 192.168.0.1
User: admin
Pass: pcbriccone
(NOTE. Default settings are: admin, no password)

mac-address clonato all'interfaccia esterna: 00-40-63-eb-d1-a1 (pcbrick-03)

Wireless

SSID: airlab
channel: 6
WPA2 PSK: pcbriccone

Fixed IPs

pcbrick-one 192.168.0.5 00-40-63-eb-d2-a2
pcbrick-03 192.168.0.3 00-40-63-eb-d1-a1
simone-desktop 192.168.0.1 00-02-72-52-04-a1
pcbrick-one 192.168.0.5 00-30-18-a2-aa-8e
simone-laptop 192.168.0.2 00-1f-3c-9c-66-f1

Planner

MSL library soruce + PQP source: Media:MSL.zip compiled on Ubuntu 8.10 with gcc 4.3.2

Software Installation [TODO: complete]

This guide is tested on Ubuntu 8.10, 9.04 and Xubuntu 8.10. GCC version in 4.3.

  • Install the following packages:
    • qt3-dev-tools
    • qt4-dev-tools
    • build-essential
    • flex
    • bison
    • libjsw-dev
    • libboost-dev
    • libdc1394-13-dev
    • libgsl0-dev
    • libgtk2.0-dev
    • libncurses5-dev

If you want you can cut and paste this command line: sudo apt-get install ...

  • Download this file: [TODO], which contains ARToolKitPlus Libraries
    • unpack it in /opt folder
    • go into /opt/ARToolKitPlus_2.1.1
    • export ARTKP=/opt/ARToolKitPlus_2.1.1
    • qmake
    • make
    • sudo make install
  • download lurch-control.tar.gz
    • extract it in your home folder
    • make cleanall
    • make ROBOT=wheelchair MODULE=misc
    • make ROBOT=wheelchair MODULE=fuzzy
    • make ROBOT=wheelchair
    • cd wheelchair
    • ln -s ../logExtract.sh ./
    • ln -s ../run.sh ./
  • download lurch-wheelchair-standalone.tar.gz
    • extract it in your home folder
    • go into lurch-wheelchair-standalone/config
    • edit config.ini
      • replace line with hostname=airlab-blackbox with hostname=<yourhostname>
    • edit agent.ini
      • find and replace all "airlab-blackbox" with <yourhostname>
      • [NOTA a proposito di lurch-wheelchair-standalone. Simone Ceriani: "Riguarda una particolare configurazione (ovvero file di config diversi, ma stesso identico sw) che usavo per fare girare il sw di lurch su un pc qualunque e simulare il robot con un simulatore java (Simbad) che avevo reso compatibile con lurch. In pratica lui apriva n server TCP/IP, uno per ogni "sensore" di lurch e permetteva di simulare il funzionamento per provare le funzionalità, come evitamento ostacoli, nav autonoma, guida ecc ecc. Del tutto obsoleta non è, ma non so più a che punto è rimasta e se è tuttora funzionante... di sicuro per un po' era usabile!]
  • download the server for simulation (you need sun-java6-jdk installed and Eclipse is suggested)

...

  • from lurch-wheelchair-standalone
    • sudo ./run.sh

Timeline

Breve riassunto dello stato attuale di Lurch, e delle ultime modifiche:

2012/07/10: - corretto un errore in una shape fuzzy (qualità della speed) e allo stesso tempo aumentato la soglia entro la quale la quality speed è definita "good" e "very good", allontanando la "medium" e "bad" - cambiato una soglia sulla distanza minima letta dai sonar: i sonar hanno come valore nominale minimo 142mm, però due di essi (quelli a sinistra) con il sole (vai a capire perchè ma la causa sembra quella) leggono sempre 142... abbiamo impostato nel "sonarExpert" di scartare valori inferiori (o <=, non sono sicuro) a 0.143 metri.... barbatrucco un po' rischioso, ma efficace - cambiata la soglia di raggiungimento via point e passaggio al successivo da 0.4m a 0.5m, per rendere più fluido il movimento

la storia precedente... lo sviluppo sw di lurch è fermo a settembre 2009 [demo e prove a Simpatia - agosto/settembre 2009] con pochissime revisioni per Robotica 2009 a novembre dal punto di vista hw nel 2010 è stato fatto da Giulio e Davide quello che chiamiamo "restyling", in quanto non è cambiato nulla dal punto di vista funzionale (stessi sensori, stesso hw per tutto, solo posizionato diversamente) a valle del quale il sw è stato riadattato, ma le modifiche sw sono state proprio poche, soprattutto sono state configurazione delle nuove posizioni dei sensori. Le cose che vedo più sostanziali relative a ciò sono state: - passagggio da due pcbrick (di cui uno con cpu via - i pc brick originali - e uno con dual core - il cosidetto pcbriccone - su cui erano distribuiti gli agenti running) ad un solo (il pcbriccone). Da quel momento non sono più stati aggiornati i driver del touch screen (che tuttora non è funzionante) e il sw gira tutto su un pc solo, mentre prima era distribuito - è stata sostituita la camera firewire (fire i 400) con una ethernet (prosilica) e di conseguenza aggiunto un pezzo sw per leggere dalle api prosilica e non da firewire

Available Documentation

- Documentation on the interface circuit between the wheelchair joystick and computer: Media:LurchCircuitDocument.pdf.

- WARNING: the circuit was modified and the documentation above is upgraded by this new file: Media:LurchXBee.pdf.

- How to modify the wheelchair joystick to connect to the interface circuit: Media:LurchCircuitJoystick.pdf.

- Brief discussion about the interface circuit between the wheelchair joystick and computer: Media:LurchCircuitJoystickBrief.pdf.

- Brief description of the LURCH project: Media:LurchBriefDesc.pdf.

- Brief description of the communication between the wheelchair interface circuit and a PC via RS232 port: Media:LurchProtocol.pdf.

- Source code for PIC 18F452 microprocessor and Eagle project (schematic and board): Media:LurchCircuitProject.zip.

- Battery replacement done on May 2009, description of work: Media:LurchBatteryReplacement.pdf.

- Thesis by Simone Ceriani, titled Sviluppo di una carrozzina autonoma d'ausilio ai disabili motori (Development of an autonomous wheelchair to help motor-disabled persons): Media:LurchThesisCeriani.pdf (in Italian)

- Thesis presentation by Simone Ceriani (note: Videos don't work, you can found similar videos below): Media:LurchPresentazioneThesisCeriani.zip

- Thesis by Marco Dalli, titled Sviluppo di un sistema di controllo basato su odometria per una carrozzina robotica (Development of a control system based on odometry for a robotic wheelchair): Media:LurchThesisDalli.pdf (in Italian)

- Thesis presentation by Marco Dalli: Media:LurchPresentazioneThesisDalli.zip

- Thesis by Marco Assini, titled Sviluppo di un pianificatore di percorsi geometrici per una carrozzina autonoma (Development of a geometric path planner for an autonomous wheelchair): Media:LurchThesisAssini.pdf (in Italian)

- Thesis presentation by Marco Assini (the file contains a ppt version, a pptx, and a simplified pdf version without animation): Media:LurchPresentazioneThesisAssini.zip

- Thesis by Mauro Brenna, titled Scan Matching, Covariance Estimation and SLAM: Models and Solution for the scanSLAM Algorithm: Media:MauroBrennaMastersThesis2010.pdf‎ (in English)


- Pdf with ArtoolKitPlus Fiducial Markers collection. Dimension are 160x160mm. Media:ArtoolKitPlusMarkers-160mm.pdf.zip

PCBricks Configuration

PCBrick-03 and PCBrick-05 feature Xubuntu Linux 7.10, Xfce Window Manager, Openchrome graphics drivers and eGalax touchscreen drivers v1.08.1227 (Drivers here). The touchscreen is configured and calibrated on both machines, hence it can be used with either one or the other indifferently.

Electronics development

We are currently designing a new electronic main board for the wheelchair.

The idea is to base the whole system on a CANbus, allowing a complete modularization of the on-board electronics.

Read more on this topics here...


Software development

  • Try a different sw architecture, now we are examinating orocos [1]
  • Integrate Marco Assini's thesis (RRT planning) with current release
  • Develop an improved navigation system Read more on this topics here...

People Involved

Andrea Bonarini

Matteo Matteucci

Davide Migliore

Giulio Fontana

Bernardo Dal Seno

Marco Dalli (ex-Tesista)

Simone Ceriani (Dottorando)

Matteo Rossi (ex- Tesista)

Marco Assini (ex-Tesista)

Mauro Brenna (Tesista)

Diego Consolaro (ex-Tesista)