250 likes | 368 Views
Abhinav Shukla Dhawal Jitendrakumar Shah Kaushik Narayanan Muhammad Kassim PrabandanaListyanto ShubhangiFaujdar. EE4214 Presentation. Features. Line Following Video Streaming Manual Over-rides IPC communication. Block Diagram. Line Following. Line Following. Hard-real time task
E N D
Abhinav Shukla Dhawal Jitendrakumar Shah Kaushik Narayanan Muhammad Kassim PrabandanaListyanto ShubhangiFaujdar EE4214 Presentation
Features • Line Following • Video Streaming • Manual Over-rides • IPC communication
Line Following • Hard-real time task • To achieve our stated requirements, we have split the robot into various sections. They are as following: • Sensing unit • Motor driver • Chassis, wheels and gearbox • Power unit
Sensors Comparator circuit to obtain TTL compatible logic levels uCSimm (Interfacing through Port D) Motor Driver (L293D) Left Right Motor Motor Block Diagram
Vcc From sensor To uCSimm - + 10k Pot Ground Vcc 10 k resistance From IR transmitter To comparator Photodiode ground Sensing Unit • Initial plan • Chosen sensors
Motor Driver EN • Circuit Diagram MOTOR MOTOR DRIVER
Chassis, Wheels & Gearbox • Platform chassis • Tamiya gearbox • Freely-rotating backwheel
Power Unit • Circuit Diagram
Interfacing Hardware & uCSimm • Checks for the manual over-rides from the User Interface and works accordingly • Checks if the robot is following line
FlowChart Get Input from the H/W Is it following line? Is there a manual Over-ride YES NO YES NO Follow the over-ride Change direction
Start Receive Video chunks via RS232 cable Play the video file No Time >= 4 secs Combine packets into video file. Yes Block Diagram • >>Bash script used to implement the process flow.
Combining Video Packets • Tool used ->Mencoder. • Command line video decoding and encoding tool released under GNU GPL.
Video Playback • Tool Used : Gstreamer . • Pipeline-based Multimedia Framework • Generic pipeline would look like: source -> decoder -> filter -> sink • Rough implementation of our pipeline: Video File ->Decodebin ->XvImageSink ->Osssink
Main Software Diagram uCsimm RS232_task (rs232 scheduler) Video_task (video scheduler) FIFO reader Write_to_port (Motor control) Line-task (line check) Kernel space FIFO 0 FIFO 1 IPC Final_app RS232 Server app Socket Server app User space RS232 Ethernet Host PC Command message RS232 agent app Socket Client app Signal / info message GUI Robot controller Video player Data communication
Real Time Task & Priority • RS232_Task (Priority 1) • Read_Fifo (Priority 1) • Line_Task (Priority 0) • WriteToPort (Priority 0) • Send_Video (Priority 1)
User Space & IPC • The need to build some task in user space • Two tasks to be accomplished in the user space: 1. Reading the RS232 data containing movement override from user 2. Sending video files to host PC via Ethernet
Host PC Application • Socket client apps file transfer • GUI user command override
Task Scheduling • Periodic, Fixed priority • Ensure high priority task not to fail
File Transfer Protocol Server Client Connection setup (setup port, bind, etc) Listen for incoming request SEND_FILE_1 OK [file name] OK [file size] Setup file based on file name and name size OK [file chunk 1] OK ……. [file chunk N] OK FINISH Close file