Diferencia entre revisiones de «Usuario discusión:Obijuan»
De WikiRobotics
(→Mis páginas en construcción) |
|||
(No se muestran 222 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
+ | |||
+ | |||
+ | == TODO == | ||
Lista de cosas por hacer: | Lista de cosas por hacer: | ||
+ | |||
+ | |||
+ | |||
+ | == Notas == | ||
+ | * [[Obijuan:Notas sobre AVR]] | ||
+ | * [[Obijuan:Notas sobre VGA]] | ||
+ | * [[Obijuan:Notas sobre FPGAs libres]] | ||
+ | * [[Obijuan:Notas sobre llamar a funciones C desde Python]] | ||
+ | * [[Obijuan:Notas sobre QT en ubuntu]] | ||
+ | * [[Obijuan:Notas sobre ubuntu phone]] | ||
+ | * [[Obijuan:Notas sobre screencasts]] | ||
+ | * [[Obijuan:Notas sobre open dynamics engine en python]] | ||
+ | * [[Obijuan:Notas sobre programación en python en Freecad]] | ||
+ | * [[Obijuan:Notas:Python Object Oriented Mechanics (POOM)]] | ||
+ | * [[Obijuan:Notas:printbots]] | ||
+ | * [[Obijuan:Notas:MiniSkybot]] | ||
+ | * [[Obijuan:Notas:MakerBot Cupcake]] | ||
+ | * [[Obijuan:Notas:Hacia Reprap Mendel]] | ||
+ | * [[Obijuan:Block]] | ||
+ | * [[Obijuan:Tareas pendientes]] | ||
+ | * [[Obijuan:Enlaces acortados]] | ||
+ | * [http://es.wikipedia.org/wiki/Ayuda:Edici%C3%B3n Comandos de wikipedia] | ||
+ | * [[Obijuan:Notebook]] | ||
+ | * [[Obijuan:Tesis de Master]] | ||
== Mis páginas en construcción == | == Mis páginas en construcción == | ||
− | * | + | * [[Biblioteca printbots]] |
+ | * [[Ardumation I]] | ||
+ | * [[Godfinger]] | ||
+ | * [[Módulos REPYZ]] | ||
+ | * [[Jugando con Bitcoins]] | ||
+ | * [[/dev/null]] | ||
+ | * [[DDCON USB-1000]] | ||
+ | * [[Obiscad]] | ||
+ | * [[Impresora 3D:MADRE]] | ||
+ | * [[Skyball]] | ||
+ | * [[Clone Wars]] | ||
+ | * [[Robot Modular: Hypercube-6]] | ||
+ | * [[Clone wars: Prusa iteration 2]] | ||
+ | * [[Clone wars: Printrbot]] | ||
+ | * [[Programación de micros ATMEGA en C]] | ||
+ | * [[Pizarra]] | ||
+ | * [[Tutorial: simulación de robots con Openrave]] | ||
+ | * [[OOM: Object Oriented Mechanics]] | ||
+ | * [[Logos]] | ||
+ | * [[Sky293]] | ||
+ | * [[Orugas imprimibles]] | ||
+ | * [[Swinging-wheeled mobile Robots]] | ||
+ | * [[Cinemática Inversa de brazos robóticos simples con Octave/Matlab]] | ||
+ | * [[RoboWii]] | ||
+ | * [[Analysis of the PP-flat minimum configuration]] | ||
+ | * [[Minicube-II:Comportamientos]] | ||
+ | * [[Skypic Web]] | ||
+ | * [[Draft:Tarjeta Skywars]] | ||
+ | * [[Robot Modular:Minicube-II]] | ||
+ | * [[Unimod 2D]] | ||
+ | * [[Granja de Robots Modulares]] | ||
+ | * [[JDErobot 5.0]] | ||
+ | * [[Stargate:Servos8|Servos 8]] | ||
+ | * [[Taller de robots modulares]] | ||
+ | * [[Cupcake CNC]] | ||
* [[Skyprog]] | * [[Skyprog]] | ||
* [[Lenguaje VHDL]] | * [[Lenguaje VHDL]] | ||
* [[Modular grasping]] | * [[Modular grasping]] | ||
− | |||
* [[JdeRobot]] | * [[JdeRobot]] | ||
* [[Curva serpentinoide]] | * [[Curva serpentinoide]] | ||
* [[Nuestra historia]] | * [[Nuestra historia]] | ||
− | * [[ | + | * Mini portátil [[Acer aspire one]] |
− | == Robots | + | == Robots con ubuntu-phone == |
− | + | * Aprender a hacer wrappers en python para bibliotecas en C (llamadas de python a C) | |
− | * | + | * Implementar un mini-wrapper para la funcion de acelerometros de la libhybris en python |
− | + | * Programa en python que lea acelerometros ubuntu-phone, en consola | |
− | + | * Programa en consola para mover servos (en python) desde el ubuntu-phone | |
− | + | * Movimiento de servos desde el ubuntu-phone | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
== Tesis == | == Tesis == | ||
Línea 118: | Línea 86: | ||
*** Información en apartado 3.6 del fichero tesis_1.lyx | *** Información en apartado 3.6 del fichero tesis_1.lyx | ||
*** scripts en directorio local: /home/juan/desarrollo/tesis/tesis/tesis/fig/experimentos-parte2/orden/Loc1D/serp-continua | *** scripts en directorio local: /home/juan/desarrollo/tesis/tesis/tesis/fig/experimentos-parte2/orden/Loc1D/serp-continua | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* '''Edición libro''' (Inglés) | * '''Edición libro''' (Inglés) | ||
Línea 371: | Línea 325: | ||
# Documentarlo en el wiki | # Documentarlo en el wiki | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Software para Skypic == | == Software para Skypic == | ||
Línea 419: | Línea 347: | ||
== Mis recetas == | == Mis recetas == | ||
+ | |||
+ | === Dar acceso al puerto serie en linux a un usuario === | ||
+ | El usuario debe ser miembro del grupo dialout: | ||
+ | |||
+ | sudo adduser $USER dialout | ||
+ | |||
=== Concatenar varios PDFs en uno === | === Concatenar varios PDFs en uno === | ||
pdftk *.pdf cat output all.pdf | pdftk *.pdf cat output all.pdf | ||
Línea 430: | Línea 364: | ||
=== Fuentes en Debian === | === Fuentes en Debian === | ||
* [http://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.es.html Enlace a un artículo] | * [http://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.es.html Enlace a un artículo] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revisión actual del 07:46 19 mar 2016
Contenido
TODO
Lista de cosas por hacer:
Notas
- Obijuan:Notas sobre AVR
- Obijuan:Notas sobre VGA
- Obijuan:Notas sobre FPGAs libres
- Obijuan:Notas sobre llamar a funciones C desde Python
- Obijuan:Notas sobre QT en ubuntu
- Obijuan:Notas sobre ubuntu phone
- Obijuan:Notas sobre screencasts
- Obijuan:Notas sobre open dynamics engine en python
- Obijuan:Notas sobre programación en python en Freecad
- Obijuan:Notas:Python Object Oriented Mechanics (POOM)
- Obijuan:Notas:printbots
- Obijuan:Notas:MiniSkybot
- Obijuan:Notas:MakerBot Cupcake
- Obijuan:Notas:Hacia Reprap Mendel
- Obijuan:Block
- Obijuan:Tareas pendientes
- Obijuan:Enlaces acortados
- Comandos de wikipedia
- Obijuan:Notebook
- Obijuan:Tesis de Master
Mis páginas en construcción
- Biblioteca printbots
- Ardumation I
- Godfinger
- Módulos REPYZ
- Jugando con Bitcoins
- /dev/null
- DDCON USB-1000
- Obiscad
- Impresora 3D:MADRE
- Skyball
- Clone Wars
- Robot Modular: Hypercube-6
- Clone wars: Prusa iteration 2
- Clone wars: Printrbot
- Programación de micros ATMEGA en C
- Pizarra
- Tutorial: simulación de robots con Openrave
- OOM: Object Oriented Mechanics
- Logos
- Sky293
- Orugas imprimibles
- Swinging-wheeled mobile Robots
- Cinemática Inversa de brazos robóticos simples con Octave/Matlab
- RoboWii
- Analysis of the PP-flat minimum configuration
- Minicube-II:Comportamientos
- Skypic Web
- Draft:Tarjeta Skywars
- Robot Modular:Minicube-II
- Unimod 2D
- Granja de Robots Modulares
- JDErobot 5.0
- Servos 8
- Taller de robots modulares
- Cupcake CNC
- Skyprog
- Lenguaje VHDL
- Modular grasping
- JdeRobot
- Curva serpentinoide
- Nuestra historia
- Mini portátil Acer aspire one
Robots con ubuntu-phone
- Aprender a hacer wrappers en python para bibliotecas en C (llamadas de python a C)
- Implementar un mini-wrapper para la funcion de acelerometros de la libhybris en python
- Programa en python que lea acelerometros ubuntu-phone, en consola
- Programa en consola para mover servos (en python) desde el ubuntu-phone
- Movimiento de servos desde el ubuntu-phone
Tesis
- Curva serpentinoide
- Continua
- Discreta
- Scripts octave
- Información en apartado 3.6 del fichero tesis_1.lyx
- scripts en directorio local: /home/juan/desarrollo/tesis/tesis/tesis/fig/experimentos-parte2/orden/Loc1D/serp-continua
- Edición libro (Inglés)
- Crear contenidos en inglés y enviárselo a Houxiang
- Preparar los contenidos del libro o libros
- Enviárselo a la editora de Springer
Gazebo 0.7
- El paquete para debian está en el repositorio de JDERobot: gazebo_0.7.0-2_i386.deb
- Mini-bug: Este paquete instala el servidor gazebo, pero no el cliente wxgazebo, por lo que no se pueden visualizar las simulaciones
- Para la instalación de wxgazebo en Lenny hay que seguir las instrucciones de compilación de gazebo que están en esta receta
- Al ejecutar un ejemplo, puede aparecer este mensaje de error:
$ gazebo /usr/share/gazebo/worlds/pioneer2dx.world ** Gazebo 0.6.1 ** * Part of the Player/Stage Project [1]. * Copyright 2000-2005 Brian Gerkey, Richard Vaughan, Andrew Howard, * Nate Koenig and contributors. * Released under the GNU General Public License. using display [:0.0] X Error of failed request: GLXUnsupportedPrivateRequest Major opcode of failed request: 143 (GLX) Minor opcode of failed request: 16 (X_GLXVendorPrivate) Serial number of failed request: 21 Current serial number in output stream: 22
- Lo he solucionado aplicando lo que se dice en este foro
- La renderización tiene que ser de tipo glx. He creado este fichero de prueba: P-2.world.
- Para probarlo ejecutar:
$ wxgazebo P-2.world starting server ** Gazebo 0debian1.9.0 ** * Part of the Player/Stage Project [2]. * Copyright 2000-2005 Brian Gerkey, Richard Vaughan, Andrew Howard, * Nate Koenig and contributors. * Released under the GNU General Public License. using display [:0.0] waiting for server rendering: [GLX offscreen] direct [no] RGBA [8 8 8 8] depth [24] loading texture file [/usr/local/share/gazebo/worlds/ground.ppm] rendering: [GLX offscreen] direct [no] RGBA [8 8 8 8] depth [24] server id [0] connecting to server opening simulator interface waiting for data running
Y aparecerá algo como esto:
JDERobot
- JdeRobot
- Página principal JDE
- Hacer simulaciones con Gazebo, para usarlas desde JDE
Poniendo en marcha JDE
- Instalar JDE en Debian/Lenny
- El repositorio con los .deb está disponible aquí. Los paquetes que hay son:
gazebo_0.7.0-1_i386.deb jderobot-doc_4.3.0-rc1_i386.deb jderobot-drivers_4.3.0-rc1_i386.deb jderobot-libs_4.3.0-rc1_i386.deb jderobot-schemas_4.3.0-rc1_i386.deb jderobot-services_4.3.0-rc1_i386.deb jderobot_4.3.0-rc1_i386.deb ode_0.7.0-1_i386.deb player_2.0.5-1_i386.deb stage_2.0.4-1_i386.deb
- Al instalar player, sale el mensaje de error:
intentando sobreescribir `/usr/lib/libpmap.so.0.0.0', que está también en el paquete libpmap0
- Si se usa la opción --force-all se instala bien:
sudo dpkg -i --force-all player_2.0.5-1_i386.deb
- Stage se instala sin errores.
- paquetes de jde
- jderobot-doc: OK
- jderobot-libs:
- jderobot-squemas:
- jderobot-services:
- jderobot-drivers: Error de dependencias con el ODE. Sugerencia: Modificar la dependecia de este paquete por libode0debian1
- Primeras pruebas
- jde está instalado y se ejecuta. Cuando se pone el comando jde, aparece lo siguiente:
$ jde jdec 4.3-svn Configuration from /usr/share/jde-robot/conf/jde.conf Reading configuration... graphics_gtk driver loaded (driver 0) Loading GTK support... GTK support loaded. graphics_xforms driver loaded (driver 1) Loading Xform support... Xforms support loaded. imagefile driver loaded (driver 2) imagefile driver started up I can't open the image file /usr/local/share/jde-robot/casaleft.pnm colorA:/usr/local/share/jde-robot/casaleft.pnm 320*240 colorA schema loaded (id 0) mastergui schema loaded (id 1) mastergui schema started up opengldemo schema loaded (id 2) opengldemo schema started up Starting cronos... Starting shell... jdec$
- y se lanza el esquema mastergui.
- Problema encontrado: Los esquemas se cargan correctamente si se incluyen en el fichero de configuración, pero no se pueden cargar desde la consola de jde. Ejemplo:
jdec$ ls colorA mastergui opengldemo jdec$ myschema jdec$ ls colorA mastergui opengldemo jdec$
- Se ha intentado cargar el esquema "myschema". No se ha cargado, pero tampoco ha dado ningún mensaje de error... Pero si se incluyen en el fichero de configuración entonces no hay problema.
- Problema solucionado! Jose María me ha indicado que es necesario que los esquemas exporten las funciones de suspend y resume (igual que como se hace en los drivers). Así todo funciona correctamente. Los esquemas se invocan bien desde la líniea de comandos.
- Probar esquema "Hola-mundo"
- He probado el myschema y funciona. Lo he modificado y he creado el mio propio: obijuan. A continuación pongo las instrucciones para usarlo:
- Descargar el esquema obijuan
- Descomprimirlo, entrar en el directorio obijuan y ejecutar make para compilarlo:
- He probado el myschema y funciona. Lo he modificado y he creado el mio propio: obijuan. A continuación pongo las instrucciones para usarlo:
$ make gcc -g -O -pedantic -Wall -I. -I/usr/include/jde-robot -fPIC -c -o obijuan.o obijuan.c gcc -shared -Wl,-soname,obijuan.so -L. -o obijuan.so obijuan.o -lm
- Ejecutarlo:
$ jde obijuan.conf jdec 4.3-svn Configuration from obijuan.conf Reading configuration... graphics_gtk driver loaded (driver 0) Loading GTK support... GTK support loaded. mastergui schema loaded (id 0) mastergui schema started up obijuan schema loaded (id 1) obijuan schema started up Starting cronos... Starting shell... jdec$
- En principio, se debería poder lanzar el esquema ejecutando obijuan, pero no funciona. Hay que activar primero el mastergui y ejecutarlo desde ahí. ¿Es un bug?:
jdec$ mastergui
- Al lanzarlo y ejecutarlo unos pocos ciclos, aparecerá lo siguiente:
jdec$ obijuan: on Obijuan: May the source be with you... Obijuan: May the source be with you... Obijuan: May the source be with you... Obijuan: May the source be with you... Obijuan: May the source be with you... Obijuan: May the source be with you... Obijuan: May the source be with you... Obijuan: May the source be with you... obijuan: off
- ¡¡Está funcionando mi esquema!!
- He limpiado un poco el código. Se encuentra aquí: obijuan-sh.tar.gz
- Driver "Nulo"
- Descargar jde desde el SVN:
svn co http://svn.jde.gsyc.es/jde/jdec/trunk
- Coger los ficheros pantilt (driver) y followball.c (esquema)
- Que el esquema hola mundo acceda al driver: OK
- Ya lo tengo hecho!: null-driver.tar.gz. Implementa un esquema para acceder a un actuador nulo de una variable de entrada. Se ha hecho un esquema de pruebas (test) que envia un valor al driver nulo al arrancar y otro al finalizar. El driver nulo imprime en la consola los cambios en su variable de entrada. Aquí hay un pantallazo del driver en acción: Pantallazo
- Driver "Led8"
- JDE ya se comunica con la tarjeta skypic :-) He desargado el firmware del servidor eco, que muestra en los leds lo que ha recibido. Uno de los esquemas es el clásico del "coche fantástico" el otro es un contador binario. Las fuentes están disponibles aquí: led8-driver.tar.gz
- Driver Servos8
- Esquema de prueba que siga un secuencia. OK. servos8-driver.tar.gz
- Driver Oscillator8
- 8 generadores sinusoidales. OK. Ya tengo disponible la primera versión: oscillator8-driver.tar.gz
- Driver de teclado (en Gtk).
- Compilado esquema image_viewer con mi propio makefile. Proba y funciona! OK!
- Convertir image_viewer en un gtk-hola-mundo. OK!
- Convertirlo en un pixbuff que reciba eventos de teclado: OK!
- Convertir esquema en un driver. ¿Qué diferencia hay a nivel JDE entre un esquema y un driver.
- Hacer esquema de pruebas: que imprima en la consola todo lo recibido por teclado: OK!. El programa está aquí: keyboard.tar.gz. Y aquí un pantallazo
JDE+ ODE
- Comienzo hito 1. Partir de esquema Obijuan y linkar con drawstuff.a. Eliminar mensajes de error. Generar makefile: OK!
- Linkar con Ejemplo 3 tutorial: caja caida libre+drawstuff. El programa principal de box3 hay que convertirlo en una funcion: OK!
- Lanzar un threada desde Obijuan (guiresume) que simplemente imprima algo en consola: OK!
- Llamar a box3 desde ese thread.... ¿Qué hace? ¿Funciona?. Con este se completaria un hito muy importante: OK!. Funciona a la perfección!!!!!
- Comienzo hito 2.
- Ejemplo hola mundo de gtk + opengl (independiente de JDE)
- Integrarlo en JDE. Aquí hay un ejemplo que hay que probar: http://svn.jde.gsyc.es/users/eperdes/headtracking/trunk/headtracking/
- Integrar la drawstuff. Lograr que se dibuje un frame (cielo+suelo+grid), con o sin texturas, ya veremos.
- Integrar el ode. Crear la caja en su posicion inicial y que se dibuje
- Integrar el paso de simulacion para que la caja caiga. Anadir las colisiones
- Integrar el teclado. Tener ejemplo box3 funcionando al 100%, igual que la version sin jde.
- Anadir los callbacks para mover la camara
- Anadir botones en gtk para hacer pausa, quitar sombras, quitar texturas...
- Ejemplo del servo: Mover un servo virtual desde el teclado usando JDE
- Locomocion de minicube: Que las posiciones del servo virtual vengan de un esquema que lo haga moverse
JDE: otros
- Esquemas para la locomoción de Hypercube, cube revolutions y minicubes
- Hacer Interfaz gráfica en ODE+OpenGL+GTK
- Unificar driver oscillator8 y Servos8 en uno solo (servos8) y ofrecer dos drivers virtuales: position8 y generator8
- Driver "log", que permita imprimir cosas en una ventana GTK, para hacer depuración
Gazebo 0.8
- Instalar Gazebo en Lenny
- Gazebo usa scons. Para compilar teclear:
- Para compilar: scons
- Para limpiar: scons -s
- para instalar: sudo scons install
- Error 1: Sale el siguiente error: "error: 'strcmp' was not declared in this scope".
- Solución: Editar el fichero server/gui/StatusBar.cc y añadir #include <cstring>. Esto es debido a la nueva version del GCC. Aquí puede encontrar más información.
- Error 2: "error: 'QueuePointer' has not been declared".
- Explicación: Según leo aquí, se soluciona instalando player 2.1, pero en lenny viene player 2.0.4, por lo que hay que instalarlo "a pelo"
- Solución: De momento he desintalado player. Al compilar gazebo aparecerá el siguiente mensaje, pero gazebo se compilará correctamente:
- Gazebo usa scons. Para compilar teclear:
================================================================ Player not found, bindings will not be built. To install player visit(http://playerstage.sourceforge.net) ================================================================
- Ponerlo en marcha: probar un ejemplo
- Me salen violaciones de segmento al ejecutar gazebo. Puede ser porque no tenga player instalado... pero con algunos mundos sí ha funcionado:
./gazebo worlds/factory.world
- Crear un modelo sencillo, en XML. Por ejemplo un cubo situado a una altura. Tutorial de creación de modelos
- Crear los objetos compuestos del tutorial de ODE: compound1 y compound2
- Crear un modelo de módulo
- Crear un controlador para los servos
- Crear configuración PP. Necesario un controlador superior que genere las oscilaciones... ¿Cómo incluirlo en gazebo?
- Crear robot ápodo del grupo cabeceo-viraje
Skycable-paralell
Grabación de la Skypic con el cable que va por puerto paralelo Hitos por hacer:
- Instalar Debian/Lenny en Melchor
- Instalar Piklab
- Comprobar el cable
- Ver cómo realizar la grabación
- Documentarlo en el wiki
Software para Skypic
- Pyservos: Movimiento de servos (8) desde una Skypic.
- Pyservos
- Descarga automatica del firmware servos8
- Control mediante deslizadores
- Control por canvas
- Gestión secuencias de movimiento
- Pydownloader-wx, 1.2:
- Usar la Clase iris_gui()
- Implementar botón abrir/cerrar puerto serie
- Implementar un mini-terminal de comunicaciones
- Probar en MAC. Documentar
- Probar en FreeBSD. Documentar
- Libiris:
- Añadir firmware: bootloader
- Añadir ultima version del PICP
Mis recetas
Dar acceso al puerto serie en linux a un usuario
El usuario debe ser miembro del grupo dialout:
sudo adduser $USER dialout
Concatenar varios PDFs en uno
pdftk *.pdf cat output all.pdf
Grabar una imagen en un Pen drive
- Obtener o crear la imagen (.img). Para grabar:
dd if=binary.img of=${USBSTICK}
donde ${USBSTICK} es la unidad del pen drive (ej. /dev/sdb, ¡pero no una partición! NO /dev/sdb1)