Speedy Delivery
Programming Complexity
Robots can be designed to perform a wide range of tasks. Some of these tasks are very simple, like opening an automatic door. Others can be far more complex, like an autonomous car navigating an urban environment. No matter how complex the task is, it can be broken down into simpler tasks. These tasks are known as behaviors and are the building blocks of robotics programming.
A behavior is a way that a robot acts, and can range in complexity depending on how the robot is built or programmed. A simple mobile robot like the VEX V5 Speedbot only has two motors, while the Clawbot has four motors, including two additional motors for the Arm and Claw. For both robots, their behaviors will involve turning those motors to accomplish set goals. With more design and programming, you can start from this simple behavior and do more complex behaviors.
Below is a list of robot behaviors increasing from simple to complex for both the Speedbot and the Clawbot. In parentheses, you can see the simpler behaviors that compose each one.
You can see how you can deconstruct any of the more complex behaviors into simpler behaviors. These become the building blocks of any complex task.
A behavior is a way that a robot acts, and can range in complexity depending on how the robot is built or programmed. A simple mobile robot like the VEX V5 Speedbot only has two motors, while the Clawbot has four motors, including two additional motors for the Arm and Claw. For both robots, their behaviors will involve turning those motors to accomplish set goals. With more design and programming, you can start from this simple behavior and do more complex behaviors.
Below is a list of robot behaviors increasing from simple to complex for both the Speedbot and the Clawbot. In parentheses, you can see the simpler behaviors that compose each one.
- Rotate a motor assigned to a certain port
- Drive forward (rotate both the left and right motors using the Drivetrain)
- Travel 5 meters (drive forward, then stop)
- Grab a distant object (travel 2 meters, rotate the claw motor to grab it)
- Retrieve an object and put it on a high shelf (grab a distant object, turn around, travel 2 meters, use the arm and claw motors to raise and release the object)
You can see how you can deconstruct any of the more complex behaviors into simpler behaviors. These become the building blocks of any complex task.
Directions: Follow along with the following videos and complete the activities as they appear in the videos. In google classroom, you will find a google doc where you should be showing your work at each activity. You will do this by taking screenshots of your code and pasting it in the appropriate locations.
1. Programming the Arm
Flight Traffic Controller Challenge
Document Your Work!
When you complete this task, screenshot your code and paste it on the Google Doc titled "Speedy Delivery", under the heading "Flight Traffic Control Challenge". See video for help.
2. Programming the Claw
Range of Motion
Robots are often comprised of several mechanical subsystems, such as arms, claws, and drivetrains. These mechanical subsystems create different types of movement, which allow the robot to complete different tasks. Each subsystem has its own range of motion, which is the term used to describe how far it can rotate or slide before hitting some sort of limit.
Subsystems such as the drivetrain usually have a full range of motion, since the motors, gears, and wheels can freely spin continuously without hitting any limit. This is important, since the robot may need to traverse substantial distances in order to complete a task. Subsystems such as claws or arms usually have a limited range of motion, which prevent them from spinning continuously. Claws can only open or close so much before reaching a mechanical limit. Likewise, the range of motion of an arm is often limited by the ground or the body of the robot itself. When working with subsystems with a limited range of motion, it is very important to stay within that range, regardless of whether you are remote controlling the robot or programming it to move autonomously. Continuing to provide power to the motors once a subsystem has reached a limit will cause unnecessary stress on the motor and any connected components. |
Practice Claw Sequence
When you complete this task, screenshot your code and paste it on the Google Doc titled "Speedy Delivery", under the heading "Practice Claw Sequence".
Lock Tight Challenge
When you complete this task, screenshot your code and paste it on the Google Doc titled "Speedy Delivery", under the heading "Lock Tight Challenge".
Meeting Consumer Needs
As more and more consumers shop online with guarantees of quick delivery, robots are being used to help fulfill the demand. The quicker customers’ requests are fulfilled after a purchase, the happier they are and the more profit the company makes. This makes using robots to assist with orders at the warehouse a great benefit. Some companies use robots to bring the shelf stacks to human workers to select the correct product, while others use robots to travel to identified areas to grab the needed items.
Robot developers are continuing to improve the process. One company is developing robotic arms that are capable of handling fragile objects without having to give the robot detailed information on the object’s size or shape. Another company is exploring “swarm robotics,” where several robots work as a team by communicating together to complete delivery tasks.
Some of the benefits of using warehouse robots instead of humans are:
Robot developers are continuing to improve the process. One company is developing robotic arms that are capable of handling fragile objects without having to give the robot detailed information on the object’s size or shape. Another company is exploring “swarm robotics,” where several robots work as a team by communicating together to complete delivery tasks.
Some of the benefits of using warehouse robots instead of humans are:
- Better accuracy in selecting the correct items
- More efficient (speed)
- Reduction of utility costs like air conditioning
- Less workplace theft
- Reduction of labor cost (fewer workers needed)
3. Package Dash Challenge
In the Speedy Delivery Google Doc, make sure you complete your pseudocode BEFORE you begin programming. Once your Pseudocode is complete, program your package dash challenge. When that is complete, screen shot your code and paste in the google doc titled "Speedy Delivery", under the heading "Package Dash Challenge". Then click "Turn In".