Good chance we have to use ROS to make life easier
High Level
- Carry a glass of wine in a household environment with uncertainty. Sudden appearance of obstacle. Moving onto a carpet and maybe even sliding carpet underneath. This one requires a more advanced controller due to added weight with wine (pid not gonna work but could “cheat” and retune for filled glass). It also needs to recognize wine server and drinker. Move up to them and maybe even prompt the user to pour wine, close hatch etc. lidar definitely necessary for household obstacle detection
- Automatically moving basketball hoop. Makes you score. Could combine with obstacle avoidance to complicate. This would most likely need a mocap system with ir markers. Could be a simple phone camera with a library. Could even think about using a microsoft kinect. About 30 pounds. Would not need a lidar. But still risky since we don’t know if we are gonna get the hoop working well.
- Map a maze and or racetrack on first run. Go through best path on second run. Lidar would be very useful.
- Use machine learning to detect friendly/foe faces to cooperate or not cooperate with. Could be kind of a meet and greet assistant type of functionality. Does not necessarily need lidar but useful for obstacle avoidance.
- Delivery robot. Could put a few “stores” where we load the robot and then the robot moves autonomously to the user. Would need kind of a web server where user requests and location is stored. Maybe use wifi to locate idk. Lidar useful again but not absolutely necessary. We could build a “city” model essentially like a maze where the city map is already known. Very similar to option 1 actually.
Lidar
- SLAM
Camera
Computer Vision
- Edge Detection (Sobel / Canny)
- VSLAM
- ORB-SLAM2 https://github.com/weixr18/Pi-SLAM
Path Planning
- Visual Inertial Odometry (lightweight af and can run on pi)
- https://docs.px4.io/main/en/computer_vision/visual_inertial_odometry.html
Server