Robotics 41013: Lab Assignment 1
Demo Due: Week 6 Lab Class – 18:00 Friday 30 August Report Due: Week 6 – 23:59 Friday 30 August
Your company, SafeCo, designs, manufactures and assembles injection moulded plastic housings for a safety valve. SafeCo have recently had a significant increase in orders that the staff and existing collaborative robots simply cannot keep up with.
SafeCo’s management would like to introduce another two robots into their production workflow to help with menial tasks such as the assembly of the parts. Due to space limitations, it is important to management that the factory workspace is not changed significantly or rearranged unnecessarily. Additionally, SafeCo will still have many people performing various other tasks in the factory. Thus, for safety and efficiency, SafeCo have decided to evaluate and buy two UR3 robots from Universal Robotics.
Scenario: “SafeCo Assembly Task”
The assembly task consists of picking up the three different parts shown in Fig 1a from their respective tubs that contain identical parts, heaped randomly, then fitting them together. A sensor is setup to determine the precise location of each part in their respective tubs (i.e. a 4×4 global homogenous transform of the end- effector required to grasp the part). The first step of the assembly is placing the circuit board into the top of the housing (Fig 1b). Next, the top and bottom of the housing must be lined up then joined (Fig 1c). The assembled part shown in Fig 1d will then be ultrasonically welded together at another station by someone else at SafeCo.
Bottom of housing
Top of housing
Before the robots arrive, management wants some modelling done, and someone to investigate how and where to mount the robot bases, and a simulated demonstration of the assembly task being performed given a more open ended scenario. You, as the person with the most experience working with robots, have been delegated this task. You have been instructed to use Matlab and to adhere to SafeCo’s coding standards (see UTSOnline). You will need to write a professional report describing in detail your findings, and reflections.
Fig 1: Plastic housing (top and bottom) and circuit board that require assembly.
(c) (d) Solidworks models are available on UTSOnline.
Fig 2: Demonstration given by Sawyer Rethink Robotics at SafeCo completing the required task.
Specific Tasks for this Robotics 41013 Assignment
1) Build a D&H model of two UR3s. Build simulated graphical models of the chosen robots, the parts to be assembled and the surrounding environment using Matlab and the Matlab robotics toolbox. Ensure the mounting location of the robot base can be easily modified.
2) On the submission day you will be given a specific mounting transform for each robot base, and for the demonstration you will need to be able to rapidly determine and demonstrate to your assessors/peers:
a) the maximum reach of each arm (radius from top and side view);
b) the approximate volume in m3 that the entire arm may exist in (hint: consider the positions of each
joint for a large, representative sample of joint positions) and;
c) the updated location of proposed safety infrastructure given that mounting position.
3) The three parts must be put together as shown in Fig 1, i.e. housing top / bottom and the circuit board. The actual transform of the three parts will be given on the day of submission (for testing purposes you should set the locations to be random within some bounds). Assume that once the robot end-effector moves to the given part location it automatically and successfully grasps the part. You will need to demonstrate the following steps in the assembly:
a) Determine a pose that can pick up each of the parts;
b) Simulate the robot movement in a smooth joint-position controlled motion between the starting pose
and the first two pickup tasks: pick up the top of the housing, and circuit board;
c) Simulate moving the arms together so as to place the circuit board into the top of the housing;
d) Determine a pose to grasp the bottom of the shell with the hand that was holding the circuit board;
e) Simulate bringing the parts together, without colliding so as to complete the assembly;
f) Determine a pose, and simulated path so as to drop the completely assembled part off into another
box in front of the two robots.
4) Complete safety prerequisites before the demo day to unlock real robot use. Control one (or both) of the real UR3 robot’s movements through the planned task trajectory via Matlab’s ROS interface. Perquisites and evidence of real-world use (i.e. videos, early live demos) will still receive partial marks.
5) Submit a zip file of your code to UTSOnline which will be checked for originality and marked against the given code standards. Note: including unnecessary files such as the Robotics Toolbox will be penalised.
6) Submit a 5-10 page (approx. 2000 words) report to UTSOnline in which you:
a) Design the workspace (with the aid of figures) so that someone else can install the two robots and
include details about where the boxes of loose parts should be placed;
b) Include considerations of safety in terms of a basic risk assessment that identifies hazards and their
likelihood of occurrence, and Safe Work Method Statement.
c) Reflect upon why a UR3 is a good choice, whilst also investigating what sort of limitations you expect to
encounter with the use of this robot;
d) Reflect upon the usage of Matlab and the robotics toolbox
e) Reflect upon the likely precision required, and thoughts about how you would go about controlling the
f) Reflect upon the likely challenges of sensing and grasping that you have been allowed to assume are
g) Reflect upon the safety of the movement of the robots, such as considering if they may collide with
each other or objects in the environment.
h) Include an adequate reference list
Extension Bonus Questions:
You may wish to attempt these bonus questions for additional marks. These questions are challenging, and support is limited, but they will your demonstration impressive, your debugging easier, and enhance your understanding. Some questions are marked in the demonstration (D) and others in the report (R).
D1) Investigate Matlab’s “GUIDE “to input a transform for the base of the arms, and the location of the three parts and the drop off location.
D2) Given a ROS ‘.bag’ file of a real robot moving, playback the .bag file and demonstrate your simulated robot movements match the movements from the video of the real robot.
D3) Incorporate a sensor (e.g. camera, e-Stop, limit switch) via ROS that passes data into your Matlab system. You may like to use your SBC (e.g. Raspberry Pi) or an Arduino.
R1) Use Matlab’s “profile” tool to investigate which functions consume most of the time. Reflect briefly (in the report) on alternative methods to improve computational efficiency.
R2) Determine and report on the optimal base location of the two robots so that the task can be completed, either by brute force or optimisation.
R3) Given the part models, select an appropriate gripper1 and discuss with the use of diagrams the ideal way to grasp the objects.
The assignment is worth 20% of the subject. The assignment will be marked out of 100, attempting the extension bonus questions is encouraged but not compulsory, and the highest mark that can be received is still 100 (i.e. 20% for the subject).
General Task Description
Given an end effector pose determine a joint state
Move robot to required joint states and demonstrate that the joint states satisfy the given pose
Demonstrate at least 1 real UR3 robot(s) completing above poses safely
Simulate parts and environment around the robot
Simulated robot model: realistic (7) or simple shape (3) or stick (1)
Display and log transforms and status during task completion
Calculate and plot workspace radius & volume
Incorporate and consider safety in your demonstration
Incorporate and consider safety in your design, code and report
Code aesthetics: Comments & neatness
Code aesthetics: Compliance to code standard provided
Code structure: mainly use classes (5) or functions (2) or scripts (0)
Report on the design and reflect upon the process
Effectively communicate the required task information
Marking self and another demo (mark based on distance to mean)
Total (55 in Demo & 45 in Report)
Demo Bonus (3 marks each): (#1) GUI, (#2) Playback ROS bag, (#3) Incorporate sensor
Report Bonus (3 marks each): (#1) Profile tool analysis, (#2) Optimise base, (#3) Gripper
Total Bonus (Bonus tasks worth 3 marks each (6 x 3))
Total max marks = min(Total + Bonus,100)
max = 100