Location: Computational Engineering & Robotics Lab (CERLAB), CMU, PA
Timeframe: Fall 2024 – Present
Advisor: Professor Kenji Shimada
Target Publication: IEEE Robotics and Automation Letters (RA-L), 2026
Introduction
Concrete spray 3D printing (CS3DP) is an emerging additive manufacturing method for construction. The established approach, extrusion-based printing, deposits concrete through a nozzle in contact with the print. Yet load-bearing structures require steel reinforcement, and the pre-placed reinforcing bars (rebar) obstruct that nozzle, so reinforcing extruded prints remains a central challenge of the field. CS3DP instead sprays fast-setting concrete from a standoff, depositing directly onto and around the rebar to form reinforced freeform structures. My research addresses nozzle-motion planning for these structures, whose contours curve sharply and frequently: setting the nozzle’s pose and velocity at every waypoint of every layer.

A gantry-mounted 6-DOF arm carries the nozzle, the whole end-effector, over the rebar.

One planned layer of a twisting pillar with rebar; the blue shell is the target shape.
No prior method plans that motion fully. Existing CS3DP work orients the nozzle by the raw surface normal and never plans deposition for the surface each layer inherits, and in this setting that approach fails three ways. Where the contour curves sharply, the raw normal produces large angular velocity and acceleration; to execute the rapid reorientation reliably, the nozzle slows below the planned velocity and deposits more than planned through the bends. Set from the surface alone, the raw normal also ignores the rebar and can drive the asymmetric nozzle into it. And even at the planned velocity and clear of the rebar, the spray is stochastic, so each layer’s deposit is uneven, more so over exposed bars. Left uncorrected, the unevenness compounds: each layer is sprayed onto the surface left by the one below, yet planned as if that surface were planar. My planner addresses these three failures in order, as one three-stage pipeline over each layer.
The Planner
Given a target shape, its rebar, and the nozzle geometry, the planner outputs the nozzle’s pose and velocity at each waypoint of each layer. Layers are planned in sequence: the planner produces a layer’s motion, the CS3DP simulator models the surface it deposits, and that surface is the base the next layer builds on. Three stages set the motion, and the contribution is their integration for freeform structures with rebar.

The nozzle-motion pipeline: each layer’s motion is planned in three stages, simulated, and the deposited surface becomes the next layer’s base.
Smooth orientation. The nozzle’s geometry fixes the pitch of its spray axis, 45 degrees downward for our nozzle, so yaw is the only free variable. Each layer’s contour is a horizontal slice of the target mesh, resampled into equidistant surface waypoints. Along a sharply curving contour the initial orientation turns rapidly from waypoint to waypoint, so this stage relaxes each waypoint’s yaw toward the mean of its neighbors, a Laplacian diffusion repeated until the angular acceleration converges. The smoothed orientation is what the next stage corrects wherever it collides with the rebar.
The smoothed orientation at each shape’s deepest-collision layer; magenta marks where the nozzle strikes the target.
Ribbon, layer 67: 12 colliding waypoints
Hump, layer 71: 16 colliding waypoints
Enclosure, layer 1: 38 colliding waypoints
Collision-aware correction. The smoothed orientation follows the surface with no knowledge of the rebar, so the whole nozzle can still strike the bars it sprays over. This stage voxelizes the target into an occupancy grid, computes its signed-distance field, and flags every waypoint where the safety-inflated nozzle overlaps occupied cells. Consecutive flagged waypoints are corrected together as a run. At each flagged waypoint, a yaw sweep maps the feasible windows, which can split into disjoint regions: separate homotopy classes that a local optimizer cannot cross between. For each class, a dynamic program over the discretized yaw seeds the smoothest feasible yaw sequence, and a CHOMP-based optimization refines it, minimizing an obstacle cost over a sphere cover of the nozzle, reusing the same signed-distance field, plus a smoothness cost on the yaw sequence’s discrete angular velocity and acceleration, with every yaw boxed to its feasible window. The lowest-cost class wins. The correction clears the rebar and departs from the smoothed orientation only where a collision demands it.

Correction: distance to the collision boundary versus yaw offset, with the per-class seeds and the chosen correction.
Set nozzle velocity. With the orientation smoothed and clear of the rebar, the last stage distributes material against the uneven surface each layer inherits. From every waypoint it casts a ray along the orientation into the prior layer modeled by the simulator; the first deposited concrete the ray reaches gives the current surface height, and the gap to the target layer height is the material still to deposit. The velocity falls linearly with that gap, normalized across the layer within the system’s operating window of 20 to 35 mm/s, the regime the simulator was fitted to. The nozzle slows over the low spots and speeds up over the high ones, and each layer is deposited more evenly. Because the gap is normalized within each layer, the stage sets where the material goes; the total amount follows from the flow rate and the velocity window.

Setting the nozzle velocity at a waypoint from the gap between the target layer height and the current simulated surface.
Experiments
We evaluate the planner on three freeform structures with rebar whose contours curve sharply and frequently: the Ribbon, a continuously twisting wall; the Hump, an arch that leans and twists slightly with height; and the Enclosure, a near-closed shell with a hook tab. Each is printed in the CS3DP simulator through the full pipeline, spanning the 125 layers of the 2.5 m height. The shapes are chosen to obstruct the nozzle in distinct ways. The Ribbon’s twist brings the wall above the contour into the nozzle’s upper body. The Hump leans over the layers below, and its concave inner side narrows the nozzle’s clearance from both sides. The Enclosure’s near-closed shell obstructs the nozzle at several places in the same layer. The three builds hold 12,280, 16,383, and 34,185 surface waypoints, of which 495, 1,325, and 3,302 collide under the smoothed orientation.

The three shapes at their deepest collision under the smoothed orientation, with the surface waypoints, the orientation there, the nozzle path, and the part of the nozzle inside the target in magenta.
We evaluate the orientation and the material distribution. For orientation, we report the angular velocity and angular acceleration of the surface-normal, smoothed, and corrected orientations: the change in yaw from one surface waypoint to the next within a layer, and the change in that change, summarized over each build by the mean and the 99th percentile. For the material distribution, we read each layer’s deposit from the simulator’s voxels as the deposited height at every 5 mm cell of the layer’s cross-section. A sprayed layer’s cross-section tapers from the spray center to its edges, so we remove each layer’s mean height profile across its width as the surface’s form; the remainder is the layer’s surface deviation, and its spread within the layer, measured by the interquartile range and the 5th-to-95th-percentile range, is the layer’s unevenness.
We compare against two baselines, each isolating one stage. The surface-normal baseline orients the nozzle by the raw surface normal, with neither smoothing nor correction. The constant-velocity baseline holds the nozzle velocity at a constant 25 mm/s on the corrected orientation. All other parameters are held fixed across runs, so orientation and velocity are the only variables.
Results
Smooth, collision-free orientation. Laplacian smoothing alone lowers the 99th-percentile angular velocity by 56 to 63% and the 99th-percentile angular acceleration by 95 to 97% against the surface-normal baseline, but every collision remains: smoothing follows the surface with no knowledge of the rebar.

The representative layer of each build in plan view, each pose an arrow from the nozzle to the surface.
Each obstruction resolves differently. On the Ribbon, the colliding poses sit at opposite corners of the layer, its regions of high curvature; the correction turns each run away from the target, to the side that costs the least change in yaw. On the Hump, they lie along the concave inner side, where the lean brings the nozzle’s mounting plate into collision; every flagged waypoint keeps a single feasible window, the run is long and its turn modest, so the ramps are gentle. On the Enclosure, the colliding poses lie at two pairs of facing surfaces within the nozzle’s reach; at every site the orientation yaws away from the opposing wall, sharpest at the hook tab’s tip across the narrow opening.
Across the three builds, the correction removes every collision, 495, 1,325, and 3,302 to zero, at little cost to the smoothness. Mean angular velocity changes by no more than 2.1% against the smoothed orientation, the 99th-percentile angular velocity rises by at most 13%, and the smoothness given up is confined to the gradual ramps into the larger turns a collision demands. Against the surface normal, the corrected orientation still lowers the 99th-percentile angular velocity by 50 to 63% and the acceleration by 79 to 96%: the motion that clears the rebar is also far smoother than the one the planner started from.
The corrected motion at the same three layers:
Ribbon, layer 67: collision-free
Hump, layer 71: collision-free
Enclosure, layer 1: collision-free
Material distribution within each layer. The velocity stage distributes a layer’s material more evenly along its contour.

Layer 90 of the Ribbon deposited at the constant velocity and at the planner’s velocity, colored by its surface deviation.
The figure shows layer 90 of the Ribbon under both velocities: red where the deposit stands above the layer’s mean, teal where it falls below. In both runs the deposit rises along the stretch where the contour curves away from the nozzle. The nozzle path runs a standoff back from the contour, so along that stretch it follows the shorter arc and the sprays from consecutive waypoints overlap more. At the constant velocity the deposit there rises well above the rest of the layer. The planner reads the height left by the layer below, speeds the nozzle across that stretch, and slows it where the height falls behind, so the deposit sits closer to the layer’s mean and each layer hands the next a more even surface to spray onto.

Surface deviation within layer under the constant-velocity baseline and the planner; whiskers span 5th-95th percentiles.
Over the build, the unevenness grows under the constant velocity and stays nearly constant under the planner. The growth comes early: between layers 10 and 30, the baseline’s 5th-to-95th-percentile range rises from 49 to 61 mm on the Ribbon and from 50 to 78 mm on the Hump, and it stays well above the planner’s through layer 120. Over the layers shown, the planner reduces the interquartile range by 33 to 43% and the 5th-to-95th-percentile range by 28 to 45%, largest on the Hump and smallest on the Enclosure: the more the geometry drives the deposit to drift, the more the planner recovers.
The simulator depositing the Ribbon build layer by layer.

The planner’s finished prints: Ribbon, Hump, Enclosure.
The layers accumulate into the finished prints, which fill 98.9%, 99.0%, and 96.4% of the three targets’ volumes, 98.1% on average. The Enclosure fills the least. Its shortfall is thin and lies on the wall’s interior and exterior faces rather than at any one feature. Within each layer the largest gaps sit at the contour’s two free ends, and normalized against those few large gaps, the velocities along the rest of the shell run near the top of the window; each pass then deposits slightly less, and the tapering cross-section stops short of the wall’s faces. The stage sets where a layer’s material goes; the total volume a build lays is not held to the target, a limitation the conclusion takes up.
Conclusion
This work presented a nozzle-motion planner for CS3DP of freeform structures with rebar. Over each layer, it smooths the nozzle’s orientation, corrects it where it still collides with the rebar, and sets the nozzle velocity from the simulated prior layer. Across three structures whose contours curve sharply and frequently, the planner keeps the orientation smooth and the nozzle clear of the rebar. Its velocity stage distributes each layer’s material more evenly than the constant-velocity baseline, and the unevenness that compounds under the baseline changes little under the planner. The finished prints fill their targets closely. What the planner adds is robustness to the target’s shape: the three structures obstruct the nozzle and drive the deposit in distinct ways, and the same stages, with the same parameters, clear each obstruction and recover each drift. CS3DP promises reinforced freeform construction, and this work supplies the nozzle-motion planning it has lacked. The stages carry over to other CS3DP systems, given a simulator fitted to their mixture.
The evaluation is in simulation, and future work follows three lines. The first is printing these structures on the target system. The second is assessing the structural integrity of the deposited concrete, in particular voids around the rebar, and extending the nozzle-orientation planning and the simulator to reduce them. The third is the volume a build lays. A few deep gaps can skew a layer’s normalization and leave the rest of the build thin, and no stage regulates the volume laid. Setting the velocity from the absolute gap would remove that skew and regulate the volume. It also asks more of the simulator: the normalized velocities need to know only where a layer runs high or low, while the absolute gap draws on the simulator’s deposition parameters. Fitting those parameters to a mixture from real prints is the simulator’s own next step, and this extension follows it.
