WoW: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(23 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{ProjektInfoBox
{{ProjektInfoBox
|name       = WoW
|name=WoW
|status     = stable
|status=stable
|image       = 20140321 205537.jpg
|image=Kandalowski WoW Doku 01-1.jpg
|description = Whitcube on Wheels
|description=Whitcube on Wheels
|author     = A.B.
|username=Bilex
|username    = Bilex
|author=A.B.
|version    =
|platform=Representation
|update      =
|update=
|platform   = Representation
|tags=Bewegung und Mechanik,
|license    =  
|download    =  
}}
}}
== Information ==
== Information ==


'''W'''hitecube '''o'''n '''W'''heels is a remote-controlled, battery-driven onstage stage. If you want to be mobile with people performing onstage on a stage, WoW fits to your needs. WoW is able to carry up to four people and can be controlled accurately from 0-6km/h by using a WiFi connection.  Besides going forwards and backwards it is able to perform rotations around its own axis. Wow is dismountable to make transportation less challenging.
'''W'''hitecube '''o'''n '''W'''heels is a remote-controlled, battery-driven onstage stage. If you want to be mobile with people performing ''onstage'' on a stage, WoW fits to your needs. WoW is able to carry up to four people and can be controlled accurately from 0-6km/h by using a WiFi connection.  Besides going forwards and backwards it is able to perform rotations around its own axis. Wow is dismountable to make transportation less challenging.


<gallery>
<gallery>
20140211_210307.jpg
Golddiggers.jpg |GOLDDIGGERS on WoW
20140512 201629.jpg
20140512 201629.jpg | Musicians on Wow
20140505 140254.jpg  
20140505 140254.jpg | This fits into your car
</gallery>
</gallery>


Zeile 35: Zeile 31:
20140206 205802.jpg | Backside
20140206 205802.jpg | Backside
Ride.jpg | Testrun
Ride.jpg | Testrun
working2.jpg | First frame setup
working3.jpg |
Working.jpg | At the venue
Finished.jpg | Ready to go
</gallery>
</gallery>


Zeile 47: Zeile 47:
===Joystick-Imitation===
===Joystick-Imitation===


To make the motors radio controlled you need to get data into the system. In general there a couple of ways to do so. The easiest way is to manipulate the joystick mechanically. (Look at this amazing solution on [https://www.youtube.com/watch?v=88oaO4ipiYk Youtube]). Another approach is to get deeper into the CAN-Bus communication between the power module and the joystick to send appropriate data with an external uC. A less complex but still satisfying solution is to fake the joystick. A quick look at the joystick itself shows that it consist of two potentiometers working as a voltage divider. To generate these two variable voltages from zero to five volt a Teensy-Board is programmed in Arduino. Two PWM channels are turned into analog signals with a low pass filter. The filter uses only a resistor and capacitor, for a very simple and low cost way to obtain an analog signal. As safety is an issue when moving +200kg the Teensy-Board is programmed to bring the virtual joystick to a neutral position if there is no data longer than 100ms.
To make the motors radio controlled you need to get data into the system. In general there are a couple of ways to do so. The easiest way is to manipulate the joystick mechanically. (Look at this amazing solution on [https://www.youtube.com/watch?v=88oaO4ipiYk Youtube]). Another approach is to get deeper into the CAN-Bus communication between the power module and the joystick to send appropriate data with an external uC. A less complex but still satisfying solution is to fake the joystick. A quick look at the joystick itself shows that it consist of two potentiometers working as a voltage divider. To generate these two variable voltages from zero to five volt a Teensy-Board is programmed in Arduino. Two PWM channels are turned into analog signals with a low pass filter. The filter uses only a resistor and capacitor, for a very simple and low cost way to obtain an analog signal. As safety is an issue when moving +200kg the Teensy-Board is programmed to bring the virtual joystick to a neutral position if there is no data longer than 100ms.


==Communication==
==Communication==


A RN-XV WiFi-Module is used to get data to the Teensy-Board and works as a UDP <-> UART bridge. The module is connected to a Wifi-Router and listens to a speficic port. Everything you send to this port can be used with the Teensy-Board by just reading the UART. (See this page for more information about the RN-XV Module: http://www.tinkerfailure.com/2012/02/setting-up-the-wifly-rn-xv/)
A RN-XV WiFi-Module is used to get data to the Teensy-Board via a UDP <-> UART bridge. The module is connected to a Wifi-Router and listens to a speficic port. Everything you send to this port can be used with the Teensy-Board by just reading the UART.  
A MAX/MSP patch sends the data via an UDP-External. Max is a visual programming language for music and multimedia and mostly used by artists and musicians.
A MAX/MSP patch sends the data via an UDP-External. [http://cycling74.com Max] is a visual programming language for music and multimedia and mostly used by artists and musicians.


==Gamepad==
==Gamepad==


The first idea was to connect an ordinary gamepad to the computer,read the data and send it via UDP to the Wifi-Module. The gamepad I got was creepy and not precise enough. As the Teensy-Board offers the option of working as a gamepad I took and old remote and replaced the inner electronic with an Teensy-Board. Next to the two channels for normal operation (forward/backward left/right) a virtual push button is pressed every 50ms. This button triggers the MAX patch to send data via UDP. If the gamepad is detached from the computer, no data will be sent. This is important to make sure that data is only sent as long the gamepad is connected to the computer.
The first idea was to connect an ordinary gamepad to the computer,read the data and send it via UDP to the Wifi-Module. The gamepad I got was creepy and not precise enough. As the Teensy-Board offers the option of working as a gamepad I took an old remote and replaced the inner electronic with an Teensy-Board. Next to the two channels for normal operation (forward/backward left/right) a virtual push button is pressed every 50ms. This button triggers the MAX patch to send data via UDP. If the gamepad is detached from the computer, no data will be sent. This is important to make sure that data is only sent as long the gamepad is connected to the computer.


== Helpful Links ==
== Helpful Links ==


[http://ediy.com.my/index.php/blog/item/40-send-message-to-serial-port-or-router-using-lua Sending Message to Serial Port of Router using Lua]
[http://www.tinkerfailure.com/2012/02/setting-up-the-wifly-rn-xv How-To Set Up the RN-XV ]
 
[https://www.pjrc.com/teensy/td_pulse.html Filtering PWM for Analog Output]
 
== Downloads==
 
- MAX/MSP patch including the sadamUDP externals to send and receive data via UDP<br />
- Arduino code  for joystick imitation and Wifi communication<br />
- Arduino code to make a Teensy-Board work  as a gamepad <br />


[http://www.cse.dmu.ac.uk/~sexton/ENGD2003/openwrt/arduino%20teensy%20openwrt.html  Teensy/Arduino WiFi with ser2net and OpenWRT]
[http://das-labor.org/wiki/Datei:wow.zip Dowload]


== Video==


See WoW in action with the Golddiggers onboard in their amazing musicvideo on [https://www.youtube.com/watch?v=y2VNn5xgBa0 Youtube] !
[[Kategorie:Mechanik]]
[[Kategorie:Mechanik]]

Aktuelle Version vom 8. April 2017, 01:12 Uhr

     
WoW

Release status: stable [box doku]

Kandalowski WoW Doku 01-1.jpg
Description Whitcube on Wheels
Author(s)  A.B. (Bilex)
Platform  Representation



Information[Bearbeiten | Quelltext bearbeiten]

Whitecube on Wheels is a remote-controlled, battery-driven onstage stage. If you want to be mobile with people performing onstage on a stage, WoW fits to your needs. WoW is able to carry up to four people and can be controlled accurately from 0-6km/h by using a WiFi connection. Besides going forwards and backwards it is able to perform rotations around its own axis. Wow is dismountable to make transportation less challenging.

Mechanics[Bearbeiten | Quelltext bearbeiten]

In principle WoW works like a wheelchair with increased wheelbase. Both motors and wheels are taken from a wheelchair. The construction itself is a mixture of wood and welded steel assemblies. WoW was designed with Autodesk Inventor . Thanks to the local workshop at the physics department for manufacturing the well welded steel components!

Electronics[Bearbeiten | Quelltext bearbeiten]

A wheelchair comes with everything you need to maneuver high loads if you rely on battery operation. WoW is equipped with two 150W DC drive units. Compared to DIY solutions, the drive system that comes with the wheelchair is a hassle-free out of the box solution. It provides a joystick, battery monitoring, several speed levels, acceleration management (ramping), automatic motor break release and offers a steering management by speeding the wheels with variable speed. Two 25Ah Pb batteries are used to provide a couple of hours driving fun.

Joystick-Imitation[Bearbeiten | Quelltext bearbeiten]

To make the motors radio controlled you need to get data into the system. In general there are a couple of ways to do so. The easiest way is to manipulate the joystick mechanically. (Look at this amazing solution on Youtube). Another approach is to get deeper into the CAN-Bus communication between the power module and the joystick to send appropriate data with an external uC. A less complex but still satisfying solution is to fake the joystick. A quick look at the joystick itself shows that it consist of two potentiometers working as a voltage divider. To generate these two variable voltages from zero to five volt a Teensy-Board is programmed in Arduino. Two PWM channels are turned into analog signals with a low pass filter. The filter uses only a resistor and capacitor, for a very simple and low cost way to obtain an analog signal. As safety is an issue when moving +200kg the Teensy-Board is programmed to bring the virtual joystick to a neutral position if there is no data longer than 100ms.

Communication[Bearbeiten | Quelltext bearbeiten]

A RN-XV WiFi-Module is used to get data to the Teensy-Board via a UDP <-> UART bridge. The module is connected to a Wifi-Router and listens to a speficic port. Everything you send to this port can be used with the Teensy-Board by just reading the UART. A MAX/MSP patch sends the data via an UDP-External. Max is a visual programming language for music and multimedia and mostly used by artists and musicians.

Gamepad[Bearbeiten | Quelltext bearbeiten]

The first idea was to connect an ordinary gamepad to the computer,read the data and send it via UDP to the Wifi-Module. The gamepad I got was creepy and not precise enough. As the Teensy-Board offers the option of working as a gamepad I took an old remote and replaced the inner electronic with an Teensy-Board. Next to the two channels for normal operation (forward/backward left/right) a virtual push button is pressed every 50ms. This button triggers the MAX patch to send data via UDP. If the gamepad is detached from the computer, no data will be sent. This is important to make sure that data is only sent as long the gamepad is connected to the computer.

Helpful Links[Bearbeiten | Quelltext bearbeiten]

How-To Set Up the RN-XV

Filtering PWM for Analog Output

Downloads[Bearbeiten | Quelltext bearbeiten]

- MAX/MSP patch including the sadamUDP externals to send and receive data via UDP
- Arduino code for joystick imitation and Wifi communication
- Arduino code to make a Teensy-Board work as a gamepad

Dowload

Video[Bearbeiten | Quelltext bearbeiten]

See WoW in action with the Golddiggers onboard in their amazing musicvideo on Youtube !