This project involved programming a robot to both determine an efficient packing of items, and to execute the required motions to move the items. Here is the system in action:
An autonomous system can be roughly divided into 4 subsystems, which operate in a loop: sensing (taking input), planning (deciding what to do), controlling (figuring out how to do your plan) and actuating (enacting the plan). Our simulated Robot has similar subsystems: an image processor which scans the environment and outputs position and size of objects on the conveyor, a process optimizer that figures out where the objects should be placed, and a planning and control module that handles robot movement. Of course, we also had to set up the environment the robot would be working in - conveyors, shipping boxes, items and the robot itself.
This diagram depicts the data flow of our system:
See the document here (Note that the document is currently only available to Cambridge students).
- Robotic System Toolbox
- Simscape
- Simscape Multibody
- Simscape Multibody Contact Forces
- Simulink
- Simulink 3D Animation
- Stateflow