Archive Info

You are currently browsing the BrickEngineer weblog archives for 'Research' category

Center of Mass of LEGO NXT Motors

I am working on designing a walking machine, but I needed to know the Center of Mass of the LEGO NXT Motors.  When using Newton’s Laws to compute the forces on the system, we can treat the motor as if all of its mass is located at a single point.  The Center of Mass is the location of this point.

Hanging an NXT motor to find its center of mass.

There are several ways to find the Center of Mass of the motor.  The most straightforward way is to hang the motor from an axle placed in one of the holes.  The motor will orient itself so that the Center of Mass lies directly below the axle.  By hanging a mass on a string from the axle, the Center of Mass must lie somewhere along the line defined by the string. 

The Center of Mass Lies along the line defined by the vertical string

After performing this experiment, I placed a small piece of Scotch tape over the string so that I can keep track of where that line is.  I then cut the string off of the axle.

A piece of Scotch tape holds the string in place

Now to find the precise point, we simply perform the experiment again, but place the axle through a different hole.  This gives us a second line.  Since the Center of Mass must be on both the first line and the second line, it is located at the intersection of these two lines.

The intersection of the two strings indicates the position of the Center of Mass

The Center of Mass is very close to being aligned with the holes on the motor.  Below is an MLCAD image of the NXT motor (from Philo).  I have overlayed a Cartesian coordinate system that corresponds to that used to define the 3-D image file.  The origin of this system is at the center of the axle hole on the motors drive axis.  This is perfect for me since I will be rotating the motor and trying to compute the position of the Center of Mass after the motor has rotated through some arbitrary angle.

The dimesions of the LEGO NXT Motor

This image not only helps with identifying the Center of Mass of the NXT motor, but also in understanding the dimensions of the NXT motor overall.

Kevin Knuth
Albany NY

Matlab Package for LEGO Mindstorms

I recently received a comment on my post on controlling NXT robots with Matlab that pointed me to the RWTH - Mindstorms NXT Toolbox for MATLAB®, which is a public domain Matlab package that enables one to interface with and control LEGO mindstorms.

The RWTH - Mindstorms NXT Toolbox for MATLAB® was developed as a student project in the Institute of Imaging and Computer Vision at RWTH Aachen University in Aachen Germany. It provides a Matlab interface with the NXT brick that includes Bluetooth communication, sensor interface and motor interface. It requires a working Matlab license, of course.

The package is very easy to set up. It took me less than ten minutes to successfully test the example programs over Bluetooth.

There are some very nice motor features, such as motor synchronization and speed ramp-up and ramp-down.

I have yet to explore how easy it is to modify or extend the code, but it ought to be a straightforward matter.

The package can be downloaded from
http://www.mindstorms.rwth-aachen.de

Kevin Knuth
Albany NY

NXT Books

All of a sudden there are several NXT books available.  Here are several that I have seen and really enjoy.

The others, I have not yet had a chance to review.

Intelligent Instruments

Intelligent Robotic Arm

The LEGO Mindstorm NXT robotics system is an excellent testbed for research in machine learning and artificial intelligence.  At Knuthlab Robotics at the University at Albany, we are developing intelligent instruments using LEGOs.

Our first instrument is a robotic arm that is designed to locate a characterize a white circle on a black background using the LEGO light sensor.  It relies on Bayesian inference, which is implemented using a technique called Nested Sampling, which was developed by John Skilling.  This software allows the robot to learn the characteristics of the circle using the light sensor data that it has collected.  The real advance here is the inquiry engine, which uses Bayesian adaptive exploration to decide which measurements to take next.  It does this by considering all the possible measurements that it could take, and computes the expected gain in information from each possible measurement.  It then chooses to take the measurement with the greatest expected information gain.  The process then repeats as the robot learns about the circle.

The system is easily generalized to solving other problems, such as exploring rooms, interpreting people’s emotions, and doing real science.

We recently presented our research at the MaxEnt 2007 workshop in Saratoga Springs NY.  Below are links to a video of the talk, my slides, and our research paper.

Video: Designing Intelligent Instruments, K.H. Knuth

Slides: Designing Intelligent Instruments, K.H. Knuth

Research Paper:
Knuth K.H., Erner P.M., Frasso S. 2007. Designing intelligent instruments. K.H. Knuth, A. Caticha, J.L. Center, A. Giffin, C.C. Rodriguez (eds.), Bayesian Inference and Maximum Entropy Methods in Science and Engineering, Saratoga Springs, NY, USA, 2007, AIP Conference Proceedings 954, American Institute of Physics, Melville NY, In press.