SlideShare a Scribd company logo
1 of 30
Download to read offline
Goと電子工作とロボット
たけいひでゆき
@HideyukiTakei
Jun. 21, 2015 / Go Conference
自己紹介
• H/W: 回路設計、マイコン、外装設計、中国
• SW: フロントエンドJS、Android、AWS
• かわいいロボットが好き
自己紹介
アジェンダ
• いま趣味で作っているロボットのご紹介
• Goでメジャーな電子工作のツールGobot
• Arduino と Firmata
• 意外と面倒なシリアル通信でのデータやりとり
• RPCの必要性とgRPC
• 動くデモ!
• コードの説明
趣味のロボットづくり
• 盆栽ロボットを作りたい
• 亀+植物
• かわいく動かしたい
• ゆくゆくは野に放ちたい
• 野良ロボット
ServoMotor
RS304MD
Front-Right
ServoMotor
RS304MD
Front-Left
ServoMotor
RS304MD
Back-Right
ServoMotor
RS304MD
Back-Left
ServoMotor
RS304MD
Yaw
ServoMotor
RS304MD
Tail
USART
Eye LED * 2Solar
Cell
I2C
AVR
ATXMEGA32D4
PWM
Pressure Sensor
Temperature &
Humidity Sensor
9 Axis Sensors
(3Acc, 3Gyro,
GPS LS20031 3.0-4.2V
Energy
Harvesting
構成
USART
だいたい試作はできた
• eagle: プリント基板設計ソフトウェア
• elecrow, fusion pcb: プリント基板製造サービス
• Inventor: 3DCAD
• Shapeways: 3Dプリントサービス
• AVR & GCC: 8bitマイコン(C言語で開発)
試作でよく使うもの
• ロボットを外部からコントロールしたい
• せっかくなのでGoを使おう
なにで制御しよう
Goで電子回路の定番?
いろいろ対応
Gobot & RaspberryPi
Goのコード
with Gobot
Raspbian
GPIO, I2C
• RaspberryPi上でGoのコードが動く
• 直接GPIOやI2Cを叩くことができる!
Gobot & Arduino
Goのコード
with Gobot Firmata
USB-Serial
• PCからArduinoを操作する
• Arduino上にプログラムを転送しない
ArudinoとFirmata
都度ファームウェアを
USB経由で書き込む
• Arduinoの場合
• 書き込んだ後はケーブル外してOK
• 電源断してもファームウェアは保存されてる
ArudinoとFirmata
外部から制御するため
のファームウェアを
あらかじめ書き込む
• Firmataの場合
• 主体はPC
• PCがないと動かない
• プログラムはArduinoに保存されない
FirmataのGood/Bad
• Good
• 通信とかコマンドとかメッセージとか
意識する必要がない
• 様々な言語から叩ける
• Bad
• 基本的にはプリミティブな命令しかない
ので、リアルタイム性が高いものには 
不向き
• 単独では動かない
カスタムプロトコルの道
• UART?BLE?Bluetooth?
• だいたいはUARTでOKか
• マイコン側/PC側のプログラムも必要
• UARTが1つ埋まる
• printfデバッグがしにくくなる
• プロトコル決めないと
• めんどくさい
そこでRPC
• マイコン側の関数をコールする
• 複雑な操作を1つの関数にまとめる
• 16x16のLEDマトリックスに「あ」と描く
• コマンドサーボ複数個の同時位置指定
• 通信経路はUART
• BluetoothのSPPやUSB-Serialが使える
• なにか良いRPCないか…
ロボット PC
そこで!gRPC!
• シリアライズは Protocol Buffers
• IDLでメッセージやRPCの構造を定義
• protocでソースコードも生成される
• 正確にはgRPC-USBSerialゲートウェイ
• よし、このゲートウェイをGoで書こう!
• データ形式はAVRまでProtocol Bufferで!
AVR
(マイコン)
gRPCサーバ(Go)
Serial
gRPC
クライアント
USB
歩行デモ
5(Go)個のサーボモータを
制御しながら
5(Go)歩 あるきます
歩行のデモ
盆栽を3月頃に調達しました
が
5月に枯れてしまいました…
元気だった頃の盆栽
ロボット
Protocol BuffersをAVRで
• nanopb
• http://koti.kapsi.fi/jpa/nanopb/
• 組み込み向けProtocolBufferのC実装
• 最低限の機能のみ実装
• 2-10 kB ROM, <1 kB RAMがターゲット
• 今回のマイコンは32kB ROM、4kB RAM
AVR
(マイコン)
gRPCサーバ(Go)
Serial
gRPC
クライアント
USB moveServos
moveServos
PC
robot.proto(IDL)
syntax = "proto3";
package robot;
service Soth {
rpc moveServos (MoveServosRequest) returns (MoveServosResponse) {}
}
message MoveServosRequest {
int32 servo_front_right_position = 1;
int32 servo_front_left_position = 2;
int32 servo_back_right_position = 3;
int32 servo_back_left_position = 4;
int32 servo_yaw_position = 5;
}
message MoveServosResponse {
}
ロボット PC
IDLのコンパイル
$ protoc --go_out=. robot.proto
$ prptpc --nanopb_out=. robot.proto
これで、goとcのコードが出てくる
AVR
(マイコン)
gRPCサーバ(Go)
Serial
gRPC
クライアント
USB
robot.pb.go
moveServos
moveServos
robot.pb.h
robot.pb.c
gRPCサーバ
type server struct{
s *serial.Port
m sync.Mutex
}
func (srv *server) MoveServos(ctx context.Context, in *pb.MoveServosRequest)
(*pb.MoveServosResponse, error) {
srv.m.Lock()
defer srv.m.Unlock()
writeRobotSerial(srv.s, in)
return &pb.MoveServosResponse{}, nil
}
シリアル通信ライブラリは github.com/tarm/serial
gRPCサーバ
func main() {
c := &serial.Config{
Name: /dev/tty.usbserial-DJ004Q2V , Baud: 115200}
serial, err := serial.OpenPort(c)
if err != nil {
log.Fatal(err)
}
lis, err := net.Listen("tcp", port)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
pb.RegisterSothServer(s, &server{s: serial})
s.Serve(lis)
}
シリアル通信用初期化
gRPCサーバ起動
gRPCクライアント
c := pb.NewSothClient(conn)
r, err := c.MoveServos(context.Background(),
&pb.MoveServosRequest{
ServoFrontRightPosition: 700,
ServoFrontLeftPosition: 900,
ServoBackRightPosition: 900,
ServoBackLeftPosition: 700,
ServoYawPosition: 900
})
Goで楽しいロボットを
創りましょう!
codelunch.fmというポッドキャストにも
出演しました。聴いてみてください!
宣伝
Android、Ruby/Node.jsが
得意なエンジニア大募集!
(もちろんGoも)

More Related Content

What's hot

ロボット用マイコンボードを 設計してみた
ロボット用マイコンボードを設計してみたロボット用マイコンボードを設計してみた
ロボット用マイコンボードを 設計してみたBizan Nishimura
 
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFDサラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFDKazuhito Miura
 
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介Yuya Taki
 
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games JapanGTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games JapanGame Tools & Middleware Forum
 
Router module in VIPER Architecture
Router module in VIPER ArchitectureRouter module in VIPER Architecture
Router module in VIPER ArchitectureKeisuke Yamaguchi
 
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudyKazuhito Miura
 
SAKURAボードでお手軽マルチタスク環境
SAKURAボードでお手軽マルチタスク環境SAKURAボードでお手軽マルチタスク環境
SAKURAボードでお手軽マルチタスク環境Bizan Nishimura
 
WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際Hiroyuki Yamaoka
 
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudyKazuhito Miura
 
GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIでミニ四駆をラジコン化GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIでミニ四駆をラジコン化Bizan Nishimura
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?Shingo Fukui
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。Tomohiko Himura
 
Tiなごや vol.3 Alloyやろまい
Tiなごや vol.3 AlloyやろまいTiなごや vol.3 Alloyやろまい
Tiなごや vol.3 AlloyやろまいMori Shingo
 
FutureKreateロボットシミュレータ
FutureKreateロボットシミュレータFutureKreateロボットシミュレータ
FutureKreateロボットシミュレータKensei Demura
 
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansaiKazuhito Miura
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyKazuhito Miura
 
Raspberry Pi を楽しもう
Raspberry Pi を楽しもうRaspberry Pi を楽しもう
Raspberry Pi を楽しもうhiro345
 
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iotIoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iotKazuhito Miura
 
いまどきのカメラで遊ぼう #kernelvm
いまどきのカメラで遊ぼう #kernelvmいまどきのカメラで遊ぼう #kernelvm
いまどきのカメラで遊ぼう #kernelvmTpdn Kim
 

What's hot (20)

ロボット用マイコンボードを 設計してみた
ロボット用マイコンボードを設計してみたロボット用マイコンボードを設計してみた
ロボット用マイコンボードを 設計してみた
 
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFDサラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
サラリーマンでギョーミーなプログラマ(つまりオレ)でも片手間で作れるXFD
 
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
ランダムにおちるfeature_system spec対策rspec-retry_ex の 紹介
 
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games JapanGTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
GTMF 2016:Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック Epic Games Japan
 
Hacking Robotics
Hacking RoboticsHacking Robotics
Hacking Robotics
 
Router module in VIPER Architecture
Router module in VIPER ArchitectureRouter module in VIPER Architecture
Router module in VIPER Architecture
 
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
 
SAKURAボードでお手軽マルチタスク環境
SAKURAボードでお手軽マルチタスク環境SAKURAボードでお手軽マルチタスク環境
SAKURAボードでお手軽マルチタスク環境
 
WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際
 
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
「実録!となりのJenkins2.0」 - 第7回大阪 / 第9回(東京)Jenkins勉強会 #jenkinsstudy
 
GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIでミニ四駆をラジコン化GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIでミニ四駆をラジコン化
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
 
Tiなごや vol.3 Alloyやろまい
Tiなごや vol.3 AlloyやろまいTiなごや vol.3 Alloyやろまい
Tiなごや vol.3 Alloyやろまい
 
FutureKreateロボットシミュレータ
FutureKreateロボットシミュレータFutureKreateロボットシミュレータ
FutureKreateロボットシミュレータ
 
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
「むしゃくしゃしたのでOpenDocumentで帳票テンプレート」 - 第13回関西LibreOffice勉強会 #LibOKansai
 
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudyJenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
 
Raspberry Pi を楽しもう
Raspberry Pi を楽しもうRaspberry Pi を楽しもう
Raspberry Pi を楽しもう
 
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iotIoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
IoTって何が良いの? 〜言うてるオレもわからんわ〜 #kinoko_iot
 
いまどきのカメラで遊ぼう #kernelvm
いまどきのカメラで遊ぼう #kernelvmいまどきのカメラで遊ぼう #kernelvm
いまどきのカメラで遊ぼう #kernelvm
 

Viewers also liked

IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine LearningIkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning Takeshi HASEGAWA
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動についてMr. Vengineer
 
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法Kentaro Sano
 
集積回路が真の道具になるために
集積回路が真の道具になるために集積回路が真の道具になるために
集積回路が真の道具になるためにJunichi Akita
 
電子回路の民主化とその実践
電子回路の民主化とその実践電子回路の民主化とその実践
電子回路の民主化とその実践Junichi Akita
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)Shinya Takamaeda-Y
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)Takeshi HASEGAWA
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAryos36
 
Cortex-M0プロセッサから自作して Lチカをやってみた
Cortex-M0プロセッサから自作してLチカをやってみたCortex-M0プロセッサから自作してLチカをやってみた
Cortex-M0プロセッサから自作して LチカをやってみたJunichi Akita
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化ryos36
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向Shinya Takamaeda-Y
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Shinya Takamaeda-Y
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたTakefumi MIYOSHI
 
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアTensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアMr. Vengineer
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Hiroki Nakahara
 
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaA Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaHiroki Nakahara
 

Viewers also liked (20)

IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine LearningIkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動について
 
Klabの梅雨対策
Klabの梅雨対策Klabの梅雨対策
Klabの梅雨対策
 
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
 
集積回路が真の道具になるために
集積回路が真の道具になるために集積回路が真の道具になるために
集積回路が真の道具になるために
 
電子回路の民主化とその実践
電子回路の民主化とその実践電子回路の民主化とその実践
電子回路の民主化とその実践
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
Cortex-M0プロセッサから自作して Lチカをやってみた
Cortex-M0プロセッサから自作してLチカをやってみたCortex-M0プロセッサから自作してLチカをやってみた
Cortex-M0プロセッサから自作して Lチカをやってみた
 
IkaLog20170316pynq_dist
IkaLog20170316pynq_distIkaLog20170316pynq_dist
IkaLog20170316pynq_dist
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
Gpu vs fpga
Gpu vs fpgaGpu vs fpga
Gpu vs fpga
 
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアTensorFlow XLA とハードウェア
TensorFlow XLA とハードウェア
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
 
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGaA Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGa
 

Similar to Golang, make and robotics #gocon

ラズパイIoT鉄道模型 - 車載カメラとNode-Redによる運転
ラズパイIoT鉄道模型 - 車載カメラとNode-Redによる運転 ラズパイIoT鉄道模型 - 車載カメラとNode-Redによる運転
ラズパイIoT鉄道模型 - 車載カメラとNode-Redによる運転 TomohisaYamazoe
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBMToshiki Tsuboi
 
勉強会20150218 ロボット
勉強会20150218 ロボット勉強会20150218 ロボット
勉強会20150218 ロボットShugo Numano
 
ゆるふわWoT&firefoxOS体験記
ゆるふわWoT&firefoxOS体験記ゆるふわWoT&firefoxOS体験記
ゆるふわWoT&firefoxOS体験記Mitsuru Ogawa
 
Androidでロボットを動かそう・すまべん関西201003
Androidでロボットを動かそう・すまべん関西201003Androidでロボットを動かそう・すまべん関西201003
Androidでロボットを動かそう・すまべん関西201003cat sin
 
ROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するUnityTechnologiesJapan002
 
ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706拓 小林
 
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ 「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ kirin_nico
 
ADKでロボット with NFC
ADKでロボット with NFCADKでロボット with NFC
ADKでロボット with NFCTakao Sumitomo
 
基板とブラウザと私
基板とブラウザと私基板とブラウザと私
基板とブラウザと私Wakasa Masao
 
SwiftのWebフレームワークVaporを触ってみる
SwiftのWebフレームワークVaporを触ってみるSwiftのWebフレームワークVaporを触ってみる
SwiftのWebフレームワークVaporを触ってみるYuya Oka
 
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムJunichi Kakisako
 
リンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすリンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすtomohiro kuwano
 
組み込みAI LT @ 2018/07/20 上越テックミートアップ
組み込みAI LT @ 2018/07/20 上越テックミートアップ組み込みAI LT @ 2018/07/20 上越テックミートアップ
組み込みAI LT @ 2018/07/20 上越テックミートアップYuki Kikuchi
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るTakeru Maehara
 
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道Tamtlebot
 
第二回東海北陸ロボコン交流会 豊田高専プレゼン
第二回東海北陸ロボコン交流会 豊田高専プレゼン第二回東海北陸ロボコン交流会 豊田高専プレゼン
第二回東海北陸ロボコン交流会 豊田高専プレゼン東海北陸ロボコン 交流会
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -Kishi Shundo
 

Similar to Golang, make and robotics #gocon (20)

WebとIoTとMake
WebとIoTとMakeWebとIoTとMake
WebとIoTとMake
 
家電の話(Nt京都)
家電の話(Nt京都) 家電の話(Nt京都)
家電の話(Nt京都)
 
ラズパイIoT鉄道模型 - 車載カメラとNode-Redによる運転
ラズパイIoT鉄道模型 - 車載カメラとNode-Redによる運転 ラズパイIoT鉄道模型 - 車載カメラとNode-Redによる運転
ラズパイIoT鉄道模型 - 車載カメラとNode-Redによる運転
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
勉強会20150218 ロボット
勉強会20150218 ロボット勉強会20150218 ロボット
勉強会20150218 ロボット
 
ゆるふわWoT&firefoxOS体験記
ゆるふわWoT&firefoxOS体験記ゆるふわWoT&firefoxOS体験記
ゆるふわWoT&firefoxOS体験記
 
Androidでロボットを動かそう・すまべん関西201003
Androidでロボットを動かそう・すまべん関西201003Androidでロボットを動かそう・すまべん関西201003
Androidでロボットを動かそう・すまべん関西201003
 
ROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉する
 
ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706
 
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ 「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
「明日からできる!面白ガジェットの作り方」 プロ生勉強会 第35回@DMM.comラボ
 
ADKでロボット with NFC
ADKでロボット with NFCADKでロボット with NFC
ADKでロボット with NFC
 
基板とブラウザと私
基板とブラウザと私基板とブラウザと私
基板とブラウザと私
 
SwiftのWebフレームワークVaporを触ってみる
SwiftのWebフレームワークVaporを触ってみるSwiftのWebフレームワークVaporを触ってみる
SwiftのWebフレームワークVaporを触ってみる
 
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステムPython, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
Python, RaspberryPi, Arduinoで作る消費電力モニタリングシステム
 
リンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすリンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かす
 
組み込みAI LT @ 2018/07/20 上越テックミートアップ
組み込みAI LT @ 2018/07/20 上越テックミートアップ組み込みAI LT @ 2018/07/20 上越テックミートアップ
組み込みAI LT @ 2018/07/20 上越テックミートアップ
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
 
第二回東海北陸ロボコン交流会 豊田高専プレゼン
第二回東海北陸ロボコン交流会 豊田高専プレゼン第二回東海北陸ロボコン交流会 豊田高専プレゼン
第二回東海北陸ロボコン交流会 豊田高専プレゼン
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
 

More from Hideyuki TAKEI

Android時代のミニ四駆
Android時代のミニ四駆Android時代のミニ四駆
Android時代のミニ四駆Hideyuki TAKEI
 
『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜
『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜
『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜Hideyuki TAKEI
 
WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?
WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?
WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?Hideyuki TAKEI
 
Kansai.AR - ARを作って考える~これであなたも超高音~
Kansai.AR - ARを作って考える~これであなたも超高音~Kansai.AR - ARを作って考える~これであなたも超高音~
Kansai.AR - ARを作って考える~これであなたも超高音~Hideyuki TAKEI
 
ちょい絶Vol3「Webからこんばんは」
ちょい絶Vol3「Webからこんばんは」ちょい絶Vol3「Webからこんばんは」
ちょい絶Vol3「Webからこんばんは」Hideyuki TAKEI
 
学びの場としての畳空間 〜畳、敷きませんか?〜
学びの場としての畳空間 〜畳、敷きませんか?〜学びの場としての畳空間 〜畳、敷きませんか?〜
学びの場としての畳空間 〜畳、敷きませんか?〜Hideyuki TAKEI
 

More from Hideyuki TAKEI (7)

Android時代のミニ四駆
Android時代のミニ四駆Android時代のミニ四駆
Android時代のミニ四駆
 
Php Meets Messagepack
Php Meets MessagepackPhp Meets Messagepack
Php Meets Messagepack
 
『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜
『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜
『車内での携帯電話の ご使用はご遠慮ください』 問題について考える 〜iPhoneケースつくりました〜
 
WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?
WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?
WCAN mini Actionscript Vol.9 - LEDガジェット、ただのピカピカと見るか?アニメーションと見るか?
 
Kansai.AR - ARを作って考える~これであなたも超高音~
Kansai.AR - ARを作って考える~これであなたも超高音~Kansai.AR - ARを作って考える~これであなたも超高音~
Kansai.AR - ARを作って考える~これであなたも超高音~
 
ちょい絶Vol3「Webからこんばんは」
ちょい絶Vol3「Webからこんばんは」ちょい絶Vol3「Webからこんばんは」
ちょい絶Vol3「Webからこんばんは」
 
学びの場としての畳空間 〜畳、敷きませんか?〜
学びの場としての畳空間 〜畳、敷きませんか?〜学びの場としての畳空間 〜畳、敷きませんか?〜
学びの場としての畳空間 〜畳、敷きませんか?〜
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (10)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Golang, make and robotics #gocon