wi-fi based remote exploration vehicle kevin hicks eric offermann nick palladino
Post on 19-Dec-2015
219 views
TRANSCRIPT
Wi-Fi Based Remote Exploration Vehicle
Kevin HicksEric OffermannNick Palladino
Outline
• Project Overview• Control Station User Interface• Embedded Computer (Gumstix)• Vehicle• System Testing• System Integration• Multidisciplinary Aspect• Cost• Questions / Demonstration
Project Overview
Control Station User Interface
• Objectives: – To provide an intuitive user interface for
vehicle and webcam control
– To efficiently communicate with the Gumstix onboard computer via TCP and UDP
Control Station User Interface
Control Station User Interface
• USB Peripherals– Logitech MOMO Racing Wheel and Pedals
– Microsoft SideWinder 2 Joystick
Control Station User Interface
• Reading USB Peripherals– JInput API
• Open-source API for game controller discovery and poll input
• Provides the necessary function calls to obtains the current input values from the USB Peripherals
• When polled, the wheel / pedal / joystick axes return a polled value between -1.0 and 1.0
– Timer is created to poll the USB peripherals every 50ms
Control Station User Interface
• Webcam Display– MJPG streamer used with a specified URL– Frames Per Second calculated using a Timer
object that triggers every second– User will be able to specify the video port to
connect to on the onboard computer (default is 8080)
Control Station User Interface
• TCP Communications– Can connect using host name or IP address
– After connecting, communication via TCP can take place to send commands to the vehicle
Control Station User Interface
• Encoding of Commands
• Current Methodology– Fill a char array with parameters until the end of the
message, add a special EOM char (0xFF) to array, and then transmit to embedded computer
Packet Name Opcode Parameter 1 Parameter 2 Parameter 3 Description
SET_SERVO_POSITION 0x00 Target Servo [1
Byte] Position [1
Byte] Position [1 Byte] Set position of desired servo
LOGIN 0x01 Password [8 Bytes] Client IP
Address [4 Bytes]
Client Port [2 Bytes]
Request login
LOGIN_RESPONSE 0x02 Successful [1 Byte] -
- Response when LOGIN is
requested
LOGOUT 0x03 - - - Log user out of vehicle
BATTERY 0x04 Battery Life [4
Bytes] -
- Remaining battery life (Wh)
SPEED 0x05 Speed in MPH [4
Bytes] -
- Speed report from vehicle
DRIVE 0x06 Direction [1 Byte] Speed [1 Byte] - Control for drive motor
Embedded Computer
• Gumstix Verdex with 400MHz Intel PXA270 CPU, 64MB RAM, 16MB Flash, microSD
• Power from 4.8V 2500mAh battery pack
• Linux 2.6.21 kernel and OpenEmbedded
Interface Block Diagram
Gumstix Expansion Boards
• Netpro-vx • 10/100baseT Ethernet• 802.11b/g Wi-Fi with additional module
• Breakout-vx• Mini B USB port• 40 pin breakout header with GPIO/PWM
Webcam
• Logitech MPS5500
• RightLight Technology
• Capable of streaming 640x480 @30fps MJPEG video stream over USB 1.1 bus
• Convenient mounting system for attachment to servo pan/tilt hardware
Servo and ESC Communication
• 50 Hz PWM signals
• Generated in software with a package of kernel modules called pxaRC
• PWM signals output on 3.3v GPIO lines, have been verified to work with all servos
Current Sensor and Shaft Encoder Communication
• Data from the INA219 current sensor IC will be communicated digitally via I2C with port on breakout-vx
• Pulses will be counted from shaft encoder either onboard Gumstix or on external MCU pending final CPU load analysis.
Low Power Mode
• Embedded computer must enter a low power mode to preserve battery life
• Webcam will be suspended in software to enter low power state
• Wi-Fi interface will be brought down, will go up every 45s to check for communication requests
• CPU will enter a low power sleep state
Potential Onboard Computer Difficulties
• Consistent frame rate with varying signal strength
• Entering low power mode and bringing all hardware back up correctly
Overview of Car
Optical Encoder
Circuit Diagram of Current Sensor
Mounting components
• Mirrors for rear view
• Servos & speed controller
• Project Box for Gumstix
• Optical Encoder
• Batteries
System Testing
• Due to the scope of the project, incremental approach to testing is required
• Each subsystem (GUI, Gumstix, Vehicle) will be tested independently before integration with unit testing
• Building blocks include operation of Wi-Fi module, operation of pan/tilt mechanism for webcam, reading input from USB devices
• Specific test cases have been developed, including:– Turn wheel hard left, then switch to hard right position– Move joystick while the joystick is not engaged– Move joystick to extreme upper left, then to extreme lower right
System Integration
• Integration Timeline– Estimated two weeks for onboard computer
and vehicle integration– Estimated one week to integrate
vehicle/computer and Control Station GUI– Goal is to complete integration with at least
one additional week for further testing
Multidisciplinary Aspect
• Mechanical Engineering – Allowable weight on vehicle, steering control,
gearing ratio
• Electrical Engineering– Remaining battery life, analyzing current
spikes, low-power mode requirements, speed control
• Computer Science / Software Engineering– Design principles in developing an intuitive UI,
communicating via TCP
Estimated CostItem Item Cost Expected Cost for Project
Gumstix Verdex Pro XM4 $129.00 $129.00
Gumstix Expansion Board with WiFi Module $100.00* $0.00
Logitech MOMO Racing Wheel $90.00 $0.00
Microsoft SideWinder ForceFeedback 2 Joystick $150.00 $0.00
Logitech Communicate MP Webcam $55.00 $55.00
Electronic Speed Controller $29.00* $0.00
Batteries $30.00* $0.00
Four-Wheeled Vehicle, motor, and charger $350.00 $150.00
Lynx B Pan and Tilt Servos Kit $35.93* $0.00
INA219 Current Sensor (x 2) $9.26 $9.26
MiniPCB for Current Sensor (x 2) $10.00 $10.00
Optical Encoder QVE11233 $1.00 $1.00
Total $989.19 $354.26
Questions / Demonstration