Software Overview Walking Robot by Sharon Davis
Kernel MicroC/OSII
4 Tasks StartUp Task WalkForward Task Walk Task Sensor Task
WalkForward Task –Controls forward motion. –Priority 5 –Period: Sporadic –Execution Time: 1ms –CPU Load: Peak:.003 Average:.0016
Walk Task –Controls stop, reverse, turn and scanning. –Priority 6 –Period: Sporadic –Execution Time: 320ms –CPU Load: Peak:.5 Average:.05
Sensor Task –Controls what the robot does according to distance measurements, calculates distance and monitors sensors. –Priority 7 –Period: Periodic –Execution Time: 4.4μs –CPU Load:
4 Interrupt Service Routines 4 Interrupt Service Routines –TOF Isr –RFTrigger Isr –RFEcho Isr –IR Isr
TOF Isr –Keeps track of number of times through the overflow. –Priority 1 –Period: Periodic –Execution Time:.625μs –CPU Load: Peak: Average:
RFTrigger Isr –Signals Sensor Task –Priority 1 –Period: Periodic –Execution Time:.42μs –CPU Load:
RFEcho Isr –Signals Sensor Task –Priority 1 –Period: Periodic –Execution Time:.5μs –CPU Load:
IR Isr –Signals Sensor Task –Priority 1 –Period: Periodic –Execution Time:.375μs –CPU Load:
2 Modules Walk Module - Controls walking, scanning and turning. Sensor Module - Houses Isr’s, calculates distances and monitors sensors.
Walk Module Public Functions and Data –Direction() –OSSemPend(RFScanFlag) –OSSemPend(ReverseFlag) –WalkFlag –Range Tasks WalkForward Task Walk Task
Sensor Module Public Functions and Data –GetDistance() –OSSemPost(RFScanFlag) –OSSemPost(ReverseFlag) –Dist Tasks Sensor Task
Reused Code All the code used will be written by me, but I used many different references to get an overall idea of what I needed to do.
List of References Embedded Microcontrollers –by Todd Morton Mobile Robots –by Joseph L. Jones, Bruce A. Seiger and Anita M. Flynn Insectronics –by Karl Williams
My Most Valuable Resource Has been each of YOU!! Thank You!!
Dataflow Diagram Tasks Walk Task Walk Forward Task OSSemPost()OSSemPend() ForwardFlag Walk Task Global Walk Forward Task OSSemPost()OSSemPend() WalkFlag
Dataflow Diagrams Tasks Sensor Task Walk Task OSSemPost()OSSemPend() RFScanFlag Sensor Task Walk Task OSSemPost()OSSemPend() ReverseFlag 100ms
Dataflow Diagrams Tasks Sensor Task Walk Task OSSemPost() OSSemPend() DistFlag Global WriteRead Distance Buffer 100ms
Dataflow Diagrams ISR’s RFTrig Isr Sensor Task OSSemPost()OSSemPend() RFTrigFlag IOC0 Echo Isr Sensor Task OSSemPost()OSSemPend() EchoFlag IOC1 100ms
Dataflow Diagrams ISR’s IR Isr Sensor Task OSSemPost()OSSemPend() IRFlag IOC2 TOF Isr Buffer Sensor Task WriteRead Time Count TOF 100ms