AP8/Pràctica2.-Posició inicial i treball amb increments
Introducció: en aquesta pràctica es donaran a conèixer els conceptes relacionats amb el control d'un servomotor a base de valors relatius i no absoluts com a l'anterior.
Primer es definirà una constant per a la posició inicial i s'anirà modificant a base d'incrementar o decrementar aquest valor inicial de referència.
Aquest sistema de control dels servos s'utilitza molt en la programació de moviments dels humanoides. Té l'avantatge que un mateix programa es pot utilitzar en diferents robots tot i que mecànicament no siguin exactament iguals, ni estiguin ajustats de la mateixa manera. Només cal canviar els valors inicials de cadascun dels servos per tal que tots parteixin d'una mateixa posició. Aquests valors han de ser propers a t=1,5ms ( servo pin, 150).
Tot i que no es tractarà en aquesta pràctica, aquest sistema té l'avantatge de poder modificar la posició del servo més ràpidament o més lentament segons el valor dels increments i segons el temps que es vagin repetint. Aquest procediment permet controlar la velocitat de gir del servomotor.
Enunciat: es tracta de fer un programa en DdF que permeti ajustar el funcionament del peu del vostre robot humanoide Imagina. El peu dret, que està controlat pel servo4, ha d'estar planer (90º) amb un pols proper a 1,5ms (servo 4,150). Aquest valor variarà segons l'ajust que hagiu fet mecànicament. Aneu-lo canviant per programa fins que el peu quedi totalment planer i deseu-lo en el registre b4 per poder-lo incrementar i decrementar posteriorment.
Aleshores si voleu que el peu s'inclini cap a l'interior 20º incrementeu el valor de b4 en 20 i l'envieu al servo. Si pel contrari voleu que giri cap a l'exterior 20º, el decrementeu en 20 i l'envieu al servo. Copieu el programa d'exemple i ajusteu-lo amb el vostre valor inicial per tal que el peu dret estigui planer quan el programa s'inicïi.
Aclariment
Si us mireu l'enunciat en termes absoluts veureu que us demana el posicionament del servo del peu dret a 110º(=90º+20º) i després a 70º(=90º-20º), que equivalen a enviar impulsos de t=1,61ms (1+110/180) i t=1,38ms (1+70/180). Doncs, perquè estem enviant 1,70 i 1,30ms, i comentent un error de 15 graus aproximadament?
La resposta és que, per simplificar els càlculs es fa una aproximació entre els graus i els ms com si fossin equivalents. Així es té una referència per començar a planificar els moviments del robot.
Com que per ajustar el robot es fa per assaig/error, aquests increments i decrements de la posició inicial simplement són valors orientatius que s'assimilen a graus, encara que a la realitat no ho són.
Millora: modifiqueu el programa perquè els girs siguin de 45º. Podeu triar de fer-ho exacte o aproximat. De totes maneres indiqueu els pulsos que caldria enviar per fer-ho exacte en valor absolut.
Simulació: el posicionament del servomotor no es pot simular per ordinador, però si els valors dels registres que s'enviaran al servo.
Transferir al picaxe: transferiu el programa al PICAXE-20M i comproveu el funcionament.
Desar: Deseu el vostre programa amb el nom de AP8pràctica2.
Lliurament: Entregueu l'arxiu AP8pràctica2.cad al curs Moodle ROBOT HUMANOIDE IMAGINA, a l'apartat corresponent d'Activitats de Programació8.
Primer es definirà una constant per a la posició inicial i s'anirà modificant a base d'incrementar o decrementar aquest valor inicial de referència.
Aquest sistema de control dels servos s'utilitza molt en la programació de moviments dels humanoides. Té l'avantatge que un mateix programa es pot utilitzar en diferents robots tot i que mecànicament no siguin exactament iguals, ni estiguin ajustats de la mateixa manera. Només cal canviar els valors inicials de cadascun dels servos per tal que tots parteixin d'una mateixa posició. Aquests valors han de ser propers a t=1,5ms ( servo pin, 150).
Tot i que no es tractarà en aquesta pràctica, aquest sistema té l'avantatge de poder modificar la posició del servo més ràpidament o més lentament segons el valor dels increments i segons el temps que es vagin repetint. Aquest procediment permet controlar la velocitat de gir del servomotor.
Enunciat: es tracta de fer un programa en DdF que permeti ajustar el funcionament del peu del vostre robot humanoide Imagina. El peu dret, que està controlat pel servo4, ha d'estar planer (90º) amb un pols proper a 1,5ms (servo 4,150). Aquest valor variarà segons l'ajust que hagiu fet mecànicament. Aneu-lo canviant per programa fins que el peu quedi totalment planer i deseu-lo en el registre b4 per poder-lo incrementar i decrementar posteriorment.
Aleshores si voleu que el peu s'inclini cap a l'interior 20º incrementeu el valor de b4 en 20 i l'envieu al servo. Si pel contrari voleu que giri cap a l'exterior 20º, el decrementeu en 20 i l'envieu al servo. Copieu el programa d'exemple i ajusteu-lo amb el vostre valor inicial per tal que el peu dret estigui planer quan el programa s'inicïi.
Aclariment
Si us mireu l'enunciat en termes absoluts veureu que us demana el posicionament del servo del peu dret a 110º(=90º+20º) i després a 70º(=90º-20º), que equivalen a enviar impulsos de t=1,61ms (1+110/180) i t=1,38ms (1+70/180). Doncs, perquè estem enviant 1,70 i 1,30ms, i comentent un error de 15 graus aproximadament?
La resposta és que, per simplificar els càlculs es fa una aproximació entre els graus i els ms com si fossin equivalents. Així es té una referència per començar a planificar els moviments del robot.
Com que per ajustar el robot es fa per assaig/error, aquests increments i decrements de la posició inicial simplement són valors orientatius que s'assimilen a graus, encara que a la realitat no ho són.
Millora: modifiqueu el programa perquè els girs siguin de 45º. Podeu triar de fer-ho exacte o aproximat. De totes maneres indiqueu els pulsos que caldria enviar per fer-ho exacte en valor absolut.
Simulació: el posicionament del servomotor no es pot simular per ordinador, però si els valors dels registres que s'enviaran al servo.
Transferir al picaxe: transferiu el programa al PICAXE-20M i comproveu el funcionament.
Desar: Deseu el vostre programa amb el nom de AP8pràctica2.
Lliurament: Entregueu l'arxiu AP8pràctica2.cad al curs Moodle ROBOT HUMANOIDE IMAGINA, a l'apartat corresponent d'Activitats de Programació8.