After assembling the hardware for my SLAM (Simultaneous Localization and Mapping) robot, I set about to write the code which controls the drive motors, senses obstacles, and records the robot’s path. Lego’s NXT kit comes with a rather basic visual programming language called NXT-G. This program, which constructs programs by creating essentially flow charts, is almost counterintuitive to anyone with command line programing experience. I decided instead to use the third-party programming language called Not eXactly C (NXC) and its associated IDE, Bricx Command Center.
Continue reading “SLAM-5 Bot part 2: The Control Algorithm”
Last month the FIRST Robotics National Championship was held at the Georgia Dome, only several blocks from my house, so I ventured over to report on the events lasting from Wednesday to Saturday. The entire extravaganza was sponsored by Vex, Lego, and NASA, amoung others. The National Championship in Atlanta is the culmination of regional competitions throughout the US and Canada. Three separate events were simultaneously taking place under one roof. The FIRST Lego League (FLL) and FIRST Tech Challenge (FTC) are both kit-based problem solving competitions for kids aged 9-14 and high school students. Additionally, the FIRST Robotics Competition (FRC) is an open-ended design competition which allows high school students the freedom to construct their robot from the materials of their choosing. The three competitions are entirely different; each has a unique playing field, set of objectives, and scoring method.
Continue reading “Reporting In From The FIRST Lego Robotics Competition”
I have plans to utilize the Lego NXT system for several upcoming robotics projects. The success of these projects depends on the capabilities of the kit’s ultrasonic (US) range finder. I created a test rig with the US sensor and NXT brick and conducted several experiments in order to characterize the sensor.
Test rig: wood block, measuring tape, protractor, US sensor, NXT brick (from left to right).
Continue reading “Performance Testing NXT’s Ultrasonic Range Finder”
I recently purchased Lego’s new NXT hobbyist robotics kit. After familiarizing myself with the basic layout of the command module, available hardware and sensors, and third-party programing languages by building several single-task robots, I decided to use the NXT as a forum for my studies in SLAM robotics. As I have previously quoted, Dr. John Leonard of MIT says,
The problem of SLAM is stated as follows: starting from an initial position, a mobile robot travels through a sequence of positions and obtains a set of sensor measurements at each position. The goal is for the mobile robot to process the sensor data to produce an estimate of its position while concurrently building a map of the environment.
My goal and new perspective on the problem is to design a system which is as simple as possible. I immediately realize that much of the complication in SLAM systems lays in the timeliness with which the system processes information in real time. I know that some compromise between speed and simplicity had to be established, and in pursuing the most simple system, I am willing to sacrifice a lot in speed. So I have created what I am calling the “slam five robot”. The real acronym is S.S.S.S.S.L.A.M. which stands for “super-simple, super-slow, simultaneous localization and mapping robot”.
The system consists of three components: the physical hardware of the robot, the control algorithm which guides the hardware and sensors, and the post processing algorithm which interprets the sensor data. I begin here by describing the hardware and sensor setup.
Front view of the SLAM-5 bot, showing ultrasonic range finder and wiring for the drive motors.
Continue reading “SLAM-5 Bot part 1: The Hardware”
Georgia Tech’s Robotics Initiative has continued the free lecture series this semester. The bad news is that this semester’s schedule has been so poorly advertised to the public (no eye catching flyers like last semester) that I missed the first three of the year. The good news is that if you search for it, you’ll find that this semester’s schedule has lectures planned almost every week. Last week’s guest speaker was Dr. Oussama Khatib, who is a member of Stanford University’s Artificial Intelligence Lab and Professor in computer science. Furthermore, he is the President of the International Foundation of Robotics Research. Dr. Khatib presented his research which focuses on human-centered and human-friendly robotics. Continue reading “Dr. Khatib, Georgia Tech RIM Seminar Series”