Grabber Program

After charging the batteries, I decided to test my latest and greatest program. However, when I set the car on the floor, I realized I did not know how far away I had to put the grabber from the ball. This was because I no longer used the push of the touch sensor to open the grippers. Instead I had designed the robot to travel a set distance, three revolutions of the wheel, and then open the grippers. To figure out the distance I needed between the robot and the ball, I programmed the motors on the robot to make one revolution. I then measured the starting and ending point of the robot to determine the distance it traveled. Then, using the diagram supplied with the NXT kit, I measured the distance between the stand and the robot as shown in the diagram below.

As it turns out, the distance is two revolutions. Going back to the program I created, I changed the amount of revolutions for each motor to two. After making those changes I again tested the program. To my excitement, the grabber was able to grab the ball while only slightly moving the stand. Since the stand essentially stayed in place, the robot was able to drop the ball back on the stand on its return trip.

Considering where I started from, getting the “grabber program” to work was very rewarding. The time and effort put into it had lead to success. Overall, not only had I made a working program, but I had also learned how to use the NXT programming environment, the goal of this task.

 

Comments

My first programs

Today, I downloaded the NXT software and the updates to the software to my computer. Then, I briefly watched the provided tutorials to gain a general sense of how to use the NXT programming software. Once I became familiar with the programming package, the next challenge was to develop a working program. This proved challenging, yet rewarding.

Since the ball retrieval device was already built, I decided to create a program for it. My thought was to make a program in which the ball retrieval device autonomously performed the following actions: open the device’s grippers, move forward until reaching a ball on a stand, grab the ball, close the grippers, move back, move forward, place the ball back on its stand, move back, and close the grippers. All in all, I wound up making three different programs. On the third try, I finally had a working program; however, it was far from perfect. As such, I began fine tuning the properties of the sensors.

The first problem I had to address was that the motors where moving too fast. To combat this problem, I lowered the speed of each motor from 75% to 50%. The next problem I faced was a result of a design flaw in the car itself. The part of the car used to grip the ball was very flimsy and, therefore, the ball would not always remain in the grippers. As such, I added some support to make the gripping device more rigid. The next challenge I faced dealt with the stand holding the ball. To my dismay, every time the car would bump into the stand, thereby activating the touch sensor on the car, it would cause the stand to change position. To try and combat this nuisance, I tried to tape the stand to the floor. However, this did not work that well. The next thing I tried to do was to put weights on either side of stand. Again this was a failure. To fix my problem I decided to change how the car operated. Instead of using the touch sensor to activate the grippers, I had the grippers close after it went three revolutions. This seemed like it would work much better. Unfortunately, just when I thought I had designed the ultimate program, the batteries died on me.

Comments

Ideas, ideas, ideas

Today I presented my car to Professor Cumaranatunge and shared a few ideas with him. My first idea for the independent study was to create a game using the ball retrieving device. This would include three major steps: 1. design an interface for controlling the robot, 2. discover how to use Bluetooth to send commands to the robot, and 3. attach a camera to the car, so as to allow the user to watch the moves the ball retrieval device was making. Overall, the goal of the game would be to use the ball retrieval device to locate a ball hidden in a room and, once found, grab the ball and navigate to another location in the room.

The second idea I presented to Professor Cumaranatunge was to build a device that could draw letters. In carrying out this idea, I would need to make 26 programs (one for each letter of the alphabet). Once the 26 programs were designed, I would need to make an interface that allows a user to select the letters in their name. Finally, I would have to design a way to send the program, once a letter was chosen, to the robot using Bluetooth.

Although we did not choose which direction we were going to follow, we came up with a plan of action for the immediate future. Professor Cumaranatunge decided it would be best for me to become familiar with the programming software that came with the Lego Mindstorms. Not only would this activity allow me to learn about different sensors, it would allow me to delve deep within the small intricacies of each of the sensors.

Comments

Introduction to Mindstorms

On this day, I read over the Lego Mindstorm manual.  I learned how to control the sensors of the robot from the NXT brick.  After experimenting with the different sensors, I created two different cars.  The first one I designed had a touch sensor in the back, an ultrasonic sensor in the front, and two servo motors attached to the body for steering the car.  I was quite surprised at how well the ultrasonic sensor worked.  Although my car was unique and budding with potential, I realized it did not seem practical for the task at hand.  It seemed the car that I had just created would be better served to autonomously travel around a room, avoiding obstacles obstructing its path.  Next, I created a second car using the directions provided in the book.  Essentially, I created a ball retrieval device.  This project was quite interesting as no directions were given to build the base of the car.  After much perseverance and looking at many different pictures of the car from a variety of angles, I was able to recreate the “base car” shown in the book.

Comments

First Meeting

Today was the first meeting between Professor Cumaranatunge and me. During this meeting we did the preliminary work for the Independent Study, as I had my add/drop formed signed and was given the Lego Mindstorm kit.

 

Comments

Kickoff!

Justin Richard is enrolled in an independent study this semester to explore developing interfaces for mechanical devices. His background in mechanical engineering and information technology is a perfect combination; and it looks to be a very productive semester for both of us. I’m an Assistant Professor in the Multimedia Web Design and Development program at the University of Hartford. Justin is a Senior in the program. Our goal is to build a web-based interface that would enable a mechanical robot to be controlled from anywhere.   

Read the rest of this entry »

Comments