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を動かせるようにしたので、今度はその記事を書きたいと思います。 お楽しみに!