View
219
Download
0
Category
Tags:
Preview:
Citation preview
First Person POV RC Car
Using WiFi-Direct P2P video streaming and BluetoothBy Shane Langhans
Control Unit
• Supplies GUI to user• 4-Tasks:
1. Read changes to Sensor.TYPE_GYROSCOPE2. Scale/map/confine them to byte commands• -90 < Throttle < 90• -90 < Steering Angle < 90
3. Send them to Mobile Unit via WiFi Direct4. Display incoming Camera Preview frames from
Mobile Unit
Control Unit continued• Rotation Data is gathered using Sensor.TYPE_GYROSCOPE and integrated to track the
current angles of rotation around the X and Y axes.• Rotating around Y controls Throttle, while rotating around Z controls Steering angle.• The sensor data is then scaled and mapped to one byte for each the Throttle level and
Steering angle then confined to the limits shown below before being sent out via WiFi Direct to the Mobile Unit.
-90<Throttle<90
-90<Steering<90
Mobile Unit
• Strapped to RC car• 3 tasks:
1. Continuously stream Camera Preview frames out to Control Unit via WiFi Direct
2. Receive Throttle and Steering commands (1 byte each) from Control Unit via WiFi Direct
3. Relay those 2 bytes to the Arduino via Bluetooth Thread
Arduino
• 2 Tasks:– Receive Throttle and Steering commands from
Mobile Unit via Bluetooth– Implement them as PWM signals to the Motor ESC
and the Steering Servo on RC Car• Arduino’s servo library gives 20ms period pulses with a
1-2ms pulse width. This will work to control both the ESC and the steering servo.
New Challenges
• Working with gyroscope data– Done. Surprisingly simple
• WiFi Direct– Establishing communication socket– Tx/Rx data (camera frames and control
commands)• Securely Fastening the Mobile Unit– Stable camera– It’s my phone and I don’t want the screen to crack
Previous Experience to Utilize
• Me:– Bluetooth communication socket between Android
and Arduino– Arduino PWM controls– Camera Preview (hw #2)
• Others:– Found similar projects, but their results were
disappointing• ie, poor control interface led to poor driving performance
Recommended