#nomenubar
#navi(NQC入門)

* 1.1 NQC とは? [#c4979a10]
LEGO社のロボット・キット『MindStorms Robotics Invention Systemt (RIS)』にはWindows上で使う標準の
ソフトウェアがついてきますが、GNU/Linux や Mac などの他のOS上でも、ボランティアによって開発された優れたフリーソフトウェアを活用することでロボット制御のためのプログラミングが可能です。
ソフトウェアがついてきますが、GNU/Linux や MacOS などの他のOS上でも、ボランティアによって開発された優れたフリーソフトウェアを活用することでロボット制御のためのプログラミングが可能です。
現在使うことのできる、さまざまな開発(プログラミング)環境については、
例えば [[Lego Mindstorm with Linux Mini-HOWTO:http://www.linux.or.jp/JF/JFdocs/Lego/index.html]](linux.or.jp) や [[LEGO User Group Network (LUGNET):http://www.lugnet.com/]] の [[ニュースグループ:http://news.lugnet.com/robotics/rcx/]]を参考にしてください。

さて、[[NQC (Not Quite C):http://bricxcc.sourceforge.net/nqc/]]は、
[[Dave Baum:http://www.baumfamily.org/]]さんによって
作成されたそのようなフリーな開発環境の一つです
(現在は、John Hansenさんによってメンテナンスされています)。
その名前から推測できるように文法は C言語に似ていて(が、違う)、
ユーザが作成したプログラムをLEGOのファームウェアが
理解できるコード(byte code) に翻訳 (コンパイル) し、
RCX に転送することができます。

* 1.2 参考文献 [#uec2b762]

プログラミングを始めるにあたって、
まず以下の文献をwebから入手しておきましょう。

//- [[Dave Baum さんによる『NQC Programmer's Guide』:http://www.baumfamily.org/nqc/doc/NQC_Guide.pdf]]
//(Version 2.3r1)
- [[Dave Baum さんによる『NQC Programmer's Guide』:http://bricxcc.sourceforge.net/nqc/doc/NQC_Guide.pdf]]
- [[Mark Overmars さんによる『Programming Lego Robots using NQC』:http://people.cs.uu.nl/markov/lego/tutorial_j.pdf]]
(日本語訳 by Alberto Palacios さん) (リンク訂正 -- 2008-10-17)

前者は NQC の作者 Dave Baum さん自身によるガイドで、
さまざまな関数の使い方を含む nqc の仕様が詳しく書かれています。
// %%ただし、NQCのサイトでオフィシャルな最新バージョンを見つけることができなかったので、ここではリンクは張っていませんが『NQC Programmer's Guide』で検索してみるといくつか見つかります%%
(以下で紹介する MacNQC には、この文書のHTML形式のものが含まれています)。
後者は Mark Overmars さんによる NQC のチュートリアルで、
簡単な例題からロボット間通信や並列処理などの
少し複雑なプログラムまでわかりやすく解説されています。

%%少しプログラミングに慣れてきて、いろいろな関数を使ってみたい場合には、[[Mark Rajcokさんによる『NQC API Programmer's Guide』:http://www.informatik.uni-kiel.de/inf/von-Hanxleden/mindstorms/Programmierung/NQC/]]を利用するとよいでしょう。これは Dave Baum さんによるガイドの HTML 版です。%%
(リンク切れのため削除 -- 2008-10-16)

その他にもWebを検索すれば多くの文献やプログラム例が見つかりますので、
各自でいろいろと探してみてください。

* 1.3 NQCの入手 [#j09eceaf]

10番教室のパソコンにはすでにNQCがインストールされていますが、自分のノートパソコンで作業したい人のために配布サイトを紹介しておきます。
各OSごとのインストールの詳細については『[[NQCのインストール>NQC入門/A2. NQCのインストール]]』を御覧ください。
[[NQCを収録したライブCDやライブUSBメモリのイメージを作成してみました>DebianLive]]ので、今使っているOSにNQCをインストールするのが面倒、という方はお試しください。

NQCのソースコードとWindows用、MacOSX用の実行形式のファイルは、http://bricxcc.sourceforge.net/nqc/ から
ダウンロードできます。
ただし、WindowsあるいはMacOSXで使う場合には、NQCを単体で使用するよりもGUIの統合環境である
[[BricxCC:http://bricxcc.sourceforge.net/]]
や[[MacNQC:http://homepage.mac.com/rbate/MacNQC/]]を使用するほうがおそらく便利でしょう。

- BricxCCのダウンロード: http://sourceforge.net/project/showfiles.php?group_id=68600&package_id=67285
- MacNQCのダウンロード: http://homepage.mac.com/rbate/MacNQC/BetaTest.html

//MacOS の場合、ソフトのインストール時に USB tower をパソコンに接続しておく必要があります。

BricxCCのインストール/セットアップ(Windowsの場合)については、macさんによる解説[[『はじめてのBricxCC』:http://line.to/mac/MindStorms/BricxCC/]]
がとても参考になると思います。

GNU/LinuxやFreeBSDで使用する場合にはソースからコンパイルするか、
rpm または deb 形式のパッケージを利用してください。
ちなみにDebian GNU/Linux 3.1(Sarge)および4.0(etch)には NQC 2.5r3 が正式パッケージとして含まれているので、例によって apt-get install nqc 一発で使える状態になります。
%%ただし、最新のNQCを使うにはソースからコンパイルする必要があります。%%
さらに Debian の開発版 testing(lenny) や unstable(sid) には最新の NQC 3.1r6 が含まれています。

#navi(NQC入門)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS