Table of Contents

SP2158 - Sistemas bioinspirados

Tarea 1: YARP/ROS

YARP

Instalación

Installing YARP in debian

Práctica general

Sumador

  1. Acepte un número de punto flotante por un puerto llamado “/sumador/in:1”
  2. Acepte un número de punto flotante por un puerto llamado “/sumador/in:2”
  3. Sume ambos números y envíe el resultado en el puerto de salida “/sumador/out”
  4. El programa debe correr en un ciclo infinito, siempre esperando por nuevos nuevos.
  sudo apt-get install python-numpy python-scipy python-opengl python-pygame python-matplotlib python-sip python-sip-dev python-qt4-dev python-qt4 python-gtk2 python-gtk2-dev python-vtk6 python-pyvtk python-gtkglext1 libeigen3-dev python-yaml python-setuptools python-future python-colorlog
 
  echo "install arcospyu"
  cd $HOME/local/src
  git clone https://gitlab.com/arcoslab/arcospyu.git
  cd arcospyu
  make xstow_install
 
  echo "install avispy"
  cd $HOME/local/src
  git clone https://gitlab.com/arcoslab/avispy.git
  cd avispy
  make xstow_install

ROS

http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem

http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes

http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics

http://wiki.ros.org/ROS/Tutorials/CreatingPackage

http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28python%29

Preliminar Orocos

  import numpy as np
  import iexample as ix
 
  handler = ix.InteractiveHandler()
  box = handler.create_object("box", scale=[0.1, 0.1, 0.1])
  arm = handler.create_chain(ix.default_conf["kuka"])
 
  handler.core()
 
  box.update_twist(np.array([0.0, 0.0, 0.0, 0.0, 0.0, 2.0]))

Tarea 2: Orocos-KDL

import PyKDL as k
  1. Cree dos vectores
  2. Súmelos
  3. Réstelos
  4. Cree una matriz de rotación identidad
  5. Cree una matriz de rotación de una rotación en X de 45
  6. Cree otra matriz de rotación de una rotación en Z de 45
  7. Componga esas dos rotaciones. Primero con respecto a marcos de referencia locales y nuevamente con respecto a marcos de referencia globales. Dibuje el resultado en ambos casos. (llamemos a estas dos rotaciones Rl, Rg
  8. Cree una matriz de rotación de una rotación en x (roll) de 45, y(pitch) 0, y z(yaw) de 45 utilizando RPY. Rrpy (de acuerdo a KDL, en el libro de siciliano es así: z(roll), y(pitch), x(yaw))
  9. Utilice el método “GetRPY” sobre Rl y Rg, Cuál de las dos coincide con los valores de Rrpy?
  10. Invierta Rrpy y multiplique su resultado con Rrpy original. Comente el resultado.
  11. Cree un Frame (F1) (matrix homogenea) con una matrix de rotacion en X de 45 y un punto en 1 2 3.
  12. Cree un Frame (F2) (matrix homogenea) con una matrix de rotacion en Z de 45 y un punto en 1 2 3.
  13. Cree un twist restando los dos frames de arriba
  14. Componga ambos Frames en una dirección y luego en otra (F1*F2) y (F2*F1)
  15. Extraiga la rotación del resultado en ambos casos (GetRPY). Cuál corresponde al caso de rotaciones con respecto a marcos de referencia locales?
  16. Utilizando “Joint”, “segment” y “Chain” cree la cadena cinemática que el profesor puso en la pizarra.
  17. Utilizando el robot expresado por el profesor en clase y “Frames” calcule la orientación del Frame final de toda la cadena kinemática.
  18. Realice el cálculo de kinemática directa en el caso de los ángulos 45, 45, 45 y 10, 20, 30. Mencione la posición del end effector en ambos casos.
  19. Construya un frame rotado en Z 10 grados y en la posición 40, 20, 0. Realice el cálculo de la kinemática inversa en este caso. Cuáles son los ángulos encontrados para cada articulación? (Extra)

Tarea 3: RT stm32

mkdir -p ~/local/src/git-arcoslab/
cd ~/local/src/
git clone git@git.arcoslab.org:humanoid-hardware/open-coroco.git git-arcoslab
cd git-arcoslab/
git checkout hardware-register
git submodule init
git submodule update
cd lib/libopencm3/
make -j3
cd ../libopencm3-plus
make -j3
cd ~/local/src/git-arcoslab/
sed -i 's/libopencm3_stm32f4.ld/stm32f405x6.ld/g' lib/libopencm3-plus/lib/libopencm3_plus_stm32f4discovery.ld
cd ~/local/src/git-arcoslab/src/vextra_AXHM230KC-GFH
make
make flash

cd ~/local/src/git-arcoslab/utils/
./open-coroco-pc.py