RoboCraft: a reconfigurable three-arm SCARA cell

Three SCARA robots that work alone or lock onto a hexagonal platform and become one parallel robot.

When
Since 2019
Origin
Bachelor thesis, rebuilt as a ROS 2 system
Built with
  • ROS 2 Humble
  • Gazebo Fortress
  • ros2_control
  • C++17
  • Python
  • OpenCV
  • Raspberry Pi
  • ATmega
Paper
ISSC conference, 2019
View the code on GitHub

It started in 2019 as my mechatronics graduation project, funded by TÜBİTAK 2209-A: I designed, manufactured, wired and programmed a real prototype with six motors and three degrees of freedom. I have since rebuilt it as an industrial-style ROS 2 and Gazebo system with eight application scenarios, a verified engineering analysis and a driver for the real hardware.

The cell switches between two modes by itself. As three independent arms it tends three stations on one table. Coupled to the platform it becomes a 3-RRR parallel manipulator that is stiffer and can rotate a workpiece through 360°.

The assembled prototype: three SCARA arms around a circular table with a hexagonal platform in the centre
The 2019 prototype.

What the cell can do

Every scenario runs unchanged in unit tests, on mock hardware, in Gazebo and on the real robot.

Laser cutting a 100 × 70 mm plate. The hole is cut first, then the outline.
Camera inspection: red parts go to the reject bin.
Scenario Real-world task
Vision sorting Camera quality inspection, defective parts to the reject bin
Laser cutting profile Cutting a plate with a bolt hole
Obstacle square Cutting around a clamp found by the camera
Serial pick and place Three machine-tending stations sharing one table
Pure rotation Turning a workpiece 360° by handing it between robots
Locked transport One robot moving a fixture alone with the brake engaged
Parallel square, reconfiguration Laser engraving and switching between tasks

Measured results

  • The laser path measured in simulation matches the 100 × 70 mm part, and the camera locates parts to within 3.5 mm.
  • Ziegler–Nichols gains with velocity feed-forward cut the tracking error from 5° to 0.75°.
  • Peak joint torque is 2.18 N·m at full speed, which leaves the 42 kg·cm motor a 1.6× margin.
  • Link deflection is 0.29 mm against a 2.5 mm limit.
  • The analysis also explains why the first prototype was imprecise: a 10-bit ADC on a 10-turn potentiometer gives 27 mm steps at the tool tip. An encoder or a 16-bit ADC fixes it.
Two plots comparing P, PI, PID and feed-forward controllers: a 30 degree step response and the tracking error on a smooth trajectory
Controller tuning on joint 1. Feed-forward (purple) keeps the tracking error under one degree.

What is in the repository

Seven ROS 2 packages (model, kinematics, control, scenarios, Gazebo plugin, hardware), 39 automated tests with CI, eight analysis scripts that recompute the thesis design, the ATmega firmware with a CRC-checked I²C protocol, and the original 2019 thesis.

Browse by topic