RM-boardの開発環境整備4

しばらく浅草ギ研のS-Eyeの接続にハマっていました。
ボーレート設定の読み違えという初歩的なミスで、数日間を費やしてしまいました。サポートの方、ごめんなさい。
S-Eyeが接続できることがわかったのと、RM-eyeで二値化画像が得られることがわかったのとで、今度は開発環境整備の方を進めることにしました。
先日のlitte smalltalkはくせ者なのですが、せっかくSmalltalkで書けるのだからと採用を予定しています。

今日はPC上のsqueakとのネットワーク接続を試みました。little smalltalkにTCPの通信機能を実装している暇はないので、単純にstdinとstdoutを置き換える形で実装してみました。これで、squeak上からTCPで接続して、RM-board上のlittle smalltalkを操作できるようになりました。

サーボもつないで動かしてみたのですが、ホームポジションの設定がまずかったらしく、レレレのおじさんのような格好になってしまいます。下半身強化のため足部を外していたのでよかったですが、つながってたらかなり悲惨なことになっていそうです。

これからサーボ制御まわりに取りかかります。

ScratchによるKHR-1HV(RCB-3)の制御

無事に学園祭が終わりました。今年の目玉の一つはKHR-1HVによるダンスです。おかげさまで、当日かなりの注目を浴びることができました。徹夜でモーションを完成させたロボットチームはお疲れ様でした。

2体のロボットを同時にスタートさせたいというところから、HTHやRCBCommander3では対応していないためにプログラムで制御しようということになり、せっかくだからScratchで制御しようと進んできました。

何とか使えそうなところまできたので公開いたします。

チェンジファイル:DefartNetworkConnection.cs
Scratchソース:Scratch Source Code

RM-boardの開発環境整備3

前回は開発環境としてluaの組み込みに成功しましたが、やはりITOLABでの基本言語はSmalltalkだろうということで、RM-boardにSmalltalkを組み込むことに成功しました。

といってもSmalltalk/80の現在の主流であるSqueakやCincomではなく、Little Smalltalkを組み込みました。

Little Smalltalkはsumimさんのブログに詳しいですが、ティモシー・バッドの作成した学習用の実装です。

オリジナルのソース:small.v3.tar

これをubuntu上でARM用にクロスコンパイルし、RM-boardに移してsystemImageを構築しました。一部に手直しが必要だっただけで、ほとんどすんなりとコンパイルすることができました。

それからLua用に用意したRM-boardのサーボを制御するルーチンをプリミティブとして実装し、LittleSmalltalkからサーボの制御ができるようになりました。

LittleSmalltalkでどの程度本格的なプログラムが組めるのかまったく未知数ですが、面白そうなのでしばらくはこれで開発を進めてみようと思います。