Breaking down our software needs
This list of software tasks was composed by reviewing the state machine diagram, the use cases, and the storyboards. I’ve highlighted the steps that will require AI and will be covered in detail in the coming chapters:
- Power on self-test (POST):
- Start up robot programs.
- Check that the Nano can talk to the Arduino and back.
- Try to establish communications with the control station.
- Report POST success or failure as appropriate and enter in the log.
- Receive commands via Wi-Fi for teleoperation:
- Drive motor base (right/left/forward/back)
- Move hand up/down/right/left/in/out/twist
- Record video or record pictures as image files
- Send telemetry via Wi-Fi.
- Monitor progress.
- Send video.
- Navigate safely:
- Learn to avoid obstacles
- Learn to not fall down stairs
- Find toys:
- Detect objects
- Learn to classify objects (Toy/Not toy)
- Determine which toy is closest
- Pick up toys:
- Move to the position where the arm can reach the toy
- Devise a strategy...