Sommario:

Walking Strandbeest, Java/Python e App Controlled: 4 passaggi (con immagini)
Walking Strandbeest, Java/Python e App Controlled: 4 passaggi (con immagini)

Video: Walking Strandbeest, Java/Python e App Controlled: 4 passaggi (con immagini)

Video: Walking Strandbeest, Java/Python e App Controlled: 4 passaggi (con immagini)
Video: Steering a driving Android Phone over the Web via Speech Recognition in IBM Bluemix 2024, Luglio
Anonim

Di arrowlikeFollow Altro dell'autore:

Studio sperimentale del moto armonico semplice
Studio sperimentale del moto armonico semplice
Studio sperimentale del moto armonico semplice
Studio sperimentale del moto armonico semplice

Questo kit Strandbeest è un lavoro fai-da-te basato sullo Strandbeest inventato da Theo Jansen. Stupito dal geniale design meccanico, voglio dotarlo di piena manovrabilità e, in secondo luogo, di intelligenza del computer. In questo istruibile, lavoriamo sulla prima parte, la manovrabilità. Copriamo anche la struttura meccanica per il computer formato carta di credito, in modo da poter giocare con la visione artificiale e l'elaborazione AI. Per semplificare il lavoro di costruzione, non ho usato arduino o computer programmabili simili, ma ho costruito un controller hardware bluetooth. Questo controller, che funziona come terminale che interagisce con l'hardware robotico, è controllato da un sistema più potente, come un'app per telefono Android o RaspberryPi, ecc. Il controllo può essere il controllo dell'interfaccia utente del telefono cellulare o il controllo programmabile in Python o linguaggio Java. Un SDK per ogni linguaggio di programmazione è open-source fornito in

Poiché il manuale dell'utente di mini-Strandbeest è abbastanza chiaro nello spiegare i passaggi di costruzione, in questo istruibile, ci concentreremo sulle informazioni non tipicamente trattate nel manuale dell'utente e sulle parti elettriche/elettroniche.

Se abbiamo bisogno di un'idea più intuitiva sull'assemblaggio meccanico di questo kit, sono disponibili alcuni buoni video sull'argomento dell'assemblaggio, come

Forniture

Per costruire la parte meccanica e realizzare tutti i collegamenti elettrici di questo Strandbeest, il completamento dovrebbe richiedere meno di 1 ora se il tempo di attesa per la stampa 3D non viene conteggiato. Richiede le seguenti parti:

(1) 1x kit standard Strandbeest (https://webshop.strandbeest.com/ordis-parvus)

(2) 2x motore CC con riduttore (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) 1x controller Bluetooth (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x batteria LiPo (3,7 V, capacità a scelta in mAh)

(5) 12 viti per legno M2x5,6 mm

(6) Canna in carbonio o bambù da 2 mm di diametro

Stampa in 3D le seguenti parti:

(1) 1x corpo principale robotico

(file di progettazione di stampa 3D con download solo del controller bluetooth)

(file di progettazione di stampa 3D con download OrangePi Nano aggiuntivo)

(2) 2x Flangia dell'albero di trasmissione (download del file di progettazione di stampa 3D)

(3) 2x dispositivo del sistema di alimentazione (download del file di progettazione di stampa 3D)

Altri:

telefono cellulare Android. Vai su Google playstore, cerca M2ROBOTS e installa l'app di controllo.

Nel caso in cui sia difficile accedere a Google Play Store, visita la mia home page personale per un metodo di download dell'app alternativo

Passaggio 1: organizzazione delle parti

Organizzazione delle parti
Organizzazione delle parti
Organizzazione delle parti
Organizzazione delle parti
Organizzazione delle parti
Organizzazione delle parti
Organizzazione delle parti
Organizzazione delle parti

In questo passaggio, organizzeremo tutte le parti da assemblare. Fig. 1. mostra tutte le parti in plastica che usiamo per costruire il modello Strandbeest. Sono realizzati mediante stampaggio a iniezione, che è molto efficiente, rispetto ad altri metodi di produzione di lavorazione come la stampa 3D o la fresatura. Ecco perché vogliamo sfruttare al massimo il prodotto prodotto in serie e personalizzare solo la minima quantità di parti.

Come mostrato in Fig.2, ogni pezzo di tavola di plastica ha un alfabeto etichettato, la singola parte non ha l'etichettatura. Una volta smontati, non c'è più etichettatura. Per risolvere questo problema, possiamo mettere parti dello stesso tipo in scatole diverse, o semplicemente contrassegnare più aree in un pezzo di carta e mettere un tipo di parti in un'area, vedi Fig.3.

Per tagliare la parte in plastica dalla tavola di plastica più grande, le forbici e il coltello potrebbero non essere efficienti e sicuri come la pinza mostrata nelle Fig.4 e 5.

Tutto qui è fatto di plastica, tranne il materiale delle dita dei piedi sono in gomma, vedi Fig.6. Possiamo tagliare secondo i tagli pre-fatti. La natura morbida del materiale in gomma offre migliori prestazioni di presa del strandbeest. È particolarmente vero quando si sale su un pendio. In argomenti successivi, possiamo testare la sua capacità di arrampicarsi con diversi angoli di inclinazione, con e senza le dita di gomma. Quando non c'è slittamento, si parla di attrito statico. Una volta che perde la presa, diventa attrito cinetico. Il coefficiente di attrito dipende dai materiali utilizzati, ecco perché abbiamo i puntali in gomma. Come progettare un esperimento, alzare la mano e parlare.

L'ultima figura contiene la "ECU", "Power train" e il telaio di questo modello Strandbeest.

Passaggio 2: punti degni di attenzione durante l'assemblaggio meccanico

Punti meritevoli di attenzione durante il montaggio meccanico
Punti meritevoli di attenzione durante il montaggio meccanico
Punti meritevoli di attenzione durante il montaggio meccanico
Punti meritevoli di attenzione durante il montaggio meccanico
Punti meritevoli di attenzione durante il montaggio meccanico
Punti meritevoli di attenzione durante il montaggio meccanico

Il mini-Strandbeest ha un manuale utente abbastanza buono. Dovrebbe essere un lavoro facile seguire il manuale e completare l'assemblaggio. Tralascerò questi contenuti ed evidenzierò alcuni punti interessanti degni della nostra attenzione.

Nella Fig.1, un lato della fessura che tiene le dita in gomma è un angolo di 90 gradi, mentre l'altro lato ha una pendenza di 45 gradi, che è ufficialmente chiamata smusso. Tale inclinazione guida il puntale in gomma per inserirsi nel piedino in plastica. Prova a installare le punte dal lato con lo smusso, vedi Fig.2, quindi prova dall'altro lato. La differenza è molto evidente. Il lato destro della Fig.3 è la manovella del nostro Stranbeest. È molto simile alla manovella di un motore, un motore di un'auto, un motore di una moto, tutti condividono la stessa struttura. In uno Strandbeest, quando la manovella gira, spinge i piedi a muoversi. Per un motore, è il movimento del pistone che fa girare la manovella. Tale separazione di 120 gradi in un cerchio porta anche a un motore o generatore trifase, la potenza elettrica è a 120 gradi di distanza, mostrata in Fig.4. Una volta che abbiamo assemblato tutte le parti meccaniche per i corpi laterali sinistro e destro, iniziamo a lavorare sulle parti che aggiungiamo allo Strandbeest, vedi Fig.5. Fig.6 è il passaggio in cui utilizziamo il morsetto del motore stampato in 3D per fissare il motore al telaio stampato in 3D. In questo passaggio, il trucco è che nessuna delle viti deve essere serrata prima di regolare la posizione del motore in modo che la superficie laterale del telaio sia la stessa della superficie del motore. Una volta che siamo soddisfatti dell'allineamento, possiamo stringere tutte le viti. Passando alla Fig.7, lavoriamo sull'installazione del giunto a flangia, collegando l'uscita del motore alla manovella. Il lato motore è più difficile da installare rispetto al collegamento lato manovella, vedere Fig.8. Quindi colleghiamo prima la flangia lato motore. Una volta installato l'accoppiamento a flangia per entrambi i motori, come mostrato in Fig.9, utilizziamo due pezzi di aste in carbonio di 2 mm di diametro per collegare il telaio e la struttura di scorrimento sinistra/destra. Questo sta accadendo nella FIG.10. In totale, usiamo 3 pezzi di barre di carbonio per collegare queste entità. Ma in questo passaggio, colleghiamo solo due di questi, perché dobbiamo girare la manovella e montare la connessione tra la flangia e la manovella. Se sono stati posizionati 3 pezzi di barre di carbonio, sarà più difficile regolare la posizione relativa e collegarli. Infine, abbiamo il sistema meccanico assemblato finale, in Fig.11. Il prossimo passo, lavoriamo sull'elettronica.

Passaggio 3: collegamento elettrico

Connessione elettrica
Connessione elettrica
Connessione elettrica
Connessione elettrica
Connessione elettrica
Connessione elettrica

Tutti i sistemi elettronici necessitano di alimentazione. Possiamo mettere una batteria a 1 cella in un posto conveniente, ad esempio, sotto la scheda dei circuiti in Fig.1. La polarità dell'alimentazione è così critica da meritare una figura dedicata alla discussione. La Fig.2 evidenzia il collegamento della batteria. Nella scheda controller, la polarità è contrassegnata da "+" e "GND", vedere Fig.3. Quando la batteria si esaurisce, viene utilizzato un cavo USB per ricaricare la batteria, vedere Fig.4. Il LED che indica "ricarica in corso" si spegnerà automaticamente quando la batteria sarà nuovamente carica. L'ultimo passaggio consiste nel collegare le uscite del motore ai connettori del motore nella scheda del controller. Esistono 3 connettori del motore, etichettati dal numero 16 in Fig.3. In Fig.5, il motore sinistro è collegato al connettore più a sinistra etichettato con PWM12 e il motore destro è collegato al connettore centrale. Attualmente, la rotazione a sinistra di un serbatoio (veicolo con guida differenziale) è codificata come decremento della potenza di ingresso del motore collegata alla porta del motore PWM12. Pertanto il motore collegato alla porta PWM12 dovrebbe guidare i piedi sinistri. In seguito convertirò tutte le funzioni di missaggio in modo che siano configurabili dall'utente. come Scambiando la scelta del connettore del motore o invertendo la direzione del connettore del motore, possiamo risolvere il problema come lo Strandbeest che si sposta all'indietro quando viene comandato di andare avanti, girando nella direzione sbagliata, ricorda che il motore CC cambia la sua direzione di rotazione se il filo di ingresso è collegato all'alimentazione di controllo in ordine inverso.

Passaggio 4: impostazioni e funzionamento dell'app

Impostazioni e funzionamento dell'app
Impostazioni e funzionamento dell'app
Impostazioni e funzionamento dell'app
Impostazioni e funzionamento dell'app
Impostazioni e funzionamento dell'app
Impostazioni e funzionamento dell'app
Impostazioni e funzionamento dell'app
Impostazioni e funzionamento dell'app

Per prima cosa scarichiamo un'app Android da Google Play Store, vedi Fig.1. Questa app ha molte altre funzionalità che non possiamo coprire in questo tutorial, ci concentreremo solo sugli argomenti direttamente correlati per Strandbeest.

Accendi il controller bluetooth hardware, verrà visualizzato nell'elenco dei dispositivi di rilevamento. Un clic lungo ci porterà alla funzione di download over-the-air per essere "istruiti" in seguito. Prima di fare clic e avviare il controllo, eseguiamo prima alcune configurazioni facendo clic su "Impostazioni" nell'angolo in alto a destra. In Fig.2, è nascosto sotto l'icona …. La Fig.3 mostra più categorie di impostazioni. Queste impostazioni, configurate nell'App, vengono messe in atto in tre modi: 1) alcune impostazioni influiscono solo sul funzionamento dell'App, come l'aritmetica per ottenere il comando di controllo della potenza di ciascun motore dal comando di sterzo e acceleratore. Vivono nell'App. In alcune istruzioni successive, mostreremo come sostituirli con i nostri programmi Python/Java. 2) alcune impostazioni vengono inviate all'hardware come parte del protocollo di controllo in aria, come l'interruttore tra il controllo diretto (il servo ruota esattamente l'angolo comandato) e il controllo fly by wire (il modulo funzione del controller autonomo integrato aziona il servo canale in base al comando dell'utente e all'atteggiamento corrente) 3) alcune impostazioni verranno inviate alla memoria non volatile nel controller hardware. Quindi l'hardware seguirà queste impostazioni ogni volta che viene acceso senza essere configurato. Un esempio sarà il nome della trasmissione bluetooth del dispositivo. Questo tipo di impostazioni richiede un ciclo di accensione per avere effetto. La prima categoria in cui ci immergiamo è "Impostazioni generali" in Fig.4. La “Funzione di controllo dell'app” in Fig.5 definisce quale ruolo sta svolgendo questa app, un controller per il dispositivo hardware tramite connessione bluetooth diretta; un ponte su intranet/internet per il controllo della telepresenza; e così via. Successivamente, la pagina "Tipo HW" in Fig.6 indica all'app che stai lavorando con un veicolo a guida differenziale, quindi è necessario selezionare la modalità "serbatoio". Abbiamo 6 uscite PWM disponibili in totale. Per lo Strandbeest, dobbiamo configurare il canale da 1 a 4 secondo la Fig.7. Ciascun canale PWM funziona in una delle seguenti modalità: 1) servo normal: servo RC controllato da un segnale PWM da 1 a 2 ms 2) servo reverse: il controller invertirà il controllo dell'utente per la sua uscita 3) ciclo di lavoro del motore CC: a CC motore o qualche dispositivo elettrico di potenza, può essere utilizzato in modalità ciclo di lavoro, lo 0% è spento, il 100% è sempre acceso. 4) Inversione del ciclo di lavoro del motore CC: di nuovo il controller invertirà il controllo dell'utente per la sua uscita Poiché utilizziamo il motore CC e ci occupiamo della direzione di rotazione del motore in base all'ordine del cablaggio hardware, sceglieremo "ciclo di lavoro del motore CC" per il canale da 1 a 4, vedere Fig.8. Abbiamo anche bisogno di unire 2 canali PWM a 1 H-bridge, in modo da abilitare il controllo bidirezionale. Questo passaggio è mostrato in Fig.9. Nella modalità "2 canali PWM a 1 ponte H", i canali 1, 3 e 5 vengono utilizzati per controllare entrambi i canali associati. Introduce la necessità di rimappare il controllo dell'acceleratore, il controllo su-giù del joystick dal canale 2 predefinito al canale 3. Si ottiene nelle impostazioni di Fig.10. Come mostrato in Fig.11, ogni canale è configurato per prendere una sorgente di ingresso arbitraria.

Bingo, ora abbiamo completato la configurazione minima richiesta e possiamo tornare alla pagina che mostra il dispositivo bluetooth visibile e collegarlo. In Fig.12, prova a giocare con il joystick e possiamo divertirci con questo Strandbeest. Prova a salire su un pendio, ricorda l'analisi dell'attrito tra i tipi di materiale e leggi l'assetto stimato del controller di volo, che è mostrato nella riga etichettata con "RPY(deg)", le quattro voci in questa riga sono rollio, beccheggio, angolo di imbardata stimata dal giroscopio e dall'accelerometro di bordo; l'ultima voce è l'uscita della bussola con compensazione dell'inclinazione.

Lavoro futuro: nelle seguenti istruzioni, tratteremo gradualmente la sua interfaccia di programmazione, sceglieremo la tua lingua preferita Java o Python per interagire con Strandbeest e non leggeremo più lo stato di Strandbeest dallo schermo del telefono cellulare. Inizieremo anche a programmare nel computer Linux di tipo RaspberryPi per argomenti di programmazione più avanzati, vedere l'ultima figura. Checkout https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ per le parti meccaniche di stampa 3D e https://github.com/xiapeiqing/m2robots.git per SDK e codice di esempio se vuoi iniziare immediatamente. Fammi sapere qual è il tuo linguaggio di programmazione desiderato se non Java o Python, posso aggiungere una nuova versione di SDK.

Divertiti con l'hacking e resta sintonizzato per le seguenti istruzioni.

Consigliato: