What we did as a group
- Placed order for testing platform (kids ride on car that has a weight capacity of 130 lb)
- Further discussed details on our baseline algorithm for generation of parking instructions
- Based on the feedback given by Professor Low, we plan to first devise a parking algorithm primarily based on the stop-by-stop instructions given here https://www.wikihow.com/Parallel-Park, regardless of how the obstacles are positioned around the vehicle
- Basic logic: install sensors at specific spots on the vehicle body; give driver instructions on how to the steering wheel based on the reading from the 2 key ultrasonic sensors
- Step 1: Pull the vehicle forward parallel to the parking spot until sensor A installed at a point (roughly at where the gas tank is) started detecting a sudden decrease in distance feedback => Instruct driver to turn the steering wheel all the way to the right
- Step 2: Let vehicle reverse until sensor B (roughly at where the Right side mirror is) detects a minimum distance => Instruct driver to turn the steering wheel all the way to the left
- Of course more refinements (where to place the mirrors, how much to turn the steering wheel at each step, if more steps are needed) are needed as we have the testing vehicle and can experiment with the mechanics of the ride-on car
- We also need to take into consideration that our system should have a feature that allows the user to know if the empty space is even big enough for the car to back into
- Github Repo https://github.com/zgu444/pakr
Hubert
- Finished coding UI for Android App
- Successfully plotted dummy ultrasonic sensor data
- Finished integrating all previous code snippets (plotting algorithm, socket client code) into Android App
- Enabled streaming in custom Android App video view
Zilei
- Modified SensorAdaptor code and allows for drawing of obstacle outlines based on real sensor readings
- Communication of the sensor distance between rpi & android app
- individual sensor read changed to do batch read of sensor data instead
Yuqing
- Tested connection of gyroscope with Arduino
- Wrote code to convert raw gyroscope readings to pitch, roll, and yaw in degrees
- Devised a baseline algorithm on how to plot path prediction from given car width and car wheel angle after looking into the following resources
- https://hal.archives-ouvertes.fr/hal-00881100/document
- https://en.wikipedia.org/wiki/Ackermann_steering_geometry
- https://www.slideshare.net/shaikusmanshag/7-steering-mechanisms
- We are most likely going to assume that the car uses Ackerman Steering Mechanisms, and therefore calculates the desirable values based on car width, car length, and wheel angle using the algorithm shown below.
- A test drawing with wheel angle = 50 degrees to the right