Localisation Challenge: Lego NTX

Posted by jay on March 21, 2010

After having been hard working on this Lego robot for the past 2 months, we finally get to this last challenge.

Again, this is based on Monte Carlo Localisation and Place Recognition. The implementation is based on RobotC. There are several challenges:

  • The robot will be placed randomly by the examiner in one of the five marked waypoint position. The orientation of the robot is also randomly picked.
  • The robot has to work out where it is placed and then navigate as quickly as possible to each of the five points and navigates back to the start point.
  • Design of the robot is on our own choice. The choice of methods will not be judged, but performance of the robot counts.
  • Kits/Sensors allowed is the what it comes with the standard education pack. Thus, only one sonar sensor, three motors and two light, two touch sensors are allowed.

The video below was how our robot performed for the first try. The robot first correctly figured out the current waypoint position and its direction using sonar sensor, then started its navigation to other points.

Notice that each point has a precision measure, if the centre of the robot moves preciously to the centre of the points (marked red), we get 3 points. Otherwise, lower precision will result 2, 1 or 0 marks.

Install SML Compiler on Ubuntu

Posted by jay on March 04, 2010

Here is a short tip if someone would like to install SML Compiler on Ubuntu.

Standard ML of New Jersey interactive compiler
SML/NJ is an implementation of the Standard ML programming language.
Standard ML has many features, including type safety, polymorphism,
algebraic data types with pattern matching, higher-order functions,
and a sophisticated module system. It is especially well-suited for
writing compilers and other language processors.

This package includes the interactive compiler (sml), the compilation
manager (CM), and some essential libraries. It is a “working”
version, but believed to be stable.

Install this package if you want to program in SML.

Type in command line:

   sudo apt-get install smlnj

The sml will be installed under /usr/bin/sml