SlideShare a Scribd company logo
1 of 14
Download to read offline
小ゼミ進捗 0615
サイバネティクスクラスタ ロボティクス研究室
和歌山大学 大学院 
前回の振り返り
・GPSドングルを用いてデータ取得
⇒MRPTで扱う[.rawlog]の拡張子で出力できた
今週の課題
・PCを台車に積んでGPS,Kinectのデータ収集を
屋外で、動作確認を行いたい.
・残る使用センサ[超音波センサ、赤外線センサ]のLinux PCによる実行確認
(超音波センサ⇒赤外線センサ)
・研究倫理学習(4章~)
超音波センサ -SRF02
SRF02--仕様
・マイコンを搭載
・I2Cとシリアルインターフェースを持ち、
最大16のセンサを接続することができる
・電源 : 5V
・使用周波数 : 40KHz
・接続モード : I2C,シリアルバス
・入出力端子 : 5ピン
Arduino UNOで使用(結線)
動作プログラム
#include <Wire.h>
void setup() {
Wire.begin();  
Serial.begin(9600);
}
int reading = 0;
void loop() {
// step 1: instruct sensor to read echoes
Wire.beginTransmission(112);
Wire.write(byte(0x00));
Wire.write(byte(0x50));
Wire.endTransmission();
// step 2: wait for readings to happen
delay(70);
// step 3: instruct sensor to return a particular echo
reading
Wire.beginTransmission(112);
Wire.write(byte(0x02));
Wire.endTransmission();
// step 4: request reading from sensor
Wire.requestFrom(112, 2);
// step 5: receive reading from sensor
if (2 <= Wire.available()) {
reading = Wire.read();
reading = reading << 8;
reading |= Wire.read();
Serial.println(reading);
}
delay(250);
}
実行結果
Kinectセンサ 仕様
超音波センサを左右に振るためにサーボモータを用いる。
⇒水平視野角は以下の通りであり、これと同等ほどの角度を指定する。
Kinect v1 Kinectv2
Color 画像 640*480
1280*960
1920*1080
Depth 画像 80*69
320*240
630*480
512*424
Depth センシング方式 Light Cording TOF(Time of Fright)
Depth 認識範囲 800mm~4000mm(Default)
400mm~3500mm(Near)
500mm~4500mm
水平視野角 57度 70度
垂直視野角 43度
(±27度:チルトモーター)
60度
サーボモータ SG90
#include<Servo.h>
Servo servo1;
void setup() {
servo1.attach(4);
}
void loop() { //ループ関数提起
servo1.write(40); //初期角度指定
Delay(2000); //次の移動までの時間差
servo1.write(90); //2番目の角度指定
Delay(2000); //次の移動までの時間差
 servo1.write(140); //3番目角度の指定
Delay(2000); //次の移動までの時間差
 servo1.write(90); //4番目角度の指定
Delay(2000); //次の移動までの時間差
}
超音波センサの挙動設定
・Arduino UNO使用する際に関して超音波センサの挙動を設定する
データを貰い受けるタイミングを指定し、必要となるデータを
効率よく取得するため
・IDEの設定で MSTimer2 という内蔵タイマーのインタフェースを用いて
タイマーを1ミリ秒(ms)単位で扱えるようになる.
http://www.arduino.cc/playground/uploads/Main/MsTimer2.zip
例)
1秒周期で13ピンのLEDをオンオフさせる
#include <MsTimer2.h>
void flash() {
static boolean output = HIGH;
digitalWrite(13, output);
output = !output;
}
void setup() {
pinMode(13, OUTPUT);
MsTimer2::set(500, flash);
// 500msでオンオフ
MsTimer2::start();
}
void loop() {
// loopは空
}
Arduino タイマーライブラリ
・時間的に正確な処理を行いたいときに使用する.
Arduino タイマーライブラリ ・MsTimer2
・TimerOne
・・・一定時間ごとに関数を
「割り込み(Interrupt)」で呼び出す.
・Arduinoで使用している主要なAVRマイコンでは Timer0,Timer1,Timer2が搭載.
・これらのハードウェアのタイマーを利用し、一定時間ごとにある関数を
「割り込み(Interrupt)で呼び出すことでArduinoタイマーライブラリは実現している.
Arduino タイマーライブラリ
・Timer0 : 8bitのタイマーでArduinoの時間管理を用途として利用される.
delay(),mills(),micros()などがあり,UNOでは5.6番ピンで利用する.
・Timer1 : 16bitのタイマーでUNOではServoライブラリと9.10番ピンのPWMで利用する.
・Timer2 : 8bitのタイマーでUNOではtone()と3.11番ピンのPWMで利用する.
・・・上記のTimerの説明にある通り,AVRタイマー機能はArduinoの
各種ライブラリによって利用されており,タイマーライブラリを使用する際は
利用されていないタイマーを使うなど競合を避けなければならない.
PWMもまた,タイマーを利用しているため同時に使用することができない.
MsTimer2
最も利用されるTimer2を利用したシンプルなライブラリ.
まずはこれの利用を検討すると良い. 100ms毎に呼び出すサンプル.
#include <MsTimer2.h>
void timerFire() { //100ms毎にここが呼び出される
}
void setup() { //100ms毎にtimer発火
MsTimer2::set(100, timerFire);
MsTimer2::start();
}
void loop() {
}
来週の課題
・超音波センサ(SRF02)の挙動の確定 (今週金曜)
⇒Time Interruptを使用し、設定したいデータ取得方法を実現.
・SRF02とサーボモータを結線・固定し、動作確認を行う (来週中)
・PCを台車に積んでGPS,Kinectのデータ収集を
屋外で、動作確認を行う. (来週中)
・残りの赤外線センサに着手 (理想は来週末から)
・文献調査
・・・「センサフュージョン関連」「データを元に地図構築関連」
「暗闇環境で作業するロボットにおいて使用しているセンサの有用性と精度関連」

More Related Content

Similar to 小ゼミ進捗 0615

2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」aitc_jp
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical ComputingTakahiro KUREBAYASHI
 
JAWS FESTA TOKAIDO 2016
JAWS FESTA TOKAIDO 2016JAWS FESTA TOKAIDO 2016
JAWS FESTA TOKAIDO 2016陽平 山口
 
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムJunichi Kakisako
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介Hiroki Nakahara
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはHideki Takase
 
Singularityで分散深層学習
Singularityで分散深層学習Singularityで分散深層学習
Singularityで分散深層学習Hitoshi Sato
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
自作LSIコミュニティの可能性
自作LSIコミュニティの可能性自作LSIコミュニティの可能性
自作LSIコミュニティの可能性Junichi Akita
 
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual BoothsChipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual BoothsKeigo Nishida
 
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」PC Cluster Consortium
 
Misc for edge_devices_with_fpga
Misc for edge_devices_with_fpgaMisc for edge_devices_with_fpga
Misc for edge_devices_with_fpgaTakefumi MIYOSHI
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編Daiyu Hatakeyama
 
NVIDIA ディープラーニング入門
NVIDIA ディープラーニング入門NVIDIA ディープラーニング入門
NVIDIA ディープラーニング入門Seong-Hun Choe
 
PSoC Powered Human Powered Airplane
PSoC Powered Human Powered AirplanePSoC Powered Human Powered Airplane
PSoC Powered Human Powered AirplaneHirakuTOIDA
 
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
 

Similar to 小ゼミ進捗 0615 (20)

2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
 
Imaocande LT
Imaocande LTImaocande LT
Imaocande LT
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical Computing
 
JAWS FESTA TOKAIDO 2016
JAWS FESTA TOKAIDO 2016JAWS FESTA TOKAIDO 2016
JAWS FESTA TOKAIDO 2016
 
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
 
2019 parentsday
2019 parentsday2019 parentsday
2019 parentsday
 
Openhard150114
Openhard150114Openhard150114
Openhard150114
 
Singularityで分散深層学習
Singularityで分散深層学習Singularityで分散深層学習
Singularityで分散深層学習
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
自作LSIコミュニティの可能性
自作LSIコミュニティの可能性自作LSIコミュニティの可能性
自作LSIコミュニティの可能性
 
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual BoothsChipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
Chipyardによるベイズニューラルネットワーク向け学習アクセラレータ開発 @ RISC-V Day Tokyo 2020 Virtual Booths
 
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
 
Misc for edge_devices_with_fpga
Misc for edge_devices_with_fpgaMisc for edge_devices_with_fpga
Misc for edge_devices_with_fpga
 
Microwaveguquantum
MicrowaveguquantumMicrowaveguquantum
Microwaveguquantum
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
NVIDIA ディープラーニング入門
NVIDIA ディープラーニング入門NVIDIA ディープラーニング入門
NVIDIA ディープラーニング入門
 
PSoC Powered Human Powered Airplane
PSoC Powered Human Powered AirplanePSoC Powered Human Powered Airplane
PSoC Powered Human Powered Airplane
 
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
 

More from robo_lab

170111 大ゼミ2
170111 大ゼミ2170111 大ゼミ2
170111 大ゼミ2robo_lab
 
170118 報告用
170118 報告用170118 報告用
170118 報告用robo_lab
 
170111 大ゼミ2
170111 大ゼミ2170111 大ゼミ2
170111 大ゼミ2robo_lab
 
160427 大ゼミ1
160427 大ゼミ1160427 大ゼミ1
160427 大ゼミ1robo_lab
 
2016Ocプレゼンテーション
2016Ocプレゼンテーション2016Ocプレゼンテーション
2016Ocプレゼンテーションrobo_lab
 
160717 oc発表
160717 oc発表160717 oc発表
160717 oc発表robo_lab
 
オープンキャンパススライド2017
オープンキャンパススライド2017オープンキャンパススライド2017
オープンキャンパススライド2017robo_lab
 

More from robo_lab (20)

170111 大ゼミ2
170111 大ゼミ2170111 大ゼミ2
170111 大ゼミ2
 
170126
170126170126
170126
 
170112
170112170112
170112
 
170118 報告用
170118 報告用170118 報告用
170118 報告用
 
170111 大ゼミ2
170111 大ゼミ2170111 大ゼミ2
170111 大ゼミ2
 
161215
161215161215
161215
 
161208
161208161208
161208
 
161201
161201161201
161201
 
161124
161124161124
161124
 
161117
161117161117
161117
 
161110
161110161110
161110
 
161027
161027161027
161027
 
161020
161020161020
161020
 
160824
160824160824
160824
 
160427 大ゼミ1
160427 大ゼミ1160427 大ゼミ1
160427 大ゼミ1
 
160713
160713160713
160713
 
2016Ocプレゼンテーション
2016Ocプレゼンテーション2016Ocプレゼンテーション
2016Ocプレゼンテーション
 
160717 oc発表
160717 oc発表160717 oc発表
160717 oc発表
 
オープンキャンパススライド2017
オープンキャンパススライド2017オープンキャンパススライド2017
オープンキャンパススライド2017
 
Oc浜辺
Oc浜辺Oc浜辺
Oc浜辺
 

小ゼミ進捗 0615