2015-07-01から1ヶ月間の記事一覧

続・LiFeバッテリー

自作のLiFeバッテリーパック以外にも、HYPERIONの市販のLiFeバッテリーももう3年ほど使っている。もともと近藤科学の2足歩行ロボットのKHRベースのロボットで使っていたため、コネクタはJSTのVHコネクタに替えている。 仕様はこちら http://www.hyperion-wor…

LiFeバッテリー

2008年頃自作したLiFeバッテリーのバランス端子を短絡させないように、慎重に交換する。当時、バランス端子が6セル向けのもしか入手できず、いままで無駄に大きなコネクタを使っていたのが、やっと改善できた。 当時の記事 id:ohguma:20090902 今は売られて…

C-Styleで独自関数定義

ふと思いついたことを試す。▼NewFile-00 ▼NewFile-01 ・「}」で始める。 ・「}」で終わらない。 でビルドするとビルドパス中のUser.cはこうなり、エラーにならず成功する。 サブルーチン中で関数定義するのがミソ。 #include "D_Main.h" #include "D_I2C.h" …

続・クロックポジションのススメ

id:ohguma:20150629のベクトル化で三角関数を使い角度を求める場合、C-Styleでid:ohguma:20150607のmath.hの対応が必要になるが、クロックポジションを求める場合は、30度ごとの区切りの計算をより単純な式に近似することでmath.hを使わずに済む。 x>=…

クロックポジションのススメ

個人的な好みになるが、ロボットの向きや移動方向の表現に、正面を0時とするクロックポジションをススメてみる。ロボットを制御するマイコンで三角関数などがバリバリ使えるのであれば、0〜359度で表現すれば良いが、非力なマイコンを使うTJ3Bや、プロ…

C-Styleでのコメントアウト風

デバッグ中に一時的に機能を止めたい場合、その部分をコメント化することは一般的だと思うが、C-Styleでは各行を簡単に「コメント化⇔非コメント化」の切り替えができない。 Sub-8を一時的に実行しないようにする場合、 if文を追加し、条件を「C code」にし、…

C-Styleでコンパス活用

http://daisen-netstore.com/shopdetail/000000000004/Robot-option/page1/brandname/ 以前の向き(例えばスタート時)を基準(=0度)とみなし、相対的に今の向きを表現するには、「(今の向き計測値)−(以前の向き計測値)」という計算を考える。コンパ…

続・C-Style の elseif 活用

if 〜 else if 〜 else 〜 end ifの構文は、 ifの条件が成立するなら、ifの下を実行し、else if 以下はキャンセル。 ifの条件が成立せず、else ifの条件が成立するならば、else ifの下を実行し、else以下はキャンセル。 else ifの条件も成立しないなら、else…

C-Style の elseif 活用

状態がON/OFFの2通りを取得できるセンサを複数使う場合、 1個だと ON/OFF の2通りの状態 2個だと、(ON,ON)(ON,OFF)(OFF,ON)(OFF,OFF)の4通りの状態 3個・4個は下の表参照(1=ON, 0=OFF) とセンサが1つ増えるたびに全センサのON,OFFの状態の組み合わせは2倍…

続・オムニホイールの使い方 6Chコントローラについて

ダイセンの6Chコントローラは使い方によっては不具合があることが、ダイセンからも報告されている。 http://daisendenshi.sblo.jp/article/56340036.html こちらに、まとめられた記事がある。 Team GRA・CHAN!:GRA・CHAN!ロボ 技術公開 番外編 ダイセン6ch…

続・オムニホイールの使い方 ブレーキについて

ダイセンの6Chコントローラにはブレーキモードがある。 値0でRev/BrkをONにするか、変数で128をセットする。 ブレーキの効果はプログラムせずともモーターのケーブルをショートさせてホイールを手で回してみれば確認できる。 この保持力を活かしたブレーキタ…

続・オムニホイールの使い方

もう少し複雑に動かす。 http://youtube.com/watch?v=erXlr1MoSSI

続・オムニホイールの使い方

これまでのプログラムでは、whileループ中で進行方向Bを変化させていないため、直進しかできなかったが、ループ中でBを変化させることで複雑な動きが実現できる。 とりあえず、0.2秒毎に進行方向を1時間分(30度)づつ増やして回転するサンプル。12方位(0〜…

続・オムニホイールの使い方

昨日のプログラムに、id:ohguma:20150620 のコンパス活用方法のプログラムを合体させる。正面の判定をする誤差や、コンパス補正で足す回転の方向のモーター値はあくまで一例なので、よりよい値を試行錯誤で探すこと。if 分は、プログラムの見やすさを考慮す…

続・オムニホイールの使い方

進行方向の合成ができるなら、コンパスセンサによる向き補正も直進と回転の合成でできる。 ここでパワー設定と回転方向を確認しておく。 変数でモーター1,2,3のパワーを設定する場合、全ての変数が+なら右回転などと動く向きを決めておくと、後で悩ま…

続・オムニホイールの使い方

3輪オムニのうちの2輪を動かせば、偶数時(0,2,4,6,8,10時)方向の6方向へは動かせた。 次に真横も含む、奇数時(1,3,5,7,9,11時)への移動を考える。 2時方向と4時方向に同じ時間進めば、到着地点は3時方向になる。(実際には加減速の関係でズレが生じるが…

続・オムニホイールの使い方

【注意】本サイトの内容は著者個人の思い込みで書かれており、他にもっと良い方法もあると思われるので、鵜呑みにはしないでください。こんな方法もあるのか程度に捉えて、参考にする場合はもっとよいものを作ってください。 3輪オムニのうち、2輪を動かす組…

オムニホイールの使い方

6chコントローラには数値だけでなく、変数もセットできる。 後から移動スピードを簡単に変えられるように前回のプログラムをこう直しておく。

オムニホイールの使い方

前進とは反対向きに進む(後進)場合は6chコントローラにセットする値を逆転させる。

オムニホイールの使い方

オムニホイールを使ったロボットの制御方法について少しずつ考える。【前提】 ホイールは120度毎の配置の3輪オムニ。前2輪は中心から左右60度に等間隔に配置。後ろ1輪は背面の中心に配置。 6CH コントローラの 1, 3, 5chに、左前、右前、後ろモータを接続…