Hola, Asus Eee 701 :)

Facebooktwitterredditpinterestlinkedinmail


[In English]

Hace años me compré un Asus Eee 701 al que le tengo mucho cariño y me ha resultado bastante útil. Desde hace tiempo tiraba con un Ubuntu 10, pero con esa versión tan obsoleta últimamente apenas podía hacer nada con él.

Como ahora me vuelve a hacer falta el Asus, he intentado actualizarle el S.O. Intenté primero usar CloudReady, una opción que me pareció interesante, pero tras pelearme un poquillo con la instalación (hace falta usar la Chromebook Recovery Utility, que sólo puede usarse con un Chrome sobre Windows), resultó que sólo funciona en versiones superiores del Eee.

Finalmente, encontré esta utilísima entrada del blog La Web del Yuyo (¡gracias :)!), donde se explicaba cómo instalar un Lubuntu 14.04. Al final del post podéis ver el feliz resultado 🙂


[En español]

A few years ago I got an Asus Eee 701 which I really love and proved to be very useful. It run an Ubuntu 10, but it was so that lately I could not work with it at all.

Now I need my Asus again, so I looked for ideas to update the O.S. First I tried CloudRead, which seems to be a very interesting option, but after struggling a little with the installation process (you need to use the Chromebook Recovery Utility, that is only available in Chrome running on Windows), it turned out that only works with higher versions of the Eee.

Finally, I found this really useful post in “La Web del Yuyo” blog (in Spanish) that explained how to install Lubuntu 14.04 in the Asus. Here you can see the happy ending 🙂

IMG_20160613_073659

Scorbot days

Facebooktwitterredditpinterestlinkedinmail

Siento no aparecer mucho por aquí… clases, clases everywhere 🙂 Para compensar, este es el vídeo que he preparado para la práctica basada en Scorbot de la asignatura Programación de Robots.

I’m afraid I’m not writing too much lately … teaching, teaching everywhere 🙂 To compensate, here is the video I have prepared for the Scorbot-based lab session of our robot programming course.

R + Arduino + ROS + ultrasonic sensor HC-SR04

Facebooktwitterredditpinterestlinkedinmail

Con el objetivo de ilustrar el uso de frameworks robóticos de programación en la asignatura “Programación de Robots”, y aprovechando el trabajo previo que comenté aquí, este curso voy a incluir un ejercicio de clase que consiste en que un sónar HC-SR04 conectado a un Arduino envíe las medidas de distancia a un nodo ROS que mueve la tortuguita en función de la cercanía a los obstáculos, y además las distancias se leen y representan gráficamente usando R. Espero que a mis alumnos les guste 🙂

In order to explain how to use robotic frameworks in a “Robot Programming” course, and reusing the previous work I commented here, I have prepared a class exercise where an ultrasonic sensor HC-SR04 connected to an Arduino sends distance measurements to a ROS node which moves the turtle according to how close the obstacles are detected, and also the distances are read and drawn using R. I hope my students enjoy it 🙂

ros1ros2

¡Feliz Navidad! Merry Christmas!!

Facebooktwitterredditpinterestlinkedinmail

Finalmente, hemos dejado cerradas las primeras pruebas unitarias del Turtlebot con el WidowX. En el vídeo al final del post puede verse al brazo realizando un home (con la pinza funcionando), moviendo cada articulación en ambos sentidos, y relajando cada articulación. El código completo está en mi GitHub. Así que, con la satisfacción del deber  cumplido… ¡¡Feliz Navidad :)!!

navidad2015

Finally, we have finished the first unit tests of our Turtlebot with the WidowX on board. The video at the end of this post shows the robot homing (with the gripper opening and closing), moving each joint in both directions, and relaxing each joint. The code can be downloaded from my Github. So, with the satisfaction of the duty fulfilled… Merry Christmas )!!

WidowX + ROS: joints directions

Facebooktwitterredditpinterestlinkedinmail

Seguimos con las pruebas unitarias del brazo WidowX, y ahora nos hemos centrado en ver cuáles son los sentidos de movimiento de las articulaciones 1 a 5, partiendo del “home” que hicimos anteriormente. El código se ha añadido a las pruebas unitarias iniciales (fichero widowx_arm_testing.cpp en mi GitHub).

We keep on working on the unit tests for the WidowX arm, but now we have focused on the direction of movement for joints 1 to 5, assuming that the robot is in the “home” position as we explained before. The code has been appended to the first unit tests (file widowx_arm_testing.cpp at my GitHub).

Turtlebot 2 movement analysis

Facebooktwitterredditpinterestlinkedinmail


[In English]

Ahora que ya tenemos el Turtlebot 2 andando, hemos querido caracterizar los motores cuando se mueven con la carga inicial del robot. Para ello, hemos seguido los siguientes pasos, que están documentados en el vídeo al final del post; en mi repositorio de GitHub está el código C++, Matlab y R:

  • Hemos creado un nodo ROS que mueve al robot con velocidad lineal x=0.1 m/sec, y almacena en fichero las medidas de los encoders de ambos motores junto con dos marcas de tiempo: las asociadas a los mensajes ROS, y las grabadas por la base Kobuki.
  • Después, analizamos las medidas con Matlab.
    • Primero, hemos representado gráficamente las medidas de los ticks frente a los dos tipos de marcas de tiempos (tanto relativas como absolutas).
    • En segundo lugar hemos representado la velocidad de cada rueda, entendiendo velocidad como la relación entre ticks y variación de tiempo. En el vídeo se observa que la velocidad aparece como rads/sec; para hacer la transformación nos hemos basado en las especificaciones de la base Kobuki. Si manualmente se hace el cálculo V = r*ω se observa que todo es correcto.
    • En tercer lugar, aprovechando la Control Toolbox de Matlab, hemos hecho una identificación de los motores de las ruedas usando un método de aproximación mediante sistemas de primer orden con retraso. La K y la τ obtenidas se han tomado como base para hacer después un reajuste manual, que se adapta bastante bien a los datos reales (sobre todo en el caso del motor derecho).
  • Finalmente, hemos hecho una representación muy básica (aún sin usar ggplot2, estamos trabajando en ello 😉 ) en R.


[En español]

Now that our Turtlebot moves, we have characterized its motors when they are moving bearing the initial load of the robot. We have followed these steps, which are documented in the video at the botton of this post; my GitHub repository stores the C++, Matlab and R code:

  • We have created a ROS node that makes the robot move with a linear x speed=0.1 m/sec, and then writes to a file the measurements of both encoders along with two timestamps: those related to ROS messages, and those taken by the Kobuki base.
  • Then, we have analysed the data using Matlab.
    • First, we have plotted the ticks values versus both timestamps (both relative and absolute).
    • In the second place, we have plotted the speed of each wheel, where speed is the relationship between ticks and time difference. You can see in the video that speed is represented as rads/sec; we transformed the values using the Kobuki mobile base specifications. If you do your maths by hand (V = r*ω), you will see that calculations are correct.
    • In the third place, using the Control Toolbox provided by Matlab, we did the identification of both motors with an approximation using a first order system with delay. The resulting K and τ are the basis for a manual recalculation, which fits quite well to the real data (especially, for the right motor).
  • Finally, we prepared a very basic R plotting (still without ggplot2, but we are working on it 😉 )