Scenario: A robot is sitting in a chair with its arms facing down. Write an algorithm, using pseudocode, to make the robot:
- stand up
- walk until it senses a wall
- turn around
- walk back to the chair
- sit back down in the origin starting position
Finally, output the total number of steps taken.
In addition to our standard pseudocode commands, you must also use the following robot control commands:
- step (one step forward)
- raise arms (parallel to floor)
- lower arms (pointing to floor)
- sense (only if arms are raised)
- turn (90 degrees right)
Immediately after issuing a sense command, you can check if the robot is at a wall.
You do this via the boolean conditions “at wall” or “not at wall”.
The following are examples of this:
if at wall
if not at wall
while not at wall
You must assume the following facts:
- The robot’s initial sitting position is directly facing the target wall.
- There are no obstacles between the robot and the wall.
- The wall is 1 or more exact steps from the chair.
- The wall is sensed when it is less than 1 step from the robot’s arms.
- The length of the robot’s arms are slightly less than the length of 1 step.
Your solution must include all of the following:
- Adequate comments
- Initialization and use of at least one variable
- Sequential flow of control
- Conditional flow of control
- Iterative flow of control
- Handling of any special cases
- Output of the total number of steps taken
Your pseudocode must conform to the course pseudocode guidelines.
Once you have completed the algorithm:
Make sure your comments are detailed enough, someone without any knowledge of algorithms or pseudocode could follow what is happening. Upload the assignment as a text document using the following naming protocol: flast-Project.txt where “flast” is the first letter of your first name followed by your last name.