プログラミング

いくつかロボットを作ってみた

ダンシングロボット まずは1つ目。ダンシングロボットです。左手の所に音センサがついてて、周囲で一定以上の音が鳴ったら、踊り出します (実はただ動いているだけ)。 #define THRES 50 // タッチセンサが押されたらメロディーを流すタスク task touch_melod…

ライントレースロボットを作ってみた

画質悪いですが、ようつべに上げてみました。ソースコードはこんな感じ。 #include "sensorlib.c" #include "motorlib.c" #define THRES 45 task main() { init_sensor(); while(true) { go_forward(); if (get_light() < THRES) { turn_right(); } else { t…

犬のお散歩

ちょっとプログラム書いて、動かしてみました。PCからプログラムのスタート/ストップの制御がしたいので、コード引っ張ってて、犬のお散歩みたいですけど^^;簡単なプログラムです。ソナーセンサーで、近くに障害物があるかどうか調べて、障害物があったら、…

Robot Cのセンサーの扱い方をまとめてみた

今、LEGO Mindstorms NXTに対応しているRobot Cで遊んでます。やっぱ使い込んでいくと、関数リファレンスが必要になってくるということで、オフィシャルホームページに書いてあるのをまとめています。開発元のCMUに連絡して、日本語に翻訳したのをどこかに公…

Robot Cを試してみた

ちと余裕ができたので、LEGO Mindstorms NXTを動かしてみます。 RobolabとかGUI環境はめんどくさいので、C言語で動かしてみます。使ったのはRobot C。これ、カーネギーメロン大学で作られたっぽいですね。 とりあえず何でもついてるロボットを動かす ロボッ…

Robot C - NXT対応のC言語プログラミング環境

「レゴ マインドストーム NXT 体験ブログ」によると、「Robot C」という名前NXT対応のC言語プログラミング環境があるみたいですね。Robot C http://www-education.rec.ri.cmu.edu/robotc/index.htmlサンプルプログラムも公開されてます。↓は、前進するプログ…

NXT対応のJava APIがリリースされてる

lejos.sourceforge.netによると、LEGO向けの組み込みOSであるleJOSの新バージョンのAPI (leJOS 3.0) がリリースされてるそうですね。lejos - Java for the RCX - http://lejos.sourceforge.net/ All's well that ends well: the first release candidate for…

さてJAXP (Java API for XML Processing) のおさらいだ

JavaでXML操作するときはJAXPを使います。たしか、XMLパーサ (XercesとかCrimson?)をとっかえたりできるんすよね。これ。まー今回はデフォルトのパーサで行きますが。XML読み込んで、Documentオブジェクト (XML文書全体を表すオブジェクト) を生成するまでに…

入力XMLと出力OWL

昨日の日記のとおり、XMLからOWLを吐くプログラムを書いてみました。XMLは属性とかなしで、単純に階層を表現してるもの、出力するOWLはクラス階層のみで、プロパティや固体などはなし。こんなXMLから (縦に長くなるから、第3階層は横に並べてます) <ontology> f:id:sk</ontology>…

JenaOWLModelクラスのsaveメソッドの細く

ファイルに出力する場合のパラメタは、 fileURI - the URI of the target file language - the Jena output language (typically FileUtils.langXMLAbbrev) errors - an initially empty collection of errors とのこと。ファイルではなく、出力ストリームに…

スピリッツ関係のオントロジを吐き出すプログラムを書いてみた

Protege Programmer's Guideを見つつ、↑のスピリッツ関係だけ吐き出すプログラムを書いてみました。 import java.io.File; import java.util.ArrayList; import java.util.Collection; import com.hp.hpl.jena.util.FileUtils; import edu.stanford.smi.prot…

Protege OWL APIでカクテルオントロジを書くぞ

今、Protege OWL APIを調べてます。オントロジエディタ Protege のOWL用プラグインで公開されてるJava APIです。JavaでOWLを扱えるってシロモノです。 とりあえず、某参考書に載ってた↓のカクテルのオントロジを作ります。オントロジといっても、クラス階層…