二大ストレスが一気に来ました
一つは,今日,塾講師の研修がありました
もう一つは,他大学の先生から返信来ました
塾講師の研修は,3時間ぐらい先生の話を聞くだけで済んだんですが,その直前に返信があって最悪のコンディションで行きました
返信は,違うメアドに送ったらすぐに来て,1時間ほど当日に面談するといったサプライズ付きでした
また,呑気症が出てきて晩はきつかったです
ROS一日中やってました
ROSでT-frogの機体を動かしていました
こうやって,ROSで実物が動くのはめっちゃ楽しいです
大体,解説書通りにやってみると出来たんですが,
詰まったところは,
ワークスペースの初期化を忘れていたんで,ROSに認識されなかったこと
プログラムを保存するたびに,catkin_makeをしないといけないこと
です
おかげで,先生に教えてもらうまでわかりませんでした
あと,STMをラボでやったんですが,なんか認識されずにできませんでした
おそらく,自分の家のパソコンは,前にインストールしていたものが作動してうまくいっていたと思うんですが,ラボのパソコンはなんか足りないんでしょう
さて,明日は,塾講師の研修です
作文書いたのでそれを持ってくのと,銀行口座の番号,顔写真を持って行かないといけません
うまく教えれるようになるんでしょうか?
あと,それまでにまたROSをやんないと
STMでSystemWorkbench for STM32の開発環境でしているのですが,後輩が以前
この環境でSTMを動かしていたとき,Eclipse上でデバッグをしていました
なので,今の自分の環境でも出来ないかなと思ってやってみました
デバックの名前はsemihostingだそうです
なので,ググってみたんですがまた同じ人の記事に当たりました
この人まじすげぇ
STM関係で躓く所を網羅している気がします
でも,この方法はあくまでもデバッグなんで,一度止めるともう一回デバッグするまで動かないのであくまでも少しテストするためでしょう
明日は、もっと進捗生みます
全く関係ないんですが、
自分は夜にオ○ニーすると朝がとてつもなく弱くなることが分かったんで本当にオナ禁しないとダメです
他大学の先生に今日の朝メールを出しました
金曜だったので,まだ返信は無いのか,それとも迷惑メールにぶち込まれてるのか,分かりませんが,もし,火曜日までに返信が無ければ違うところに出したいと思います
あと,新人歓迎会がありました
お酒を飲んで,自己紹介をしました
自分の趣味のことを重点的に話しました
料理,フットサル,旅行,マイコン・回路について話しました
旅行の所で,行く場所行く場所にカップルに出会った話をすれば少し受けました
あと,うれしいことに,自己紹介プレゼンで一番になってカップ麺を3つ貰いました
以外だったのは,マイコン・回路の話をすると先輩方が聞いてくれたことです
どうやって作ったのかとか,どのマイコン使っているのかとか,色々聞かれました
あと,中国人の留学生の人と2時間ぐらい回路について話しました
回路の話をできる人が周りにいなかったので素直にうれしかったです
で,今の研究室の問題を聞くことが出来ました
9軸センサを使っているのですが,その値をドリフトやノイズなく取得したいということでした
色々フィルタを使わないといけないらしくこの部分で困っているようです
で,手伝うことにしました
STM32のI2Cを使ってやってみたいと思います
あと,ROSも明日入れてみてサンプルをいじりたいと思います
今日は,チームミーティングの日でした
まず,担当の先生から自分の内容について詳しめの説明がありました
自分の内容は,ROSを使ってするものですが,内容が前やっていたことと同じような気がして残念です
でも,B4の課題が出されて,とても楽しみです
筑波で作られた練習ロボットをROSで動かしてみようといったものです
こういうのはB3の時にしたかった・・・・・・
なんだろう,ロボットをHPに書いてるのに,B3までほとんどロボット触らせてもらえないのがこの大学の残念な所です
そのあとは,先生に他大学の見学をしてみたいと報告してきました
そしたら意外と,いいと思うよ,と言ってくれました
しかし,やっぱり内部の人が有利なので勉強頑張らないと入れないよと言われました
なので,担当の先生に連絡したので明日,向こうに連絡したいと思います
明日は,歓迎会です
なんか先生方もこのプレゼンに期待してて,酒も入るそうなのでなんか面白いことやらないとダメだろうか
あと,この日記見てるの誰だろうか?
時々10ぐらいのアクセスが来て,その人全部見て帰ってるのだろうけど・・・・
もし,自分を知っている人なら,ぜひ感想教えて下さい
今日は,B4の導入ゼミがありました
30分もかからずに終わりました
でも,明日は担当の先生とのゼミなので楽しみです
家に帰って,UbuntuとVirtualBoxを入れて,ROSの準備をしました
そもそも今年から開発にROSがマストになったらしく,ちょうどいい時期にここに来たような気がします
そのあとは,バイトの作文と外の研究室の人に出すメールを作っていました
また,Youtubeで落合さんの動画見ていました
落合陽一さん講演 未踏の魅力を知ろう: 小中高生向け未踏説明会 - YouTube
なんかこの人の話を聞いていると,何かしようと勇気が出ます
メモ
環境を認識して部屋にいる虫を駆除
また,盲目の人のために頭の中に地図を表示
目の代わりに,カメラを埋め込んで常に生活をアシスト
朝起きるときに,目が少しずつ光ったら必ず起きそう
宇宙での人型ロボットの制御方法
地図をLeapMotionで動かす
バイトの面接に行ってきました
少し話して,登録書書いて,適性検査して,数学のミニテストをしました
友達の紹介だったのですんなりいきました
適性検査は,性格診断みたいなアンケートで,ミニテストは数学IAぐらいの問題でしたが,図形問題が解けない・・・・・
前のバイトでも少し思っていたんですが自分は図形が苦手になってしまったようです
たぶん,メカをしていれば図形得意になっていたと思うんですが,思いもよらない所で弊害が出てきました
あと,金曜日にバイトの研修を入れたんですが,研究室の飲み会を忘れていました
明日,電話しなきゃ
今日,研究室では,研究のための環境を構築していました
回路ソフトに,IDEを何個か入れました
あと,明日ROSの本が手に入ると思うのでその環境も作りたいなぁ
あと,遊び用のハードが要る気がします
ソフトだけだと面白くない
研究室行ってきました
することがない・・・・・
なので,終始喋って終わりました
でも,明日は,教授の授業とアルバイト面接,明後日はB4対象の導入ゼミ,明々後日は,担当の先生とのミーティングと色々あるので楽しみです
なので,家に帰ってSTMで遊んでました
というのも,友達がPICをし始めてそれに触発されてやってみました
まずは環境作りから
この人のを参考にして,インストールしてみました
やべえ,めっちゃ簡単や!
前,ネットを参考に一度作ったんですが,何個もプログラムを入れないといけないので挫折してしまったんですが,これは一個だけで済みました
自分のNucleoボードは
STM32F401を使っています
そして,ただ光るだけのサンプルをいじりました
目標は,ボード上にあるUSERボタンを押すと,LED2が光るようになることです
まず,起動したら,プロジェクトを作る
[File]→[New]→[C++ Project]
で
②ここはそのまま
③自分の今使っているSTMを選択して(今回はF4-nucleo)
Nextを押す,Finishはまだ!!!
④Cube HALを選択
最初はHALがないので下の[Download taget firmware]でダウンロード
そしてFinish
このHALのおかげでRXの時していたレジスタたたきが無くなるので最高です
で,[src]の中のmainを書き換えます
/** | |
****************************************************************************** | |
* @file main.c | |
* @author Ac6 | |
* @version V1.0 | |
* @date 01-December-2013 | |
* @brief Default main function. | |
****************************************************************************** | |
*/ | |
#include "stm32f4xx.h" | |
#include "stm32f4xx_nucleo.h" | |
#include "stm32f4xx_hal_uart.h" | |
int main(void) | |
{ | |
int PB_state = 0; | |
//HALライブラリを使うための初期化関数 | |
HAL_Init(); | |
//ボード上のLED2を有効化 | |
BSP_LED_Init(LED2); | |
//ボード上のボタンを有効化 | |
BSP_PB_Init(BUTTON_KEY,BUTTON_MODE_GPIO); | |
while(1){ | |
PB_state = BSP_PB_GetState(BUTTON_KEY); | |
if(PB_state == 0){ | |
BSP_LED_On(LED2); | |
}else{ | |
BSP_LED_Off(LED2); | |
} | |
} |
このプログラムは,最初のサンプルを参考にライブラリを開けながら,手探りでやってみたものです
大体,コメントアウトしてるのが説明でわかる気がします
※uartのヘッダはいりません,なぜか入ってしまっています
で,その次に汎用的な書き方でやってみたのが以下の通りです
/** | |
****************************************************************************** | |
* @file main.c | |
* @author Ac6 | |
* @version V1.0 | |
* @date 01-December-2013 | |
* @brief Default main function. | |
****************************************************************************** | |
*/ | |
#include <stm32f401xe.h> | |
#include <stm32f4xx_hal.h> | |
#include <stm32f4xx_hal_gpio.h> | |
#include <stm32f4xx_hal_rcc.h> | |
int main(void) | |
{ | |
//システムの初期化 | |
SystemInit(); | |
//HALライブラリを使うための初期化関数 | |
HAL_Init(); | |
//クロック供給 | |
__HAL_RCC_GPIOA_CLK_ENABLE(); | |
__HAL_RCC_GPIOC_CLK_ENABLE(); | |
//GPIO.Cを初期化 | |
//構造体生成 | |
GPIO_InitTypeDef GPIO_Assign_C; | |
//C_PIN13の設定 | |
GPIO_Assign_C.Pin = GPIO_PIN_13; | |
GPIO_Assign_C.Mode = GPIO_MODE_INPUT; | |
GPIO_Assign_C.Pull = GPIO_PULLUP; | |
GPIO_Assign_C.Speed = GPIO_SPEED_FREQ_LOW; | |
//PIN13の設定を書き込み | |
HAL_GPIO_Init(GPIOC,&GPIO_Assign_C); | |
//GPIO.Aを初期化 | |
//構造体を初期化 | |
GPIO_InitTypeDef GPIO_Assign_A; | |
//A_PIN5の設定 | |
GPIO_Assign_A.Pin = GPIO_PIN_5; | |
GPIO_Assign_A.Mode = GPIO_MODE_OUTPUT_PP; | |
GPIO_Assign_A.Speed = GPIO_SPEED_FREQ_LOW; | |
//PIN5の設定を書き込み | |
HAL_GPIO_Init(GPIOA,&GPIO_Assign_A); | |
while(1){ | |
int push_state = 0; | |
push_state = HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13); | |
if(push_state == 0){ | |
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET); | |
}else{ | |
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET); | |
} | |
} | |
} |
くそ長いです
まず,汎用のIOポートを動かすには設定が要るのですがその設定の前にクロックを流さないといけません
この供給はIOのみならずTIMや,UART,SPIなど何かピンを動かそうとすると必ずいるものです
//クロック供給 | |
__HAL_RCC_GPIOA_CLK_ENABLE(); | |
__HAL_RCC_GPIOC_CLK_ENABLE(); |
また,この関数を実行するには
#include <stm32f4xx_hal_rcc.h>
このヘッダが要るので注意です
その次に,IOポートの設定をするんですが
#include <stm32f4xx_hal_gpio.h>
の中に変数の構造体が定義されているのでそれを使います
//構造体生成 | |
GPIO_InitTypeDef GPIO_Assign_C; |
こんな感じで,好きな名前を付けた構造体を作ります
次は,その構造体にデータを入れるんですが,1とか数字を入れるのではなく,ヘッダで定義されている文字でデータを入れます
//C_PIN13の設定 | |
GPIO_Assign_C.Pin = GPIO_PIN_13; | |
GPIO_Assign_C.Mode = GPIO_MODE_INPUT; | |
GPIO_Assign_C.Pull = GPIO_PULLUP; | |
GPIO_Assign_C.Speed = GPIO_SPEED_FREQ_LOW; |
今回は
にしました
もちろん内臓プルダウン,反応速度を倍以上にすることも出来ます
最後にこの設定を書き込みます
//PIN13の設定を書き込み | |
HAL_GPIO_Init(GPIOC,&GPIO_Assign_C); |
第一引数はGPIOx(x=A,B,C・・・)
第二引数は設定した構造体のアドレスを入れます
もし,PA1-3までをまとめて同じ設定にしたいなら
GPIO_Assign_A.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
にすればいいです
この理由はGPIO_PINの定義をみてその値を二進数に変換すればわかると思います
うまく被らないようになっているからです
この考えはPS3のコントローラ開発の時に同じことをしていたので少し感動しました
また,A1は入力A2は出力ならA1を設定した後,構造体の中を書き換えて,再設定すればいいだけです
出力も大体同じで設定出来ます
で設定したIOの入出力はまたまたHALのヘッダでとれます
読み取りは
push_state = HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13);
Readで
第一引数はどの種類か?
第二引数は何番のピンか?
です
出力は
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
Writeで
第一引数はどの種類か?
第二引数は何番のピンか?
第三引数はsetでHigh,resetでLow
です
こんな感じで出来ました.
このプログラムは全部gitに上げています
またこれからも上げていきたいと思います
これが出来たのは,少し違う環境でSTMをやっていた後輩がいてその子からプログラムを貰ったのと,
積んでいた参考書
のおかげです
その後輩は今NHKを頑張っているので,本選に行ってくれたらいいなぁ
TOEICのテストを受けに広島に行ってきました
昨日、カラオケをそこそこに早めに寝て、6時前には起きることができました
7時の電車にのって約3時間かけて広島へ
ついた頃にはお腹が空いたので、開いているお店を探すけれども、どこも11時開店
会場が広島駅から30分かかるので、11時にはここを出ないといけない
その時、運よく10時半開店の広島焼きのお店があったのでそこでそこで広島焼きを食べました
福ちゃん 広島駅南口店
https://tabelog.com/hiroshima/A3401/A340102/34018382/
家で食べるお好み焼きはおでんの具をお好み焼きのベースにしているのですが、広島焼きはシンプルにキャベツがとても多い
あと、中にそば、うどん、何もなしを選択できて自分はそば入りを頼みました
家のお好み焼きと比べるとあっさりしているので簡単にたべれました
そのあとは、試験会場へ向かったのですが、なんと試験会場は「安田女子大学」
初めて女子大に入りました
中はめっちゃきれいでした
Googleマップの紹介ページにあるようなカラフルなソファがだいたいの建物にあってビックリしました
自分の大学じゃ絶対にあのオシャレさは出せません
あと、春ということもあって、サークル勧誘の掲示板があったんですが、TRPGのサークルが堂々と紹介されてました
うちにもあんな感じのサークルあるんでしょうか
でも、この大学山の斜面を削って出来ているのか一番奥の体育館に行くまでに階段をめっちゃ登らないといけませんでした
さて、女子大で受けたTOEIC、手応えてきには前と一緒かなと言う感じです
リスニングはやっぱりpart2の中盤で集中力が切れてしまいましたし、リーディングは80しか解けません
五月のやつやってもこれ以上上がる気がしません
結構テンション高めで受けてこれですから、これからは院試の勉強を重点的にやっていこうかなと
TOEICが終わり、女子大からの帰り、電車が混んでいたので周りに何かスイーツが無いかなと探すと、砂糖を使わないプリンに出会いました
糖尿病の人に作られたプリンらしく、気になったので買って、駅の待ち時間に食べてみました
普通にプリンのように甘く、さっぱりした味でした
スイーツ好きの自分は、甘いものが食べられないとストレスになるので、もし糖尿病になったらここに買いに来ようと決意しました
広島駅に戻ると、赤い集団に出会いました
このTOEICの日、広島カープがホームでの試合が昼からあってTOEICが終わって戻る頃に試合が終わっていたので、この集団とがっつりあいました
人の1/3はカープのユニフォームでしたし、マネキンもユニフォーム来てました
さらに、カープの入場券を持っていると駅の中の飲食店が安くなったり、カープの利用され具合が凄かったです
そんな中、自分にとって広島名物で広島焼きに対をなす、牡蠣を食べに行きました
牡蠣定食と、焼き牡蠣を頼みました
牡蠣定食は食べたことがあったので、特に感想はないんですが、焼き牡蠣はテレビとかで聞く、クリーミーという意味がわかりました
揚げた牡蠣とは食感と、味が全然違いました
そして今、電車に乗って帰っている途中です
本当は9時に広島を出ようかなと思っていたんですが、広島って岡山と同じぐらい遊ぶ所がない気がします
原爆ドームは小学生の時に行きましたし、それ以外調べたんですが特にありませんでした
誰か広島でオタクが楽しめる観光スポットを知らないでしょうか・・・
なので、今日は、TOEIC受けて美味しいものを食べたで要約できる気がします
明日から研究室生活リスタート
テーマ相談がありました
その中で,進学のことも話しましたが,すんなりと通りました
よかったです
あと,とりあえず自分の付きたかった先生につけたのでこれから,具体的なテーマ決めが残っていますが今日は特に進展なく終わりました
午後からは,PCセットアップをしていました
全員がOSの再インストールしたんで,終わったのが7時で疲れました
あと,この数日行ってみて思ったのが,思っていたより先生と喋る機会がないことです
先生もすることがあり仕方がないのですが,もう少し面談とかあればテーマ決めでしっかりと方向性が決まるのではないかと思います
直前で書いてた人とか,名前だけで決めていたような人がいたので・・・・
さて,思ったより外部に行きたいという思いが簡単に通りましたが,ここから努力が必要です
昔,行こうとしていた人がいたそうですが,レベルの高さに断念したそうです
ロボコンで全国のレベルを知って絶望したみたいなものでしょう
もし,それぐらいなら耐えられるでしょう
毎年,東京で全国大会を見るたび味わっているので
あと,先生もその研究室は人気だと言っていました
それも後の努力次第でしょう
やっぱり,必要性がないと勉強しないのでここでその必要性を示してくれた今日の面談はよかったです
研究室が無かったので,11時まで寝ました
なので,午後から少しTOEICの勉強をしました
そういや,図書館で先生がにやにやしながら歩いてたんですがあれは何だったんでしょう
そして,明日はついに研究テーマ相談です
自分の好きなテーマから少し外れていたんで,方向性を自分の好きな方に出来るように提案しないといけません
そんなことをすると,先生に怒られたりするんでしょうか
世界を全く知らない若造が!みたいな感じで
あと,外部が気になってますってことも伝えて早めに向こうの先生にメールも出さないと・・・
将来,自分は日本では働いていないような気がします
なので,外部で二年間日本人の中で研究することぐらい出来ないとダメだと思っています
明日が勝負