Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y...

45
DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO !"#! Escola Universitària Politécnica de Vilanova i la Geltrú UPC - EUPVG

Transcript of Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y...

Page 1: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

� �

DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control

��

MEMORIA DEL PROYECTO

������������� �������������������������������������������

����������������������

�� !�����"#�!�����

Escola Universitària Politécnica de Vilanova i la Geltrú UPC - EUPVG

��

Page 2: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

� $

Escola Universitària Politécnica de Vilanova i la Geltrú UPC - EUPVG

��%��������!�� %�����&�'�����������������������(����)�������%�������*���

�������������������������������������

�������������������������������������

��������������������������������������

�����+%�,���������-����������������� �������������������%'����.��� ����������������������-�.���������������������)�

����,��������.�����������)���

�������///////////////�!������������0�����1"�����

////////////////////////////���

2������3#���"�!�)�����4!��"��0��5����������5�"�"!������!�� #"��)���������"!�������"���.�

��

6�����7������������8)������������������������������������������������������������������

������������������������������������������������������������������������������������6���������������

�����0��.*����������������������������������������0��.*����������������������������������������0��.*�����

Page 3: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���������������������

� ;

INDICE DE CONTENIDOS Capitulo 1 .............................. Introducción Capitulo 2 .............................. Objetivos Capitulo 3 .............................. Descripción y Antecedentes Capitulo 4 .............................. Diseño Prelimiar Capitulo 5 .............................. Diseño Mecánico Capitulo 6 .............................. Diseño Electrónico Capitulo 7 .............................. Software Apendices .............................. A, B, C, D, E Bibliografia

Page 4: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ������%������

� <

1. Introducción ���������7�������� ���������=�����%���� ���'�7��������%���������������-�������������������������.����� +���7������������� �+���������������������=�����%���� ����&����'������������'���+��������%����.�������� �����������7����������%��%����'��������)����7�'������'���������������'�����)����������������,���������������=�����-���(�>����+����?%������-�'��%���.�������'����������(������������%��%����'��������)���'����������������������-���?%�����%���������(�>����������������=�����%���� ���'�7������@������.�������� �+�������7�������@�,����������A�%����-�������B������)��������?%����������� ���������'���������?%��������%������������������������%������������ ���-����7���������������'����?%���%����������������%������������ ���:�4��.�����������'������A�%���������������������� +���7�������������� �+��-����+%���(������������'��'�.����������,%�������A�%��������������������������%���7������,��B������������� ������'�7��)���'����������������������� ����'�7������&�����������-�����A��������'�������-����%��������� !�:�4��������������������'��.��������������������A�%����������������������������������=�����%���� ���'�7������@������.���������,�����������<����A�%������������� �����������������=�����7��)���'���������=�������������%��%����'���������-�������������)���A���'����' �B�������(�>����?%������'���'��������� �������� ��.�������'���)�������'����������'�������������������������%���������%���� ���'�7���:�4��.��:�-�?%������=��)�?%����������%�����-�����������?%����������������'�������������������������%���������%���� ���'�7��.������������-����)��� ���������(�����������'���-�������%����)���������(�����������=��(��������%���� �����&�����)���'���'��������%���,%A����%����'��������,%��)�'������������%��)�����%B�������,%�����7����,����-��������������7��������%� �������������������'������������������������������'��'���������-������(�>���)�����'���������������������%������������ ��.����

Page 5: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � +���7��

� C

2. Objetivos y justificación del trabajo �������������� +���7������������� �+������������=��-�������%���������%���� ���'�7�������������-���'���+��������%����.�������� +���7������������(%�����������7����,���������������,%���������'���*��D����=���������%��%����'������������������%�����)��������������������������'�������(����������������'���� ���E'�&�'��������������������������� ���(��������'���'������������������������������������'�����F.��D����%����-� 8�?%������������'���'���������������7���������E'���'��������������'�=�)������-�������(������������'�������������������������������������(%������+�������-����%���������������F.��D���?%�����%���������������E�%����'A��(������������������'���F.��D����=�������������������������������-�������������(�����E����%��%������,���������������'������'���������������=�����������������'������-����������������������7�������������G����������������������������������(�>���F.��D������'�����(�>��������%��%�����������7��������� ���������)�����������������(������(�������'�����'�7�'���������'���+��������� ���E��?%�����%����������7���(����������?%�����%����+����?%������F.���D�����(�����������'���+�������� ����������%�%�����E(������������%���(����������������.����������������������7���������������������� ��)����������(�,%����������������'���������'%��������������(%�%����'�7�'�������-�������'�����'���������7����F.� �������'�������������������������������'���������������������������� ��'���-�����������������%'���������������%�����*��D���������������%'����������� ����������������7���������7���������%���������)�-����,������)��� ��������� ����������������.��D���'��������������'���-������������������������-����)��� �������������'�����������&��������-������7�����������������'����� �������.�

Page 6: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � �����������-��������������

� @

�3. Antecedentes ������%'����������&����������������'������������ ����'�7������������������������7�'�����������)�-������'��������������������������'�������,�������� +���7���'%-����������.�������������A�%��������������'���������%����������7��������������� ����'�7������&�����������-�����A�)�-��������� �������� �����&�����.������������������������� ��! " #��$�%�������&������7������(��'�����������(������� ���.������%�����'����%�������7����)�����'�����7�����B��������������������� �����������������'��������,��A������%-���?%�������� �����������������,�����������=�������������������%�����+%���� ���������'���������&����������)���������)��?%�������������������%�������������(�?%�������7����,�����.��������,%��������,��A��� ����������� ����������%�����������,8�����������������A(����E���%������)�����&���������)����...F.���������������(�������)����� !�:�4��)��������A�����������'���,�%��)��� ������?%���%�������%�����������,%�����������������%����A���������7����,��������������������������'�����������������%��%���(A����������� ��)���������� ���������%��?%�������������&�����������?%�������������������������������.���������������%�������7����)�����%����������������� ������������������������������ �������%�������������(%���'�����'��������������)���������)���������������������������� ��'���������%���������������'�����.������ !�:�4������%���� ���'�7��)��������?%����������������������������(���������������������������������������������7��.�����������������������

��������������� ����'�7����)�������%������%������'������7����������� ������������� ������������.��������'����������������������(�>����-�����>����������������� ����������%��%���'�������.�������������%�����,���������������'������8����'�������������%��������������(%������������'���������?%��%�������)���������������-�����%���%���'�-�����'���+����������������'�.������� !�:�4���?%�����7��������=��)����%���� �������������.����,� �����������%�������������&���������?%�������'%����������7B�����%�� %�������=��������������-��������.�����(%������������'���������������A�'��'���&������.�������%����,%�����%�������7����)������� ����'�7������%����������(���������������������'������������'������?%��%�������.�������� �����������������'�������������'�������'����(����������� ����������������%��?%���������E�%,����)������ ����%�����������7����)...F)����'�������(������%����������������� �������'�����'������-���?%�����'�������������.�������� �������������������������'������E�%����)���%,��)�...F���'���(�����������������'������-���������%�����������������������'��'�.��

Page 7: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � �����������-��������������

� H

��

0�,%���$.�.*��� ���'�7����������'������'���������%�����

���������%������������ �'������������������ ����'�7��������������?%���&������������'������*��3.1.1.1. ROBOTS DE UNA SOLA PATA ����+�'����'���������������7�����%���� �����������������������������%�������� ������-����������'����������(��'������������#��7���������'�������������,��D5�����.����������������7���������� ����%�8������&���'����)� %�������������%�'������������ �����������'���)�-��?%������������������'���� ������,��������� ���'���������%����������.��%�����%��,������(%�������������������������������'������������. 3.1.1.2. ROBOTS BÍPEDOS ������ ���������������� ����)�����=�����������#��7�����������!�I-�)��%�������'������������'����)��7������-�����������)���'%������'�����'���������&�'���'��������'��������������%'���.��

��

0�,%���$.$.*��� ��� A������

Page 8: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � �����������-��������������

� J

���3.1.1.3. ROBOTS CUADRÚPEDOS

����������������'�����������������)�������(%�����������=����'������%��������A�.�������������%���!������,�������!�I-��(%��������%����%��7��A�%�������%���������������������������������������-�����������������%���.�����������������;�,����������� �����.������������������������������%��'��������������?%�����,%�������&������������%�������,%���������-���� ���;��������������������%�'����.���������������)��������=�)����������E�� �����������7����������5������:������F)�����=�������+%���'������������������%�������%��'���������%�������E���F�-����������������7����,������������,B�����)�5�����' ���������-�!������,�����E�� ��!F����������%�7�����,����'�������������,%���?%������� ���������7��������� �������'����������'���)���A���'����������������������������� ���������-���������(�����������'����������'����.��

��

0�,%���$.;.*��� �����%���8������

� 3.1.1.4. ROBOTS HEXAPODOS ������#��7��������������������������������������������%���� �������@�������?%�����'������������������'��������������������B,����)��������������'���������������������������%�������������&���'����.������� ���������%�������'�����������������������������;���'�%������������� �����������J@G;K.��������������%�������� �����������������,��D5������E��##F�������������������������"������������������������� ������#$�%���� �����&����������,�����������,��'��������A(���'���������=��������������'��������'�7�'����������7������� ������������� �%����.��

�0�,%���$.<.*��� �����&������

��

Page 9: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � �����������-��������������

� L

��������%��!��������������

#���8���'�������(��������������,%��A���������� ����������������&��'�(�����-��� �����������������������.��������'������'�������%�����'��������������'�-��)��%������ ��������%�������'��(%����'�����+����?%������������?%��������7����������������'���������,����������-���������?%�������&���������-������(�����������������7����������'�����)�-��+��%����������������7�������(�������.�������� �����������������������$���������'������������'�����'�������'�����'�������'�����?%���&�� �����������������������(�%����������'����.�������������%��������(�������������������������������%�����-��������.�������������'���(��&� �������-������7�������'����������%��)�����������?%������%������������������%������������,%����������������������7��.����M����8���'�����%���������������,%������������������������)�!�������5�!*���������� %��������������'�������������?%�=����%��'����������������(%����������������������������)������������������������A)�-�?%������%����+%�������'�����(%��������'%����'�����'���+���������%�����'������������������,%������������.������������,��A������� ����&��'�(�����$�������A���:�4*��%������'���������������(�>����������������%��8��������,��'����7���������'��%������������������7������� ����������?%��,� ����������������(%�������������� ��)�����������'��� ������������������%��'�����������B,����.�����������%�������������%-��%���%��������%'��������������(����������������� ����'�7����*���

Classificación Robots Experimentales Aplicados

- Robot Hexapodo - Enfoque experimental

- Aplicación en la industria y exploración

Mòvils Estàticos - Robot Hexàpodo - Industriales

- Incapaces de moverse en entorno no limitado

Autonomos No autonomos Con patas Con otro tipo de locomoción

Soft i hard sobre estructura mecànica

Governdo por ordenador externo Alimentación externa

Desplazameintos más eficients Control estabilidad compleja

Posicionamento sencillo Calculos más simples

���

Page 10: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�������'�����

� �K

4. Diseño preliminar �����������A�%���������������������=��?%��������%������������7������� �����������%����������� !�:�4��.�������'��'������&������������� ��'���������������������������������������(�,%�������'��������-������������������� ��)�-��������%�������������?%����������%,��.����&����� ��#!'������(����#!�"'������������)�#������&������7���������(�,%������������� ���������%���� ������������*��D� �?%������?%�������'�����'���������%������������������������ ��'���'�������������������,�����A�������

��������?%����������'�%������.����������������� �������'����������������)�����?%���������������������������(��'������%���8����������&������.��D� ������ �����%���8������-���&����������'�����%��'�-��������������������������������������(�������������������'�7�'�����.������������������� ��'�������7��������������� �������������������7�'�������'���(��������������%������ ���������'���(�������)��������?%���������=����������>�����������������������'�����������.�������=�������������'���+����������(�>���)����������������������������?%������������A������������-����.��D� "����-����,%���7����+�����%����%������(�,%������������,�����E��������������%��������������

�����7����������� ���������'�����'���+����'���A�F.��D� �� �������'��������������������������8�����������'����'%����'��������A(����)����'����������������%��

'�-��������.���#������������'�������������������������,�������8'������������������� ������������������������'���.�������B�'���������(�������������������������� �����������'����������� ���E����������F��%����������������'�7�'�����.�����'���(�����'��������������� �������������������%���� �����&������?%�����%����%���8���������%��'���7��'%-���������*���-�'����������� ��������������������������%����������� ���'��������B����������-������������������.�����%���� ����%���8����)������' ��,�)�����'���� ��,�������%��������%����,����'������7�����������?%������������7�-���������������)��%�����?%�������%��������������� ���%���7������-��������� ��������������������.������������������'���7��)��������,���������(�,%���������&�����.������������

Page 11: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�������'�����

� ��

�������������������(�,%������)��%�,���������(��'�����%�������������� %�����������������������������������%����������� ��.���������'������������)��������'����������������%����� ���7���������(�,%���<.�.�.������������ %��������������%�����'���A����������,�������+�����,��%������������ ��.�!��������7����+�����%���'�-�����'�������������������������,��'�������'�7�'������)��� ������?%������� ������������������(A����'����������(�������������7����������������������������������+�������'���A�.���

�0�,%���<.�.�.*����(�,%������� �������������������������%���� ���

��&��������������7��������(%���'���������?%����������'���(�����%���'�-�����'��������������'�7�'��������������������������.�����������%����� 7�����'����������%���%�7��'�7�'�����)�������*���)��������' ��������������������&��A����'����)�������������'������'��������(�>���.����������� %�����radial ?%����������������(�,%���<.�. .�(%�����(����'���������,������������� !�:�4��.�"���%(��������� ��'����'������)��%�����?%���%��?%������������������&����'������,%������%��?%��������.�����������'��������)������������ %�������������'�������'B�����)�-��������7����%����(�>����'���,��B�����-�'�����'���.��

�0�,%���<.�. .*����(�,%��������������������������������%���� �����&�����.����(�,%��������������������������(�,%�����������,����(����'�������������� !�:�4��.��

�"�����������'�7�'������������A(��������*�����%�����?%������������������������������%��?%���������������������������7��'�����?%����' �������������������E����� �������'�������������F)��%�?%���������������'�7�'�������%�����'��������������������������A(��������������������.�����&�*����#!'�#'!���������)�#�����������������������������������������(�,%���������&������-������� %�����������)������������� A������������������'�-���'�7�������-������� ������������������%����������������� �+�.������������'���'�'�����������������%�����������7�����������������%��������)�����%������7�������%���������=���?%������-�����8����'����������%��������������������.��������(�,%���<.;��������������?%�'�����%����������������,����������� �����.���

�0�,%���<.;*�#����������������,���������

�� ������?%�������������� ��'�������������'�������

Page 12: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�������'�����

� �$

����������%��%������'�������������������&���'�����������������%��?%�����%�����������%���(��������%�����(�����%-��������������������������������������'���������%������)���������7�����������'�������������� ���.�������������������'�����'���������&���'�����%��������������(����������,����������� �����*�����������������(�����������������-�����������������(������������������.�������' ��,�)��%�����?%������&���'�����������������������������%��%��)���������(�����������(������%������������.����������,%�����)��������������������'����������,����������� �����.��

�0�,%���<.<.*���?%�'��������������,����������� ������

���%������������:�4.������?%�'�����%�������������������������A��������������������(�,%���<.<.�������������,����������� ���������������������������������������%��%����'���������������(�,%���<.C�E���'��������������'������������*�+�)�����������������?%AF.�

�0�,%���<.C.*������� ��������%��%����������������������%���� ��.�

E�F���������,��'����(��'� ��)�-�E F����%��������D���%����������������,����������%��%���������������������)��������%�������'�������������8����������'�����������������%��������.���������'����%���'�-�����'���������������(%������?%����������������������������7��������������������������%�������E���������B���������'����������7����,8��(����������((��������������������%��������F.���������������' ��,����������7�����������%��'�-�����(%���������������%��%��)��%�?%��B����������(����'������������ �����������'��������������,����.���������������E����*������+�����F�������������%����������,��'���%-�����,%�����%�����7������'�����������7������%�������+��������������%������.��������������7�����%��������'���������������'��'�����%������������������,��7����������������'���������������� ��)����������=�������8���������� �������,%����?%�������������,%���������������������������%��%��.����'���,������%���'�-�����'���+�����������(%��������������'�������������.�

Page 13: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���5��������

� �;

5. Diseño mecánico. �����������A�%���������������������'���������'���������?%�������%,������������%��%��������� ��.�M��������������(%���'�������*��������%������)�����������-�����%����.���������%��������'���'���������������%��������.��������7�'������'���������������?%�����'���������������������������������%����������(��'��� ���%���-��7�������������������'�������E������(%��������(�����������'��F�'��������%�� %����������������������.�������������������������=����������������������������������%�������������'����������������� ���E-��?%����'�-�����'�=���������,%������������������������7�������%������'���(����)������������'�-�������F�-����'�����?%�����(%������+�����������B�������������,����������(��'��'����(������������������&���'�.�����%����)�(����'����)��� ������������%����������������'���'�������������������������������������7�����������'���������������'�������������������������� �������������%��.����,%���'���������&�����������'�������������������'�������������%��%�����.���+����, ����#'�� !����� �����������,����������'�7������������%�������������� !�:�4������7������������������.�M���������'%-���������������������,%�����*�D� �������������?%������'������������������)��������7�'������'���������,%��������?%��(%������%�����������.�

��A)��������������7A���������)������������'������7��7��)�'���'���������������.����������������������A����'�����������������)�� ��� ������'�������������������(%�����������'����������%�����'����������������������������������������������.�

D� ������������(%������+������G����%'�����������7�'���������.�D� ������-������7��������'�=���-������.�D� ������������?%������ �����,%���%��(��'�����N5���������)�(����'�����,����� ��.�D� �������������7�'����� �+�������.�D� ���'������������%�����������������������7B������%����������'�����.�����+�*��,���)�#���������� %+����'���(���������%����������������������(�,%���C.�.�����������������'���������?%�������'��������������������=����+%��������%����'�������������������,%������'�+�����'���'��������������� +���7����������%�����*�

�0�,%���C.�.�*�����' ��+�����%������������� !�:�4���

�D� �������������� �+�����'����'��������� ��.��D� :��,%����'A��'���-�����%��%�����'�����.���

Page 14: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���5��������

� �<

����%�����'�������=�)��������������� ��������(�,%�������'��������������(�,%���C.$.���'������%����� ���7��)�B�����������������������%��%�����������������(��'� ��.�

�0�,%���C.$*����'�������=�����%������������� !�:�4��.�

������������������%��%����������������������������A�������?%�����������������%���.��������,%�����%����������'���(�������������,�������������� ���.���A�'��'�)����������������%����7�����(��%��������������������������'�������������������������������������������������������������7��'���������������?%�'�.�M������ ��A��������������,�������'�7�������������������%������.����������� A��������%������'���������'�-�����?%������������=����(�����7�)��������?%��������,������������ ��������������%'������)������������'�-������'�����������.��

�0�,%���C.;*����?%������������'���������%�������.�

������������%��%�������,����(����'����)����������%���������-�����O��,'�����O���������������������������?%�����-��%'���������-���'������������(�,%���C.;.���������������

Page 15: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���5��������

� �C

+��������'�!) ���������=�������%���������� ���������������������%������������=�����7��'���������������������������.� ��������������������� %�����������)�����������'���������7��������������*���PF���%����'�������������� ���������'�������,������)�������7�����(%�%������(���������������������������-����'����������'������������ ����� ����������,%�������'�����������.�!�'������� �������������?%�=�����'����������'�����%��,����������'���������������������������� �+��������������)��%�?%��%������������'����������������������A��������� ��.��$PF����������������������������'������������ ����������%����������������������� !�:�4���������?%��B�������,���������%������������,����.��������%���������%����&�,��������O'%�����O������������������%���������,����)�����������,�����������������������.�������'��'����-��%,�����������+���������+����������������.�#����?%�'�������%������%����7�����������(�,%���C.<.��

��

0�,%���C.<.*�������������%���������:�4)�(� ����������%�������������)�'����������������7�������������7A�%���.��

Page 16: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���������������

� �@

6. Electrónica de control. ������������A�%������������ ������������������������������������������ !�:�4��.���������%������� ������������������,�������-�'������������������?%���������7�������������'����=�����������������'�����.�������������)����'������N5)�����(�����%��������%'B�����?%���������������7��������������� ���%��������?%���� ��������������-�������?%���� �����'�������'���������������������' ��.���������,����������,������J$C;������,������������������)��� �������%�7������������-�(���������������,��'�����.�0����'���������� ������=���������'������&������������)�?%������%-������������,�����������������������7���-�,��������������������N5.��!�' �B�������������������������A�%���������� ��'�������������������������'���������������7���-�������������)�-���'������� ��A������%������.������8���'��������������%�����%��������������?%�������%'�����������������A�����������������+���������������G������.�0����'������������,���������+������D�� ��������DJ�$�������������������?%�����������'���������������.���-����,��#�!.�#��� �#! ��� !������������������)����%������ ������� !�:�4��)����� �����������������������������7��%���������7���?%�������(��'������������N5�,�����������������,�������J$C;.���� ������������=����������+����7�������������������������$5:�.����������������% ���A�%�������&�����������(%���'��������������������N5)������,�������������+�����������������-��������������� %�����������������������������'�������������B���.���,������-�����������������./���

������=����N5�������������'���������%�����7�����,����� �������%������,������J$C;.���������������7�����,��'� ����%����������'���������������;�������������������������'%-���7�����������.�������,�������%���������N5������(�����%���������%���������������������������������������.�������(�,%���@.����������������������&���.�

�0�,%���@.�*���������������%���������N5.�

���

D� ������'������������E���������KF���������,��������7���������������%���������������+��&������E&�5:�F���$�5:�)�?%����������(���%������ �����������?%�������,�����������������������������.�������������������,��'�������'����;�E0(����/�������F�������������������+��������.��

Page 17: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���������������

� �H

�D� �����,%�������������E����������F��������������,�������,������������=���,���������������.��������=����� ��������

�%������)�����%���(���%���������CK�:�.�M����������(���%������������������N5.������?%���%'���������'�����)�������,��'������' �B�����'����;)�����%������� �������%��������$�@GCK�Q�<KKKK.�

�D��������8���'�)��������������������E���������$F�,�����������������N5.�������,��'�������'������E:���>����������������,,��� �����D����F.���������'���)������7���?%��������� ��%���%���������������,������������,����������� �������%�����-����������������'�����������������������%�����������+.�%��������������'��)������������������ �+�.�������'���������%����)��������������������������������������7��7��������� ���%���%����������,���.��������(��'�)���' ������������� �������%���������%���������,��'�����������������%����������7���������N5.�����7�����?%����-�?%�����,����������������������������������P�����%�����������,��%��K.C�'������,%�����E�G$�@F�?%�����'������������������������� �+�.���������)����������������������,��'������%������������%����������7�)���������������,���7�.������' ��,�����������������������,8����� ��'�)�-��?%����������,�������%����)����������������,%������(���������������������������������� ����������������N5��������.��������������������%����7�����.������O��%��O�����%����7���������(�,%���@.$.�

�0�,%���@.$*����������N5�,�������������%�������J$C;.�

���

����?%���� ���?%�����,��'����J����7���E@�����������;����7�����������F�������(�����H�����,�������J$C;.�#������������,�������������=����N5����CK�:�)�-��?%���������+����$�5:������ ��������������'����������������.����������'��������%�����������%������������������������(%���������%&�������.������%����������@�����,����������������������������������%�������.�2������%�������%������������)���%��������%�������������������E��������������%'B����'����)���������)�������������K�'���+����������7A�%���-���A��%����7�'����F.�

�0�,%���@.;*���,��������������������������-���,������.�

�������%�%����)�������+������������������� ���������������A�'��'�����%�����,������������������������,����.�M��������%����7�����?%�'�����'�����������(�,%���@.;.�

Page 18: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���������������

� �J

�����,��������������������� ��%���P� �������?%��������������������������7��.������(����������8'����-�����7������/�)������#������������)�8����'����.���� %�����������-���� %��?%�����7������P�����,���������?%�����?%����������������������������8������'������ �����������������,�����.�����/�)������#����� ��������?%������������������������'�����?%�������������������������������(������������'��'��.�

� ���������%������ ����������������,��%������������������7���������N5�����������������+� ���������������������.��������?%��������%��������)����$�5:�)�����%�������7�����%�����������7����������%�����'���������������K.C�'������,%�����E�����%��7��������������� �������%��������;LLLLF�-��LLLL.C�'������,%�����E�����%������� �������%���������F)��������'���������K.C�'������,%�����E������������������������'�����������%���������������� �������%����F.������%����������A�����������%����������7���������N5�?%����'������������7���%����������������������@KK�-�$@KK�'������,%���������&�'���'����)�7��������������%�������������%����������������������8������(����'����.����-���*����"'�������� �#! ������� %��������������������'%-���'���(�����.�"������%������ ����������7�������������������������������7��)�-��?%�������%�����A��%���������������'�����'���+��-��������%�����������7���������G�-G����,�������'%������&���������,���.������������7��%������������� %����� �����.�������������������A�����������������7�������%�������������������%��'���������������)����������%�����%����� ��'����'���������%������)��%�?%������������������(�>��������������������'�������� ���������(����������(��'������������� ������������������������������%��������.��������(��'����������%��������%��'�������������������� �����'��������������'�'�������������������?%�����'�����������������������������'�'�������������� ���(A����.�����������������������)���������������%���������������������������'������������������������(��'���������%��������(��'����������������� ��.���A)����� !�:�4��������������%���� ��� %����?%���'���������,%������������A�������������������?%�����'�����7���(��������(��'����'����������%'���'�����������������������7�����.��������(��'���������(%���'�����'�������,����)��������?%��������������%�����������������'���������'���+��?%���=����������-����'������.�

�0�,%���@.<*��������� %�����������������'��������������:�4.�

��

��

������� ��� %������������'����������������'����������������� �� �������������+������������1��)���?%�'���������������(�,%���@.<.�

Page 19: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���������������

� �L

���"'��������) ( ���������������������'����������������������������%������������%�������������&���'���������������.�M�������������������,��'�������������?%B�����������������'��������-������������%����-��%�������)����'������������������+%������������������������������'��'��.����������'������������������������'������%����������������7�����������7��������*��D���� �+������������������%����������&���������������'������)�%���������������������'����������������'�����������������������%�������%�(� ���������'��%���������?%������������� �����������������%(�������'�����(�� ���.��D������� ��'�� ��������������������?%��%���%�������������B�����7�����8���������������������-�����������%����E�� ������%���������������7��������-G�����%� �+������� ������F.�������%��������������������7��������%����������,%��� �+�������������������?%������%���������������=�������������)������ %�������������������'������������7����������� 8�?%������������,%���������-�������� ��.����"'�������%�!���������������0������������%'��%��������������7�����'�7�'���������������������������� ��)��� ��������������'����������(%,�������7���%���������������=�������7��������������+�����������������������������������.������ ����������'����������������������������������� %�������������-�������������������,���������������+����������������.���A)������(�>��������������������������%�����%���������7�������������������� ������������'�����-������������)���������,���������7�����������������.������ %������������'�����)���������)�����������?%��7%��7���������������+�����������������������������������%�'�����������������������7���(�������-��%��������7��������������%�����.���-������,����'��#���������$��#���������������%�������������(%������������'���������������������������������������&������������������.�#���������������'����������J����7��.��������%'�����B��������7���� �������������������������������������������������%���������������������-�����������.�������7������'����������?%�����(%�����%���������������������7������,������������%(��������������������������������'����+������������������7�������������)�-��?%����������������(%������������A'���������������������������'�������������������7��)������'�����'�������������'��'������������'������� ��.����������(%��������������������������������������+��������������������������(�%�������E������������������F����������'�������������������7��.�������������C�7�������-����'�����)�����,A��'���?%���%(�����������������H��J$C;�-������,����������������.��� ���������' ���������,������������������' ���(%�����)�B���������%������������'%�����)��%�������(%���������B���������������,����%�����������,��7��A�.���������� ����������������������������' ���������������-����*����%�������(%�������� ����A����� ������'��'���� ��.����������� �������%���(�%�������������� ������������� ���-����%��&����7����'�=��������������������(%�����)��=��������?%��B������������������������(��'���%�������&���������������B������.��-�*�,��#�!.�#������1�������������������'�����������������������+����������������-������������������������*�����GJ$CC�-������D�� �����'���������DJ�$��.�����'�+��������%��������������� ����������������,%���)�?%��������%���������(����'����.���������� ���?%�����'%��������������%�����)������%'���������7����+����������7�������������' ��.���

Page 20: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���������������

� $K

��������������2�����1�3*++4��

VENTAJAS INCONVENIENTES

D� �+��������D�5�������'�=��D�<J� ��������G�������(�,%�� ����D�����;���������������%��������J$C;�������� �����

D�����+�������������������������������>������������������D�5�������������%�����������������������������������D�"����������������7���������G)��%�?%��B���������������������� ����D�����������'�����'��������������+����������+��������������������'�������������������������?%��������������

�����2�������5,� ����4��

VENTAJAS INCONVENIENTES

D5�-���(���������������,��'������D������ �������������7���������G�-�G��D����+��������� ���������%��������������%����)�?%��������������%���(���%������(�+��-��&��������$�5:��D����� %���������������������������������������(��'��'��%�����

D5�-�����'�=��-�������D��@� ����������������,�����-��@� �����������������,�������������(�,%�� ����D�����%��������������%��J$C;��� ��������������,��'������

����-����� $'�����������#!��#�!.�#����������?%�'������������������� %�������������?%����'%������������+��������G��-������������������%����� ���7�����������(�,%���@.<.�

Page 21: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=���������������

� $�

�0�,.�@.<.*� %���������'%����������������������������-����� !�:�4��.�

��

��������� %���������%����*��5� �����������6��-��7����84����7A�����������J� ����������������������������������,��'��������J$C;�������'��'�)�-����� �����8���'����������J� ������7����.��5� ���������,�6����7����84�����������������=�����?%���������������(%������'������������������������.������A��������*��

���!�#'!��6�9 ��84��%���%���� �+������������=��������?%�����8���'���������7����������������������������,��'��%����,���������%�����������J$C;.����� .�6��,:�84���%��������������������$5:������������ �����������(%������'��������������J$C;.����"���#����������!�� .�6����,:�84�������=������'�������'����������=�����R�����������������������������J$C;�������������������.����8���������������?%���������7�����+�������+��������������������%������������� ����(%����.���

5� �������,����;��6�+��7�����84�����������������������������������,������J$C;����?%���(�������������&�'����=������������%��.�������������������������������%����,�����������������'��'�.��5� ������,�������6�-��7�����84������ %��%����������������7A��������������������%���������E�%�����������F����������������������������'�'����.�#�����=����������������.��

Page 22: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� $$

7. Estructura del Software. ������(�>��������������������������� %����+����?%���'����������7������'��%���.������%�������������'���'�����(%������������� +���7���������������������������%���7������� ���������.��������������������7��,��������(�?%�����������������?%�������������=����'%�������������� �����������������%����)������������������� ����������������.��������������+����?%A��������(�>�����������������,%�����������7��������� ���������*��D�2���� 3 �4!���$����'������������������>���.������������,�����������%������������ ����������������������������7�������������&���'��������������������=�����%������������������,��'��������J$C;����������+����������������.��D�2����.5�2�6���7���7 �!��8 �!����0$�����7��������'����.������(������������������7�����������������7���'��������-���������%�������'������ �������������7����+��%���.��'���'��������%������%��������-������������� ����������������� ���%��'��������'���(������������ ��.��D2����.5�2�6���7���7 ���9��� 2!�0$������7���'������������������'��������������.������������������������%����������?%������� ��������7����)��7��������������+�)���7�����������������7�������(��������������%������'���������������-�����������������%�������������7��%�����-��%��+��%����.��

�0�,%���H.�*������ %�����+����?%����������(�>���������������

��

����������� %���������%����7�����?%�'�����'�����������(�,%���H.�.�������'��'������ ���7�������'��%������(�>����'����'����������?%��������������������7��.�����(�������������'��%���������������(�%+�������(��'����������������'��'���������%��������.����,%���'���������&�������������������������'��%����-�������?%��������������������(�,%�����������.�������

Page 23: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� $;

��<������%����2���������������7����������������'��%����?%�����'������������%��������������������'��������������������'��������������%�������������'�����������������,��'����������������7������������+����������������.�"�������%�����������������������������������������������������(���%���������'�7�'������.����'���������' ��,�����'����%��������� �+����7���������� %���)�-������������������������� ��������������������'��'��.���������7��������'������������'��%���� ������*��������"!������������������7����������8�����������7����+��%���.�������!��S�!������%�������(���?%�����������������������'��%�������"!�����������������+��������G��?%����������%���������.���:��������������!��3 !�0��

������(�>��������������������������� �+��������������+���������G����'��������.������'��%�����������������������������'������'���+������%��?%�������������.�#���7����������������������?%B����+�������%��������)������7A�����������������������������'��'���(%�������)��������������'���������%������B�����7���.��������'����)����'��%����+��%������������������%���(��'��%��������,8��?%B����+������������������.��������������(%������������������7A�����%����������J� ������%��������������,�������J$C;����������+����������������)������������������������'��%���-����������������7������������������������.�M����8���'��(%��������'���'��������'�������8���'�������?%�������7��������'��'��-����������������������������,�����.�����'��)������������%���(%������?%����7%��7�������������������@��%��������������� �����'���'��������%��������.���:���%�������������2!��5��

�M����������'����'���������������7����+��%���.�������������7������,�%�������(%�������*��D�����������������������+����������������.��D������� ���������������7��.��D���'������������������,�������J$C;.��D��������������� ������������������%���������E�����%����-�����������F)����%-������������������������������'%-���'����.��D����������)����������%��������'�����,%����)�����������������������������������?%������+��%��.��D�������%�������%��������)���'����������7���?%��������������������������'��%������!��S�!��.����,%���'���������&�����������'�����������������,�%���.����

Page 24: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� $<

������7.1.2.1 FUNCIONES DE INICIACIÓN ������%���(%�����������������������,�%��.��������+��%������ ��,�����������������%��?%���������������(���%��������%��?%���������'��%����%���������B���.���������������+����CK�:�����������+����������������)����,�����'�'����������������� ���������� ���������������7��)����,��'���������'����������J$C;���������%�����������������������������������E����,����F)�-�����8���'�)�'�������������,�����)���,8���%����������������(������� ���������+���.���7.1.2.2. FUNCIONES RELATIVAS AL CALIBRADO DE LOS SERVOS ����������������'������������,%��������������(��'������?%�����'������ ���?%B�����������%����������7���������N5����������������������7�����������7����%�����������������'�����.��%�����?%�����������������'�7�'�������������� �����'�������� %����� �����)�������������%����� ��'�*����,��������������������(��'�����.�������� ��'�����������%������������������%�����%���������������%�������?%������������������������7����,������7�������7��%������������������'�����*��%����������'���������������.���������)���-�%�����������������������������������%����������7��������������N5�-�����������������7�.���A��%��)���������,%�'����� ���?%B�����������%�������������������������%���������7����K�,�����)�?%B�����������%�������������������������%��������������������������-�?%B����������������������������%�������LK�,�����)������'����� ���?%B����������������������������%���������%��?%������������)�-�?%B����,�����'�7�'������������E���,�����F.��������������������K�-�LK�,�������������,�����������%�(��������������'��� ������7��%��)�-��?%��������� �����E�������,��������������������������������7�F������������O��'���O.���������)�%����������������������,����������7��������

'��%��'�������������������%����������?%������'��?%��������7�����������%�����������������������.���

��7.1.2.3. FUNCIONES PARA EL MAPEADO DE LOS INTEGRADOS. �������+�����������������������%��A��(A����'������� �������%����������� ��)������������'���'����������������������������������������������������7��.����������������)��%������ ������ ��'�����������������&�����.��������7������������������ ��)�������(%�����������'���������������%�����������������%��������������,�������J$C;)����(��'��?%����������������7���������'��'�������(����������������.�����������' �������� ���������������+����E��'������ 7��F.�����'����������?%�����������(�����%���8'�������������������(���������%�������)�B������������%��������7����������8'����?%��������������������������.���������)���-�%���8'��������������,����E���?%�����������(�������'������������������ ������������F�-������(A�����E�������������'������������������������������$)������+�'���F.��#���7�������������%��'������)�������������(�������������������,����������O���7�����O�������������������������������(A����.���7.1.2.4. FUNCIONES DE POSICIONEMIENTO BÁSICO DE LAS ARTCULACIONES �

Page 25: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� $C

���'���������������������%�������������7��%�����E�������������� ���������������������������� �������F�������&���'�����%��������E��������������������������)��������'��'�����7����F.�!�'���������������?%�����������%������������,%����(����7�'��������%�����������������������.������' ��,�)��&������(%���������%&����������������,�%���?%������%����������'�������'����������,���)� ������������������������������������)�(�����-�������7���������'��������%�����7�.�������(%����������������,�%������'�����,�����������������������'���������������,���-���������E�������������������'����F�-��+��%��������'�7�'���������������7��������������������.���������%�������&�'������ �������� %�����������������������������������'��%���������"�0�����1")�-������%����%���������������������'�-���������������������.�����'��)��&������������ �������������%����������8���'����������������7���������������7��)�-��?%��B��������,%�������������'����.��2�����8���'�)���-�(%���������%&��������������������%��������������������������7����������'������������������ ����������%�����7�)���A���'�����������%����%���'������������7������������������������������������������%��������E?%�������'�-����%�����'��������������� �������������������7�����������������%���������F.���7.1.2.5. FUNCIONES PARA LA GENERACIÓN DE RETARDOS. ��������-�%���(%��������������,�%��)�-����'%-���'���*�'���������������+����������������������)�-�����������%�������)���������������������������%��������'�����,%����.������(%�������������=�����?%���������������,����� ����'��������(%��������������'�������������������������������������������.���7.1.2.6. FUNCIONES RELACIONADAS CON LOS PULSADORES. � ������������������,������'��%������!��S�!��)��%��������������������������7���������?%��%�����������������%����E������?%���%��%��������������7�F���������?%����+������������.���A�'��'�)����'��������(��'����'������ ������%���%�������������������������7���.�����<�*�����%����,���=������������>�����������������7���������+����?%A�������'���������'�7�'�������,������������������7����%�������E���"�0�������56�5��"!�F�������-�������������7��%���������������������������%������)�-������+��%���������%������%����������7��������������������������������������%���������7�����(������E�S��#!�F.����A�'��'�)������������������7���������8�������'��%����?%���'���'���������'�������������������� ��)���������(%��������?%�����'����������������'��'�.������'��%����'����'����������?%�������'���������������������"���E�������������������������������������'������-G������:�4F�-����������"�0�����1"�E�����'���������'�7�'�������������-��������������%�����F.���:�%���������������5�0��2 0���

Page 26: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� $@

��������'��%���������%�����������(%��������������������������������������(�������������������������������������������� ����

�0�,%���H.$*�������,%����A'����������������.�

�����%�����?%��������������������� �+������������������'�����%���(���������������������'���������������������������7�'�����,�����)�����%����������������'���(������������%��������������%���'��������������.����������������������������� ����������������O������,%�����A'����O)��&�����������������,%��������������.������(%����������������'��%���������������������,�%������(����������*�D���O������,%�����A'���O.�D���������������(%�%����'�7�'������.�D�������'�������������������������������������.���7.2.1.1. FUNCIONES RELATIVAS A LOS “RECTANGULOS LIMITE” ����������,%����A'�������%�����������������������������������42����������'���)�-�������������,%������'����������?%���������������%����������������-�����������,�����������������42����������'�������������������,'����������������.������%����� ���7���%���+�'�������������,%����A'����������(�,%���H.$����'�����7��(����'����)�������?%���������������������������������������%��7���E����&������������������� �������������������������������������������'��������������� ��F�������%����������%�������������������������������������,%���������������������'��'�������.������������7��<T@�Q�$<�����%����������������������'�������D������,%��)�?%������%�������'���(�����������%���%�������'�����������������������?%��%����������������,%�����A'�������,�����������������������������+��.����A)��������%�������������������������������'���������?%��(��'����������������������������,%����A'�������������������,%���������%�������,����'�����.�����(%���������������������������,�%�����7%��7����������������������������,%����A'�������%�������.���7.2.1.2. FUNCIONES PARA EL ANALISI DE MOVIMIENTOS �:�-�%���8�����(%��������������,�%��.���������,�������7��7�����(��'�������� ������������������?%����%����A������%��������%����������%���������(���%�����������'�7�'�����.�#�������%������'����������������������������������������������������������� ������'���������� �������� ��.�

Page 27: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� $H

������(%����������%��������������������������������������,%�����A'���������������?%���(���8�����'�7�'������-������������������������-�������.���(��'�����%���,������������?%B������������������������������A��E-�������,��A�����������F)����'��������������������'�7�'���������7����A��?%����������%�������?%�����7�����(���%���������������������,������ ������'�7�'�����)������'�������������������������� ��������������7�.�!�����������(��'��������%���%����������������������*����������������������?%B�����������������A��-������?%�����������������������������(%����������,�.���7.2.1.3. FUNCIONES PARA LA OPTIMIZACIÓN DE LOS CALCULOS �� ������?%������%��������'���(��������?%���%��������%������������,%�����A'��������������������7��������������7�'�����,����������������������%��������������������E���'����%����������������������%���'��������'�,B�������������������������,%��������������������������%�������'�������(��������F)����������7������������ ��������������'�������,%�������������������%��.����������%�������7������� �����'����?%����-��'�'������������ ������������)��%�����?%���������'����������������������'����������'�'������������%����������������������%���)����7��'�����,��������.���������'����)��������'�����������%�����������'����������,��%����������������,%����A'����E���'������,������������������)����8�����?%�����7���� ��*����������������7�������?%�����,���������,%����������������%��������������' ���-����������������F.����������������+�����7���������������%�������E��' ��)����F������'���������%���,������ ���������,��%������������,%����A'���.����7.2.2. Módulo de PLANIFICACIÓN �������)�������(�������)����'��%���'�����'���+��-����������������������(�>��������� !�:�4��.�����������)���������%��������(�����������7���������-���������E���%���������������������������������%��������%����������%�������F���'%����������%�������)��������� ������������������������������������������������������'��.����'��%��������+����?%�������������'����.��������'��������)�'��� �����)����'���*��D����=���-��+��%����������%������%���������������E���+%��������7���������-��������F�D��������������������-������������%������)���������������%�(�����������.���������)�������?%��(������������'��'�����'��.�D�������������������������������������������������������������������������&���'�����%�������.�D�������(����������%���������������-�����������������������������%��������������������E������������)������&���'�����%�������F.�D�������(������������-���������'��������%�����%�����,%�+��'%-���'����������?%��������%�������%������������7�����'��=�������%������,��?%����������������,��'�����B�����������������)������%���)����.�D�����%��������������������������-��������%���7���(������������������E��(��'�������� ��������������-��+%�������������������(%����������,�F.�������,%������������%����&����������������������.��=����������,%���������������A������*�D�5���+��������������.�M���������%����'�����������������������������7�����������)�?%������������*�

D� �������������������%��?%�����%�������%������-�������.��

D� ������(����������������������������7��)���������������������������%��������'�������������.�D� �����������������������������������������������������%�������������������.�

Page 28: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� $J

D������������������%�����%�����,%�+��'�������������������������(��������������-��������)�?%�������'���������%�7������� �����������������%���������.�D���(��'����������������������+��%����������%��������'%����'�����'������-������A(����?%������������������������������ �����.������(%��������?%����'�����������'��%�������'%�����-�'%-���7�����)��������?%����������%����������&���������������������(%���'�����������?%����� �����-���������(%���������������%���.���7.2.2.1. PLANES #������������������J����-��������)�%�����������������%�������������������)�?%���%�������������(�����������.���������������+��%�����)��� ���� ������'�����%�����(�����.�:�-�7������(%��������?%�����'����������(����������'���������%������-�������.�����%����������%������-��������'��������������'������(%��������?%���=������%����)������������%������%������ ���%����������������������������.������(��'���%��������������������%�����%�����%��.�� �����%�������������������'�����%������-��������'��������%�����%�����,%�+�� �����.���������,%�+������������������� �������7�.������'���'�����%�������������%����.����������%������������+%��������<�7������*������;����'�����������(�����%���������������.������%����)�������K)��������?%���������������������������%�����.�������'�-���?%��K)������+�'����Q)��������?%����������������������������������-������(����������&���'������������.����'��)�����������%����������������������-��������-������%���)��� ���?%�����������%���������������������������Q �����.��������(��'�)������(�����@����� �������-��������)�?%���������'���������&��������������J�E-��?%�������%�������������������������������;�7�������������������%�������������������F.���������+��%��������%������)��%����������(�������?%�������������������(����������������������������-��������.�!�' �B�����������(�����������������+��%������������*�������'�����)��������� ���������' ��.����'��)�������� ����������7�����������������������������.��M�����%�����������<������*����%���?4�����,�����������������������������������-����������������(%����������,�.�����+��%��������������������%�������������������'��'��.�:�-�?%����������������(���������&�������������������������+���������*�� ����������������;�������������'��������������������������'������������������7�.�������,%������A����7������������)�-��?%���%���������%��������������%�������������'���� ��.����%����4������-���,%�����������)���������������-���������������������������%�������?%�����������7�����.�������'������-���������������8�������+��%����)�-������+%�������������������(%����������,����,%�����������,��������E��������F.� ��%���*4����,%���,�����������������������(%����������,�)�������%��?%����������������7������?%������������������,��������'�����.��

��%����4����'������������7�.��%��?%������������������������������������������?%������������������,�.���!�����������������E����B&��������F����%������)�����%��������%������������������?%�����?%�����%��?%���������������-��������.������(��'�������������������������B�����������������(%���������������������'�7�'������.���������'�����%������7���,%�����������%����?%�����7�������������������.�����(������������?%���������������������������+��%����%�������������������(�����������%���(%��������������'�����������������.������7���?%������%����%����������%����������+��%�������������)���������'���������(%�����.����?%��B����

Page 29: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� $L

�������������(�%��������������%��������������+��%����)����7�����?%�����������'����������������������(�������?%������� �����'��������'��'�.���������8�������?%���'�����������)������+�'���)����%���������?%��� �������'������'���������+��%��������%������.����7.2.2.2. PSEUDOCONCURRENCIA �����+��%�������������������������������������-������������%������������������'��������%����,����'�.� ���7��'�����������+��%�������������)������������%���������������-�������������������&���������-G������%�������������������������%�����.������,����'�������'����,%�*���.D���7�������������7���E�����'�����)������' ��F��������������������������������-���������?%��������B�����������.������'��������������)����,%������-����������������������)��������?%�����������������'��'�����'���������������������������������.�������7��'����������7A�������,%��������������%��������%������������������?%���� ���%�����������������������)�������8�����������%���������������7������� ���������������'�����������������������+%����.��$.D!������7����%��������������%�����7�)��������-�����������?%�����������������������)�-���'������������'�������'����?%����������������7��������%��������������������������(�����.���;.D��� %�������'��������'�������������?%�������-������%����.��<.D����������������'�������������������'������������������������������-������������������)�?%��������?%������?%���%7�������������'���'A��'��������������������,%����+��%�������.��C.D������'�������(%��������������'����������������������������������,%����������%�����.��@.D���7%��7��������'�����?%���������������-�����������-������'�������������-������ ����������������'���������+��%��������������(%��������������'�����������������.���7.2.2.3. SUPERPLANES ��������'��%�����������(�����������%���'�-�����������.� �����'�������������+��%�����������%��7�����������'������7������������.������%��������%��������B������������%-��������%����������������������������%�������.���� <��� ���%����,���=����������@A�@��������������7����������������'��%���������������������'�����������'�������������E*��������,�B�F������ !�:�4��)���A���'��������������'�7�'�����������������7���E��7����'�����)�������)���' ���������%��F.�!�������������(��������'��%������56�5��"!)������������������%�����.���:������6������������������������*��������� ��

#�������,%���������-�������(��'�������������&���'����������������������� ���E������'�����F�?%�����'������������� �����������������������-������������������.��%������ ���7�����������,%����������-�����������������%���'��'��

Page 30: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ���=�����(�>����

� ;K

���������,�� �������� !�:�4��.����?%��%�����������B����-�����������%����������?%���7���(��������%��%������.����&�����%���(%������?%�����?%�����������������������(��'��������,%���������-�.����������������'��� ��������������-�������7��������E��,%����������+�������������'���F���������������'����������� ����� ������������?%��(��'����������,%���������������������������'��'�.���������������'����������������������������������������,������������'���)���������(%������?%����7%��7���%���������������%����'���(��������������=���(%�%��������������'�����%������%���'��������������B����E��������������������������������������-��%������� %�������������'�'����F.���7.3.1.1. FUNCIONES PARA EL MOVIMIENTO DE ALTO NIVEL ��'��-���������&�������)��&�������%�����'�7�'�����������������7��*��,�%��#�$���# 4���������������%�������%�������,����E���������������%�������������7����������������)���B�������������?%���������+%��������%B�����������������'��%��������"!���-G�����5�����5���0���F)�������������?%������� ��������7�����7�������'�����������?%�������������������������%����������(���������������������.���������%��'�7�'������?%���������������������@����������'��'�����'���E�����'���'����������(%�����-������A��������%'������������7��F.�M������'����������%�����������%����������7����%���������� �����-�.�#���7������������B����A)���'���������������������,%���������7��������������-��E���%������-�������������������������7���������������F����������,����������%�����������-�.����) � 4� ���������������� ���������)�������������'����������% �������%�7���������7��������������-�����������,������%���%���������� �����-�.������A)��������,����������%����������������������������7��)���������������.���������������������'�7�'��������������������� ���������� ��������)���������%������'���������(%�����������7����'�����.����%����4�������������������%�� %���.�������-�����%B��������������)������ ����� ����������������������.�%���������������)���������?%���7��������������������������������������������(�����.���� %�����������������������,������������������?%����������������7��������������?%����-����,8�������)����?%���������%����.������,����'��?%����,%������%��7�����������������������������$�?%�����'%��������������%��������,����������,��*��

�.D����%�������'A��'������������?%������%���������������������������������������������7����.����B�������'�-���?%���������������?%������� ����� ���7�����)�����,���B����8���'����'��'A��'�����������.�

�$.D��7����������������������-����%���������������������.�5�������)������ ���������-����������������'�����.�

�;.D����������������������������������������������������������������.���'��������������%��������������%���)������,%�������������������%����������� ������������������������7����)��%�����?%���'�%+����������������%���.�

�<.D��7�����������������'������-����%���������(��'��?%������� �������%�7�'�����������.���������������������� �����������������'�7�'�������%�����?%�����������������$�-�;�-�����������������������.�

�C.D�%'���������������������������������)�����'A��'�����������.�

�@.D����8���������������������������������������������(�������������'����)�7��7���������'��������������,����'�.�

Page 31: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;�

APENDICE A Servomecanismos de control ������������B���������'%������%�����������������'����������������7���%��������������������=�������� !�:�4��.� �������)��# ��$��B��� �������&������'%����%�����'�������������7��������������������.�������'��������������������,���������%�����7���������(�,%����.�.����������7����+������%���(%��������;UK�R,G�'�-��������KU$$���,.����'�7�����@KP.�

�0�,%����.�*��'�������������������7�������� !�:�4��.�

�������*����)��# ������#!���� ����������7������ �+�������%�����,��������'���������������7�'������'�����E������%����C�7�������������J�7������)�����&�'���'����F.���'�-���7����+��������'��������)�'�-���7���������-�(%���������������%����.�������������'�������������������7������������7��%����������,���������(��'�����N5�E.����/���<���������F.��������(��'�������%���7�����������%���������%�������?%�������(�����������B�������?%������%������������%����������7��E����,���7�F����7���� ��)�'��������������'�������'��'��(���%�����.�������%�����������(������������?%���������������.����������������������7��)�����%�������������������������������������� ���%���?%���� ������'�������+�.����������%������ ����������������,��%������������������7���������N5�����������������+� ���������������������.��������?%��������%��������)����$�5:�)�����%�������7�����%�����������7����������%�����'���������������K.C�'������,%�����E�����%��7��������������� �������%��������;LLLLF�-��LLLL.C�'������,%�����E�����%������� ������

Page 32: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;$

�%���������F)��������'���������K.C�'������,%�����E������������������������'�����������%���������������� �������%����F.��"���������'���� ���%��������7����������������� �������%������%�����������;LLLL�E���K)�?%������?%�7���������@CC;@F)�-��?%��������?%������%������������%������,���7�������������%���������$K�'�����,%����)�?%�����������A���� ������������������N5����CK�:�.�����?%�������=���,��������(�����������������'��������B����������'�����%��%����)�������������O��,��������O����7������%�����������7�������'����)��%-�����,��%��������<KKKKD0TK.C�'������,%�����E������0����������� �������%����)�0VQ<KKKKF.��������������������,%���%�������)�-��?%����������,��%�����������'���������������$KKKK�E0Q<KKKKF�-�H$;$�E0QK)�?%�����������������@CC;@F�'������,%����)�7�������� ����������������������O�����,��������OW�-����'���������?%�����������N5���' ����%����A�������������'�-��)����<K�'�����,%�����E$C�:�F.������%����������A�����������%����������7���������N5�?%����'������������7���%����������������������@KK�-�$@KK�'������,%���������&�'���'����)�7��������������%�������������%����������������������8������(����'����.�

Page 33: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;;

APENDICE B Estructura mecánica del ROBT HEXAPODO: (Patas) ����������������?%���������' ���������(��'���%������������:�4��������(� ������������%'����������''�����������.������������������'��%��'����������,%�������O�O���������'����������������������'�-��������������.� � Estructura mecánica del ROBT HEXAPODO: (Cuerpo) ��������?%�'����(���������'%���������������������������������%���������:�4.�M���������������%���������������� ���%����������������%'������������$�''�����������)����������������7����������������������������������������7�������������7A�%���.�

Page 34: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;<

APENDICE C Descripción del i8253 �������,������J$C;�������������,%���������������A�������,��������*��D�!��������������������'���������������������������@� ���.�D����������������+����(���%��������'���������������K�-�$U@�5:�.�D�6������'�����������,��'�����������������������.�D��%������ ������������� �.�D����'������������C�7.�D���=�������'���� ����!!�.����������%����������(�����%�����%'�����������+�������������������,����)�������?%�������������������%�����'���������������.��='��� ���������J$C;����%�����'�����'%���D��'�����������������������,�������?%���%������������������'��%���O��+����,��O������������(�>�������������'�.����,%�����������%����'����A�����������J$C;�����������,%������*��D�����������������������(���%���������,��'� ��.�D��������������7�����.�D��7��������(���%������.�D�����+�������'�������.�D���������������%����.�D���������������'���+�����'������.����#�������)����������=������J��A����� ��������������.��%��������������������������*���������E������%��������,��'��������������F)��������E���������F�-����������'���������E���������� �������F.��5�����=�#����7��� �+�������������������������������������� %�����������������������%���������� %((�������%��������������������)����7��'�����������������.�"��������'��������������,����������������.��Escritura: #����7��� �+�����������������������?%�������������� %�����������������%������������,����������������E;� %((�����������������������)������%�������@� ���)�-������,����������������)����J� ���F. ���������

Page 35: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;C

A0-A1 nª de registro: ������(�����E�������������%�����'��������%��F������,���������?%�������������*�

�?� ��� ��C��#! �?� ?� %((������������K�?� �� %((���������������� ?� %((������������$��� �� ��,�����������������

��

�<���0����=�5������������������������'�����������7��� �+�)���������������������G����������J$C;��������� ��?%������E %��������������������'��������F.�

Page 36: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;@

APENDICE D Descripción de la tarjeta I/S E/O ��������+������'�����������G��������������,%���������������A�������,��������*��D�#������,������J$C;��%-�������������������������������� ����������%����,��'�����.�D��������,�������J$CC�?%����������������������' ���<J� ��������G�)���7����������,�%����E��-� F�-���,�������E�) �-��F���������������,����.�D�#�����=����������+������������$U;J@;;;�5:�)��%�?%������������������������ �������������������������,�'��������D������-�����������'�%���������@����������������������������������,%�����A���������G����,������.���� ���������' ��,����������� ��'���?%�������%'�������������%�����)������������(��� ���%��������������+�������� ��������DJ�$��*��D�����+�������������������������������>�����������������.�D�5�������������%����������������������������������.�D�"����������������7���������G)��%�?%��B���������������������� ���.�D�����������'�����'��������������+����������+��������������������'�������������������������?%������������.�������!�)�����������#�!.�#����,�"��!�����������%����������(�����%���������������,��������������(%�������������������+����%�������������������(�>���������'%����������������� !�:�4��.���������������������� ���

D��@���������������,������������7���������G���������%������$� ���.�D�$��������������,������������7��������G����������%������$� ���.�D����,�����������=����������,�����������DC7�-�XC7.�D����7���������G���������&�'���������%����7���-�G������'%������������'����A����.��6���������������7��������G�'�&�'�����;K�R:�.�!��'���������� ����'����������������������7������G�����;K�'��,.��D�!����(����������������������,��������������������7�)�������%��������5�.�D��@� �����������������,�������'���� ���!!�.�D��@� ����������������,�������'���� ���!!�.�D�#�����������7���J$C;������������������ �����������%�%����.�D�����+��������������� ������$�5:�.�

Page 37: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;H

APENDICE E Valoración Económica

Componentes Precio

un. Unidades P.V.P.

Servo 6,39 18 115,02 Pieza Al (Cuerpo) 14,09 1 14,09 Patas Al (3 piezas) 0,61 6 3,66

Micro i8253 9,86 7 69,02 Tarjeta I/O 69,99 1 69,99

Led 0,15 16 2,4 Cableado 0,35 18 6,3 Tornilleria 0,22 30 6,6

Fuente alimentación

3,589 1 3,589

Fuente alimentación

2,658 1 2,658

Minirru. SS5GL2 OMRON

0,48 6 2,88

TOTAL: 296,207

����������(�������������=������&�'���'��������������$L@.$KH��%���.�

Page 38: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;J

APENDICE F Ejemplo de programación �����������,��'������������ ��)����%���������������,%�+���.����������%���������'%������%���+�'����������,��'���������%���� �����&������������,%�+���*�� #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <stdarg.h> #include <string.h> #include <math.h> #include <signal.h> #include "robi.h" /* ----------- */ static int opt_r=0; static int fd=0; /* ----------- */ /* ----------- */ void help() { printf("pprobi -- Software de control para el robot andante\n\ USO: pprobi [-h] [parport-device]\n\ \n\ OPCIONES:\n\ -h HELP\n\ -r puesta a cero de los pins del port paralelo y exit\n\ \n\ El device es por defecto /dev/parport0 \n\ "); #ifdef VERINFO puts(VERINFO); #endif exit(0); } /* Evento : todo apagado y fin */ void offandexit(int code) { robi_setdata(fd,0); set_terminal(0); exit(0); } /* ----------- */ int main(int argc, char **argv) { int state,bpat,alternate; char *dev; /*Lo siguiente es utilizado por getopt: */ int ch; extern char *optarg; extern int optind; extern int opterr; opterr = 0; while ((ch = (char)getopt(argc, argv, "hr")) != -1) { switch (ch) { case 'h':

Page 39: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� ;L

help(); /*no hay ruptura, desde help no se vuelve */ case 'r': opt_r=1; break; case ¿': fprintf(stderr, "serialtemp ERROR: Opción no diponible. Ayuda : -h.\n"); exit(1); /*sin acción */ } } if (argc-optind < 1){ /* sin argumentos */ dev="/dev/parport0"; }else{ /* el usuario a asignado un argumento */ dev=argv[optind]; } fd=robi_claim(dev); /* robi_claim autochequeo de errores */ /* Se captura las señales INT y TERM y se ponen todas la lineas de datos a cero antes de * terminar */ signal(SIGINT, offandexit); signal(SIGTERM, offandexit); /* Inicialización de la linea de datos parpprt a cero: */ robi_setdata(fd,0); set_terminal(1); /* set_terminal tiene su propio sistema de detección de errores */ state=0; alternate=0; if (opt_r){ offandexit(1); } while(1){ ch=getchoice(); if (ch!=0) state=ch; if (ch == ' '){ printf("Stop\n"); robi_setdata(fd,0); usleep(500*1000); } if (ch == 'q'|| ch == 'x'){ printf("Quit\n"); break; } if (state=='l'){ /*derecha */ printf("Desplazamiento a la derecha\n"); walkright(fd); } if (state=='h'){ /*left */ printf("desplazamiento a la izquierda\n"); walkleft(fd); } if (state=='j'){ printf("marcha atras\n"); walkback(fd); } if (state=='k'){ if (alternate){ printf("desplazamiento hacia a\n"); walkstraight_a(fd); }else{

Page 40: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� <K

printf("esplazamiento hacia b\n"); walkstraight_b(fd); } alternate=(alternate +1) %2; } } /* Si llegado aqui se ha pulsado q */ set_terminal(0); return (0); } ==== robi.c ===== /* vim: set sw=8 ts=8 si : */ #include <stdio.h> #include <stdlib.h> #include <stdarg.h> #include <sys/types.h> #include <sys/time.h> #include <fcntl.h> #include <unistd.h> #include <signal.h> #include <linux/ppdev.h> #include <sys/ioctl.h> #include <termios.h> #include "robi.h" /* como printf pero se abandona el programa*/ static int die(const char *fmt, ...) { va_list ap; va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); exit(1); } /* Se coge un caracter de stdin * Si el caracter leido es diferente de cero, se devuelve no cero * Asignación de las flechas: * <- = h * -> = l * v = j * ^ = k */ int getchoice() { int c; char s[20]; if (fgets(s,20,stdin)){ c=s[0]; switch (c){ case 0x1b: /* ESC */ if (s[1] == 0x5b){ /* si se pulsan las flechas */ switch (s[2]){ case 0x41: /*flecha arriba*/ c='k'; break; case 0x42: /*dflecha abajo*/ c='j'; break; case 0x44: /*tecla l */

Page 41: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� <�

c='h'; break; case 0x43: /*tecla r */ c='l'; break; default: c=0; } }else{ c=0; } break; case ' ': case 'h': case 'j': case 'k': case 'l': case 'q': case 'x': break; default: c=0; } return(c); } return(0); } /* Activa el terminal en modo no canonico * o se resetea es terminal. * Uso: set_terminal(1) para modo canonico */ int set_terminal(int canonical) { static struct termios originalsettings; struct termios newsettings; static int origok=0; /* sActivo si originalsettings es valido */ if (canonical){ /* Guarda los parametros y se activa el modo canonico*/ tcgetattr(fileno(stdin),&originalsettings); newsettings=originalsettings; newsettings.c_lflag &= ~ICANON; newsettings.c_lflag &= ~ECHO; newsettings.c_cc[VMIN]=0; /* do not block */ newsettings.c_cc[VTIME]=1; /* 100 ms */ if (tcsetattr(fileno(stdin),TCSANOW,&newsettings) !=0){ die("ERROR: No se han podido activar los atributos de stdin\n"); } origok=1; }else{ if (origok){ /* Recuperando los datos programados */ tcsetattr(fileno(stdin),TCSANOW,&originalsettings); } } return(0); } /* abre el dispositivo /dev/parportX y lo captura. * Uso: fd=robi_claim("/dev/parport0"); * El valor devuelto es un descriptor de fichero usado por otras * funciones como robi_setdata */ int robi_claim(char *dev) {

Page 42: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� <$

int fd,i; fd = open(dev, O_RDWR ); if (fd < 0) { die("ERROR: no se puede comunicar con el dispositivo %s\n",dev); } i=0; /* wNecesitamos permiso y no activar las lineas de control */ /*ioctl(fd, PPEXCL, &i)&&die("ERROR: fallo en la busqueda de permisos\n");*/ ioctl(fd, PPCLAIM, &i)&&die("ERROR: fallo de comunicación con parport\n"); return(fd); } /* desplazamiento a la izquierda */ int walkleft(int fd) { /* Las patas B al suelo*/ robi_setdata(fd,LEGBD); usleep(400 *1000); /* all A legs 1 step */ robi_setdata(fd, LEGB1 | LEGB3 ); usleep(1100 *1000); /* Patas A al suelo, enfriando B*/ robi_setdata(fd,LEGAD); usleep(400 *1000); robi_setdata(fd,0); usleep(1000 *1000); return(0); } /* Desplazamiento a la derecha */ int walkright(int fd) { /* patas A al suelo */ robi_setdata(fd,LEGAD); usleep(500 *1000); robi_setdata(fd, LEGA3 | LEGAD); usleep(300 *1000); /* all A legs 1 step */ robi_setdata(fd, LEGA1 | LEGA3 ); usleep(1100 *1000); /* patas B al suelo , enfriamiento de A*/ robi_setdata(fd,LEGBD); usleep(400 *1000); robi_setdata(fd,0); usleep(1000 *1000); return(0); } /* Dando un paso atras con 3 patas */ int walkstraight_a(int fd) { /* patas A al suelo*/ robi_setdata(fd,LEGAD); usleep(800 *1000); /* all A legs 1 step */ robi_setdata(fd, LEGA1 | LEGA2 | LEGA3 ); usleep(1000 *1000); /* patas B al suelo, se enfria A*/ robi_setdata(fd,LEGBD); usleep(500 *1000); robi_setdata(fd,0); usleep(1200 *1000);

Page 43: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� <;

return(0); } /*Desplazamiento hacia delante*/ int walkstraight_b(int fd) { /* patas B al suelo */ robi_setdata(fd,LEGBD); usleep(400 *1000); /* topas la patas B una paso */ robi_setdata(fd,LEGB1 | LEGB2 | LEGB3); usleep(1000 *1000); /* A down and cool */ robi_setdata(fd,LEGAD); usleep(800 *1000); robi_setdata(fd,0); usleep(1200 *1000); return(0); } /* Desplazamiento con todas las patas un paso hacia atras */ int walkback(int fd) { /* primeras patas A hacia delante/ robi_setdata(fd,LEGAD); usleep(800 *1000); /* Todas las patas B dan un paso en el aire*/ robi_setdata(fd, LEGB1 | LEGB2 | LEGB3 ); usleep(500 *1000); /* primeras patas B al suelo, se enfria A*/ robi_setdata(fd,LEGBD); usleep(500 *1000); /*todas la patas A un paso en el aire*/ robi_setdata(fd,LEGA1 | LEGA2 | LEGA3); usleep(500 *1000); /* A down and cool */ robi_setdata(fd,LEGAD); usleep(800 *1000); robi_setdata(fd,0); usleep(1000 *1000); return(0); } /*---------*/ /* Se escribe un patron de bits en el puerto * Uso: rc=robi_setdata(fd,bitpat); * Valor devuelto 0 int robi_setdata(int fd,unsigned char bitpat) { int rc; rc=ioctl(fd, PPWDATA, &bitpat); return(rc); } ==== robi.h ===== /* vim: set sw=8 ts=8 si et: */ #ifndef H_ROBI #define H_ROBI 1 #define VERINFO "version 0.2" /* la primera cosa que necesitas hacer: */ extern int robi_claim(char *dev); /* Se escribe un patron de bits en el puerto: */ extern int robi_setdata(int fd,unsigned char bitpat);

Page 44: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � ��B�������

� <<

/* entrada y funciones del terminal */ extern int set_terminal(int canonical); extern int getchoice(); extern int walkstraight_a(int fd); extern int walkstraight_b(int fd); extern int walkback(int fd); extern int walkleft(int fd); extern int walkright(int fd); /* Asignación de datos a las patas: * A1------=------B1 * = * = * B2------=------A2 * = * = * A3------=------B3 * Pin para poner las patas A al suelo= AD * Pin para poner las patas A al suelo= BD * Puerto paralelo Pata * ------------------------- * data 0 A1 * data 1 A2 * data 2 A3 * data 3 AD * data 4 B1 * data 5 B2 * data 6 B3 * data 7 BD */ #define LEGA1 1 #define LEGA2 2 #define LEGA3 4 #define LEGAD 8 #define LEGB1 16 #define LEGB2 32 #define LEGB3 64 #define LEGBD 128 #endif

Page 45: Projecte 23: Diseño de un robot Hexápodo - ocw.upc.edu DISEÑO DE UN ROBOT HEXAPODO Hardware y Software de control MEMORIA DEL PROYECTO ˘ˇˆ ˘˙ ˝˙ ˘ ˛ˇ ˝˙ ˚ ˜ ˘˙!˝

���9���#"�� !�:�4��� � � ���,��(A��

� <C

�BIBLIOGRAFÍA S����S.�����,*�Y��#! �'�#� ��# �� " #���D�@��/����������� �#! �E��

�������DN ����-)��LJL��

R.��.�0%)��.�.���������)��.��.��.����*�Y� "�#���D�� �#! �D���#�����������#���C�����E��

5����>�:���)��LJJ��

�������*�Y� " #���4�����C���C�#/��$��/����$��� !��'# $�#���$��/���!(E��

���������:���)�LL���

�.� �����*�E����5��$��� $)'#�!�� �#! �4������#! �'�#� �E����

���������:���)�LJJ��

��!���� ���������#�!��#4��

>>>.��' ��.��'��� >>>.'���� �����.����� >>>.'���� ��.������.����

>>>.�%����� �����.��'��