WHILLでカヌー体験みたいなやつ作った
WHILLアドベントカレンダー2019の7日目の記事です。 WHILLでカヌー体験みたいなものを作りました。
開発環境
システム概要
1.UnityでJoyConの傾きを取得する
すみません、プログラムはあとで載せます。
2.TCP通信でJoyConの値を送信
JoyConの傾き具合によって、WHILLを旋回させます。
すみません、プログラムはあとで載せます。
3.JoyConの値を受信し、WHILLを操作する
from whill import ComWHILL import socket import time def main(): whill = ComWHILL(port='COM5') host = "127.0.0.1" port = 4000 buffer_size = 4096 acc = 50 while True: serversock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversock.bind((host,port)) serversock.listen(10) print('Waiting for connections...') clientsock, client_address = serversock.accept() print("Succeeded in Connection!") while True: try: data = clientsock.recv(buffer_size) if b'exit' in data: break data_ = data.decode('utf-8').split("\n") [direction, speed] = data_[0].split(",") print(int(float(speed)*acc), int(float(direction)*acc)) whill.send_joystick(int(float(speed)*acc), int(float(direction)*acc)) time.sleep(0.01) except clientsock.error: whill.send_joystick(0, 0) clientsock.close() break whill.send_joystick(0, 0) serversock.close() if __name__ == '__main__': main()
まとめ
WHILLを用いてカヌーみたいな体験ができるものを作りました。 Unityからシリアル通信でWHILLを動かせるようにしたので、今度はその記事を書きたいと思います。 お楽しみに!
WHILLをJoyConで操作する(Python、Windows)
アドベントカレンダー2019の2日目の記事です。
WHILLをJoyConで動かしてみました。 https://www.instagram.com/p/Bwr5mk3ninW/?igshid=167dycnuhsrv1
システム環境
ライブラリのインストール
- pip install pyserial
- pip install pygame
ソースコード
from whill import ComWHILL import pygame from pygame.locals import * import time def main() : whill = ComWHILL(port='COM21') pygame.joystick.init() joystick0 = pygame.joystick.Joystick(0) joystick0.init() print ('joystick start') pygame.init() x, y = 0, 0 while True: # コントローラーの操作を取得 eventlist = pygame.event.get() # イベント処理 for e in eventlist: if e.type == QUIT: return if e.type == pygame.locals.JOYAXISMOTION: x, y = joystick0.get_axis(0), joystick0.get_axis(1) print ('axis x:' + str(x) + ' axis y:' + str(y)) elif e.type == pygame.locals.JOYHATMOTION: x, y = joystick0.get_hat(0) print ('hat x:' + str(x) + ' hat y:' + str(y)) elif e.type == pygame.locals.JOYBUTTONDOWN: print ('button:' + str(e.button)) whill.send_joystick(int(x*50), int(-y*50)) time.sleep(0.01) if __name__ == '__main__': try: main() except pygame.error: print ('joystickが見つかりませんでした。')
ライブラリをインポート (WHILL用、JoyCon用、Sleep用)
WhillとJoyConの初期設定
JoyConの値を取得 x,y
WHILLに指令 whill.send_joystick(int(x50), int(-y50))の50という値を変更して速度を調整、屋内では50だと速いので小スペースだと20くらいでOK
まとめ
JoyConがあるだけで、子どもたちが寄ってきます。ゲーム感覚でWHILLを操作できるの楽しい!
参考
あれから1年が経ちました
アドベントカレンダー2019の1日目の記事です。
WHILL Model CRを買ってからもう1年が経ってしまいました。今日は、この1年間を振り返ってみます。
2019/01/24 クリエイティブくまもとで展示
2019/01/30 菊池支援学校で展示 https://www.instagram.com/p/BtQactvHE1G/?igshid=fiprn5lmeq63 体験してもらった
2019/02/03 NT広島で展示 https://www.instagram.com/p/BtaqAN6nY6y/?igshid=1m02ru4wctebm JoyConがあるだけで子どもが寄ってくる
2019/02/23 熊本高専キャリアセミナーで展示 https://www.instagram.com/p/BuN5g6knE6k/?igshid=1f4al3o0lbebr 教室でWHILLが入れるところってあんまりない
2019/04/26 JoyConで操作 https://www.instagram.com/p/Bwr5mk3ninW/?igshid=167dycnuhsrv1 ゲームコントローラだと操作が楽しくなる
2019/04/26 カヌーみたいなやつ https://www.instagram.com/p/Bwr5xFonQ81/?igshid=123i6lm6nfmj7 ジョイコンを傾けるとその向きに曲がる
2019/04/26 HoloLensで操作 https://www.instagram.com/p/Bwr55mdHEfK/?igshid=insf1tec2x7r HoloLensで位置指定してそこまで経路計画して走行する
2019/05/05 NT熊本で展示 https://www.instagram.com/p/BxD4FfVnDJ8/?igshid=1rme58dd5b591
2019/05/06 MF京都で展示 人追従(Unity) https://www.instagram.com/p/BxIAzjNHwD0/?igshid=1adutzl17s9xs RealSense
2019/05/30 de:code2019で展示 人追従(Python/CustomVision) https://www.instagram.com/p/ByP8ZcSgjUt/?igshid=1aem83d7hrn4f GPUだと使えるレベル WHILLに乗って電車で鶴見まで行くのが辛かった
2019/08/07 シリアル通信(非ROS/C++/C#/Unity)を実装 https://twitter.com/sotongshi/status/1157158292801511424?s=21 https://twitter.com/sotongshi/status/1159015561990328320?s=21 これでなんでもできる
2019/08/19 加加速度による路面評価 ROHC2019 https://www.instagram.com/p/B1UEou7AlYt/?igshid=zsk8f18qm6ti https://twitter.com/sotongshi/status/1163117819812179968?s=21 決勝までいった
2019/09/03 超福祉展で展示 屋内自動運転 https://www.instagram.com/p/B2GFSFqAgEH/?igshid=1rnkn3bp3lpb5 https://twitter.com/sotongshi/status/1168740395125075968?s=21 https://twitter.com/sotongshi/status/1170177662381281282?s=21 NHKデビューした
明日からはこの記事の中からいくつか紹介していく予定です。 お楽しみに〜
PythonでWHILLを動かしてみた
WHILL Advent Calendar 2018 - Adventarの21日目の記事です。
WHILL Model CRのモーターコントローラが返ってきました。経緯はこちら。 モーターコントローラのトランシーバー及びマイコンが故障していたそうです。 原因は、TX/RXとバッテリーのピンが接触し、トランシーバーに定格以上の電圧が加わったためです。 TX/RXとバッテリーのピンは隣にあるので、注意しましょう! WHILLの仕様書はこちらです。 github.com
今日はPythonでWHILL Model CRを動かします。
開発環境
- Windows 10
- Anaconda(Python 3.7)
- pywhill-v_1.0.0
- WHILL Model CR
- USB-RS232C変換ケーブル
- 自作ケーブル
接続ケーブルを準備する
外部機器(PC)からWHILLを動かすには、接続ケーブルを自作する必要があります。
接続ケーブルの作り方はMioさんの記事(接続ケーブルのつくりかた - WHILL Model CRについてのブログ)を参考にしてください。
構成は、PC(USBポート)→ USB - RS232C 変換ケーブル → 自作ケーブル → WHILL になります。
USB - RS232C変換ケーブルはこちらを使用しました。ドライバはここ(USB-CVRS9 のソフト(ドライバ)ダウンロード - サンワサプライ株式会社)にあります。
自作ケーブルの部品はミスミから買いました。送料かからないので超良いです。
- 導線 jp.misumi-ec.com
- コネクタ jp.misumi-ec.com
- ピンコンタクト jp.misumi-ec.com
PCとWHILLを接続ケーブルで繋ぎ、デバイスマネージャーを開き、ポートの設定を下記のようにします。
Pythonのサンプルを動かす
サンプルプログラムがgithubにあるので、ダウンロードします。
github.com
scriptフォルダのwhill.py、whill_data.py、whill_packet.pyをexamplesフォルダにコピペしました。あとはwhill.pyにimport serial
を追記します。serialが見つからなければ、pip install pyserial
でインストールします。
examplesの中に、4つのサンプルがあるので、実行してみましょう。 試しに動かすときは、転倒防止バーの下に角材かなにかを敷いて、タイヤを浮かせて実験します。
cr_example1_joy.py
1秒ごとに少しずつ前進するプログラムです。
cr_example1_joy.pyの11行目、whill = ComWHILL(port='COM4')
のポート番号は、デバイスマネージャーから調べて書きかえてください。
13行目の whill.send_joystick(int(10), int(0))
は、第一引数が前後、第二引数が回転になっており、それぞれ-100~100までの値を入力します。
第一引数:(+)前進、(-)後退
第二引数:(+)右回転、(-)左回転
cr_example1_joy.py#WHILL pic.twitter.com/zlT7ZuvkTY
— 藤本賢志(ガチ本) (@sotongshi) 2018年12月30日
cr_example2_data.py
1秒ごとに加速度、ジャイロ、ジョイスティック、バッテリー、モーターの値を表示するプログラムです。
whill.pyの42行目、self.accelerometer
をself.acceleration
に変更します。
cr_example2_data.pyの21行目、print(whill.accelerometer)
をprint(whill.acceleration)
に変更します。
cr_example3_callback.py
cr_example2_data.pyのコールバック関数を用いたプログラムです。
cr_example3_callback.pyの25行目、print(whill.accelerometer)
をprint(whill.acceleration)
に変更します。
cr_example4_blink_power.py
3秒ごとに電源をオンオフするプログラムです。
cr_example4_blink_power.py#WHILL pic.twitter.com/LITwe3kR6t
— 藤本賢志(ガチ本) (@sotongshi) 2018年12月30日
まとめ
今回、Pythonのサンプルプログラムを用いて、PCからWHILLを動かしてみました。 実際に動くと楽しくなってきますね!(モーターコントローラ治ってよかった...)
WHILL 試乗会やってみた
ガチ本です。
WHILL Advent Calendar 2018 - Adventarの12日目の記事です。
熊本ソフトウェア株式会社の身体障がい者ソフトウェア開発訓練センターで、WHILLを紹介してきました。 Model CRは先週修理に出したので、Model Cをレンタルしました。 間に合って良かった~(;'∀')
熊本ソフトウェアの身体障害者訓練センターにて、@sotongshi さんによるWHILLの紹介。車椅子使ってる生徒さんも多いので、興味津々。 #KumaMCN pic.twitter.com/A5mCc150Fq
— まこらぎ (@makoragi) 2018年12月12日
WHILLの紹介
最初に50分程度、WHILLのコンセプトや機能説明、自分が考えているこれからのモビリティについて話しました。 資料はこちらです。
WHILLの組み立て・分解、オムニホイールにより小回りが効くところやBluetoothでの遠隔操作を披露しました。
スマホでも操作できるのは驚きの声が。ソフトウェア開発のお勉強もしている生徒たちだからかな。 #KumaMCN #WHILL pic.twitter.com/T0ZW0rUI6g
— まこらぎ (@makoragi) 2018年12月12日
いくらで買えるのか?との質問があったので、予想してもらいました。 50万、100万、120万などの声があがり、Model Cは「45万」と回答したところ、意外と安かった様子。
45万円という価格設定に歓喜が。テレビショッピングみたいだ!買う人出てきそうな。#WHILL #KumaMCN
— まこらぎ (@makoragi) 2018年12月12日
他にもたくさんの質問が出ました。 仕様等については、ホームページによく書いてあります。よくある質問もこちら。カタログも。
「電池切れたら押すの大変か?」「バッテリーはどれだけ持つか」「故障したら修理にどれだけかかるか」など実際に電動車椅子を使う視点で質問がたくさん。 #WHILL #KumaMCN
— まこらぎ (@makoragi) 2018年12月12日
- バッテリーが切れたら、押すのは大変か?
ハンズマンで手押しで一周したが大変だった。
パイプフレームが便利そう
- バッテリーの充電時間は?
5時間
- バッテリーがどれくらい持つか?
走行距離は16km
- 修理にどれくらいかかるか、修理になったら駆けつけてくれるのか?
WHILL Smart Careがあるようです
- バッテリーの重さは?
約2.8kg
- バッテリーの値段は?
¥64,584
- バッテリーの寿命は?
1000回充電できる
- 日本でどれくらい売れているのか?
販売台数は非公開
- WHILLの重さは?
52kg
- 馬力は?最大荷重は?
115kgまで乗れます
- スマホの充電もできる?
USBポートあります。
- 雨は大丈夫か?
生活防水なので、ゲリラ豪雨の中はダメそう。
- コントローラは右と左入れ替えられる?
中の人に聞いてみます
- WHILLの寿命は?
バッテリーもしくは駆動部分の劣化... 中の人に聞いてみます
- 買うって決めてから届くまでの時間
Model CRは1か月程度だった気がしますが、Model Cはどうでしょうか。中の人に聞いてみます
WHILLの試乗会
そして、試乗会。
試乗会はじまりました。乗り降りし易さが改善するといいですねー。#WHILL #KumaMCN pic.twitter.com/8bbPPQUHCC
— まこらぎ (@makoragi) 2018年12月12日
気になったのは、車椅子からの乗り降りが難しかったことです。
シートの高さが合わなかった。車椅子よりもシートの位置が高い印象。
シートの高さは、405~485mmまで変えることが可能のようです。フィッティングについてはこちら。
あと車椅子には、写真のように脚の横にパイプがあります。
WHILLは肘掛を畳むこともできますが、掴む場所がありません。
肘掛を掴むとしても、コントローラの部分がでっぱりとなっているので、動かせたり引っ込ませたりできると便利かもしれないですね。
屋外に出て、段差など乗り越えてみました。 車いすだと勢いが要るところもWHILLだと近づいてからでも大丈夫でした。
さいごに
体験しないとわからないことはいっぱいありますね。
WHILLを知っていたという方はひとり。テレビで知ったそうです。
熊本でもまだまだ知らない方が多いので、たくさん試乗会をしてこのかっこいいWHILLに乗る人を増やしたいですね!
WHILLとハンズマンに行ってきた
ガチ本です。
WHILL Advent Calendar 2018 の11日目の記事です。
WHILLとハンズマンに行ってきました!もちろん手押しでw
まずは車に載せるところから。軽自動車ですが後ろを倒せばらくらく載せることができました!簡単に分解できて、すぐに載せられるのはうれしい!
ハンズマンに到着、かなさんを乗せて手押しで店内へ。
早速、入ってすぐにあるLEDコーナー。
やっぱり手押しが大変だったので、まずはパイプ探しに...
いまめっちゃこれが欲しい。。。
あなたに合った収納アクセサリーでお出かけを楽しく - WHILL 次世代型電動車椅子
ないなら作ろうと思い、水道管とか取っ手とかいろいろ探していたのですが、、、
- 背もたれカバーのスリットに取り付けると、カバーが割れそう
- 背もたれを押すと倒れるので、動かしづらいだろう
- 背もたれを外して取り付けるか
- 肘掛の後ろの部分にカポッとハマるようなものがいいかも
良さげなものが見つかりませんでした。
今回の目的は、IntelのRealSense D400シリーズとScanseのsweep(Scanning LiDAR)を搭載するため。
そして、たどり着いたのが、金具とネジのコーナー。だんだん楽しくなってきました!
防振のツリバンド、本来何に使うんだろう。。。
座席前のパイプにすっぽりハマるではありませんか。
RealSenseが1/4ネジ、ツリバンドが3/8ネジなので、あとはネジ変換があれば簡単に固定できそうです!
防振のUバンドもいい感じ。 LiDARの固定に使えるかも!
他にも、パイプを通すものや、背もたれカバーの穴に結束バンドで固定できそうなものが見つかりました。
WHILLの修理が終わったら、電源の入るWHILLでまた来たいと思います!
おっちゃんに「ハンズマンの中を歩き回るの疲れるから乗せて欲しい」と言われたので、ハンズマンはWHILLを導入すべき。
かなさんには、ガチ本が手押しする「自動運転」を体験してもらいましたw 自分もかなさんに手押ししてもらいましたが、最高でした。 ジョイスティックすら握らずに気にしなくていいなんて。 オムニホイールのぬるぬる動く感じもまたたまらんですな。
センサの取り付け箇所については、武井さんの記事も参考まで。
WHILL Model CR センサはここに取り付けろ! - tak-tek’s diary
明日のアドベントカレンダーもお楽しみに!
試乗会をやります。
悲報、WHILL壊した
ガチ本です。
WHILL Advent Calendar 2018 の9日目の記事です。
先週、WHILLをPCから制御するため、自作ケーブルで試していたところ、電源が入らなくなってしまいました・・・
最初は正常に動作していた → 自作ケーブルで試すが動かず → 自作ケーブルを調整 → 本体の電源が入らなくなる(;'∀')
確認事項は以下です。
①バッテリーを本体から外し、再度装着すると、赤いテールランプが点灯するか?
→ 点灯せず
②バッテリーを外して、横のボタンを押す。全点灯するか、流れるように点灯するか?
→ 全点灯する
バッテリーは正常で、モーターコントローラが故障したようです。
モーターコントローラを修理に出すことになりました。
バッテリーを外したところにモータコントローラがあるので、六角レンチで4つのネジを外します。
座席の下にあるカバーを外します。ネジ類はまとめてテープで貼り付けてなくさないようにします。
モーターコントローラの取り外しが完了、郵送しました。
自作ケーブルを調整する間、
* TX、RXを間違えたか
* 電源ピンがショートしたか
* シリアル通信の設定をミスってなにか書き込んでしまったのか?
原因はわかりませんが、、、
自作ケーブルの作り方は、14日のMioさんの記事を待つことにしますw
しばらくは手押しWHILLで頑張りますw