2012-01-01から1年間の記事一覧
お習字ロボにひずみゲージセンサを搭載することを検討。 今まで、お習字ロボはオープンループ制御だってので、わずかなセッティングの狂いや重力によるアームのたわみで字の太さが一定しないという問題があった。そこでひずみゲージを使用して筆圧をフィード…
今まで、マイコンでサーボを制御されている先例がたいてい5Vロジックだったので、なんとなくラジコンサーボの制御パルスは5Vっていう先入観を持っていました。だけど、ラジコン受信器の出力信号を測定したこちらのブログを拝見すると、実は本来のラジコン受…
動画公開からだいぶ時間があいたけど、BB戦士のシャアザクにWiFiカメラとラジコンサーボを仕込んで、Android端末で操作&映像の表示する装置のソフトのソースを公開しました。 Androidアプリ 【ソース】 http://licheng.sakura.ne.jp/charzaku/CharZaku_Andr…
サーボの電源系を修正。いくら小型のラジコンサーボとはいえ、出力1Aの3端子レギュレータでサーボ3個に給電するのは無理があったようで、しばしば電源が不安定になってサーボが暴れるということがあった。そもそもサーボの電源を安定化する必要はなく、ただ…
【リンクまとめ】 はじめよう ハード仕様 がじぇっとるねさす (上記から)Renesas Web Compiler SAKURAスケッチリファレンス RXマイコン用のArduino互換ライブラリ「RXduino」 Renesas Rulz/GR がじぇっとるねさす ゆーざー会 (現在移転工事中) SAKURAボード…
仏法には、五戒(Pañca sīla)という5つの戒があるぞな。ここでは倫理ではなくライフハックとしてこの5つの戒を保つことを勧めるぞな。そもそも戒律というものは人を縛るものではなく、むしろ人間の実力を解放するためのものぞな。不殺生戒 Pāṇātipātā veramaṇ…
いまさらだけども、C#のプロパティについて。要するに、外見はメンバ変数、内実はメソッドということですね。C++やJavaにはない便利な文法です。getter/setterを変数に見せかける糖衣構文といったところでしょうか。 namespace PropertyTest { class Hoge { …
いまさらながら、C++のstd::vectorの使い方を調べるなど。動的配列ということは分かったし、イテレータの使い方も分かったけど、std::for_eachを使った回し方はなんかよく分からない。ここまでトリッキーなことをして、どういうご利益があるのかな? #includ…
C言語で、関数のアドレスはポインタとして取得できるはずだが、Visual C++の場合、それは実際にはスタブでそこからジャンプ命令で関数の本体のアドレスに飛ぶ。引数のある関数の場合、その引数のアドレスの前が戻り先のアドレスであるはずなので、下記のよう…
実行時にメソッド名やコールスタックなどのメタデータを取得する仕組みをreflectionと言うそうですが、C#だと、System.Reflectionクラスがその機能を提供してくれます。下記は実行中のメソッドを表示するサンプルプログラム。 using System; using System.Co…
C#は静的型づけの言語なので、varもあくまで型推論で静的な型が決定するものです。 var hoge = new Hoge(); hoge = new Piyo(); // ←エラーになる なので、varの宣言時にnullを代入しようとすると、型が推論できないのでエラーになります。そういうときはdef…
hoge() を piyo() で乗っ取る例。(Windows の VC++にて) #include <stdio.h> #include <windows.h> void hoge(void) { printf("hogehoge\n"); } unsigned int original_hoge; void piyo(void) { printf("piyopiyo\n"); // 本来のhogeを呼び出す ((void(*)())original_hoge)(); } </windows.h></stdio.h>…
疎行列(ほとんどの要素がゼロであるスカスカな行列)は、2次元配列で実装するとメモリの無駄遣いになるので、サイズが大きいなら連想配列で実装したほうが良い。C++でのやっつけな実装例。 #include<stdio.h> #include<map> // 疎行列 class SparseMatrix { public: typed</map></stdio.h>…
φ( ̄ー ̄ )めもめも検索結果にジャンプ「すべての参照の検索」の検索結果ウィンドウで F8 / Shift+F8カッコ間の移動Ctrl+]コメントアウトとコメントアウト解除Ctrl+K, C でコメントアウト、Ctrl+K, U でコメントアウト解除ブレークポイントF9で設定/解除、Ct…
assert( )とNDEBUGassert.h にあるマクロ。assert( 条件式 ) で、条件が偽なら標準エラー出力にメッセージを表示してプログラムを終了させる。#include より前に、#define NDEBUG すると無効になる。strerror( )C言語のデバッグ小技。 #include char *strerr…
BB戦士のシャアザクにWiFiカメラとラジコンサーボを仕込んで、Android端末で操作&映像の表示をしてみた。 シャアザクカメラ
以前公開した茶運び人形ロボのGR-SAKURAプログラムを更新しました。シリアル接続からUSBアダプタへ従来は、Bluetooth通信に浅草ギ研のBlueMasterを使用していました。BlueMasterはシリアル接続のモジュールなので簡単に使えて便利なのですが、次のような問題…
幸村誠『ヴィンランド・サガ』ひさしぶりに読み返したが、おもしれー。自分がいちばん共感をおぼえるのはクヌートだけど、特にクヌートが悟りを開くところは圧巻と言っていい。悟りを開く前の萌えキャラのクヌートたんも好きだけど。C.D.A.のハニャーン様と…
動画をうpした。
DOSにはUNIX系のwhichに相当するコマンドがないのがいかにも不便。バッチでwhichコマンドを作る記事を見つけた。 whichコマンドを作る http://www.atmarkit.co.jp/fwin2k/win2ktips/319which/which.html 下の2行を which.bat として保存し、PATHの通っている…
GR-SAKURAは、Web上のクラウド環境で開発できるのが特長の一つですが、やはりローカル環境でもビルドしたいというがの人情(?)です。たしかにクラウド環境での開発は、開発環境の導入が不要というお手軽さがあって初心者に最初の敷居を下げる効果は大きいです…
img.screenshot { border: 2px #000000 solid; } 【ソース】 http://licheng.sakura.ne.jp/roboarm/RobotArm_Android.zip お習字ロボットアームアプリは、microbridgeのServoControlというデモアプリをベースに作成しました。ServoControlは、microbridgeのW…
○コメント 意味不明なコメント、不適切なコメントが書かれていないか? 保守性の悪い体裁のコメントでないか? ドキュメント生成用コメントを書くならもれなく書かれているか? ○変数/関数 変数/関数の命名が適切か? 変数の型は適切か? 混同するような名前…
【ソース】 http://licheng.sakura.ne.jp/roboarm/RoboArm_Arduino.zip お習字ロボットアーム、サーボの制御を Servo::write(角度[deg]) から Servo::writeMicroseconds(パルス幅[us])に変更して精度がアップ。まだ、角度補正のチューニングが必要だけど、い…
スマホの画面に指で書いた字をロボットアームが筆ペンで書く、お習字ロボットアーム。その制御のキモである逆キネについて解説。といっても、サーボのトルクが十分大きく、十分ゆっくり筆を動かすという前提で速度・加速度については考慮しません。(ベクト…
ArduinoのServoクラスのwriteメソッドで角度[deg]をパラメータに指定するけど、パルス幅と角度の関係は、サーボの品種によってじゃっかん異なるはず。まあ、概ね 1500usがニュートラル(90°)で、500usが0°、2500usが180°くらいではあるけど。 そこらを正確に…
【回路図】 PDF: http://licheng.sakura.ne.jp/myeongwol/MyeongWol_rev3.pdf BSchデータ: http://licheng.sakura.ne.jp/myeongwol/MyeongWol_rev3.CE3 http://licheng.sakura.ne.jp/myeongwol/IC.LB3 (部品ライブラリ) たいした回路ではないけど、いちおう…
【ソース】 http://licheng.sakura.ne.jp/myeongwol/MyeongWol_Sakura.zip GR-SAKURAのクラウドWebコンパイラ用ソース。 (Sketch Template Version 1.01への追加分のみ) (1) gr_sketch.cpp これがメインのソース。 ラジコンサーボの制御にはGR-SAKURAのライ…
【ソース一式】 http://licheng.sakura.ne.jp/myeongwol/MyeongWol_Android.zip 【スクリーンショット】 操作方法については説明の必要もないでしょう。実際動いてる様子は動作を見てください。 このアプリは、Android SDKに含まれるBluetoothChatを改造して…
茶運び人形ロボ「R・みょんうぉる」のAndroidアプリ、マイコンプログラム、回路図を公開。 (1) Androidアプリのソース http://licheng.sakura.ne.jp/myeongwol/MyeongWol_Android.zip Galaxy Nexus (Android 4.0.4)で動作確認。 レイアウトいい加減なので、…