Today, I will tell you how I built my robotic arm from Lego Mindstorms NXT.
In fact, I wanted to build a robotic tripod for my camera. I found out, that it's more difficult then it looks. After some experimenting I build this simple robotic arm.
I you want to build it too, you need:
- Lego Mindstorms NXT kit
- a computer
- time...?
There are only two rules you have to follow while building ANY robot:
1. rule: KISS (Keep it simple, stupid!);
2. rule: "The triple-F" rule a.k.a. FFF (Form following function!)
In fact, I wanted to build a robotic tripod for my camera. I found out, that it's more difficult then it looks. After some experimenting I build this simple robotic arm.
I you want to build it too, you need:
- Lego Mindstorms NXT kit
- a computer
- time...?
There are only two rules you have to follow while building ANY robot:
1. rule: KISS (Keep it simple, stupid!);
2. rule: "The triple-F" rule a.k.a. FFF (Form following function!)
Step 1Constructing the base
The
base is probably the simplest part of the robot to build. It's just a
platform from the robot to stand on. You have to make sure, that it's
long and wide enough. The center of gravity must be somewhere on top of
the base, if possible, in the middle. Else wise, the robot will fall.
The base (in our case) are just a few beams that support the robot. More advanced robotic arms have motors in the base. These motors than move the arm, without moving themselves. Usually, the base has a motor that rotates the arm, but my arm rotates itself.
You can be much more creative with the construction of the robot then I was.
The base (in our case) are just a few beams that support the robot. More advanced robotic arms have motors in the base. These motors than move the arm, without moving themselves. Usually, the base has a motor that rotates the arm, but my arm rotates itself.
You can be much more creative with the construction of the robot then I was.
Step 2Building the "rotation module"
This
is one of my rare robots that are built from modules. My robotic arm
has three modules; one of them is the "rotation module".
It's very simple. It rotates the arm left and right and supports the other two modules. It's based on Matthias Paul Scholz's 90 degree join at:
http://mynxt.matthiaspaulscholz.eu/robots/motor90/index.html
It's very simple. It rotates the arm left and right and supports the other two modules. It's based on Matthias Paul Scholz's 90 degree join at:
http://mynxt.matthiaspaulscholz.eu/robots/motor90/index.html
Step 3Building the "tilt module"
The
second module is the "tilt module". It's placed on the top of the
"rotation module". Basically, we have a large gear (which doesn't turn)
and a small gear which is driving around the big one. The gear ration
is 1:10. That way, the arm can be more precise.
On top of this module there is a small platform, to which the claw is attached, but more about the claw later!
Attaching the two modules together couldn't be simpler. They are held together by a single shaft/axle, around which the "tilt module" spins. The arm can tilt for nearly 90 degrees, that's a lot!
On top of this module there is a small platform, to which the claw is attached, but more about the claw later!
Attaching the two modules together couldn't be simpler. They are held together by a single shaft/axle, around which the "tilt module" spins. The arm can tilt for nearly 90 degrees, that's a lot!
Step 4The claw module
This is the simplest of three modules. All
it does is open and close the most basic kind of claws. This module is
attached to the platform on the "tilt module".
I'm really sorry, but I'm afraid that I can't tell you much more about it. Pictures tell everything...
I'm really sorry, but I'm afraid that I can't tell you much more about it. Pictures tell everything...
Step 5Attaching the sensors and wiring
I used three sensors: light sensor, touch sensor and sound sensor.
The light sensor (Port 3) is located on the claw and lets the robot know, if the ball is there or not (and can recognize the "color" of the ball). The other two sensors are located on the platform of the "tilt module". Touch sensor (Port 1) serves as a sort of a button for me to press while the sound sensor (Port 2) measures the noise level (so I can give the robot commands with a clap for example).
At first, I wanted to include the US sensor as well, but I realized that it's relatively useless. You can still see it on one of the photos, but I removed it afterwards.
Now all that is left to do is the wiring. You must make sure that the wires do not disturb the movement and function in any way. You must also consider wire lengths for each sensor or motor.
Wiring (my robot):
- touch sensor -> Port 1
- sound sensor -> Port 2
- light sensor -> Port 3
- "rotation" motor -> Port A
- "tilt" motor -> Port B
- the claw -> Port C
The light sensor (Port 3) is located on the claw and lets the robot know, if the ball is there or not (and can recognize the "color" of the ball). The other two sensors are located on the platform of the "tilt module". Touch sensor (Port 1) serves as a sort of a button for me to press while the sound sensor (Port 2) measures the noise level (so I can give the robot commands with a clap for example).
At first, I wanted to include the US sensor as well, but I realized that it's relatively useless. You can still see it on one of the photos, but I removed it afterwards.
Now all that is left to do is the wiring. You must make sure that the wires do not disturb the movement and function in any way. You must also consider wire lengths for each sensor or motor.
Wiring (my robot):
- touch sensor -> Port 1
- sound sensor -> Port 2
- light sensor -> Port 3
- "rotation" motor -> Port A
- "tilt" motor -> Port B
- the claw -> Port C
Step 6Attaching the NXT brick
The NXT brick plays the vital role in
Mindstorms NXT robotics, so you have to have it somewhere on the robot
(or at least somewhere close). In my case only two brick hold together
the NXT brick and the robot's base. It's very practical to have it on
the base of the robot, 'cuz that makes the robot much more stable.
Step 7Decoration and finishing touches
When you are pleased with how your robot
works, you can put some effort into robot's looks. (Just remember the
Triple-F rule!) I usually just put some of those odd orange bricks on
the robot and that is usually that.
You can be much more creative...
You can be much more creative...
Step 8Programming
There
are 5 programming languages you can use: NXT-G (default language), NXC
(not exactly C), Robolab, Robotc, pbLua and NXJ. I used NXT-G (however I
a bit tired of NXT-G and that's why I am trying to run away from
Mindstorms...).
You are very free with your programming, that's why I won't talk about the programming any more.
You are very free with your programming, that's why I won't talk about the programming any more.
Tidak ada komentar:
Posting Komentar