(No sólo) Comprando el Meizu Pro 5 Ubuntu Edition

Esta vez vengo con un poco de información útil para todo aquel que quiera comprar un Meizu Pro 5 Ubuntu Edition.

Primero de todo, el precio: 331,07€ en la página de JD. Un precio que en su momento me pareció adecuado para las características que presentaba el Meizu Pro 5. El envío es gratuito y se hace a través de la empresa DHL. Sin embargo, y con diferencia del MX4 Ubuntu Edition que Meizu vendía desde su propia tienda y enviaba desde Italia (creo), el canal de venta ha pasado a ser la citada página china. Muchos nos hemos encontrado con la sorpresa de que cuando hemos pedido el número de seguimiento, el móvil viene desde china. Puede que fuese un poco ingenuo al pensar que no habría problemas en la aduana debido a la experiencia previa del MX4, pero oh sorpresa, tras pararlo en aduanas desde DHL se ponen en contacto conmigo para solicitar un importe aproximado de 120€ en concepto de aduanas y de gestión. Mi respuesta, que se lo cargasen al remitente ya que consideraba que no debía hacerme cargo de tal importe. Con esto conseguí un poco de tiempo para presionar a la tienda y saber los conceptos que desde DHL querían cobrarme.

  • Concepto de IVA: 68.28€
  • Concepto de gestión aduanera: unos 50€

Todo ello según la información que en el paquete estaba indicado, ya que a diferencia de otras tiendas chinas, JD muestra el valor real del contenido del paquete.

Obviamente desde la tienda china se niegan a pagar el importe que desde DHL les solicitan, dejándome en la tesitura de tener que pagar yo o devolver el paquete (cuyos gastos de envío no devolverían). El caso es que me informo sobre la gestión aduanera y en qué consiste para que DHL cobre semejante importe por la dichosa gestión. La información en la red al respecto está muy focalizada en los servicios aduaneros canarios, supongo que debido a su régimen impositivo especial, pero encuentro un par de webs donde se detalla el proceso de realizar un “autodespacho aduanero”.

¿En qué consiste el autodespacho aduanero?

Pues básicamente en realizar tu mismo la gestión y pago del IVA y aranceles (si el paquete estuviese sujeto a ellos). Desde hace varios años, es posible hacerlo de forma telemática desde la sede electrónica de la agencia tributaria (link). Todo lo que necesitaremos es:

  • DNIe: Con los certificados al día, ya que su caducidad es inferior al que indica el propio dni.
  • Número de factura: Proporcionado por la empresa en el momento de la compra.
  • Número de declaración sumaria y de partida: Que nos debe proporcionar DHL.
  • IBAN de la cuenta bancaria en la que cargaremos el importe del IVA: El titular debe ser la misma persona del DNIe.

Con esta información y con un lector de DNIe podemos hacer el trámite en unos 15min. (Para instalar los certificados en una maquina con Ubuntu podemos seguir este tutorial que es de los más sencillos y eficaces que he encontrado)

Todo el trámite lo podéis ver en las siguientes dos páginas:

Otro tema es la obtención del número de declaración sumaria y de partida. En primera instancia, DHL pretende cobrar 15€+IVA por la “cesión documental”, que aunque nos parezca un robo, es menos que los 50€ que quieren cobrarte por hacer ellos la gestión. Tema aparte es la política de números de atención al cliente 902, que se puede arreglar buscando en páginas del tipo http://wiki.nmn900.net/DHL. En este caso, yo he realizado una queja “formal” y solicitado que junto al envío me traigan una factura detallada de los conceptos que quieren cobrar.

Una vez finalizado el trámite y pagado el IVA , se le envía el resguardo de “Levante de Importación” a DHL y cuando lo procesen pasará a reparto (en mi caso al día siguiente).

Conclusiónes

Lo que queda claro es que el autodespacho es una opción muy sencilla de ahorrarse unos euros que las empresas de logística pretenden cobrar y cuyas tarifas no parecen estar reguladas de ninguna manera. El problema reside en la escasa difusión que se le da a este trámite y que las empresas de logística intentan meterte prisa para que en el momento accedas a pagar lo que te pidan para que puedan traerte el paquete.

Los costes varían mucho entre empresas y también varían según el importe que se establece en la factura. Parece además que si el importe que refleja la factura es inferior a 150€ debemos avisar previo al envío que vamos a realizar el autodespacho, ya que para hasta ese importe las empresas pueden hacerlo por ti de manera automática. En mi caso al ser una factura de 369USD, no pudieron realizar el trámite ellos mismos sin mi autorización.

Sobre pedir a la tienda china que se hagan cargo de la cuantía de aduanas, no suelen dar su brazo a torcer. Pero pueden llegar a ofrecer algún tipo de descuento, o reembolso parcial con el objetivo de que no les devuelvas el pedido.

Tal y como reza el título de este post, no sólo es una información que se pueda utilizar en el caso de la compra de dicho dispositivo, sino en todo tipo de envíos internacionales (desde fuera de la UE) de compras que podamos realizar.

Creo que tendré que hacer un post hablando sobre el Meizu Pro 5 Ubuntu Edition, ya que en este post… en fin, espero que le sirva a alguien aunque sea a estar informado de los derechos que nos asisten.

 

 

ROS turtlesim teleop con una wiimote

En este post vamos a trabajar con la tortuga turtlesim de ROS y la controlaremos con una wiimote. El problema que podemos encontrarnos a la hora de trabajar este ejemplo es el de las versiones de implementación de los distintos elementos. En este caso, el tutorial [link] para crear el nodo de teleoperación de la wiimote  está diseñado para versiones anteriores a ROS Hydro y no emplea catkin. De modo que con este post pretendo mostrar los pasos que he seguido a la hora de implementar la teleoperación del turtlesim. Lo he probado en las versiones de ROS Hydro y Jade, espero haber transcrito todos los pasos de forma correcta.

¡Comencemos!

REQUISITOS INICIALES:

  • ROS Hydro (o más reciente).
  • Un área de trabajo catkin generado.
  • Los paquetes de ROS turtlesim y wiimote.

CREAR NUEVO PAQUETE:

Comenzamos creando un nuevo paquete con catkin y añadiendo en el comando las diferentes dependencias que necesitará (roscpp, turtlesim y wiimote).

catkin_create_pkg turtle_wiimote roscpp turtlesim wiimote

En este nuevo paquete se habrán generado dos ficheros de forma automática: package.xml y CMakeLists.txt. Es un buen hábito modificar estos ficheros para rellenarlos con los datos e información necesaria.


Se edita el package.xml

<version>0.0.1</version>
<maintainer email="developer@larreamikel.com">Mikel Larrea</maintainer>

Se edita el CMakeLists.txt: En el mismo fichero se hacen varias modificaciones.

(línea 130 aprox.) Se añade el ejecutable del fichero que crearemos en el siguiente punto.

## Declare a C++ executable
add_executable(turtle_wiimote_node src/turtle_wiimote_node.cpp)

(línea 137 aprox.)

## Specify libraries to link a library or executable target against
target_link_libraries(turtle_wiimote_node
${catkin_LIBRARIES}
)

 

CREAR FICHERO CPP:


Se genera y edita el fichero src/turtle_wiimote_node.cpp

(NOTA: En el link http://wiki.ros.org/wiimote/Tutorials/WritingTeleopNode, apartado 1.2.1 se encuentra el código pero para versiones anteriores a Hydro, y que no emplea catkin). En este punto veremos las modificaciones que se deben realizar para emplearlo en Hydro.

(línea 2 ) se cambia el

#include <turtlesim/Velocity.h> por #include <geometry_msgs/Twist.h>

(línea 35) debe reflejar los cambios de versiones anteriores a catkin.

vel_pub_ = nh_.advertise<geometry_msgs::Twist>("turtle1/cmd_vel", 1);

Dentro de la función joyCallback, tampoco se emplea Velocity:

void TeleopTurtle::joyCallback(const sensor_msgs::Joy::ConstPtr& joy)
{
geometry_msgs::Twist vel;
vel.angular.z = a_scale_*joy->axes[angular_];
vel.linear.x = l_scale_* 0.3;
vel_pub_.publish(vel);
}

Esta función de callback publica la velocidad angular recogida de la wiimote (al girarla). La velocidad lineal es constante en este ejemplo.

CREAR FICHERO LAUNCH:


Se genera y edita el fichero launch/turtle_wiimote.launch con el siguiente contenido.

<launch>

<node pkg="turtlesim" type="turtlesim_node" name="sim"/>

<!-- wiimote node -->
<node pkg="wiimote" type="wiimote_node.py" name="turtle_wiimote"/>

<!-- Axes -->
<param name="axis_linear" value="1" type="int"/>
<param name="axis_angular" value="1" type="int"/>
<param name="scale_linear" value="5" type="double"/>
<param name="scale_angular" value="0.25" type="double"/>

<node pkg="turtle_wiimote" type="turtle_wiimote_node" name="teleop"/>

</launch>

Este fichero lanzará los nodos de turtlesim, wiimote y el que hemos realizado en este post, turle_wiimote_node.

COMPILAR Y LANZAR:

Compila el nuevo paquete ejecutando catkin_make en el directorio de trabajo de catkin (en mi caso ~/catkin_ws). Al final del proceso deberíamos recibir un mensaje parecido a este donde vemos que la compilación ha finalizado sin errores.

turtle_wiimote1b

Ahora queda lanzar el fichero turtle_wiimote.launch que acabamos de realizar.

roslaunch turtle_wiimote turtle_wiimote.launch

El launch, tal y como hemos comentado arriba, inicia un turtlesim, lanza el script de la wiimote y el ejemplo de teleop que acabamos de realizar. Tras emparejar la wiimote con el PC manteniedo los botones 1 y 2 pulsados durante unos 6 segundos (hasta que las luces dejen de parpadear) podemos mover la wiimote y ver la reacción de la tortuga.

En esta primera imagen vemos el resultado en la ventana del turtlesim.

turtle_wiimote2

Aunque experimentando sea fácil de ver, la forma de manejar la wiimote es tal y como se ve en la siguiente imagen.

wiimote


 

Con este ejemplo hemos realizado la teleoperación empleando un mando de la wiimote. El ejemplo es muy simple y se puede mejorar de mil maneras, por ejemplo, empleando los botones para subir o bajar la velocidad de la tortuga. Este ejemplo lo trabajó en su momento Egoitz Alonso para controlar un summit de robotnik y lo retomo como entrada para este blog con la versión de ROS actualizada.

Espero que este post haya servido de ayuda o por lo menos interesante e instructivo. Seguiré describiendo ejemplos básicos de ROS en los siguientes posts.

¡Saludos y hasta pronto!

 

 

Bienvenido al apasionante mundo de ROS

Sirva este post como introducción a lo que deseo hacer en este blog en lo referente a ROS.

¿QUÉ ES ROS?

ROS [link] es el acrónimo de Robot Operating System. Es una estructura para crear software de robótica de forma modular y reutilizable. Existe una gran variedad de robots en los que actualmente se puede emplear ROS; desde humanoides hasta UAVs pasando por vehículos terrestres y acuáticos.

ROS es una gran plataforma para la investigación ya que permite no reinventar la rueda y en base a módulos existentes construir robots de forma “sencilla”. De este modo se pueden centrar los esfuerzos en la aplicación o desarrollo concreto en el que se desee investigar.

¿POR QUÉ TE GUSTA ROS?

Primero, decir que no soy ni mucho menos un experto en ROS, pero me gusta mucho la filosofía que tiene detrás y las posibilidades de desarrollo que ha generado desde sus inicios. Existen multitud de empresas  y grupos de investigación que han adoptado ROS como marco de desarrollo de sus aplicaciones y soluciones. De modo que se disponen de herramientas del estado del arte en materias como visión, mapeado, generación de trayectorias, etc. Poder trabajar con estos desarrollos ya que disponen de licencias tipo GPL es muy gratificante.

¿QUÉ VAMOS A VER EN ESTA WEB?

Dentro de la categoría de ROS, me he propuesto ir describiendo los distintos problemas y soluciones que he ido encontrando en el manejo de ROS. Para ello iré trabajando los tutoriales hasta adquirir nivel suficiente para realizar desarrollos propios. Mezclando dos categorías de esta web, también espero poder traer ejemplos de uso de ROS con snappy.

Además de los tutoriales y guías propios de la web de ROS, en la actualidad estoy siguiendo el libro que resulta de gran ayuda.

Dispone del código en Github [link] y aunque esté escrito para ROS-Hydro, muchos de los ejemplos sirven para Indigo o Jade.

CONCLUSIÓN:

En resumidas cuentas, vamos a intentar informar, aprender y desarrollar en ROS.

¡Saludos!

 

 

Primeros pasos en Snappy Ubuntu Core

Snappy Ubuntu Core es la apuesta de Canonical para el futuro de servidores y dispositivos IoT.

Entre los distintos ejemplos de aplicaciones que se pueden encontrar tenemos estos dos que me parecen los más interesantes:

  • Erle brain: El cerebro de distintos dispositivos tanto aéreos como terrestres.

http://erlerobotics.com/blog/erle-robotics-first-flight-ubuntu-core/

  • Mycroft: Es un dispositivo que pretende unificar la inteligencia artificial con la domótica entre otras cosas.

Powered by Snappy Core Ubuntu

Sirva este artículo como punto de inicio, ya que no explico nada sobre snappy ubuntu core. El próximo contará con los detalles más importantes de ubuntu core y en sucesivos artículos iré desglosando el aprendizaje que vaya realizando sobre esta apuesta de Canonical.

Si quieres saber más sobre Snappy Ubuntu Core ve al siguiente enlace:

https://developer.ubuntu.com/en/snappy/