Tuesday, April 24, 2012

Netbeans en Windows 7



Ante muchas preguntas y dudas de como instalar Netbeans en Windows 7, decidí realizar esta entrada, iniciemos esta aventura.

Que es Netbeans?
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de uso. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de los proyectos.

NetBeans IDE es un entorno de desarrollo - una herramienta para que los programadores puedan escribir, compilar, depurar y ejecutar programas. Está escrito en Java - pero puede servir para cualquier otro lenguaje de programación. Existe además un número importante de módulos para extender el NetBeans IDE. 


Instalación
  • Descargar e instalar el JDK, ingresa aqui y descarga según tu sistema operativo. 
  • Ingresemos a la pagina http://netbeans.org/index.html para poder descargar el instalador del netbeans IDE (antes de iniciar la descarga verifique que el idioma del IDE y el sistema operativo mencionado es el correcto). 
  • Otra de las cosas que necesitamos es el instalador de la colección de herramientas Cygwin. Pueden bajarlo desde la misma página de Cygwin, desde este link (http://www.cygwin.com/setup.exe). Una vez que tenemos el instalador, lo ejecutamos (en mi caso, con Windows 7 tuve que ejecutarlo como administrador para que se conecte a los mirrors a bajar archivos). 
    • Elegimos la primera opción: Install from Internet (instalar desde internet). Damos click a Next.
    • Elegimos la carpeta de instalación. Las opciones que aparecen debajo les recomiendo dejen las recomendadas (valga la redundancia).  Click en Next
    • Elegimos la carpeta local para las descargas de paquetes. Click en Next
    • Ahora debemos elegir la conexión, en mi caso la mas simple, Direct connection (conexión directa). Supongo que ustedes también van a necesitar esa. Click en Next
    • Seleccionamos cualquiera de los mirrors y le damos click a Next
Ahora se va a empezar a bajar unos archivos, y luego nos encontraremos con esta ventana:



Si se fijan bien, esos son los paquetes que trae cygwin para instalar. Si hacen click en el caracter que se parece a un reload, refresh, o un simbolo de reciclaje, o como quieran llamarlo, cambiará la acción que queremos tener sobre los paquetes. Entre ellas, Default, Install, Reinstall, Uninstall. Estas aparecerán cada vez que hagamos click. Para cada componente del paquete también tenemos lo mismo, solo que al hacer click aparecerán cosas como Keep, Skip, Reinstall, Uninstall, o el número del a versión a instalar.

Bien, ahora debemos elegir para instalar lo siguiente:
  • Paquete "Base"

Le damos click al icono del que hablabamos hasta que aparece Base (\) Install para instalar el paquete entero.

 Ahora, desplegamos el paquete "Devel" (apretamos el + a la izquierda) y elegimos instalar lo siguiente: 
  • binutils: The GNU assembler, linker and binary utilities
  • gcc-core: C compiler
  • gcc-g++: C++ compiler
  • gcc-g77: Fortran compiler
  • gcc-mingw-core: Mingw32 support headers and libraries for GCC
  • gcc-mingw-g++: Mingw32 support headers and libraries for GCC C++
  • gcc-mingw-g77: Mingw32 support headers and libraries for GCC Fortran
  • gdb: The GNU Debugger
  • make: The GNU version of the 'make' utility
  • mingw-runtime: MinGW Runtime
Recuerden que estos "modulos" los encuentran bajo el paquete Devel, pueden ver los nombres de cada cosa que se van a bajar en el atributo "Package".

Una vez que se bajaron esto, hay que cambiar la variable de entorno PATH (dependiendo del sistema, vamos a Propiedades del sistema, Avanzado, Variables de Entorno... en Windows XP creo que era click derecho en Mi PC, Propiedades, y en Windows Vista es click derecho en Mi PC, Propiedades, Configuracion(es) remota(s) y ahi siguen en el camino que les dije mas arriba).

A nuestra variable PATH debemos agregarle como valor la direccion de la carpeta bin del Cygwin (en mi caso, C:\Cygwin\Bin... este depende de donde hayan instalado el Cygwin). IMPORTANTE: Si PATH ya posee un valor, entonces agreguenle un ";" (sin las comillas) al final, seguido de la ruta que hablamos mas arriba... Por ejemplo: Si tengo "C:\Sun\SDK\bin" el valor me deberia quedar "C:\Sun\SDK\bin;C:\Cygwin\Bin".

Luego de todo esto, abrimos NetBeans y vamos a Tools > Options > C/C++ (en Español, Herramientas > Opciones > C/C++). Podemos agregar manualmente los compiladores, ensamblador, etc. o podemos dejar que lo haga solo creando una nueva familia de paquetes haciendo click sobre Add (Agregar), elegimos el directorio base de los paquetes (carpeta Bin de Cygwin, en mi caso C:\cygwin\bin) y le damos click a Ok. Luego de esto se deberían haber completado todos los campos solos.

En caso de agregar manualmente los archivos, estos son los que deben completar (una vez mas, suponiendo que instalaron el cygwin en C:\cygwin):
  • Base Director: C:\cygwin\bin
  • C Compiler: C:\cygwin\bin\gcc.exe
  • C++ Compiler: C:\cygwin\bin\g++-3.exe
  • Fortran Compiler: C:\cygwin\bin\g77-3.exe
  • Make Command: C:\cygwin\bin\make.exe
  • Debugger: C:\cygwin\bin\gdb.exe



Una vez hecho todo esto, aplicamos cambios, todo a Ok, y ya podemos crear nuestro proyecto en C/C++ en NetBeans. 



Problemas frecuentes:

Ante el problema de que el isntalador del Netbeans no detecta al JDK instalado:

Para instalar se necesita descomprimir (netbeans-7.1.1-ml-windows.exe) con el comando "--extract" 
Abrir el "prompt" y ejecutar el instalador con el siguiente comando: 
C:netbeans-7.1.1-ml-windows --extract 
Luego, se creará un archivo llamado "bundle", ejecutarlo de la siguiente manera: 
C:java -jar bundle.jar  o hacer doble click en el archivo bundle.jar
y se abrirá el instalador de Netbeans... 



La sintaxis para descomprimir es :   
netbeans-7.1.1-windows.exe --extract java -jar bundle.jar
  • Obs1: El nombre el ejecutable puede variar, según la versión que descargues. 
  • Obs2: El comando antes mencionado debe de ser colocado en la consola del CMD.
  • Obs3:  Si no, ejecutar el "prompt" con permisos de administrador, y ver que pasa, esta demás decir que tienen que tener instalado el JDK 1.5 o superior... 





Wednesday, June 8, 2011

DARPA Nano Air Vehicle Programme



DARPA has just released this video chronicling the development of a “hummingbird” flyer by Aerovironment from concept to prototype demonstration and introduction to the public.

A number of difficult design and engineering challenges were overcome in the course of the programme, particularly in the wing structure, propulsion and control actuators. Numerous complete prototypes were built and tested to assess and improve the performance of the systems shown in the video. The final prototype achieves the noteworthy milestone of 2-wing flapping hovering and fast forward flight with all power sources on the aircraft and all controls implemented through modulation of the wing strokes in a shape that resembles a real hummingbird and carries and on-board camera that relays video to the pilot in real time.

The Nano Air Vehicle (NAV) programme is developing an extremely small, ultra lightweight air vehicle system (less than 15 centimeters and less than 20 grams) with the potential to perform indoor and outdoor military missions. NAV is exploring novel, flapping wing and other configurations to provide warfighters with unprecedented capability during urban operations.











Saturday, May 21, 2011

kiva robot for warehouse automation



Kiva Systems creators of kiva robot, is a company that makes order fulfillment systems that use robots for warehouse automation. Its material handling systems are used by Staples, Walgreens, Zappos, and GAP, among others.

Traditionally, goods are moved around a distribution center using conveyors, or by human operators with tow racks or forklifts. In Kiva's approach, goods are kept on portable storage units. When an order for an item arrives, it is transmitted wirelessly to a robotic platform, which navigates the warehouse to find the storage unit containing the requested items, lifts the unit up by sliding under it, and brings it to a human worker at a work station. The worker picks the items needed to fill orders, while the robot returns the storage unit to the warehouse. This turns out to be much more efficient and accurate than having human operators traveling around the warehouse locating and picking items.

A Kiva robot is typically orange in color, 2 feet by 2.5 feet, and one foot high. Each robot weighs around 250 pounds, and can carry four times its weight. The maximum velocity of a robot is 1.3 meters per second. The robots navigate around the warehouse using an onboard camera to read barcode stickers on the warehouse floor. They communicate wirelessly to computer servers that run order-processing software and deliver directions. Kiva's relatively new approach to automated material handling systems for order fulfillment is gaining traction in eCommerce fulfillment, retail restocking, parts distribution and medical device distribution operations.

 





Robotics startup Kiva Systems of Woburn, MA, and medical device giant Boston Scientific (NYSE: BSX) said that Kiva’s robots will be used to automate order fulfillment in two Boston Scientific warehouses, one in New England and one in the Netherlands.

It’s a big win for Kiva, whose shelf-toting robots are increasingly common in the warehouses of consumer goods distributors like Zappos, Staples, and Diapers.com, but which has never before landed a customer in the health or medical sectors, where there’s less room for error.

In conclusion, this Kiva robotic system is a really cool and complicated way to help pickers pack boxes for shipment.