Skip to content

naminablomb/solved-ecse211-lab-1-wall-following

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Download Link: https://assignmentchef.com/product/solved-ecse211-lab-1-wall-following

  1. Design and implement a wall​ following​ system that can navigate around a sequence of blocks and obstacles that form a wall​ containing​ gaps, concave corners, and convex corners.
  2. Implement Bang-Bang and P-type controllers as part of the wall​ ​ ​following system.
  3. Evaluate the design and compare the behavior of the two controllers.

Design requirements

The following design requirements must be met by your robot​ :​

  • Robot
    • Must be able to complete a lap around a series of blocks while maintaining a fixed distance from the wall​ , i.e. a bandcenter.​
    • Must account for right-angle convex corners. o Must account for right-angle concave corners. o Must account for gaps in the wall​ ​. o Note: gaps will be no larger than the shortest width of a block, i.e. 10 cm.
    • Must be able to drive around an arbitrarily shaped wall​ , ​ ​made up of at most 7 blocks​.
  • Controllers and sensors o Must implement a Bang-Bang controller. o Must implement a P-type controller. o Must use the ultrasonic sensor for range finding. o Must be able to perform the course using each controller type.

DemonstratioN

The design must satisfy the requirements by completing the demonstration outlined below.

Design presentation

Before demoing the design, your group will be asked some questions for less than 5 minutes. You will present your design and answer questions to test your individual understanding of the lab concepts. Each person will be graded individually.

You must also present your workflow, an overview of the hardware design, and an overview of the software functionality. Visualizing software with graphics, such as flow charts, is valuable.

Bang-bang controller

  • Place the robot​ ​ at one corner of a sequence​ of blocks as shown in Figure 1.
  • Start the robot​ ​ with the Bang-Bang controller.​
  • The robot​ ​ must follow the ​ wall​ ​ ​continuously for 2 consecutive laps.
  • The robot​ ​ cannot touch the ​ wall​ ​ at any point,​ including its wires.

P-type controller demo

  • Place the robot​ ​ at one corner of a sequence​ of blocks as shown in Figure 1.
  • Start the robot​ ​ with the P-type controller.​
  • The robot​ ​ must follow the ​ wall​ ​ ​continuously for 2 consecutive laps. ● The robot​ ​ cannot touch the ​ wall​ ​ at any point,​

Figure 1. Course and robot placement.

including its wires

Implementation instructions

Implement the bangBangController()​ and ​ pTypeController()​ controller methods in the​

UltrasonicController class.​

Report Requirements

The following sections must be included in your report. For this lab, you will not collect any quantitative results; all data is qualitative​. Answer all questions in the lab report and copy them into your report. For more information, refer to the submission instructions. Always provide justifications and explanations for all your answers.

Section 1: Design Evaluation

You should concisely explain the overall design of your software and hardware. You must present your workflow, an overview of the hardware design, and an overview of the software functionality. You must briefly talk about your design choices before arriving at your final design. Visualizing hardware and software with graphics (i.e. flowcharts, class diagrams) must be shown. These diagrams are expected to be simple and concise, for example, the class diagram should not include too many low-level details. Make sure to mention how you arrived at tuning your Bang-Bang controller and P-type controller constants (i.e. bandcenter, bandwidth, P-type constant). The design evaluation section is expected to be within half a page (​ the graphics would not count towards the limit).

Section 2: Test Data

This section describes what data must be collected to evaluate your design requirements. Collect the data using the methodology described below and present it in your report.

Testing the P-type controller constant

  1. Choose 2 values above and below your P-type controller constant used in the demo.
  2. Run the robot​ ​ using the ​ P-type controller​ .​
  3. Note its performance, i.e. band center and oscillation behavior, for the 2 cases.

Bang-Bang controller test (​ 3 independent trials​)

  1. Place the robot​ ​ at the starting corner of a ​ wall​ .​
  2. Ensure the wall​ ​ contains convex corners, concave corners, and gaps.​
  3. Run the robot​ ​ using the ​ Bang-Bang controller​ .​
  4. Check if it completes a lap without touching the wall​ .​
  5. Note its performance, i.e. band center and oscillation behavior for each trial.

P-type controller test (​ 3 independent trials​)

  1. Place the robot​ ​ at the starting corner of a ​ wall​ .​
  2. Ensure the wall​ ​ contains convex corners, concave corners, and gaps.​
  3. Run the robot​ ​ using the ​ P-type controller​ .​
  4. Check if it completes a lap without touching the wall​ .​
  5. Note its performance, i.e. band center and oscillation behavior for each trial.

Section 3: Test Analysis

Compare the performance of both controllers. Make sure to refer to your test data.

  • What happens when your P-type ​ constant is different from the one used in the demo?​ How much does your robot oscillate around the band center?
  • Did it ever exceed the bandwidth? If so, by how much?
  • Describe how this occurs qualitatively for each controller.

Section 4: Observations and Conclusions

  • Based on your analysis, which controller would you use and why?
  • Does the ultrasonic sensor produce false positives (detection of non-existent objects) and/or false negatives (failure to detect objects)? How frequent were they? Were they filtered?

Section 5: Further Improvements

  • What software improvements could you make to address the ultrasonic sensor errors? Give 3 examples.
  • What hardware improvements could you make to improve the controller performance? Give 3 examples.

What other controller types could be used in place of the Bang-Bang​ or​ P-type

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published