Tuesday, July 9, 2013

RFA on Facebook!

Robotic Feeding Arm is now on Facebook, please check out the widget to the right and like our page! By liking the page you're helping RFA grow its network and you will stay up to date with news about this product.

https://www.facebook.com/RoboticFeedingArm

Thursday, June 27, 2013

Accelerator Program

2013 Finalist Logo

I was accepted as one of the finalists for the Merrimack Valley Sandbox Summer Accelerator! The program, which gives entrepreneurs the opportunity to network and more, kick-started last Wednesday (6/19) and will run through August. The website has each entrepreneur update a blog; mine can be found here: http://merrimackvalleysandbox.org/entrepreneurs/robotic-feeding-arm-2/. While I wont be updating this blog with accelerator content every week, I will keep this blog updated with technical posts.

 

Monday, June 17, 2013

Networking Update

Last week I had the opportunity to attend a couple of different events to help me with my business idea. The first event was hosted by the Merrimack Valley Sandbox where the top entrepreneurs squared off to pitch against each other for $5000. The night was a success for anyone who participated. Only four entrepreneurs including myself actually pitched in front of the judges, however, tons of entrepreneurs showed up to present there business ideas during a networking portion of the night. While I didn't win the big prize, I was honored to accept the $500 award for fan favorite!

[caption id="attachment_153" align="aligncenter" width="625"]SummitFanFav Desh Deshpande, Me, Robin Chase (Zipcar founder)[/caption]

The second night was a laid back event where Umass Lowell entrepreneurs stood in front of their posters to explain their business ideas to those attending the Deshpande Symposium. These events are always great to attend so that you can meet new people who can help you.

[caption id="attachment_154" align="aligncenter" width="625"]Me at the Deshpande Symposium at Umass Lowell Me at the Deshpande Symposium at Umass Lowell[/caption]

 

Friday, June 14, 2013

Business Cards

[caption id="attachment_149" align="aligncenter" width="625"]First shot at a business card First shot at a business card[/caption]

Main Point


Starting a business requires networking with people who can help you. Building connections up can help you succeed by earning financial and informational support. In order to network, you need to create a communication link that extends beyond the initial meet and greet that takes place during many 'networking events'. Even with today's sophisticated means of communication, the tried and true business card is the best way to stay connected.

I do not have a name for the business I envision, and I wanted to create a whole business concept before I branded it through business cards, websites, Facebook pages, etc. For this reason, I delayed the process of building a website and creating business cards which was a mistake. In order to create a business with a catchy name, slogan, statement, logo, you need resources! I need resources. Instead of waiting for resources, start by creating a preliminary concept by identifying on a small scale what it is you want to do. Brand yourself.

My Card


Despite not having an image yet, I still wanted to create something that set my cards apart from other entrepreneurs. Creating a card that stands out among the rest is important especially in situations where you attend mixers where you'll be receiving a dozen or more cards. My design consists of one side with my name in large font. To create a unique style I scanned my own handwriting then "traced" over the scan in a software program to produce the artwork. Using the same program (KoolMoves), I then drew the robot arm seen on the flip side and added some simple contact information.

I used Moo.com to assemble and print the cards. I was deciding between VistaPrint and Moo, and ended up going with Moo because the final layouts looked more professional despite using my own graphics. The cards are significantly more expensive on Moo only because they try to create unique templates for your business type, and also have modern font styles to stay current.

Monday, June 10, 2013

EEG Interface

[caption id="attachment_144" align="aligncenter" width="300"]EEG Headset Emotiv's EEG Headset[/caption]

I have been awaiting the arrival of this EEG (electroencephalogram) computer interface for a few weeks and it has arrived today! The company that makes this technology is Emotiv and you can purchase your own headset very easily. Check out their website for a tour of the device and to understand how it works.



My Goals with EEG


The main use for this headset is to interface your own brainwaves with a computer. What this means is that you can actually control software (which can manipulate hardware) through your thoughts, emotions, and facial movements. The implications for me using this device are huge because I deal with assistive technology. I'm afraid there will be quite a learning curve with this device, however my first goal will be to control my Robotic Feeding Arm with my thoughts (this would obviously replace the two push-button interface).

I'll keep the blog updated with any progress I make towards obtaining this goal.

Tuesday, June 4, 2013

Much Needed Feedback from a Hobby Servo

[caption id="attachment_128" align="aligncenter" width="242"]Hobby Servo Figure 1. Hobby Servo[/caption]

Background Information


Hobby servos do not give you position feedback. They are selfish. The only feedback they have is internal and the manufactures do not give you access. This internal feedback tells the servo if its current position does not match the desired position (desired position is set by you).

What does this mean?? It means that the only way you can know a servo's location is by sending it somewhere then remembering where it is you sent it. Well of course, you could just look at the output shaft (figure 1) and eyeball its position, but an end-user shouldn't have to nor can you utilize this visual reading in code real time.

Configuring hobby servos in a system (this happens usually when the system is powered on) means there's going to be a potential moment of chaos as the servos are first sent to a known position (from an unknown position.... hence potential chaos). Imagine you wake up in the middle of the night and you need to use the bathroom. First step is to get out of bed, but assume you don't know where you are until you get out of bed... you kinda flail around to achieve your desired position in a fit of insult to your intelligence. That's what it could look like depending how far away the servos are from the configuration setting. Let's avoid this by modifying the servo.

In a Nutshell


By soldering a wire to the wiper of the potentiometer you now have position! There are four wires seen in figure 2: black (ground), red (to power servo), yellow (pwm signal), and now white (voltage reading from pot). The white wire that I attached to the servo is an output lead that can be connected to a device that takes voltage readings. The voltage reading will vary as the output shaft (connected to the pot) rotates which results in you knowing the position of the output shaft.

 

[caption id="attachment_129" align="aligncenter" width="192"]Tap to the Wiper Figure 2. Tap to the Wiper[/caption]

Implications


1) Knowing the position from the servo at start up can allow you to configure the servos so that they never behave erratic. 

2) Implement a 'record mode' which will remember servo positions over time. In other words, you can actually drag the robot around and the chip/computer will remember what you did.

3) I'm not convinced yet, but having voltage measurements on the output-shaft position, velocity can be set/controlled since angular velocity is radians/second. Without feedback you can only adjust velocity through software increment control (which really isn't controlling velocity).

I'm sure there's more but those are the top three I will experiment with.

Technical Aspect


To assess the accuracy and ability of converting the wiper reading to position, I set up an data gathering experiment:

1) A PIC micro-controller sent the servo through 1800 different PWM signals (600 to 2400 increment by 1 each iteration).




[caption id="attachment_132" align="aligncenter" width="300"]Setup for experiment Figure 3. Setup for experiment[/caption]

2) Through each iteration, the wiper data (hooked up to an ADC) was sampled and sent 10 times to a laptop through serial communication. Each serial packet's data consisted of the 10 ADC wiper readings along with the PWM signal value.




[caption id="attachment_131" align="aligncenter" width="300"]Data being sent from controller to laptop Figure 4. Data being sent from controller to laptop[/caption]

3) Using Linux, the data was received and organized into a file stored on the hard drive. Each packet received was broken down by averaging the samples into one data point and stored with its corresponding PWM signal. Click image for a closer look.




[caption id="attachment_130" align="aligncenter" width="113"]File created from data collecting Figure 5. File created from data collecting[/caption]

4) The file's data was imported into Matlab where the information was analyzed (figure 3). The blue plot shows the actual data and the red line under it is the linear curve that was fit. The blue line looks overall linear which means the ADC value will be a good indication of where the servo is. The reason for the data not being more smooth is because the servo itself has an 8-bit chip which is only capable of 256 positions (0.705 degrees per step), where I put it through 1800 positions (0.1 degrees per step). The equation listed is the linear equation for the fit. This equation can be used to determine the PWM signal needed to address a certain position.




[caption id="attachment_133" align="aligncenter" width="530"]ADCvPWM Figure 6. Data plotted with curve fit[/caption]

 Conclusion


The experiment was successful and determined that this technique of modifying hobby servos can be used to gain some of the advantages more expensive servos offer. Despite the data showing promising results, the real tests will come with application.

This experiment already encompassed the first implication, knowing where the servo is when power is turned on. The next experiment to conduct (done partially already) is with the second implication which is recording data from me turning the servo shaft with my hand then having the servo repeat the movements on its own.

Tuesday, May 21, 2013

And it begins again...

[caption id="attachment_118" align="aligncenter" width="300"]RFA Box Robotic Feeding Arm Base[/caption]

My current goal is to build my third robotic feeding arm. The first one is at the Franciscan Hospital, the second is in my possession but was used to compete in the Cornell Cup. This third device will be used hopefully to compete in RESNA student design competition in June. Despite competitions, the school will want to have one to display in the ECE office as a show piece to incoming students/parents.

As I receive more funding, future robots will be built to try out new designs and platforms. Just today I got invited as a semi-finalist (from 70+ applicants) to an interview in hopes to be a finalist for the Sandbox Summer Accelerator! If chosen, I will have the opportunity to kick-start my business over the course of this 12-week program that ends with $30k in cash prizes.

Looks like this could be a busy summer.

Wish me luck!