You are working at a company and have been assigned a task of programming a robotic arm to complete a palletising task. Your company receives various parcels stacked according to size and must distribute them according to destination. The number of parcels that you receive can vary and their destinations can vary as well.
You will receive several parcels stacked according to size in Box 1. The largest parcel will be at the bottom of the pile with the smallest parcel at the top of the pile. Box 1 can have a stack of 3 – 5 parcels at any one time. Box 2 – 4, are going out to customers and need to be filled with the correct parcels. Your task is to design a path planning like algorithm to program the robotic arm to move the correct parcels from Box 1 to their correct destination boxes.
There are a few restrictions that you need to take into consideration when solving this problem.
- If a larger parcel is placed on top of a smaller parcel, the smaller parcel will be damaged. So,this is not allowed. You can only ever place smaller parcels on top of larger ones.
- When moving a parcel, the robotic arm is only allowed to place parcels in one of the boxes, not in a location outside the working area.
You will always receive a minimum of 3 parcels in Box 1 and a maximum of 5 parcels.
Part A: Using the Vacuum Gripper
This is a pre-requisite for the remainder of the assessment. It will be assessed in the video in Part C.
Write a function to pick up a parcel from a given box and put it down in another box. This functionality will be necessary for the remaining parts. The vacuum gripper functionality can only be tested in the lab.
The (x,y) coordinate from the base of the UR5e of each of the boxes are as follows. They have already been marked out on the tables with masking tape.
Box 1: [-700, -100]
Box 2: [-500, -100]
Box 3: [-700, -300]
Box 4: [-500, – 300]
The design of this is up to you. You may have one function indicating where to pick up from and another to put the parcel down. You may decide to just have one function for the entire motion.
The parcels that will be used in the lab are squares of varying sizes laser cut from 3mm plywood.
Parcel 1: 7 x 7 mm
Parcel 2: 8 x 8 mm
Parcel 3: 9 x 9 mm
Parcel 4: 10 x 10 mm
Parcel 5: 11 x 11 mm
Part B: The Algorithm (9/20)
This section requires students to write an algorithm capable of sorting any arrangement of received parcels. Your solution will be auto marked using the project2sim provided, it will not be tested on the real robot. You can expect that you will only receive 3, 4 or 5 parcels in box 1 which will then need to be sorted. Your solution needs to be able to handle as many of the cases as possible. Only a few example cases have been listed in the following sections, but the cases used for auto marking will be much more exhaustive. You are only allowed to submit one solution for sorting all cases of the parcel.
Separate files for sorting 3 parcels, 4 parcels and 5 parcels will not be accepted. Your solution could be one file or many files If you create a class for example, but it must only ever return one project2 function in the format specified.
Even if you are unable to complete all parts (B.1, B.2, B.3) successfully, we will auto mark for entire list of tests cases prepared. You may pass all the cases for sorting 3 parcels, so you will receive the entire 3% of the mark. You may only pass 10 out of 30 (this is just an arbitrary number) test cases for sorting 4 parcels so you will receive 1%. Similarly, you may only pass 1 or 2 test cases for sorting 5 parcels, so you will get marks according to how many test cases you pass.
Part C: Report and Video (11/20)
As there is no in person demonstration for students to show us their solution working, students are required to take a video and upload it to Youtube or any cloud storage medium such as google drive
and insert a link in the report. Describe what is happenning in the video.
The video must show your solution implemented on the UR5e in the labs. Depending on what you have completed, you have the option of demonstrating your solution for Sorting 3 Parcels, Sorting 4 Parcels
OR Sorting 5 Parcels.
The video must display the following:
- Show the destination of the parcels in your MATLAB code before the sorting begins.
- The vacuum gripper picking up a parcel.
- The vacuum gripper placing a parcel.
- Ability to pick up and place more than one parcel.
- Verification that it has completed the task successfully.
The most important objective is to show that you can pick up and put down many parcels using the vacuum gripper. Your algorithm will not be considered in this stage.
We would love to see your solutions with the entire algorithms implmented if you have the opportunity to show us!
Video Length: 10 mins max. If the link is corrupted or inaccessible you will not be awarded the marks.
Report: ( 8%)
- Explain your solution:
a.Consider things such as:
i.Did you create a hardcoded solution for Sorting 3 Parcels? Did consider all of the cases. If yes, how?
ii.Did you come up with a dynamic solution? How did you come up with this solution? How does it work?
b.What are some advantages to your solution? (Software design as well as effectiveness of implementing it in the real world)
c.What are some limitations to your solution? (Software design as well as effectiveness of implementing it in the real world)
d.Is it scalable? What if you received “N” number of parcels and had “M” number of destination boxes?
e.What challenges did you have when implementing your solution? This includes both any software/algorithm related challenges as well implementing the solution in the real world. I.e. Your solution may have worked perfectly with the Project2Sim. Did it work immediately when you tried it out on the real UR5e? Were there any unexpected things that you had to take into consideration?
- What considerations did you/can you make to improve the repeatability and efficieny of your solution and why? Consider both software changes and physical changes to the workspace.
- Compare and contrast the different types of robotic arms configurations presented in the lectures to identify the best suited robotic arm for this task and to discuss the suitability of the UR5e for this application.
Algorithm (9/20 %)
This section will be auto marked. Marks will be allocated according to the number of cases passed during testing. Automaking for starting with 3, 4 and 5 parcels in Box1 will be tested. Only one solution can be submitted. There must not be separate solutions for sorting 3, 4 or 5 parcels.