スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

復活します!!

とりあえず復活宣言しときます!

ときどき「ものつくり」がしたくて堪らなくなるときがあります。
ブログに製作日記でも書いていけばやるのかなーと思ったりしてw

社会人になって3年目、メーカーに就職して、色々学んできたわけなんですけど、
学生時代からどのくらい成長しているのか気になってきたわけです。

なのでリハビリも兼ねて、基本的なロボットを作ってみて、
学生時代よりも良いものを開発できている!という実感を得ようという魂胆です。


まあ、前置きはこのへんで、、、

主ネタは以下の5つ

① モデルベース開発
② ロボット
③ 車
④ ドライブ
⑤ 城

①は仕事と趣味の両方の意味がありますが、基本的にはMATLAB/Simulinkを使って色々やっていきたいと思っています。

②は学生時代にロボコンやらに出場していたので、そのへんの話をちらほら。メインは過去話になるかも。。。社会人になってもやりたいんだけどね><;

③は自動車関係の仕事しているので、時事ネタ等々(それは趣味じゃないだろw)。あと車載の電子工作も絶賛取組中!

④は一番趣味っぽいw ドライブした所の車載動画など上げていきます。

⑤はオシロでなく、お城好きなのでw 関東在住なので関東周辺のお城がメインにあんるかな・・・

とまあこんな緩い感じで書けていけたらいいなーと思っています。

要するにただの自己満ってことですねwww

以上です。
スポンサーサイト

MISRA C について

最近は就職に向けて,モデルベースの勉強をちょこちょこやってます.

え?卒論? ナニソレオイシイノ???

今日はMISRA Cというものについてちょっと書きたいと思います.

MISRA Cは"Motor Industry Software Reliability Association"が開発したC言語のためのソフトウェア設計標準規格です.

僕もつい最近(昨日w)知ったんですけどねw

自動車業界ではこれが標準らしいです.

というわけでこのページを見てました.

う~ん...

僕はプログラマーではないので,ちょっとよくわからない部分もあるんですが,これを意識しながら書くのって大変そう><

まあ当たり前なことも多いん気もしますが,今までは好き勝手書いていたので;;;

ということで我が研究室が誇るプログラマnzKingを巻き込んで,ちょこっと勉強しました.

まずこれ

・コンパイラやリンカが、外部識別子に対する31文字特徴及び大文字・小文字の区別をサポートしているかを確認 しなければいけない。

見ていた本にはマイコンが認識できない的なこと書かれていたんですが,そんなことはないだろうw

まあ31文字を超えるような変数を定義することはないと思うんでそこまで意識しなくても良さそうです.

次にこれ

・可変個引数をもつ関数を定義してはならない。

そんな関数あるか?と思っていたら,Kingに"printfだよ!"って言われました.まあprintfは自分で作った関数じゃないんで使えるからいっかw

と思っていたら...

・入出ライブラリは、製品コードで用いてはならない。

え?じゃあprintfはデバッグ時にしか使えないのか;;;

次はこれ

・仮引数をもたない関数は、仮引数をvoid型で宣言しなければならない。

僕は普通じゃね?と思ったんですが,King曰く,voidは0を返すって意味で引数がないって意味じゃないんですよ!と言われた.確かにそう習った気もするw

最後にこれ

・continue文を用いてはならない。

Kingがこれ見て"クソだな"って言ってたw まあ僕はcontinueなんか使ったことほぼなかったんで気になりませんw

他にもあるんですがこのへんにしときましょう.決して書くのが面倒になったわけではありません(棒)

といろいろ言いましたが,よくよく考えればMATLABさんはこの規約に沿った形でコード生成してくれるんで問題なかったw

でもまあ知っておいて損はないですよねw

また気が向いたら書こうかな...

ではノシ

DCモータの速度制御(matlab&arduino)

とりあえず小手調べということでDCモータの速度制御をやって見ました.

モータには某工業大学のロボット学科の授業でたくさん使われているRDO-29BMAというモータを使いました.(リンク先中央付近)
これはDMN29というシリーズのモータにエンコーダがセットになってるものです.

どうやら某工業大学の教授が掛け合って作ってもらったものだとか・・・

なんでこれかというと・・・なぜか僕の周りにはこれを持ってる人が多いんです!!!w

次に回路ですが,「ArduinoとMATLABで制御系設計をはじめよう!」という本の回路を参考にして作りました.

が,動かない・・・

ここで我らがKingが一言・・・

「これ間違ってね?w」

こちらが正しい回路図だそうですw

というわけで,良い子のみんなは本に書いてあることが必ず正しいと思っちゃ駄目だよ!!(キリッ

最後にプログラム・・・ではなくモデル

ここが真骨頂ですねw

メインモデル
dcmotor_control_pid

モータモデル
dcmotor

ArduinoIOというmatlabのarduino用アプリケーション(無料)を使って作成したモデルです.

これはmatlab(simulink)上でこのモデルを動かして,arduinoと通信する方法で行っています.

arduino上で動かすこと(スタンドアロン)も出来るのですが,毎回コード生成する必要はないので,設計段階ではこちらを使う方が便利だと思います.

スタンドアロンで実行する場合の方法はまた今度詳しく書きたいと思います.

で,このモデルはどうゆうことをしているのかというと,目標回転数[rps]を与えて,PID制御器によってモータをPWM制御しています.

以下,パラメータ

サンプリング周期: 0.01[s]
モータ印加電圧: 12[V]
Pゲイン: 0.001
Iゲイン: 0.5
Dゲイン: 0

ゲインとかは結構適当ですw

ホントはPID制御器の自動ゲイン調節などの機能を使いたかったんですが,エラー吐かれて出来ませんでした><
現在,調査中ですが,エラーの内容見る限り,プラントがモデルになってるわけじゃないので不可能そう・・・


というわけで結果(Scope)は・・・

Scope
130113DCmotorPWM

上が目標値[rps]と出力値[rps]
下が制御入力

出力値はだいぶ発振してますね.

原因は主に2つあると思います.

1.ゲイン調整不足
2.回路が適当

1は地道に調整するばおk(限界感度法とか)
2は回路のコンデンサとかの容量が適当なので,そのへんをちゃんと設計すればもっとモータの特性が上がるのかな・・・ グラフ見る感じは応答が遅いのでw

こんな感じで実際にそこそこ知的なロボット作れたらなーとか思ってますw

ではまた

一行もプログラムを書かないでロボット開発!!!

ってか,前回の記事途中じゃねw

いやいや最後まで書いただろ><

もっかい書くのメンドイ;;;

気が向いたときに書きますので許してくださいw

とまあこんな感じで,本題に移ります(オイ

現在,題名の通りのことをやろうとしてます.

具体的にはmatlabとarduinoという開発ボードを使ってやります.

みんな大好きarduinoにいよいよ自分も手を出してしまいました.

ロボット関係の人ならたぶん知ってると思うので,あえてarduinoについての説明はしません.

というわけで,次の記事から書いていきます...

ノシ

Aques Talk pico LSI で遊んだ (SH7125)

とりあえず,国際会議が近くて,スライド作成が大変すぎて現実逃避しましたw

知能ロボコンのマシンは,以前から音声ICを使って,喋らせていたのですが,いかんせん音質が悪いんで,中々聞き取りづらいという問題がありました.

というのも,今まで使っていたICは音声を直接吹き込んで,そのデータを内部に保存しておいて,信号が来たら出力するというものだったのです.

そこで,今回新しいICを使うことにしました.

題名見た時点で,ピンと来た人はたくさんいるとは思いますが・・・

そうです."ゆっくりボイス"というやつですw

つくばチャレンジなどで,これを使って音声を出しているチームもあるそうです.

製品のURL貼っときます.
Aques Talk pico LSI

まあというわけで,今回の記事の内容は・・・

音声合成マシンで彼女GETだぜ!

え?どこかで見たって?!

そ,そんなことないだろー(棒)




すいません.パクりましたw

これはトラ技Jr.の11,12月号で特集されたものです.
トラ技Jr.

これ読めば,彼女ゲッ(ゴホッゴホッ もとい音声合成マシン作れるやん!

となっちゃうので,このまま作るのではなく,マイコンを変えて作りたいと思います!(キリッ

いや,ホントのところは知能ロボのマイコンがSH7125だからなんですけどネw

というわけで,回路はまったくこれ通りです.
circuit_ATP3011F4-PU


プロフィール

kazushimoshimo

Author:kazushimoshimo
自動車メーカーのエンジニア.ロボティクスを学んでいた学生でだった.モデルベース開発を頑張っていきたい./Automobile/HEV/EV/Motor/MBD/MATLAB/Simulink/Robotics

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。