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.


Nokia从Symbian开始进入开源市场

Posted by jay
on June 26, 2008

前一阵子刚写过一些关于开源的文章,说到Open source的前途问题, 这两天Nokia在开源的方面又作了一些计划。

虽然Symbian系统现在还不是开源的, 但是Nokia近日已经公开宣布很快Symbian就会开放资源. 关于License的问题, Nokia决定用Eclipse Public Lincese.

预想一下在未来2年里面, 网络上的那些开源的开发者会如何对待Symbian. Symbian系统在过去的10多年里面是非常强大的, 他曾经有一段时间在市场上和WindowsMobile可以抗衡, 但是随着市场的挑战与变化, 更多的移动平台不断发展, 它似落到了低谷. 和Android, WindowsMobile, iPhone OSX相比, 他的数据处理, 功能和性能上都落于下峰. 一旦系统开放, Nokia就要像放羊一样, 让系统在社区下面任意发展. 也许开发人员会设置一个分支, 然后从分之里面重新开发一个移动系统. 也许没有什么人会再去怀念Symbian的过去.

话说回来, 除了一些爱玩移动手机的人士, 谁会在乎系统是什么? 又有多少人在乎在手机之外的功能? Symbian着眼于SmartPhone的市场, 这个市场本身就很小. 和普通用户市场相比, 用户数量应该不仅仅差2-3位数. 记得2000年的时候, 根据报道用户数量大约有200m, Symbian预测在2000年Q2-Q3达到400m, 现实看来这样永远是一个梦想而已.

Symbian已经完成了他的使命, 他已经实现了所有设计者计划之内的功能, Road map已经到了尽头.


关于Linux分区

Posted by jay
on August 08, 2006

安装ubuntu / Kubuntu的时候可以选择有程序自己分区或者自定义分区。一般来说Linux的分区可以有以下几个:

/boot 操作系统启动文件分区,一般分配大小在250MB-500MB左右
/usr 操作系存放软件的地方
/bin 存放标准系统实用程序
/home 是用户的home目录所在地,多用户需要分配这个分区。比如用户andrew的目录会 被分配在 /home/andrew下面,而jay的目录会被分在/home/jay
/tmp 用来存放一些临时文件的分区。
/var/log 系统日志记录分区,建立这个分区,即使日志文件出现了问题,也不会影响到操 作系统的主分区
/srv 服务器启动的数据存放在这里
/opt 大程序,可选择安装的程序存放在这里
/ 根目录

/opt分区易于管理程序(备份LumaQQ为例):
重装linux的时候,选择自定义分区时不用格式化/opt分区,先备份好XXX/lumaqq文件夹,重装系统后,把lumaqq文件夹放回到XXX目录,配好java环境输入命令:

$ sudo ln -s /opt/LumaQQ /usr/bin/lumaqq

* ln – make new links to existing files

分区的顺序:
没有必要完全按照这个顺序,按照分区用途和硬盘结构来说,越靠近外边的效率越高,比如说/boot和swap是系统读取数据最平凡的分区,建议的顺序是:

/boot -> SWAP -> /home -> /var/log -> /tmp -> /srv -> /opt -> /