1. Make a DIY Robot!
Throughout the next steps of this guide, plan your robot out on paper. Sketch ideas and write out goals you want your robot to accomplish. In the next few steps, we will provide hardware and software options to allow your robot to achieve desired goals, even if it is merely experimental for fun. Drawing the robot to visualize the components is very important before building it. Plus, it creates historical documents that are fun to reflect on in the future when you have accomplished your robot build.
Tip: If you have questions about these steps, ask in our friendly community.Ask The Community Anything
We recommend documenting the physical features of the robot and the things/tasks you want your robot to accomplish. Write those down because if you miss anything during the planning stage, it'll be difficult to add later when the physical robot is completed. Remember, you don't need to complete every feature on the task list because we will break the tasks into smaller tasks in the next step. See this example sketch of how to make a robot.
Split Robot into Micro-Goals
ARC makes it very easy to start programming when learning how to make a robot. Before we dive into ARC programming, consider the tasks for your robot. The feature goals should be split into smaller tasks, like an enormous task. For example, let's take the task list of making a peanut butter sandwich, for example...
- Know where the peanut butter jar is
- Move to where the peanut butter jar is
- Is the peanut butter jar behind a cupboard door? Open door
- Locate peanut butter jar on shelves (Is it visible?)
- Move items out of the way (if applicable), and reach up and grab a peanut butter jar.
- Know where the work area will be for placing the peanut butter jar
- Navigate to the work area
- Place the peanut butter jar and known coordinate on the work area.
The number of tasks to break down to get the peanut butter jar out of the cupboard is already a hefty challenge. So the challenge in your desired robot feature will determine how many smaller tasks it includes. Write down your desired feature and begin breaking it down into smaller tasks as if you were to accomplish it as a human. Then, consider what additional steps are necessary for a robot to perform the feature based on the fact that humans make a lot of generalizations (world knowledge) that robots do not have.