Latest Entries »
Speech recognition in ROS/Linux has been has been traditionally done using projects like CMU-Sphinx or Julius. But they lack an efficient vocabulary and is not stable. So reliable speech recognition was confined to Windows/Mac users only. Initially I was using a windows virtual machine inside ubuntu to do speech processing, even though it was quite resource consuming. A good alternative is to use the speech recognition built into Chrome by Google. The speech samples are sent to Google’s servers for processing and they return the recognized speech and a confidence value.It is quite easy to use this possibility of speech recognition. It also offers an advantage of speaker independent recognition of speech. The only disadvantage is the delay caused in detection. It normally takes about 3 seconds for the speech to be recognized.A simple python script for speech recognition is shown below
I have also created a ROS package for speech recognition. It can be run by checking out theGithub repo, and running ’rosrun gspeech gspeech.py‘. It will publish two topics: /speech and /confidence. The first one is the detected speech while the latter one is the confidence level of detection
Here is a small video showcasing the URDF model of Chippu.
HSV color space is more often used in machine vision owing to its superior performance compared to RGB color space in varying illumination levels. Often thresholding and masking is done in HSV color space. So it is very important to know the HSV values of the color which we want to filter out. HSV color space of OpenCV is a bit complicated than other software programmes like Gimp, Photoshop etc.So I have written a small python script to grab frames from a camera, and print the HSV value of the pixel under the cursor
Chippu has now upgraded its hardware, and is now much smarter. The Atmega32 is replaced by a more powerful and feature rich Atmega128 based Wiring Board. It has 53 I/O pins, 8 analog inputs, 2 hardware serial ports, 6 PWM (analog outputs), SPI, TWI, 8 external interrupts pins. Also it can drive a maximum of 24 servo motors. Quite impressive. A motor control board based on L293D was also added. Here are a few shots.
I was using an Atmega32 based Arduino clone for the low level hardware control of my personal robot Chippu. But soon ran into problems as the code size increased and the inbuilt RAM of 2kb overflowed often, and it caused the ROS node running on Arduino to go out of sync. Also I needed to drive about 16 servo motors , and my Arduino permitted only a maximum of 12. So the only alternative was to go for a powerful Arduino Mega 2560.
There are a handful of online shops in india that provides electronics components. Some of them specilizes in robotics components alone, while some specializes in embedded boards, while some others provides all types of components and boards. The prices of the same component varies greatly among different shops, so it is wise to refer as many shops before making a heavy purchase.
The shops are: