Fig 1.
Experimental setup of the circuit drawing robot.
The Kinova 6DOF Jaco Arm first moves to an initial Cartesian coordinate with the end-effector (nozzle) at 5 cm from the paper. The ROS controller sends instructions to both the arm and an Arduino to begin the circuit drawing. The circuit drawing movements are encoded as a list of Cartesian coordinates and sent to the arm. The Arduino then receives the state of the arm through ROS and sets the on/off of the peristaltic pump to control the ink flow. The robot draws a pattern on the cardboard connecting the two metal bars. The connection starts to show conductivity after the ink dries (30 minutes). A voltmeter is used to measure the load voltage as a feedback to optimize the drawing circuit. The load voltage is shown on an OLED display and the cardboard is replaced after each drawing.
Fig 2.
Electrical and control architectures.
Fig 3.
Two types of circuit shapes (i.e., line and circle) are selected to form the connection between two metal bars. The circle diameter and line length are both 100 mm. In total five shapes s1 − s5 are drawn sequentially on a 380 × 100 mm2 workspace. The central coordinates of s1 and s5 are fixed. The central coordinates of s2 − s4 are denoted as x1 − x3, which have a horizontal displacement range of ±20 mm.
Table 1.
Input variables.
Fig 4.
Continuous and categorical Bayesian optimization.
The continuous and categorical Bayesian optimization approach we investigate in this paper for circuit optimization.
Table 2.
Drawing reliability.
Fig 5.
Circle number versus resistance.
The overall resistance of connections decreases as there are more circles in the patterns. Significant reduction in resistance happens with 3 or more circles as more bridge circuits are created when circles intersect with each other.
Fig 6.
Result of circuit optimization with one obstacle.
Patterns that make contact with the obstacle result in a low load voltage. Starting from low voltage values, CoCaBO achieves high load voltage values and outperforms both BO and GA (12.8% and 71.9% higher, respectively). While simultaneously coping with discrete and continuous choices GA shows the worst performance in this experiment.
Fig 7.
Heatmap of control parameters from CoCaBO.
For s1 − s5, dark blue denotes circles and white denotes lines. The obstacle can be avoided if s1, s2 and s3 are all lines or s1 and s3 are circles centered away from the middle of the workspace. When s2 and s4 are both circles, the robot learns to constrain x1 and x3 in a small search area to prevent connecting the obstacle.
Fig 8.
Result of circuit optimization with two obstacles.
Similar performance is achieved by CoCaBO that outperforms both BO and GA (21.3% and 25.7% higher respectively).
Fig 9.
Examples of circuit patterns drawn during optimization.
The left patterns avoid obstacles and achieve high load voltage. The right ones touch the obstacles and thus show a low voltage although they have more circles.