The project
Two 3-DOF robot arms that pass an object to each other, a relay for industrial settings where robots share a workspace. The first arm picks up the object and places it in the second arm's end effector, and the second arm then places it. It was a group project of four in MANU2451 Advanced Mechatronics System Design at RMIT. The scope was design and simulation, so no prototype was built.
The brief covered the control system architecture, motion control with trajectory manipulation, torque control, motor control and object detection, and the team divided these between us. Cost, software complexity, the range of payloads the arms could handle, and time were the main constraints.
My part
I built the ABB RobotStudio simulation and planned the arm's path, and I did the mathematical modelling of the arm. With a teammate, I worked on the motion control and trajectory manipulation in MATLAB and Simulink.
The three pieces fit together. The RobotStudio simulation shows the relay motion, the modelling gives the equations behind the arm, and the Simulink work shows how the joints are driven along planned positions.
Simulation in ABB RobotStudio
The path was designed for one robot. It picks up the object and places it in the other robot's end effector, and the yellow line shows the route it takes. We tried moving both robots at once, but that was too much to achieve in the time we had, so in the final simulation only one robot moves.
The picture shows the planned path in the RobotStudio window. The second arm stays still and acts as the receiver for the hand-over.

The gripper is driven by a RobotStudio Smart Component, shown below. A line sensor detects the part, an attacher fixes it to the gripper flange, and a detacher releases it. Two pose movers close the gripper and send it back to its home pose. The robot's Attach and Detach signals trigger these blocks, and a positioner puts the object at its starting position.

Mathematical modelling
I modelled the arm's torque with a free body diagram, and found the position of the end effector from Denavit-Hartenberg parameters by multiplying the homogeneous transformation matrix of each joint.
The diagram marks the link lengths and the weights of the links, motors, gripper and object, which feed the torque calculation at each joint. For the position, each of the three axes has its own set of Denavit-Hartenberg values, set out in a table. Multiplying the transformation matrices gives the position matrix of the end effector, with its x and y position written in terms of the joint angles.

Motion control
The arm is built as a robot plant in Simscape Multibody, using blocks from the Robotics System Toolbox. Sine inputs drive the three joints, and forward kinematics with a coordinate transform gives the position of the end effector. This is how we tested trajectory manipulation on the plant. Done with a teammate.
The sine inputs keep the arm in constant motion, so the joints and the end effector can be watched together. The plant is the same model used in the later control work, with small changes to connect it. In the scope below, the first three graphs are the inputs to each joint, and the last is the position analysis from forward kinematics and the coordinate transformation.



Trajectory manipulation and path planning
The trajectory was set as a matrix of waypoints in the signal editor and passed through a coordinate transform block. Inverse kinematics blocks turn the waypoints into joint angles, using the Denavit-Hartenberg parameters. The aim was a workspace where the two arms can work together as a relay. Done with a teammate.
Trajectory manipulation was one of the project's objectives and final deliverables. Sensors built into the robot plant read the joint angles and give the positions of the joints and the end effector, and the forward and inverse kinematics functions calculate the trajectory of the arm's elements.


These graphs show the position and trajectory of the joints of the 3-DOF arm. The centre graph puts all the outputs in one place, including the position of the end effector, which was the main goal of the trajectory work.
Outcome
The relay was proven in simulation only. One arm moves in the final RobotStudio run, because moving both at once could not be finished in the time available, and no physical prototype was built. What the project does show is a working path for the hand-over, the maths behind the arm, and motion control and trajectory models for a 3-DOF arm.