SlideShare une entreprise Scribd logo
1  sur  109
Télécharger pour lire hors ligne
2015/08/10
業務のためのPython勉強会#3
こんば
んは!
突然参加させていただきました、
「今井」です
っていうか、お前だれよ?
今井 大介 IMAI, Daisuke
1972/07/17生まれ43歳
アスラテック株式会社
事業開発室 ロボットエバンジェリスト
「ロボットと、ロボットアプリケーションを作れるエ
ンジニアを増やして、世界中がロボットだらけになれ
ばきっと世界はもっと面白くなる。」
1997∼ 【新卒】株式会社ベネッセコーポレーション
インターネット向けサービスの実証実験
2000∼ 【起業】ギガフロップス株式会社
携帯向けのポータルサイトの立ち上げ、副社長兼CTO
2003∼ 【バイアウト】株式会社サイバード
事業並びに会社の売却→技術部マネージャ
2005∼ 【Uターン】石見ケーブルビジョン株式会社
CATV事業の立ち上げでインターネット側の担当
2010∼ 【再度上京】BEENOS株式会社
新規事業立ち上げ&技術担当執行役員、グループCTO
2015∼ 【現職】アスラテック株式会社
色々な企業さんとのコラボを模索したり、エンジニアの方
向けのサンプルコード書いたり
簡単に言うと、
Web系からロボット系に
ジョブチェンジした
エンジニア的な人
【得意な領域(Web)】
インフラ>サーバーサイド>
Webフロントエンド>NativeApp
【好きな技術】
AWS、WebSocket
マイコンボード各種
【言語歴】
BASIC(PC-6001から)
アセンブラ(Z80)
C/C++/Java
LINGO(Adobe Director)
PHP/Ruby/Python
JavaScript
Processing/ArduinoIDE
etc…
Pythonにめっちゃ詳しいって
わけではないです
(意訳:色々大目に見てください)
V-SidoのPython向けのライブラリの
パッケージを作りたいと思っていたので
作り始めるいい機会!
アスラテック株式会社
ロボットの制御OS
「V-Sido OS」
(「ブシドー」と読みます)
!
. ,   
!
!
OS
  85
E W BPN TRCV
  
  
   85 PN
S B B
28 5 -‐‑‒
34
O MI
KJ R V
O
-‐‑‒
W KJ S P
0 -‐‑‒
PythonからV-Sido CONNECTで
ロボットを操る
ハードウェアの絡んだ仕組みの制御を考える
アスラテック株式会社 事業開発室
ロボットエバンジェリスト 今井大介
【注釈】
超駆け足で行きますが、
slideshareでスライド共有、
githubでコード共有します。
あとPython3です(確認環境3.4.3)
ハードウェアの絡む仕組みを
作ったことのある人∼?
ロボットとPython
C/C++についで
ロボット関連ではPythonが
よく使われているようです
(当社は違いますが)
numpy/scipy
OpenCV
Choregraphと
Python SDK
本日使うライブラリ
PySerial
使ったことのある人∼?
シリアル通信
デバイス同士が
やりとりする仕組み
RS-232C/RS-485
I2C/SPI
USB
etc…色々ありますが
パソコンのシリアルポート
UART/USART
  85
E W BPN TRCV
  
  
   85 PN
S B B
28 5 -‐‑‒
34
O MI
Bluetoosh SPPで
無線化されたシリアル通信
シリアル通信の基本は
「送信」「受信」
送信
(デモ)
受信
(デモ)
受信するまで待ってしまう
(その間は何もできない)
解法1:timeoutを設定する
(デモ)
解法2:受信を別Threadにする
本日使うライブラリ
threading
def start_reciever(self):
""" 受信スレッドを立ち上げる """
self.receiver_alive = True
self.receiver_thread = threading.Thread(target=self._reciever)
self.receiver_thread.setDaemon(True)
self.receiver_thread.start()
def stop_reciever(self):
""" 受信スレッドの停止 """
self.receiver_alive = False
self.receiver_thread.join()
def _reciever(self):
""" 受信データの処理 """
try:
while self.receiver_alive:
data = self.serial.read(1)
if len(data) > 0:
print(data)
except serial.SerialException:
self.alive = False
raise
どのような通信をすべきか
(内容)
まずは、コマンドを送信する
共通で使う関数を作る
def send_data(self, command_data):
''' コマンド送信 '''
data_bytes = b''
data_str = []
for data in command_data:
data_bytes += data.to_bytes(1, byteorder='little')
data_str.append('%02x' % data)
self.serial.write(data_bytes)
print('> ' + ' '.join(data_str))
def _adjust_ln_sum(self, command_data):
''' コマンドデータのLN(レングス)とSUM(チェックサム)の調整 '''
ln_pos = 1 if command_data[0] == 0x0c or command_data[0] == 0x0d or
command_data[0] == 0x53 or command_data[0] == 0x54 else 2
if len(command_data) > 3:
command_data[ln_pos] = len(command_data);
sum = 0;
for data in command_data:
sum ^= data
command_data[len(command_data) - 1] = sum
return command_data
個別のコマンドの
生成関数を作る
# V-Sidoで利用するコマンドやオペランドのクラス変数定義
COMMAND_ST = 0xff;
COMMAND_OP_WALK = 0x74; # 't'
def make_walk_command(self, forward, turn_cw):
''' 歩行コマンドのデータ生成 '''
data = []
data.append(VSidoConnect.COMMAND_ST) # ST
data.append(VSidoConnect.COMMAND_OP_WALK) # OP
data.append(0x00) # LN仮置き
data.append(0x00) # WAD(Utilityでは0で固定)
data.append(0x02) # WLN(現在2で固定)
# 速度ならびに旋回は-100∼100を0∼200に変換する
data.append(forward + 100)
data.append(turn_cw + 100)
data.append(0x00) # SUM仮置き
return self._adjust_ln_sum(data);
V-Sidoのコマンドの数だけ
この関数を作っていけばいい
(デモ)
やった!動いた!
はて、本日の勉強会は
なんの勉強会でしたっけ?
業務のための
Python
勉強会
【質問】
ロボットは業務の役に
立つのでしょうか
立つかもしれないし、
立たないかもしれない
0 -‐‑‒
それだけだとアレなので
IoTに応用することを
考えてみましょうか
「ロボットとV-Sido CONNECT」を
IoTデバイスだと置き換えて
考えてみる
ちなみに、IoTが分かる人∼?
例えばArduino
例えばRaspberryPi
例えばIntel Edison
センサーをつければ、
立派なIoTデバイスに
【業務効率化アイデア】
部長に印鑑を欲しいが、
部長は外出が多くて、
席にいるタイミングを
見計らうのが大変。
何とかならない?
部長の椅子のクッションの下に
圧力センサーをいれれば
座ってるのがわかるぞ!
どうやって知らせる?
やっぱWeb(イントラ)でしょ!
ハードウェアとWebを繋ぐ
ということで、ロボットを
Webから操ってみます。
  85
E W BPN TRCV
  
  
   85 PN
S B B
28 5 -‐‑‒
34
O MI
ウェブブラウザ
WebSocket
本日使うライブラリ
Tornado
せっかく歩けるようになったので
歩く機能をウェブに実装
Web画面作った
<script language="javascript">
var ws = new WebSocket("ws://localhost:8080/ws");
var sent_deleter = null;
var receiverd_deleter = null;
ws.onopen = function() {
};
function OnWalkButtonClick() {
ws.send("walk_forward");
}
</script>
ボタンを押したら、
walk_forward
というメッセージを投げる
サーバー側の実装
class SocketHandler(tornado.websocket.WebSocketHandler):
#on_message -> receive data
#write_message -> send data
def open(self):
self.i = 0
self.callback = tornado.ioloop.PeriodicCallback(self._send_message, 50)
self.callback.start()
print("WebSocket opened")
# origin check disabled
def check_origin(self, origin):
return True
def on_message(self, message):
print("got message:",message)
if message == "walk_forward":
if vsidoconnect:
vsidoconnect.send_data(vsidoconnect.make_walk_command(100, 0))
def on_close(self):
self.callback.stop()
print("WebSocket closed")
受け取るだけだと、
IoT的にイマイチなので、
ハード側から送る機能も
Web画面作った
ロボットとどんなコマンドの
やりとりをしたのかがわかる
class SocketHandler(tornado.websocket.WebSocketHandler):
#on_message -> receive data
#write_message -> send data
def open(self):
self.i = 0
self.callback = tornado.ioloop.PeriodicCallback(self._send_message, 50)
self.callback.start()
print("WebSocket opened")
def _send_message(self):
if len(vsidoconnect.message_buffer) > 0:
self.write_message(vsidoconnect.message_buffer.pop(0))
def on_close(self):
self.callback.stop()
print("WebSocket closed")
(デモ)
やった!動いた!
これでセンサー情報とか
ブラウザに簡単に
送ることができますね
ハードウェアとWebは
Pythonで
結構簡単につなげることができる
UI作るのは
PythonのGUIライブラリでも
いいけど
JavaScriptの方が僕は楽
(分業もしやすいしね)
業務効率化に
ハードウェアを!
ネットと連携するデバイス
ウェアラブルデバイス
新しい入力装置
「モノ」ができると
楽しい。
(続けるモチベーション)
色んなものが作れる。
もっともっとhackしよう。
業務効率化に
ロボットを!
なお…
V-Sido公式で、
WebSocketで接続する
JavaScript向けのAPIを
公開している模様
何たる「車輪の再発明」!
ご清聴
ありがとうございました。
email: daisimai@asratec.co.jp
twitter: @hine
Facebook: hine.gdw
本日のコード
https://github.com/hine/PythonVSido

Contenu connexe

Tendances

第14回SIA例会プレゼン資料
第14回SIA例会プレゼン資料第14回SIA例会プレゼン資料
第14回SIA例会プレゼン資料
Tae Yoshida
 
第24回SIA例会プレゼン資料
第24回SIA例会プレゼン資料第24回SIA例会プレゼン資料
第24回SIA例会プレゼン資料
Tae Yoshida
 
第7回SIA研究会(例会)プレゼン資料 堀野様
第7回SIA研究会(例会)プレゼン資料 堀野様第7回SIA研究会(例会)プレゼン資料 堀野様
第7回SIA研究会(例会)プレゼン資料 堀野様
Tae Yoshida
 

Tendances (19)

SORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for EnterpriseシミュレータについてSORACOM LTE-M Button for Enterpriseシミュレータについて
SORACOM LTE-M Button for Enterpriseシミュレータについて
 
20191016 class method_tokyo_aws
20191016 class method_tokyo_aws20191016 class method_tokyo_aws
20191016 class method_tokyo_aws
 
【SoftLayerのスタートアップ企業支援プログラム Catalyst事例】テラスマイル株式会社
【SoftLayerのスタートアップ企業支援プログラム Catalyst事例】テラスマイル株式会社【SoftLayerのスタートアップ企業支援プログラム Catalyst事例】テラスマイル株式会社
【SoftLayerのスタートアップ企業支援プログラム Catalyst事例】テラスマイル株式会社
 
20211209 it trend
20211209 it trend20211209 it trend
20211209 it trend
 
Intelligent automation forum 2020 in osaka public document
Intelligent automation forum 2020 in osaka public document Intelligent automation forum 2020 in osaka public document
Intelligent automation forum 2020 in osaka public document
 
第14回SIA例会プレゼン資料
第14回SIA例会プレゼン資料第14回SIA例会プレゼン資料
第14回SIA例会プレゼン資料
 
Starting with whyで始めよう イノベーション創出に必要な知識と技術そして覚悟を持とう
 Starting with whyで始めよう イノベーション創出に必要な知識と技術そして覚悟を持とう Starting with whyで始めよう イノベーション創出に必要な知識と技術そして覚悟を持とう
Starting with whyで始めよう イノベーション創出に必要な知識と技術そして覚悟を持とう
 
【kintone hive 上海】ウィングアーク上海講演資料_160918
【kintone hive 上海】ウィングアーク上海講演資料_160918【kintone hive 上海】ウィングアーク上海講演資料_160918
【kintone hive 上海】ウィングアーク上海講演資料_160918
 
IIJGIO x ビヨンドのオススメポイント
IIJGIO x ビヨンドのオススメポイントIIJGIO x ビヨンドのオススメポイント
IIJGIO x ビヨンドのオススメポイント
 
kintoneで変わる
kintoneで変わるkintoneで変わる
kintoneで変わる
 
20180831_NTC3_NSE
20180831_NTC3_NSE20180831_NTC3_NSE
20180831_NTC3_NSE
 
20190704 macnica fujitec tomooka
20190704 macnica fujitec tomooka20190704 macnica fujitec tomooka
20190704 macnica fujitec tomooka
 
Raspberry Pi + AWS + SoftEtherVPN + RemoteWorks = ?
Raspberry Pi + AWS + SoftEtherVPN + RemoteWorks = ?Raspberry Pi + AWS + SoftEtherVPN + RemoteWorks = ?
Raspberry Pi + AWS + SoftEtherVPN + RemoteWorks = ?
 
Softlayer_summit
Softlayer_summitSoftlayer_summit
Softlayer_summit
 
エンジニアのキャリアパスを考える 川村
エンジニアのキャリアパスを考える 川村エンジニアのキャリアパスを考える 川村
エンジニアのキャリアパスを考える 川村
 
第24回SIA例会プレゼン資料
第24回SIA例会プレゼン資料第24回SIA例会プレゼン資料
第24回SIA例会プレゼン資料
 
第7回SIA研究会(例会)プレゼン資料 堀野様
第7回SIA研究会(例会)プレゼン資料 堀野様第7回SIA研究会(例会)プレゼン資料 堀野様
第7回SIA研究会(例会)プレゼン資料 堀野様
 
APIエコノミーとは何か? それはどこへ続く道なのか(2017年) (in Japanese)
APIエコノミーとは何か? それはどこへ続く道なのか(2017年) (in Japanese)APIエコノミーとは何か? それはどこへ続く道なのか(2017年) (in Japanese)
APIエコノミーとは何か? それはどこへ続く道なのか(2017年) (in Japanese)
 
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
 

En vedette

En vedette (20)

S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれからS20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
 
企業ICTのリスクマネジメントを強化する3つの視点 NTTコミュニケーションズセキュリティエバンジェリスト竹内文孝
企業ICTのリスクマネジメントを強化する3つの視点 NTTコミュニケーションズセキュリティエバンジェリスト竹内文孝企業ICTのリスクマネジメントを強化する3つの視点 NTTコミュニケーションズセキュリティエバンジェリスト竹内文孝
企業ICTのリスクマネジメントを強化する3つの視点 NTTコミュニケーションズセキュリティエバンジェリスト竹内文孝
 
Market trend jan.2017 cyber security
Market trend jan.2017 cyber securityMarket trend jan.2017 cyber security
Market trend jan.2017 cyber security
 
S18 t0 introduction
S18 t0 introductionS18 t0 introduction
S18 t0 introduction
 
How to master Blue Coat Proxy SG
How to master Blue Coat Proxy SGHow to master Blue Coat Proxy SG
How to master Blue Coat Proxy SG
 
Creators'night#15今井
Creators'night#15今井Creators'night#15今井
Creators'night#15今井
 
標的型攻撃にいかに立ち向かうか~巧妙化する脅威に組織がとるべき対策とは~竹内 文孝
標的型攻撃にいかに立ち向かうか~巧妙化する脅威に組織がとるべき対策とは~竹内 文孝標的型攻撃にいかに立ち向かうか~巧妙化する脅威に組織がとるべき対策とは~竹内 文孝
標的型攻撃にいかに立ち向かうか~巧妙化する脅威に組織がとるべき対策とは~竹内 文孝
 
チームで活用するAnaconda入門
チームで活用するAnaconda入門チームで活用するAnaconda入門
チームで活用するAnaconda入門
 
Creators'night#3今井
Creators'night#3今井 Creators'night#3今井
Creators'night#3今井
 
Ui研究会#1
Ui研究会#1Ui研究会#1
Ui研究会#1
 
Creators'night#14今井
Creators'night#14今井Creators'night#14今井
Creators'night#14今井
 
S02 t1 sta_py_tsuji_0702_slides
S02 t1 sta_py_tsuji_0702_slidesS02 t1 sta_py_tsuji_0702_slides
S02 t1 sta_py_tsuji_0702_slides
 
GmailとPythonでイベント管理
GmailとPythonでイベント管理GmailとPythonでイベント管理
GmailとPythonでイベント管理
 
PostgreSQLとPythonとSQL
PostgreSQLとPythonとSQLPostgreSQLとPythonとSQL
PostgreSQLとPythonとSQL
 
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアルbottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
 
MacroPyがすごい
MacroPyがすごいMacroPyがすごい
MacroPyがすごい
 
Chainerで学ぶdeep learning
Chainerで学ぶdeep learningChainerで学ぶdeep learning
Chainerで学ぶdeep learning
 
Inside PyCon JP 2016
Inside PyCon JP 2016Inside PyCon JP 2016
Inside PyCon JP 2016
 
みんなのPython勉強会#21 澪標アナリティクス 井原様
みんなのPython勉強会#21 澪標アナリティクス 井原様みんなのPython勉強会#21 澪標アナリティクス 井原様
みんなのPython勉強会#21 澪標アナリティクス 井原様
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPython
 

Similaire à PythonからV-Sido CONNECTで ロボットを操る ~ ハードウェアの絡んだ仕組みの制御を考える ~

13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
Naoya Ito
 

Similaire à PythonからV-Sido CONNECTで ロボットを操る ~ ハードウェアの絡んだ仕組みの制御を考える ~ (20)

show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudyshow コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
 
D3.js で LOD を Visualization
D3.js で LOD を VisualizationD3.js で LOD を Visualization
D3.js で LOD を Visualization
 
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作るgumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
 
ゼロから学ぶIoT
ゼロから学ぶIoTゼロから学ぶIoT
ゼロから学ぶIoT
 
zozotown real time linkage infrastructure
zozotown real time linkage infrastructurezozotown real time linkage infrastructure
zozotown real time linkage infrastructure
 
Smart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless DesignSmart Tennis Lesson Serverless Design
Smart Tennis Lesson Serverless Design
 
【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!【B-1】kintoneでお手軽コールセンター!
【B-1】kintoneでお手軽コールセンター!
 
Deep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & ChainerDeep Learning Lab: DIMo & Chainer
Deep Learning Lab: DIMo & Chainer
 
Data Scientists Love SQL Server
Data Scientists Love SQL ServerData Scientists Love SQL Server
Data Scientists Love SQL Server
 
Soft layer users_community_20140523_bitisle_narisako_subset
Soft layer users_community_20140523_bitisle_narisako_subsetSoft layer users_community_20140523_bitisle_narisako_subset
Soft layer users_community_20140523_bitisle_narisako_subset
 
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
 
20150630_データ分析に最適な基盤とは? -コスト/スピードでビジネスバリューを得るために- by 株式会社インサイトテクノロジー CTO 石川雅也
20150630_データ分析に最適な基盤とは? -コスト/スピードでビジネスバリューを得るために- by 株式会社インサイトテクノロジー CTO 石川雅也20150630_データ分析に最適な基盤とは? -コスト/スピードでビジネスバリューを得るために- by 株式会社インサイトテクノロジー CTO 石川雅也
20150630_データ分析に最適な基盤とは? -コスト/スピードでビジネスバリューを得るために- by 株式会社インサイトテクノロジー CTO 石川雅也
 
俺が作れるさいきょうAIアシストシステム.pptx
俺が作れるさいきょうAIアシストシステム.pptx俺が作れるさいきょうAIアシストシステム.pptx
俺が作れるさいきょうAIアシストシステム.pptx
 
Web socketドロンくん その後-
Web socketドロンくん その後-Web socketドロンくん その後-
Web socketドロンくん その後-
 
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
座談会資料 事前配布 20170225
座談会資料 事前配布 20170225座談会資料 事前配布 20170225
座談会資料 事前配布 20170225
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
 
2015年7月期AITC女子会「D3.js/Highchartsによるデータの可視化」
2015年7月期AITC女子会「D3.js/Highchartsによるデータの可視化」2015年7月期AITC女子会「D3.js/Highchartsによるデータの可視化」
2015年7月期AITC女子会「D3.js/Highchartsによるデータの可視化」
 
Ember.js Tokyo event 2014/09/22 (Japanese)
Ember.js Tokyo event  2014/09/22 (Japanese)Ember.js Tokyo event  2014/09/22 (Japanese)
Ember.js Tokyo event 2014/09/22 (Japanese)
 

Plus de Daisuke Imai

Beenos creators' night#201305今井
Beenos creators' night#201305今井Beenos creators' night#201305今井
Beenos creators' night#201305今井
Daisuke Imai
 
Beenos creators' night#201306今井
Beenos creators' night#201306今井Beenos creators' night#201306今井
Beenos creators' night#201306今井
Daisuke Imai
 
パソナプレゼン資料
パソナプレゼン資料パソナプレゼン資料
パソナプレゼン資料
Daisuke Imai
 

Plus de Daisuke Imai (16)

Creators'night#13 tech#2今井
Creators'night#13 tech#2今井Creators'night#13 tech#2今井
Creators'night#13 tech#2今井
 
Creators'night#12今井
Creators'night#12今井Creators'night#12今井
Creators'night#12今井
 
Creators'night#10今井
Creators'night#10今井Creators'night#10今井
Creators'night#10今井
 
Creators'night#8今井
Creators'night#8今井Creators'night#8今井
Creators'night#8今井
 
Creators'night#7今井
Creators'night#7今井Creators'night#7今井
Creators'night#7今井
 
Creators'night#6今井
Creators'night#6今井Creators'night#6今井
Creators'night#6今井
 
Creators'night#5今井
Creators'night#5今井Creators'night#5今井
Creators'night#5今井
 
Creators'night#4今井
Creators'night#4今井Creators'night#4今井
Creators'night#4今井
 
Creators'night#1今井
Creators'night#1今井Creators'night#1今井
Creators'night#1今井
 
UI研究会#2
UI研究会#2UI研究会#2
UI研究会#2
 
UI研究会#3
UI研究会#3UI研究会#3
UI研究会#3
 
Beenos creators'night#201308今井
Beenos creators'night#201308今井Beenos creators'night#201308今井
Beenos creators'night#201308今井
 
Beenos creators'night#201307今井
Beenos creators'night#201307今井Beenos creators'night#201307今井
Beenos creators'night#201307今井
 
Beenos creators' night#201305今井
Beenos creators' night#201305今井Beenos creators' night#201305今井
Beenos creators' night#201305今井
 
Beenos creators' night#201306今井
Beenos creators' night#201306今井Beenos creators' night#201306今井
Beenos creators' night#201306今井
 
パソナプレゼン資料
パソナプレゼン資料パソナプレゼン資料
パソナプレゼン資料
 

PythonからV-Sido CONNECTで ロボットを操る ~ ハードウェアの絡んだ仕組みの制御を考える ~