2014/01/09

定例会1/9

Lv_ZEROです。

本日の定例会では、冬休み中に行った活動の報告とレスキューロボットコンテストについての今後の活動について話し合いました。
また、レスキューロボットコンテストに参加するための応募書類を誰がどの部分を担当するかなどを話し合って決めました。応募書類は1月31日が期日となっており、その頃は大学の方もテスト週間となってしまいますので再来週までには推敲を重ね完成させたいと思います。

C++Tips1 スマポと所有権

Tipsシリーズは言語仕様をある程度は把握した初心者のために入門書には載っていないかもしれない事柄を取り上げて実際の製作に役立つようにまとめたものです。今回はC++のTips1回目です。スマポを取り上げ、所有権の概念を身につけましょう。

スマポは、生ポインタ――通称、生ポ――よりも使う人に優しいポインタの機能を備えたクラスです。要するに、メモリ管理の一部を手伝ってくれる機能です。

プログラマは何らかのデータをメモリに確保するときに、スタックに入れるかヒープに入れるか選択できます。C++では、関数の中で変数を宣言するとスタックに確保され、newするとヒープに確保されます。スタックに確保された変数は関数が終了したときに全て開放されます。ところがnewされたデータはdeleteするまで残り続けます。使わなくなったらdeleteしなければなりません。そうでないと、他のアプリケーションの使えるメモリが減ってしまいます……。(タスクマネージャでメモリ使用量を確認してみて!)

さて、C#だとその辺をうまくやってくれます。つまり、newしてもプログラマがdeleteしないで勝手に裏でdeleteしてくれます。この勝手にやってくれる機能をガベージコレクション(GC)というのですが、C++にはGCがありません。しかし、C++には便利なライブラリ、スマポがあります。

2014/01/08

部品製作

今日は工作センターでグランプリのロボットの部品を作りしました。
明日組み立てる予定です。

KONDO KRSサーボ 動作テスト用プログラムの動作確認

Lv_ZEROです。

先日作ったKONDO KRSサーボ 動作テスト用プログラムを実際に実行し、動作確認を行いました。
エラーもなく、しっかり動作してくれました。まぁ、公式サイトのプログラムをC#に置き換えたようなものなので動いて当然っていえば当然なんですが(笑)
今回のプログラムではサーボモーター1個しか動作させることができませんので、次は複数のサーボモーターを制御できるプログラムを作ろうと思います。

2014/01/04

KONDO KRSサーボ 動作テスト用プログラム

Lv_ZEROです。

あけましておめでとうございました。良いお年になって欲しいところです(笑)

ここの所忙しく、プログラミングを行っていなかったため、ウォームアップとしてKONDOのKRSサーボを動かすプログラムを作りました。KONDOのHPを参考にC#で記述していますが、ほぼ同じ動作をするプログラムです。今後の事を考え、サーボとの接続時にはFREEコマンドを送り、現在位置を取得し、トラックバーを現在位置に動かすようにしてます。また、サーボの現在位置を逐一監視するため、一定周期ごとにサーボに位置指令を送るようにしています。

手元にKRSサーボがないため、まだ動作確認してませんが、動作確認の後、複数のサーボを同時に、さらに外部プログラムから動かせるプログラムを作ろうかと思います。