Software Framework for Teleoperated Vehicles Team Eye-Create ECE 4007 L01 Karishma Jiva Ali Benquassmi Safayet Ahmed Armaghan Mahmud Khin Lay Nwe
Overview Software to control and communicate with TGVs Customizable software needed Customers with robotic vehicles $42,140 development cost of test platform
Design Objectives Flexible modular software architecture Communication and control over wireless network Sensors and video feedback
Overall System Description
Open Interface Protocol to communicate with iRobot Commands made of opcode and parameters parameters Protocol does not implement any hand shaking RS-232 Serial Interface
Robot End Software iRobot Create Serial Communication TCP/IP Motion Control Controlled Robot API Sensors USB Executive Program TCP/IP Communication Library
Robot End Software USB GPS Receiver Temperature Sensor Some Other Sensor Sensors Layer
Network Configuration of Test Platform LAWN Control End Address relay node Robot End
Layered Structure of Communications Layers correspond to our library Application Layers Remote Access Protocol Address Relay Protocol Video feedback system Boundary Preserving Protocol Layers correspond to libraries, OS and hardware Transport Layer TCPUDP Network Layer IP Link Layer Wireless Physical Layer
Boundary Preserving Protocol TCP does not preserve message boundaries TCP does not preserve message boundaries BPP provides message boundary abstraction BPP provides message boundary abstraction Message Size Complete message 4 bytes Variable size
Address Relay Protocol Problem: - DHCP assigns client, server arbitrary addresses - Client needs server address to initiate communication Solution: - Third node with static address - Node relays address between server, client
Address Relay Protocol Server’s IPV4 address Server not registered request ServerAddress RelayClientMessage formats Request: single ascii character “r” sent by client Server not registered: 4 bytes representing address Server’s IPV4 address: Server’s 4 byte IP address in network byte order
Remote Access Protocol Remotely access different robot functions e.g. wheel velocity Transfer sensor data back to the control interface Op code when transmitting to robot Function arguments 4 bytes Variable size Sensor ID when transmitting from robot Sensor data Example:0x xFFFFFF000xFFFFFF00 Function: “wheel velocity” (4 bytes) Left wheel velocity (4 bytes) Right wheel velocity (4 bytes)
Description of Video Transfer Protocol To be determined Should transfer video frames of sufficient qualitytransfer video frames of sufficient quality minimize delay in transfer of framesminimize delay in transfer of frames preserve order of framespreserve order of frames May use UDP to transmit frames
Graphic User Interface (GUI)
Development Tools & Environment Language: C, C++ Compiler: GCC, MS C++ compiler OS: Windows CE, Linux Other Tools: Qt library, MS Visual Studio
Time Line
Cost of Development of Test Platform Parts Cost $3,850 Engineering labor $26,250 Overheads$12,040 Total$42,140
Future Work Code higher layers in robot end software Complete coding communication library Complete GUI development at control interface Integrate all systems and test on LAWN
Quote My work is a game, a very serious game. My work is a game, a very serious game. M. C. Escher ( )