CSCI 2021: Computer Organization and Architecture



ECET 581: Real-Time Systems 2020Homework #5Due on Monday April 27, 11:59 pmIn class, we designed the lower-level behaviors of the Roomba that protected it from falling off steps and other drop-offs. We typically call these reactive behaviors because they just react to sensor information as it comes in. We would like to develop a higher-level behavior that plans how to best deal with the task of cleaning a room. To achieve this, the Roomba has several operating modes that cause it to move in a variety of coordinated ways. It also has a couple extra sensors to help switch between the modes: a wall sensor, a bump sensor, and a “light curtain” sensor. (The “light curtain” is an invisible wall of light that is used to contain the Roomba by preventing it from leaving a designated area.) The modes are: Spiral Mode, Curl Mode, Straight Mode, Wall Following Mode, and Escape Mode.The Roomba starts in Spiral Mode, moving in an ever-increasing spiral until the bump sensor or light curtain indicates a collision. (It ignores the wall sensor in this mode.) A clock circuit causes a scan of the sensors every 100 milliseconds. If a bump is detected in Spiral Mode, it switches to Curl Mode. The light curtain causes a switch to Escape Mode no matter what mode the Roomba is currently in. In Curl Mode, the wall sensor causes a switch to Wall Following Mode while the bump sensor causes a switch to Escape Mode. In Wall Following Mode, the bump sensor causes a switch to Curl Mode while the wall sensor keeps it in Wall Following Mode. In Escape Mode, a wall causes a switch to Wall Following Mode while a bump causes a switch to Straight Mode. Straight Mode behaves just like Spiral Mode.The sensors are prioritized such that the light curtain has the highest priority, followed by the bump and wall sensors in that order. If multiple sensors are active at any given time, the Roomba behaves as if only the highest priority sensor is active. (e.g. if both the light curtain and bump sensors are active, the Roomba switches to Escape Mode.)(20 pts) Draw the State Transition Diagram that corresponds to the description above.(40) If we implemented this as a series of PBO/RT modules with trajectory generators executing the various motions (spiral, curl, etc) at 25 Hz and a PD controller (use PBO/RT Help as a model) running at 100 Hz to control the drive wheels, plus the sensor scan, draw the Real-Time Data Flow Diagram. (Assume the trajectory generators update common left_wheel and right_wheel position values that are used by the PD controller.)More to comeECET 581: Real-Time Systems 2020 - KEYHomework #5Due on Friday April 27th, before 5pmIn class, we designed the lower-level behaviors of the Roomba that protected it from falling off steps and other drop-offs. We typically call these reactive behaviors because they just react to sensor information as it comes in. We would like to develop a higher-level behavior that plans how to best deal with the task of cleaning a room. To achieve this, the Roomba has several operating modes that cause it to move in a variety of coordinated ways. It also has a couple extra sensors to help switch between the modes: a wall sensor, a bump sensor, and a “light curtain” sensor. (The “light curtain” is an invisible wall of light that is used to contain the Roomba by preventing it from leaving a designated area.) The modes are: Spiral Mode, Curl Mode, Straight Mode, Wall Following Mode, and Escape Mode.The Roomba starts in Spiral Mode, moving in an ever-increasing spiral until the bump sensor or light curtain indicates a collision. (It ignores the wall sensor in this mode.) A clock circuit causes a scan of the sensors every 100 milliseconds. If a bump is detected in Spiral Mode, it switches to Curl Mode. The light curtain causes a switch to Escape Mode no matter what mode the Roomba is currently in. In Curl Mode, the wall sensor causes a switch to Wall Following Mode while the bump sensor causes a switch to Escape Mode. In Wall Following Mode, the bump sensor causes a switch to Curl Mode while the wall sensor keeps it in Wall Following Mode. In Escape Mode, a wall causes a switch to Wall Following Mode while a bump causes a switch to Straight Mode. Straight Mode behaves just like Spiral Mode.The sensors are prioritized such that the light curtain has the highest priority, followed by the bump and wall sensors in that order. If multiple sensors are active at any given time, the Roomba behaves as if only the highest priority sensor is active. (e.g. if both the light curtain and bump sensors are active, the Roomba switches to Escape Mode.)(10 pts) Draw the State Transition Diagram that corresponds to the description above.SpiralCurlStraightWall FollowEscapeX10X00XX1XX1XX1XX1100Events: wbl = wall sensor/bump sensor/light curtain sensorX10000X00X00X10X10X10000XX1100SpiralCurlStraightWall FollowEscapeX10X00XX1XX1XX1XX1100Events: wbl = wall sensor/bump sensor/light curtain sensorX10000X00X00X10X10X10000XX1100 ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download