Vai al contenuto
PLC Forum


Forza 4 - Giocare contro un robot


magreb

Messaggi consigliati

Salve. Ho un robot antropomorfo che viene controllato da un Plc Omron CQM1 CPU41.

Ho scritto un programma su PC in Basic (ma potrei convertirlo in Pascal o in C) per giocare a Forza 4 (un classico gioco con pedine).

Domanda: E' possibile interfacciare il programma da PC a Plc per far giocare il Robot contro un avversario? Anticipatamente grazie a chiunque possa darmi un suggerimento.

Link al commento
Condividi su altri siti


vediamo se ho capito bene:

-hai un robot (suppongo uno di quei modelli che si vendevano una volta ad uso didattico e che si interfacciavano direttamente ai pc dell'epoca, Apple II o PC IBM) comandato da un CQM1;

-hai un programma che gioca a Forza4 e vuoi interfacciarlo al tuo robot.

A mio parere puoi aggiungere al tuo programma il protocollo di comunicazione HostLink, liberamente disponibile e scaricabile all'indirizzo

http://oeiwcsnts1.omron.com/pdfcatal.nsf/P...pdf?OpenElement

Collegandoti con una seriale tra PC e porta RS232 del PLC puoi scrivere nei dati di posizionamento del robot sul tuo PLC le coordinate delle mosse che fa il tuo programma.

Do per scontato che tu conosca sia il programma del PLC e come quest'ultimo comanda il robot. In caso contrario puoi sempre scaricarti i manuali on line via www.omron.it

Link al commento
Condividi su altri siti

Forse sono stato troppo sinttico, saltando alcuni punti importanti.

Il Robot è di tipo industriale: lavorava in una ceramica, ma è di piccola taglia h = 70 cm

La programmazione dei movimenti li ho fatti io con Syswin.

Il robot potrebbe giocare senza Webcam o videocamere : basta qualche sensore piazzato in corrispondenza delle colonne di Forza 4.

La sfida è tra una persona in carne ed ossa e il Robot che infila le pedine nel posto giusto: movimento gestito da Syswin, ma secondo il programma in Basic, Visual, Pascal, o C.

Poichè anche il programma l'ho fatto io, posso modificarlo a piacere.

Gira su video, ma è possibile inviare degli Input da programma al PLC, che li invia a sua volta a Syswin, che li gestisce per il movimento giusto del Robot?

Chissà se sono stato più chiaro.

Grazie ancora a tutti.

Link al commento
Condividi su altri siti

Gira su video, ma è possibile inviare degli Input da programma al PLC, che li invia a sua volta a Syswin, che li gestisce per il movimento giusto del Robot?

Chissà se sono stato più chiaro.

Sei stato chiarissimo. Il progetto sembrava semplice e pensavo di aver capito cosa ti serviva ma a quanto pare mi sono sbagliato.Probabile che quello che manca e' altro.

Link al commento
Condividi su altri siti

Gira su video, ma è possibile inviare degli Input da programma al PLC, che li invia a sua volta a Syswin, che li gestisce per il movimento giusto del Robot?

se devi inviare dei dati al programma PLC che tu stesso hai realizzato tramite Syswin (che non e' una interfaccia che gestisce la comunicazione tra PLC e programmi/apparecchiature esterne, ma un sistema per programmare i controllori) ti conviene scrivere i tuoi dati di posizionamento ("input da programma") direttamente nella memoria del controllore tramite il protocollo HostLink. La descrizione dei comandi di protocollo te l'ho postata nel mio messaggio, se invece vuoi passare subito all'azione ti conviene scaricarti e studiarti l'esempio di Dago_, che puo' essere facilmente adattato ad ognuno dei linguaggi che hai citato. Se la gestione del posizionamento e' stata fatta nella maniera consueta (per intenderci lettura posizione via encoder e comando di inverter/driver per il motore/i), avere dei sensori dove devi posare le pedine non ti da' molti vantaggi.

Link al commento
Condividi su altri siti

  • 11 months later...
C' è un' esempio, per la comunicazione via seriale in vb con plc Omron , nella sezione up/download file del forum.

ho provato a cercare ma non l'ho trovato qlcuno sa dov'è?

grazie

Link al commento
Condividi su altri siti

Ciao a tutti,

penso che l'idea sia fattibilissima ed è anche carina.

Ci sono comunque alcuni dettagli da definire penso.

Prima di tutto occorre costruire una pedana di gioco (il forza 4 per intenderci) adatto al robot, nel senso che il posizionamento dei dischetti avviene linearmente sopra la pedana (quando il robot passa sulla colonna giusta deve inserire il dischetto, quindi il programma PC deve dare come riferimento al PLC solo il numero di colonna in cui inserire il dischetto). Occorrono quindi dei punti di riferimento fissi che il robot deve leggere per essere cosciente di dove si trova. Se il robot ha dei sistemi di movimento con feedback precisi può essere sufficiente un punto di start, poi in base al dato di colonna comunicato dal PC puoi implementare i movimenti con il Syswin e farlo poi tornare in posizione di start.

Un altra cosa a cui pensare è il metodo di caricazione dei dischetti.

Vuoi farli prendere al robot con la pinza o vuoi realizzare uno stack (un caricatore per intenderci) sul manipolatore? (in modo da caricarli tu e poi comandare un attuatore che apra una porticina per far cadere il dischetto al momento giusto per esempio). Se vuoi farli prendere dalla pinza del robot occorre creare un contenitore adatto per posizionare i dischetti e posizionare il contenitore in un punto fisso che il PLC conosce in modo da poter implementare il movimento senza tanti controlli. (puoi ad esempio far tenere il conto al PLC dei dischetti utilizzati e regolare il movimento per prendere i successivi se posizioni i dischi a una distanza costante).

Per quanto riguarda il passaggio dei dati da PC a PLC i comandi hostlink sono più che sufficienti. (a mio parere basta un bit per ogni colonna, nel senso che il giocatore umano gioca a video su PC, il programma calcola la contromossa e invia via seriale il bit di colonna su in cui inserire il dischetto, il PLC fa il resto (anche per le pedine dell'avversario si intende)).

Se mi viene in mente qualcosaltro poi ti dico, è un gran bel lavoro, tienici informati sugli sviluppi.

Ciao

Fabio

Modificato: da FaxPLC
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...