Description Two steps variable selection procedure in a context of high-dimensional dependent data but few observations. First step is dedicated to eliminate dependence between variables (clustering of variables, followed by factor analysis inside each cluster).

Second step is a variable selection using by aggregation of adapted methods. Bastien B., Chakir H., Gegout-Petit A., Muller-Gueudin A., Shi Y.

A statistical methodology to select covariates in high-dimensional data under dependence. Application to the classification of genetic profiles associated with outcome of a non-small-cell lung cancer treatment. 2018. <https://hal.archives-ouvertes.fr/hal-01939694>.

License GPL-3

LazyData true RoxygenNote 6.

ARMADA

Scores of all the covariates present in X, given the vector Y of the response.

Description

Scores of all the covariates present in X, given the vector Y of the response.

Usage

ARMADA(X, Y, nclust = NULL, clusterType = c("PSOCK", "FORK"), parallel = FALSE)

Arguments

X the matrix (or data.frame) of covariates, dimension n*p (n is the sample size, p the number of covariates). X must have rownames, which are the names of the n subjects (i.e. the user ID of the n subjects). X must have colnames, which are the names of the p covariates.

Y the vector of the response, length n.

nclust the number of clusters in the covariates dataset X.

clusterType to precise the type of cluster of the machine. Possible choices: "PSOCK", or "FORK" (for UNIX or MAC systems, but not for WINDOWS). parallel = TRUE if the calculus are made in parallel (default choice is FALSE).

Value a 3-list with: "tree" which is the dendrogram of the data X, "nclust" which is a proposition of the number of clusters in the data X, "result" which is a data.frame with p rows and 2 columns, the first column gives the names of the covariates, the second column is the scores of the covariates. ARMADA.heatmap Heatmap of the selected covariates.

Examples

Description

Heatmap of the selected covariates.

Usage

ARMADA.heatmap(X, Y, res.ARMADA.summary, threshold = 5)

Arguments

X the matrix (or data.frame) of covariates, dimension n*p (n is the sample size, p the number of covariates). X must have rownames, which are the names of the n subjects (i.e. the user ID of the n subjects). X must have colnames, which are the names of the p covariates.

Y the vector of the response, length n.

res.ARMADA.summary the result of the function ARMADA, or output of the function ARMADA.summary.

threshold an integer between 0 and 8: the selected covariates are those which have a score greater or equal to "threshold."

Details

This function plots the heatmap of the covariates which have a score higher than some threshold chosen by the user, with respect to the values of Y.

Value

the plot of the heatmap, and a data.frame of the selected covariables.

ARMADA.select

Examples library(ClustOfVar) library(impute) library(FAMT) library(VSURF) library(glmnet) library(anapuce) library(qvalue) library(ComplexHeatmap) library(circlize

) set.seed(1) p <-40 n <-30 indexRow <-paste0("patient",1:n) indexCol <-paste0("G",1:p) X <-matrix(rnorm(p*n),ncol=p) colnames(X) <-indexCol rownames(X) <-indexRow Y <-c(rep(-1,n/2), rep(1,n/2)) X[,1:4] <-X[,1:4] + matrix(rnorm(n*4, mean=2*Y, sd=1), ncol=4) Y<-as.factor(Y) resultat <-ARMADA(X,Y, nclust=1) tracer <-ARMADA.heatmap(X, Y, resultat[[3]], threshold=5) ## Not run: X<-toys.data$x Y<-toys.data$Y result<-ARMADA(X,Y, nclust=2) select<-ARMADA.heatmap(X, Y, result[[3]], threshold=5) ## End(Not run)

ARMADA.select Covariates selection via 8 selection methods

Description

Covariates selection via 8 selection methods

Usage

ARMADA.select(X, X.decorrele, Y, test, type.cor.test = NULL, type.measure_glmnet = c("deviance", "class"), family_glmnet = c("gaussian", "binomial", "multinomial"), clusterType = c("PSOCK", "FORK"), parallel = c(FALSE, TRUE))

Arguments

X the matrix (or data.frame) of covariates, dimension n*p (n is the sample size, p the number of covariates). X must have rownames and colnames.

X.decorrele the matrix of decorrelated covariates, dimension n*p (n is the sample size, p the number of covariates

Details

The function ARMADA.summary gives the scores of all the covariates. The score of a variable is an integer between 0 and 8, and represents the number of selections of this variable by the 8 selection methods.

Value gene_list: data.frame with p rows and 2 columns, the first column gives the names of the covariates, the second column is the scores of the covariates.

clustering To obtain the dendrogram of the covariates contained in the data.frame X, and a proposition for the number of clusters of covariates in X.

Description

To obtain the dendrogram of the covariates contained in the data.frame X, and a proposition for the number of clusters of covariates in X.

Usage clustering(X, plot = TRUE)

Arguments X the matrix (or data.frame) of covariates, dimension n*p (n is the sample size, p the number of covariates).

plot if plot = TRUE" (default value): it gives the dendrogram and the plot of the height versus the number of clusters, for the 30 first clusters.

Value a 2-list composed by: "tree" (the dendrogram of X), and "nclust" which is a proposition of the number of clusters. The proposed number of clusters is calculated as following: in the graph of the decreasing height versus the number of clusters, we define variation_height = (height[1:29]height[2:30])/height[2:30], and our proposition is nclust=min(which(variation_height<0.05)). It is preferable that the user chooses its own number of clusters. Warning: nclust must be not too high. Indeed, if nclust is too high, the clusters contain a small number of covariates, and it is then possible that all the covariates of one or several cluster(s) are included in H0. In that case, the FAMT procedure will have a dysfunction.

Details

• $Y: output variable: a factor with 2 levels "-1" and "1";

• $x A data-frame containing input variables: with 30 obs. of 50 variables.

The data-frame x is composed by 2 independant clusters, each cluster contains 25 correlated variables. It is an equiprobable two class problem, Y belongs to -1,1, with 12 true variables (6 true variables in each cluster), the others being noise. The simulation model is defined through the conditional distribution of the X^j for Y=y. In the first cluster, the X^j are simulated in the following way:

• with probability 0.7, X^j ~N(y,2) for j=1,2,3, and X^j ~N(0,2) for j=4,5,6 ;

• with probability 0.3, X^j ~N(0,2) for j=1,2,3, and X^j ~N(y(j-3),2) for j=4,5,6 ;

• the other variables are noise, X^j ~N(0,1) for j=7,. . . ,25.

The second cluster of 25 variables is simulated in a similar way.

Source

Weston, J., Elisseff, A., Schoelkopf, B., Tipping, M. (2003)

Details

• $Y: output variable: a factor with 3 levels "-1", "0", and "2"; • $x A data-frame containing input variables: with 60 obs. of 50 variables.

The data-frame x is composed by 2 independant clusters, each cluster contains 25 correlated variables. It is an equiprobable three class problem, Y belongs to -1,0,1. There is only 6 true variables, that are in the first cluster, the others being noise. The simulation model is defined through the conditional distribution of the X^j for Y=y. In the first cluster, the X^j are simulated in the following way:

• X^j ~N(2*y,2) for j=1,2,3,4,5,6;

• the other variables are noise, X^j ~N(0,1) for j=7,. . . ,25.

The second cluster of 25 variables contains only noise variables. X_decor Decorrelation of a matrix X, given a response variable Y.

Examples

Description

Decorrelation of a matrix X, given a response variable Y.

Usage

X_decor(X, Y, tree = NULL, nclust = 1, maxnbfactors = 10) Arguments X the matrix (or data.frame) of covariates, dimension n*p (n is the sample size, p the number of covariates). X must have colnames and rownames.

Y the vector of the response, length n.

tree the dendrogram of the covariates (object obtained before by the function clustering). By default, tree=NULL.

nclust integer, the number of clusters in the covariates (1 by default).

maxnbfactors integer, the maximum number of factors in the clusters. By default: maxnbfac-tors=10.

Details

The function X_decor applies the factor analysis method FAMT in the different clusters of variables. The clusters must have been defined before (with the function "clustering").

Value a matrix X.decorrele, with the same dimension, same rownames and same colnames than X.

Examples

  Methodology to Select Covariates in High-Dimensional Data under Dependence Version 0.1.0

  rownames of X and of the response vector Y. Description concatenation of the rownames of X and of the response vector Y. Usage covariables(X, Y) Arguments X the matrix (or data.frame) of covariates, dimension n*p (n is the sample size, p the number of covariates). X must have rownames, which are the names of the n subjects (i.e. the user ID of the n subjects). Y the vector of the response, length n. Details internal function. Concatenation of the rownames of X (X is the matrix n*p of the covariates), and of the response vector Y. X must have rownames, which are the names of the n subjects (i.e. the user ID of the n subjects). Value a data.frame with dimension n*2: the first column gives the names of the subjects, and the second column is Y. is a simple simulated dataset of a binary classification problem, introduced by Weston et.al.. Usage toys.data Format An object of class list of length 2.

  1.1 ARMADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ARMADA.heatmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ARMADA.select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 ARMADA.summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 .data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 toys.data.multi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 toys.data.reg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 X_decor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

	Index	12
	Imports stats,
	mvtnorm,
	ClustOfVar,
	FAMT,
	graphics,
	VSURF,
	glmnet,
	anapuce,
	qvalue,
	parallel,
	doParallel,
	impute,
	ComplexHeatmap,
	circlize
	R topics documented:

clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 covariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 Auteurs : Aurélie Muller-Gueudin, Anne Gégout-Petit toys

  the type of test to apply ("wilox.test" or "t.test" if Y is a binary variable; "kruskal.test" or "anova" if Y is a factor with more than 2 levels; "cor.test" if Y is a continuous variable).type.cor.test if test="cor.test", precise the type of test (possible choices: "pearson","kendall", "spearman"). Default value is NULL, which corresponds to "pearson". type.measure_glmnet argument for the lasso regression. The lasso regression is done with the function cv.glmnet (package glmnet), and you can precise the type of data in cv.glmnet.Possible choices for type.measure_glmnet: "deviance" (for gaussian models, logistic, regression and Cox), "class" (for binomial or multinomial regression).family_glmnet argument for the lasso regression. The lasso regression is done with the function glmnet. Possible choices for family_glmnet: "gaussian" (if Y is quantitative), "binomial" (if Y is a factor with two levels), "multinomial" (if Y is a factor with more than two levels).clusterType to precise the type of cluster of the machine. Possible choices: "PSOCK" or "FORK" (for UNIX or MAC systems, but not for WINDOWS).

		clustering
	resultat.ARMADA.select
		the output of the ARMADA.select function: a list with 8 vectors, called: genes_rf_thres,
		genes_rf_interp, genes_lasso, genes_bonferroni, genes_BH, genes_qvalues, genes_localfdr,
		genes_FAMT. The 8 vectors are the selected covariates by the corresponding se-
		lection methods.
	parallel	TRUE if the calculus are made in parallel.
	Value
	a list with 8 vectors, called: genes_rf_thres, genes_rf_interp, genes_lasso, genes_bonferroni, genes_BH,
	genes_qvalues, genes_localfdr, genes_FAMT. The 8 vectors are the selected covariates by the cor-
	responding selection methods.
	ARMADA.summary	Scores of the covariates X
	Description
	Scores of the covariates X
	Usage
	ARMADA.summary(X, resultat.ARMADA.select)

). X.decorrele has been obtained by the function X_decor.

Y

the vector of the response, length n.

test

Details

The function ARMADA.select applies 8 selection methods on the decorrelated covariates (named X.decorrele), given the variable of interest Y. It resturns a list of 8 vectors of the selected covariates, each vector correspond to one selection method. The methods are (in the order): Random forest (threshold step), Random forest (interpretation step), Lasso, multiple testing with Bonferroni, multiple testing with Benjamini-Hochberg, multiple testing with qvalues, multiple testing with localfdr, FAMT.

Arguments

X the matrix (or data.frame) of covariates, dimension n*p (n is the sample size, p the number of covariates). X must have colnames.

  , Use of the zero norm with linear models and Kernel methods, J. Machine Learn.Res. 3, 1439-14611

	result<-ARMADA(X,Y, nclust=2)
	select<-ARMADA.heatmap(X, Y, result[[3]], threshold=5)
	## End(Not run)
	toys.data.multi	Toys data in multinomial case
	Description
	toys.data.multi is a simple simulated dataset of a multinomial classification problem.
	Usage
	toys.data.multi
	Format
	An object of class list of length 2.
	Examples
	library(ClustOfVar)
	library(impute)
	library(FAMT)
	library(VSURF)
	library(glmnet)
	library(anapuce)
	library(qvalue)
	X<-toys.data$x
	Y<-toys.data$Y
	scoreX<-data.frame(c(rep(8,6),rep(0,19),rep(8,6),rep(0,19)))
	rownames(scoreX)<-colnames(X)
	select<-ARMADA.heatmap(X, Y, scoreX, threshold=1)
	## Not run:


Jean Hergel

Extrusion-Based Ceramics Printing with Strictly-Continuous Deposition

Keywords:

. Existing path planning methods for thermoplastic materials rely on transfer moves that lead to catastrophic failure when printing this Gargoyle model in clay (a). To eliminate transfer moves, our method generates a continuous, self-supported deposition path (a, b) whose non-model parts can be removed to reveal an intact model (d). Our approach thus enables successful 3D printing of geometries that were previously impossible to realize in clay.

We propose a method for integrated tool path planning and support structure generation tailored to the specific constraints of extrusion-based ceramics printing. Existing path generation methods for thermoplastic materials rely on transfer moves to navigate between different print paths in a given layer. However, when printing with clay, these transfer moves can lead to severe artifacts and failure. Our method eliminates transfer moves altogether by generating deposition paths that are continuous within and across layers. Our algorithm is implemented as a sequential top-down pass through the layer stack. In each layer, we detect points that require support, connect support points and model paths, and optimize the shape of the resulting continuous path with respect to length, smoothness, and distance to the model. For each of these subproblems, we propose dedicated solutions that take into account the fabrication constraints imposed by printable clay. We evaluate our method on a set of examples with multiple disconnected components and challenging support requirements. Comparisons to existing path generation methods designed for thermoplastic materials show that our method substantially improves print quality and often makes the difference between success and failure.

INTRODUCTION

As one of the oldest human-made materials, ceramics are valued for their excellent hardness, resistance to corrosion and abrasion, as well as their unique appearance. Besides their many technical applications, ceramics are ubiquitous in crockery, tableware, and home decor. The predominant manufacturing technologies to date are based on slip-casting, pressing, and extruding clay in different consistencies [START_REF] Händle | Extrusion in Ceramics[END_REF]]. While well understood and largely automated, existing processes either impose limitations on shape or they require expensive tooling which makes small series or one-off productions impractical.

The advance of digital manufacturing into ceramic materials now enables automatic fabrication of unique designs with unprecedented complexity [START_REF] Zocca | Additive Manufacturing of Ceramics: Issues, Potentialities, and Opportunities[END_REF]]. Our work is motivated by the increasing availability of affordable consumer-level clay printers based on paste extrusion, opening the possibilities of digital ceramics to artists, craftsmen, hobbyists, and average end-users. But although shape complexity is, in principle, only limited by print resolution, it is in practice restricted by an important fabrication constraint that is best illustrated by comparison to thermoplastic materials.

For thermoplastics, the deposited material solidifies rapidly after extrusion; it attains its final rigidity almost immediately, while material at the nozzle is still liquid. Moving the print head without extruding-so called transfer moves-will hence immediately detach the filament from the model. This may lead to some minor artifacts, but the structural integrity of the model is generally not a risk. For clay, however, there is no such stiffness grading between model and extruder since clay maintains the same soft consistency during the entire printing process. The attachment strength between structure and freshly deposited material is therefore just as strong as between nozzle and extruded filament. Moving the print head without extruding will thus pull on the structure and induce unwanted deformations that amplify over time and, eventually, lead to failure. This issue generally appears for shapes that, once sliced, exhibit multiple disconnected components per layer. Its severity increases with model complexity and is especially acute for the support structures generated by existing methods optimized for thermoplastics. As shown by our experiments, attempts at printing such structures in clay will lead from disappointing results to complete failures; see, e.g., the leftmost image in Fig. 1. Consequently, transfer moves should be avoided at all cost to ensure reliable deposition-ideally, there should be only one continuous print path per layer.

In this work, we propose a method for integrated tool path planning and support structure generation tailored to the specific constraints of paste extrusion printing. As the core of our approach, we guarantee a single continuous print path for the entire model and thus eliminate transfer moves and their corresponding perils altogether. Our method traverses the layer stack of a sliced input model in one top-down pass, solving a discrete path planning and a continuous path optimization problem in each layer. For the discrete part, we cast the problem of finding a continuous path that sufficiently supports structure in the layer above into a form that can be solved efficiently using approximate shortest path algorithms. To minimize interference with the model, we introduce a model-avoiding metric and model-shielding proxy geometry to ensure that the generated path connects to the model only where necessary. For the continuous part, we further optimize path length and curvature in each layer such as to reduce material usage and print time. Combined with coupling constraints between adjacent layers, this continuous optimization leads to smoother and less dense non-model structures that are easier to print and remove.

We evaluate our method and the impact of our design decisions on a set of challenging examples. Our results indicate that our method leads to good-quality prints even for complex models with multiple disconnected components and advanced support requirements. We compare our method to a state-of-the-art path generation method and show that continuous deposition not only substantially improves print quality ; it often makes it possible to manufacture parts that otherwise consistently fail to print.

RELATED WORK

Computational Fabrication. The graphics community has in recent years started to embrace the challenge of making 3D printing more accessible to end-users through non-expert design systems and various computer-assisted content generation and processing tools. One particular line of work aimed at predicting and improving the resilience of geometric models during printing, cleaning, and use [START_REF] Langlois | Stochastic Structural Analysis for Context-aware Design and Fabrication[END_REF][START_REF] Lu | Build-to-last: Strength to Weight 3D Printed Objects[END_REF][START_REF] Stava | Stress Relief: Improving Structural Strength of 3D Printable Objects[END_REF][START_REF] Umetani | Cross-sectional Structural Analysis for 3D Printing Optimization[END_REF][START_REF] Zhou | Worst-case Structural Analysis[END_REF]. While this kind of analysis is beyond the scope of our present work, adapting these computational fabrication techniques to the peculiar material properties of clay is an interesting direction for research.

Tool Path Planning. Creating efficient tool paths is an important problem for many digital manufacturing processes. Commonly used strategies for filling regions within a layer are zig-zag [START_REF] Ding | A toolpath generation strategy for wire and arc additive manufacturing[END_REF]] and contour-parallel [START_REF] Yang | Equidistant path generation for improving scanning efficiency in layered manufacturing[END_REF] patterns as well as space-filling curves [START_REF] Cox | Space-filling curves in tool-path applications[END_REF]. Unlike other methods from the latter category, the connected Fermat spirals proposed by [START_REF] Zhao | Connected Fermat Spirals for Layered Fabrication[END_REF], and later extended to CNC machining of curved surfaces [START_REF] Zhao | DSCarver: Decompose-and-spiral-carve for Subtractive Manufacturing[END_REF], has the advantage of producing a single low-curvature path per filled region. While these properties are promising for clay printing, Fermat spirals do not offer a solution to connect different paths in a given layer, nor to generate continuous support structures. Rather than alternative solutions, Fermat spirals and our method are thus complementary to each other. On a more technical level, our method shares the overall strategy of splitting the design of smooth, continuous paths into discrete and continuous subproblems. However, both of these subproblems are very different: instead of generating space-filling curves, we create approximately shortest paths that connect sets of support points and model paths without crossing them; and instead of smoothing the paths in a single layer, we simplify supporting and connecting structure through smoothing and shortening subject to cross-layer compatibility constraints.

In the context of paste extrusion, [START_REF] Fleming | Toolpath Planning for Continuous Extrusion Additive Manufacturing[END_REF] consider reordering the infill paths generated by a standard slicer to minimize spurious depositions when crossing over the part. While this work points to transfer moves as a source of concern for extrusionbased manufacturing, the proposed technique does not consider generating supports nor the case of multiple components within a layer. [START_REF] Hergel | Clean color: Improving multi-filament 3D prints[END_REF] improve on the various artifacts that arise in the context of multi-material fused-filament printing with multiple extruders. Similar to our method, they also solve an obstacle avoiding path planning problem, with the goal of preventing inactive print heads from moving over already printed regions. However, since their setting does not impose continuous deposition constraints, their problem formulation and solution are quite different from ours. Support Structures. A common restriction of many additive manufacturing processes is that material can only be deposited where there is already structure below. If the model to be printed violates this constraint, additional support structure has to be inserted.

The first step in support structure generation is to detect those regions of the model that require support. There are two main standard approaches to this end: the mesh-based approach flags downward-facing polygons as requiring support if their vertical angle falls below a given threshold value [START_REF] Allen | Determination and evaluation of support structures in layered manufacturing[END_REF]; the slice-based approach operates on boolean differences between adjacent layers [START_REF] Chalasani | Support Generation for Fused Deposition Modeling[END_REF].

Once regions that require support are determined, supporting geometry has to be generated. The simplest method is to extrude faces that require support downwards until they intersect either model or ground. This simple approach does, however, lead to substantial support volumes that can easily dominate the overall material cost and print time. Moreover, dense support structures with many connections to the model are difficult to remove and degrade the surface quality of the printed model.

For these reasons, there has been significant work aimed at reducing or optimizing support structure in various ways. A common approach is to optimize the orientation of the model in order to minimize the amount of required support structure [START_REF] Allen | Determination and evaluation of support structures in layered manufacturing[END_REF][START_REF] Vanek | Clever Support: Efficient Support Structure Generation for Digital Fabrication[END_REF]. A different, perceptually motivated approach in this context is due to [START_REF] Zhang | Perceptual Models of Preference in 3D Printing Direction[END_REF], who optimize orientation to minimize the visual impact of marks remaining after support removal. While we do not consider print orientation optimization in this work, any of the techniques in this space could, in principle, be combined with our method.

Another general strategy for reducing support volume is to use sparse cellular [START_REF] Strano | A new approach to the design and optimisation of support structures in additive manufacturing[END_REF], truss-like [START_REF] Wang | Cost-effective Printing of 3D Objects with Skin-frame Structures[END_REF], or branching structures [START_REF] Dumas | Bridging the Gap: Automated Steady Scaffoldings for 3D Printing[END_REF][START_REF] Schmidt | Branching support structures for 3D printing[END_REF][START_REF] Vanek | Clever Support: Efficient Support Structure Generation for Digital Fabrication[END_REF]. A generalization of these concepts is the method by [START_REF] Mezzadri | Topology optimization of self-supporting support structures for additive manufacturing[END_REF] who cast support structure generation as a topology optimization problem. All of these approaches effectively reduce support volume by generating lower-dimensional support structures. Due to their highly fragmented nature, however, none of those strategies are suitable for clay extrusion with its continuous deposition constraint.

Yet another approach to reduce support requirements is to use multi-axis printing setups in order to change the effective material deposition direction during printing. Earlier work in this direction focused on wire frame printing using three [START_REF] Mueller | WirePrint: 3D Printed Previews for Fast Prototyping[END_REF], five [Wu et al. 2016a], and six-axis setups [START_REF] Huang | FrameFab: Robotic Fabrication of Frame Shapes[END_REF]. Targeting general solid models, [START_REF] Wu | RoboFDM: A robotic system for support-free fabrication using FDM[END_REF] proposed a 6-DOF system that re-orients the model during printing such as to reduce or avoid support structure requirements. Using a similar setup, [START_REF] Dai | Support-free Volume Printing by Multi-axis Motion[END_REF] decompose the model into curved layers and use continuous re-orientation to increase print head accessibility, thus further reducing or even eliminating support requirements. Apart from such robotic systems being significantly more expensive than consumerlevel FFF printers, considering the limited load-bearing capacity of freshly printed clay, it is unclear whether re-orientation could be applied to our setting without inducing model collapse. Finally, while robotic systems have been explored for printing clay and concrete at larger scales [START_REF] Buswell | 3D printing using concrete extrusion: A roadmap for research[END_REF][START_REF] Gosselin | Large-scale 3D printing of ultra-high performance concrete âĂŞ a new processing route for architects and builders[END_REF], continuous deposition and support generation was not a focus.

In-Fill Structures. A related problem to support structure design is the generation of in-fill structure that fills the interior of a given model. Standard software typically offers a discrete set of in-fill ratios and patterns for the user to choose from. One focus of research has been on generating self-supporting in-fill structures with optimal strength-to-weight ratio for given loads [START_REF] Wu | Infill Optimization for Additive ManufacturingâĂŤApproaching Bone-Like Porous Structures[END_REF][Wu et al. , 2016b]]. Another focus has been the efficient generation of as-small as possible internal supports through iterated carving [START_REF] Wang | Support-Free Hollowing[END_REF]] and top-bottom sweeps [START_REF] Hornus | Iterative Carving for Self-supporting 3D Printed Cavities[END_REF]. [START_REF] Thibault Tricard | Ribbed Support Vaults for 3D Printing of Hollowed Objects[END_REF] produce tree-like deposition paths in each slice, together forming inner vaults that simplify as they grow downwards. Our algorithm follows a similar top-down simplification strategy, optimizing for self-supported, strictly continuous deposition paths that eliminate transfer moves.

Digital Ceramics Manufacturing. Ceramics are appreciated for their excellent mechanical, chemical, and electrical properties, but manufacturing of complex or custom geometries is difficult with conventional technologies. Digital manufacturing of ceramics is therefore receiving increasing attention from research and industry. While there are many different technologies [START_REF] Chen | 3D printing of ceramics: A review[END_REF], our primary motivation for focusing on paste-extrusion is accessibility. There is a range of extrusion-based approaches includes Fused Deposition Ceramics, Freeze-form Extrusion Fabrication, and Robocasting; see also [START_REF] Armani | A novel extrusion-based additive manufacturing process for ceramic parts[END_REF] for a detailed taxonomy. While most of these processes require rather expensive hardware, Fused Deposition Ceramics uses thermoplastic filament filled with ceramics particles and can, in principle, be implemented on top of conventional FFF printers [START_REF] Ranji | The extrusion freeforming of functional ceramic prototypes[END_REF]]. However, the high fill-rate needed to obtain good ceramics quality leads to extremely brittle filament that requires special pre-heating stages and makes printing overall challenging. Instead of using thermoplastic filament, our work focuses on direct extrusion of moldable clay with a water content of approximately %30. Several commercial printers based on this process are available at consumer-level prices. While the entry barrier for artists and hobbyists is thus comparatively low, the range of geometries that can be printed with existing methods is limited. We know of no work to address the problem of tool path planning and support structure generation for ceramics printing with direct clay extrusion.

GENERATING CONTINUOUS DEPOSITION PATHS

The goal of our method is to generate deposition paths that enable successful extrusion-based ceramics printing of general models. To this end, the generated deposition paths

• must not involve any transfer moves that displace the print head without extruding, • must be self-supporting,

• should avoid connecting or crossing through the model whenever possible to minimize impact on visual quality and facilitate support removal, and • should be economical in terms of material and printing time.

Before describing our method in detail, we present the main observations and ideas underlying our approach below.

Overview

The basic strategy of our method is to traverse the layer stack from top to bottom, maintaining the invariant that each layer is a continuous, cyclic path that provides sufficient support for the layer above.

In each layer, we first detect points requiring support (Sec. 3.2), then compute continuous and model-avoiding deposition paths (Sec. 3.3), and finally optimize the result with respect to length, smoothness, and downward collision avoidance (Sec. 3.4). The result is a selfsupporting structure that prints continuously and provides support for the model where required. Our method builds on the following observations and ideas. Bridges and Overhangs. Although to a lesser extent than for thermoplastic materials [START_REF] Dumas | Bridging the Gap: Automated Steady Scaffoldings for 3D Printing[END_REF], clay nevertheless allows us to horizontally offset print paths across layers and thus create overhangs. Moreover, we can also print bridges that span a certain distance without any structure underneath; see Fig. 2. The ability to exploit these tolerances is at the core of algorithm and essential for generating paths that print reliably, facilitate removal of non-model structures, and are economical in terms of print times and material use.

Continuous Supporting Curves. In order to generate self-supporting deposition paths, our algorithm optimizes in each layer L i a continuous path C i that strictly covers the model paths M i in the layer while its non-model part C i \M i provides sufficient support for the path C i+1 in the layer above. Indeed, the freedom to create slight overhangs and bridges allows us to position the supporting curve within an envelope as opposed to strictly below. Consequently, the path C i may be significantly different from that in C i+1 as long as it satisfies support requirements. We exploit this freedom to manage structure complexity and to avoid re-connecting to the model.

Managing Structure Complexity. Overhanging regions require dense support in the layer just below. To this end, our method will produce a continuous path that folds back and forth below the area to be supported. Simply extending these paths downwards, however, would result in dense non-model structures that are slower to print and harder to remove. Our method exploits the overhang tolerances to produce simpler curves in each subsequent layer, thus reducing the geometric complexity of the non-model structures below the supported areas. The effect is shown in Fig. 3.

Avoiding the Model. When generating deposition paths from top to bottom, the non-model structures tend to extend vertically and can easily collide with the model below. In many cases, this unwelcome effect can be prevented by exploiting the overhang angle to incline the non-model structure away from the model before collisions occur. To this end, we introduce proxy geometry that safeguards the model against such collisions. Mirroring the maximum admissible slope for the non-model structure, this safeguard effectively provides a collision look-ahead: by keeping their distance to the safeguard, new deposition paths are progressively pushed away from the model before the collision becomes unavoidable. This principle is illustrated in Fig. 4.

Generating Support Points

We assume as input a sliced version of a water-tight geometric model. Every layer L i is composed of one or several disconnected model components, each represented by one or several closed model paths M j i with the number depending on the desired wall strength. We assume that each path for each component per layer is cyclic.

Our algorithm traverses the layer stack from top to bottom and, for each layer L i , generates a continuous cyclic path C i that connects all models paths M j i in layer L i and provides sufficient support for the layer L i+1 above. To maintain the invariant of sufficient support, we must determine which parts of C i+1 in the layer above are not supported by model paths M j i in the current layer and insert additional support structure if required. In order to determine which parts of a given deposition path require support, we first have to establish the precise conditions for a point to be sufficiently supported. Let p = C i+1 (s) denote the position of a point on the continuous path in layer L i+1 corresponding to arc length parameter s, and let P ↓ (p) denote its projection onto layer L i . We define the support distance of p as This support distance criterion suggests the following strategy for generating self-supported, continuous deposition paths. Going through the layers from top to bottom, we traverse the continuous path C i+1 using a parameter stride length of ε along and compute the support distance of each such sample point using Eq. ( 1). If a given sample point is not sufficiently supported, we add it to the list of support points S i . We then connect all support points S i and model paths M i into the continuous deposition path C i as described in the next section and repeat the process in the layer below.

Path Planning

Having generated all support points for a given layer L i , the goal is now to compute a single continuous path C i that connects all support points S i and model paths M i .

A direct approach would be to generate an approximately shortest path through all points in S i and M i using a traveling-salesman problem (TSP) solver. However, solving a TSP on the complete set of points would be intractably slow. While reducing the resolution of the curves can mitigate this problem to some extent, it amplifies another problem: instead of following model paths as one continuous segment, the TSP solver may choose to cross through the model multiple times to connect with support points if it reduces the overall length of the path; see Fig. 6a. To avoid these problems by construction, we introduce two important modifications to the direct approach.

Model Connections. Instead of using all points in M i for the TSP, we select only one connection point m j i per model path M j i . The result T i obtained by applying the TSP solver to this reduced set of points T i = ∪ j m j i ∪ S i allows us to construct a short and strictlycontinuous path through all points in the current layer: since T i and all M j i are cyclic, we can start traversal anywhere on T i . Once we encounter a model connection point m j i , we branch out to visit all points of M j i sequentially, and then continue along T i . We chose the connection points such as to minimize the distance to the set of support points S i . This strategy provides a low-cost opportunity for the deposition path to connect to the model when it passes through the close-by support points. For layers without any support points such as the top most layer, we greedily select the point on a given model path that minimizes the distance to all other model paths. While there is no guarantee that this specific choice of connection points will lead to the shortest possible path, we have not observed clearly sub-optimal results using this strategy.

Model-Avoiding Distance. Representing model paths with a single connection point allows us to print each model path as one continuous segment. However, the TSP solver may still choose to cross through the interior of model paths as shown in Fig. 6b. We address this problem by modifying the costs of crossing edges to reflect the length of a corresponding model-avoiding path.

To compute model-avoiding paths and their corresponding costs, we start by introducing safeguard geometry around each model path; see Fig. 6c for an illustration and Sec. 3.3 for details on how safeguards are constructed. This proxy geometry allows the deposition paths to navigate around the model while maintaining a close but safe distance. We then construct a graph G(V , E) whose vertices V include the points of all safeguards as well as all support points.

The edges E are computed using Delaunay triangulation on V , constrained to include all edges of each safeguard. We discard any edge that crosses through the interior of a given model path.

With the graph set up in this way, we use Dijkstra's algorithm to determine the shortest path and, consequently, the model-avoiding distance between all pairs of points in T i . Having determined pairwise model-avoiding distances in this way, we use an off-the-shelf TSP solver [Google 2018] to compute an approximately shortest path T i . Finally, we replace all edges in T i that cross through the model with their corresponding obstacle-avoiding paths as illustrated in Fig. 6e.

Nested Support. The algorithm described above extends readily to a recursive version that handles cases with support points inside model paths; see, e.g., Fig. 7. To this end, we apply the algorithm as described above to all support points and model paths inside a given enclosing path M j i , adding the single connection point m j i to the set of points passed to the TSP solver. When traversing M j i , we simply branch out to visit the interior path which starts and terminates at m j i .

Cross-Layer Coherency. Our formulation intrinsically favors crosslayer coherence and the TSP solver will typically produce similar routings for neighboring layers. However, if there are alternative routes with similar lengths, the TSP solver may choose a less coherent but shorter path, even if savings are very small. This can lead to an undesirable break of cross-layer coherency. To prevent this effect and its attendant impact on print quality, we give preference to spatial coherence over length: the weights for all edges in the distance graph G that are sufficiently close to the path from the layer above are multiplied by a discount factor 0 < α D < 1.0 (we use α D = 0.9). As can be seen by the coherent paths obtained through layers (best revealed in the accompanying video), this strategy effectively eliminates spurious routing changes.

Instead of encouraging coherency in the height direction, a nonmodel path could, in principle, also be supported by a meandering path in the layer below. However, providing support only in crossing points would make the non-model structure less stable overall.

It should be stressed that, in addition to coherency within each layer, moving from one layer to the next is strictly continuous: our method ensures that the extruder will always start at a point that was present in the layer just below. This is true by construction, since this point is either part of the model or will be supported.

Path Optimization

Applying the algorithms for support point generation and path planning sequentially to each layer in a top-down fashion yields a single continuous, self-supporting deposition path. There are, however, two remaining problems that must still be resolved. First, the non-model structure C i \M i that was inserted in a given layer to provide support will itself need to be supported in the layers below. Simply propagating these structures downwards without modification will lead to increasingly complex and dense non-model structure (from top to bottom). Second, as the non-model structure propagates downward, it can reconnect to the model, complicating its removal and degrading surface quality.

Both these issues can be resolved by optimizing the shape of the non-model structure, exploiting the freedom to offset support points horizontally as long as their displacement remains below the threshold value ε across . Taken together, these per-point displacements define an envelope in which we can deform the original path without violating the support requirements of the layer above. This allows us to gradually smooth and simplify the paths, and to repel too close parts from the structure before they intersect the model.

To this end, we formulate a continuous energy minimization problem in which we seek to compute adjusted positions x i ∈ R 2 for all non-model vertices xi ∈ R 2 of the current path C i such as to optimize a weighted combination of the design objectives introduced below.

Length and Curvature. Shorter and smoother paths print faster and are less likely to produce artifacts or failures. They also lead to a less dense non-model structure that is easier to remove. We therefore define two objectives to gradually decrease the length and curvature of non-model structure, using an elastic curve metaphor similar to [START_REF] Zehnder | Designing Structurally-sound Ornamental Curve Networks[END_REF]. The first one aims at reducing the total length of the curve by a given target ratio 0 ≤ α l ≤ 1 (we use α l = 0.9). We implement this length reduction objective using a sum of per-edge energies

E length (x) = µ length k 1 2α l L k (l k -α l L k ) 2 , ( 2
)
where

l k = ||x k -x k -1 || and L k = || xk -x k-1 ||.
To further encourage smoothness, we penalize curvature using a simplified version of the bending energy proposed in [START_REF] Bergou | Discrete Viscous Threads[END_REF]],

E bend = µ bend k 2 L k + L k -1 t k-1 × t k 1 + t k -1 • t k 2 , ( 3
)
where t k and t k -1 are 3D embeddings of the normalized 2D edge vectors for edges k and k -1, respectively.

Clearance Distance. The non-model structure necessarily has to connect to the model where support is needed. To maximize print quality, however, we want to prevent the non-model structure from interfering with the model in layers below. We therefore define a penalty energy that encourages support structure to maintain a given minimum clearance distance ε model (we use ε model = 2w path ). To obtain sufficient smoothness, we use the implicit moving least squares formulation of Öztireli et al. [2009],

f imls (y) = k nk • (y -xk )φ k (y) k φ k (y) , ( 4
)
where φ k are smooth, radially-symmetric functions centered around xk . On this basis, we formulate an exponential clearance energy,

E clear = µ clear k e -β (f imls (x k )-ε model ) , (5)
that strongly penalizes small distances, but rapidly decreases away from the model with a rate determined by the sharpness coefficient β > 0. We found β = 0.5 to be a good compromise between locality and strictness. This formulation effectively prevents support paths from drifting into the model during optimization. However, since the distance field considers only model geometry within a given layer, it cannot anticipate problems occurring in layers below. An example of this case is shown in Fig. 4 where parts of the non-model structure that had sufficient clearance in a given layer collides with the model in the layer below. While the path cannot be sufficiently displaced in this example without violating support integrity, this reconnection with the model could have been avoided had the path been displaced early enough in the layer stack. In order to anticipate this type of problem without having to consider multiple layers during optimization, we use a safeguard structure. These self-supporting, model enclosing structures are typically used to catch oozing filament in the context of FFF printing; see, e.g., [START_REF] Hornus | Tight Printable Enclosures and Support Structures for Additive Manufacturing[END_REF]. We instead use it as a proxy geometry that encloses the model such as to guarantee that, whenever a support point is outside the safeguard in a given layer, it can be sufficiently displaced to avoid the model in all layers below, if necessary.

We construct the safeguard incrementally in a pre-process, starting with all outer-most model paths in layer L 0 . For a given layer, we first transfer the safeguard polygons from the layer below (except for L 0 ) and erode them by ε across . We then dilate the outermost model paths of the current layer and compute the union between both sets of polygons. The safeguard can have multiple disconnected polygons; see, e.g, the Spire model shown in Fig. 7. To encourage non-model structure to stay outside the safeguard, we simply replace the vertices xi in (5) with those of the proxy geometry. This strategy allows us to avoid many of the cases in which the nonmodel structure would otherwise have reconnected to the model. It is worth noting that this safeguard is the same proxy geometry that we use during path planning to allow deposition paths to navigate around the model. Bounded Path Deviation. While optimizing the shape of the path according to the above objectives, we must make sure that the deformed path stays within the support envelope around xi . Ideally, we would like to impose no resistance to horizontal motion until the vertices reach the bound of the envelope. To implement this unilateral constraint, we introduce log-barrier penalty energies of the form

E dev (x) = µ dev k -log([n k • (x k -xk )] 2 -ε 2 across ) , ( 6
)
where nk is the outward normal of the candidate path at xk computed by averaging and renormalizing the normals of the two incident edges.

Implementation. All of the energy terms described above have continuous first and second order derivatives, allowing us to minimize their weighted sum using an efficient Newton-type solver. Since some terms are highly nonlinear, we use line search and adaptive regularization to ensure progress even in difficult terrain. The coefficients for the individual objectives are set to µ length = 10.0, µ bend = 0.01, µ dev = 0.001, and µ clear = 0.01 for all examples shown in this work. Although there is no guarantee that this specific choice of parameter values will always be optimal, we have obtained satisfying results for a diverse set of models with varying complexity and sizes of up to 20cm in height.

As illustrated in Fig. 3 and best seen in the accompanying video, the impact of our path optimization scheme is substantial: it leads to significantly smoother and less dense non-model structure that is faster to print and easier to remove.

PRINTING AND CLEANING

To facilitate reproduction of the results presented in Sec. 5, we provide details on the manufacturing process that we followed.

Printing Setup. We use a Delta-style printer (WASP 2040) with an Auger-based paste extruder. Unlike pressure-based variants that suffer from fluctuation in flow rate, the internal screw of the Auger extruder allows for quasi-constant flow rates and is relatively robust to residual air bubbles due to mixing.

Clay Recipe. Clay starts as a finely-grained powder composed of various minerals, metal oxides, and organic substances. When mixed with the appropriate amounts of water, a smooth paste is obtained that is soft enough for extrusion, yet stiff enough to maintain its shape once extruded. We use commercially available Laguna clay powder to which we add 33% of water (dry base). After kneading, the clay is put in a pressurized tank (we use 3.4 bar) from where it feeds into the extruder.

Printing Parameters. We use a nozzle diameter of 0.6mm and a layer height of 0.5mm. The feed rate for the extruder, and consequently the flow rate of the material, is set such as to create a desired amount of layer compaction, resulting in a path width of w path = 1.5mm. This choice is primarily governed by structural considerations as under-extrusion will lead to less robust results with weaker inter-layer adhesion, whereas over-extrusion can induce model deformations and even collapse. We use the same value across all examples for both our method and the existing slicers with which we experimented. Having fixed the printing parameters and the clay recipe, we experimentally determine the offset thresholds ε across and ε along . To this end, we perform test prints with different values for the two thresholds on simple geometries with varying overhang angles and gap sizes. From these experiments, we determined the maximum values that gave sufficiently good print quality as ε across = 0.3w path and ε along = 1.6w path .

Non-Model Structure Removal. Removing the non-model structure from the model is a manual process best done while the model has not completely dried, as the material's brittleness increases with decreasing moisture content. The non-model structures generated by our method typically exhibit large, thin regions that detach readily. More careful manipulation is advised where the non-model structure connects to the model. Our instrument of choice for cutting the small connections is a sharp blade that, if the material is sufficiently humid, will cut readily through the sparse connections; see the accompanying video. If the stability of the model is of concern, it can first be dried completely and then selectively wettened with a water spray bottle or paint brush to remove support.

Drying and Post-Processing. The printed model has to dry before it can be further processed. Although controlled environments lead to faster and more uniform drying, we use ambient air conditions for simplicity. We have not monitored moisture content, but drying times for the models we tested range roughly between 3 and 8 hours. After the final model has dried, it can be fired in a kiln at temperatures up to 1400C. This process will induce vitrification, i.e., the transformation of clay into ceramics. We have fired most of the examples that we show in this work, and while the models undergo some shrinking, we have not observed fracture or uneven deformations due to firing.

RESULTS

We evaluated our method on a diverse set of example shapes, all of which are freely available from online shape repositories. For each of them, we generate two g-code files: one using our approach and another using a reference slicer. As reference, we choose the open-source state-of-the-art slicer Cura, which generated the best results among several slicers that we tested; see also Fig. 10. We use a specific profile optimized for clay deposition, following printer manufacturer recommendations. In particular, we disabled retraction and move the print head up and down between travel paths. We print both files and compare their behavior with respect to printing, support removal, and final model quality.

In considering these results, it is important to keep in mind that clay printing is significantly more challenging than standard fused filament fabrication. There is much less know-how and experience, and most hardware-including ours-is still not quite mature. Therefore, even in ideal conditions, the print quality cannot match that of 3D printing with thermoplastic materials. We elaborate further on these limitations in Sec. 6.

Spire. One of the main observation underlying our work is that transfer moves-moving the print head without extruding-are a substantial problem for clay printing. This is particularly true for shapes that exhibit slender structures which give rise to multiple disconnected model paths per layer. One such example is the Spire model shown in Fig. 7 with its multiple columns that converge and merge while ascending. The comparison between our method and the reference slicer is revealing. The result of the reference slicer exhibits artifacts that amplify with increasing height. These flaws are due to substantial horizontal displacements induced while the print head performs transfer moves between columns. The result obtained with our continuous deposition method exhibits almost no deformation during printing and produces a comparatively clean layer structure after removing support.

The Two Cats model prints reliably without any support using plastic materials. When sliced for clay, the print of the reference slicer fails catastrophically as one part of the model (the right cat's neck) cannot withstand the loads induced by the transfer moves. As our approach performs no transfer moves at all, it exerts much less forces on this weak area. In addition, the single connected path and overall continuous structure strengthens the model during fabrication.

The Rodin model is an example that requires additional support structure. The results obtained with the reference slicer and ours are shown in Fig. 9. Although we were able to print the entire model with the paths generated by Cura, the severe artifacts can be observed at the hand supporting the chin and around the ribs. Furthermore, substantial over-extrusion is visible, e.g., in the head and neck regions. With our method, wrist and ribs print without problems and the model generally exhibits a much cleaner layer structure with fewer artifacts.

The Gargoyle model is challenging to print due to the support requirements and thin features in its feet and wings. Despite several attempts, we could not complete the print using any of the existing methods that we tested, see Fig. 1a and Fig. 10. With our approach, the model prints successfully and, after cleanup, exhibits an intact structure and comparatively clean surface. The Wrestlers are perhaps the most challenging model in our example set, due to the many small cavities that require support. The paths generated by the reference slicer print without dramatic failures, but the model is fused into a dense block of support structure that is impossible to remove without destroying the model. Using our continuous deposition method, the model prints without problems and, although more challenging than for our other examples, the non-model structure can be removed to reveal an overall intact model.

For the Stanford Bunny, the reference slicer places solid columns under the muzzle and ears. These columns extend downward until they connect to either the model or the ground. Except for the few layers in which they attach to the model, these columns result in isolated paths that require transfer moves for printing. These transfer moves damage the model in particular around the ears, which are significantly deformed; see Fig. 12, right. Although not free from imperfections, the continuous deposition path generated by our method substantially alleviates these artifacts compared to the reference slicer.

Due to the large and dense connections with the model, removing the support structure generated by the reference slicer proved difficult. On several attempts we ripped out parts of the surface upon removal as can be seen Fig. 12, top right. In comparison, our structure is relatively easy to remove, with most parts coming off readily once sufficiently dry.

Timings

We provide computation times for the different parts of our method in Table 1. We implemented our algorithms in C++ and used the freely available TSP solver [Google 2018] for path planning. All computations were done on a 3.2GHz CPU using a single thread.

The computation of the model-avoiding distances via Dijkstra's algorithm is the most time-intensive part in our current implementation. For the Gargoyle model, this step takes roughly 10 minutes for a total processing time of 12.5 minutes. The solver for continuous path optimization uses the Eigen library for linear algebra and takes between 15 and 20 iterations to converge on average, with an average problem size of roughly 200 points.

LIMITATIONS & FUTURE WORK

We presented a method for generating strictly-continuous, selfsupporting deposition paths for extrusion-based clay printing. Our results indicate that, compared to conventional slicers optimized for thermoplastic materials, our continuous deposition approach leads to more robust printing with fewer artifacts and failure cases.

The main limitation of our work is that we do not consider the physics and deformations of the material. Consequently, there are a number of failure modes that we are not able to predict: model collapses due to increasing self-weight, model collapse due to severe imbalance, or model breaking during support removal. Each of these failure modes are possible directions for future work, noting that some solutions exist already for the second issue [START_REF] Dumas | Bridging the Gap: Automated Steady Scaffoldings for 3D Printing[END_REF]]. Existing work on analyzing and improving structural soundness would be a good starting point for the third problem [START_REF] Stava | Stress Relief: Improving Structural Strength of 3D Printable Objects[END_REF][START_REF] Umetani | Cross-sectional Structural Analysis for 3D Printing Optimization[END_REF][START_REF] Zhou | Worst-case Structural Analysis[END_REF]]. As demonstrated by our examples, our method leads to substantially improved print quality compared to the reference slicer (Figs. 1,7,8,9) and expands the set of objects that can be printed in clay. While we believe that this quality is acceptable for many models and applications, incorporating physics into the path planning and optimization processes might further improve the range of models that can be printed successfully.

Although our method makes clay printing more robust, prints might still sometimes fail due to extrusion problems. There remains some randomness in the printing process itself, especially as clay printing is a less mature technique than thermoplastic printing. One difficulty that we identified and could not resolve completely are occasional fluctuations in extrusion rate, resulting in slightly varying path thickness. We also noticed the deposition head moving with uneven velocity, even though the g-code did not contain corresponding instructions. Finally, compaction of clay becomes a problem when the reservoir starts running low, leading to flow rate variations. It should be noted that these problems all relate to hardware and will occur regardless of the slicer used. Nevertheless, the results that we present in this work are stable and validated: we printed each of them multiple times and obtained, in the vast majority of the cases, equivalent results. Fig. 12. When using the reference slicer on the Stanford Bunny, the transfer moves between the ears lead to artifacts (right). These artifacts are reduced using our method (left).

Our method has higher material requirements than other support generation strategies for thermoplastic materials. However, none of these existing strategies lead to acceptable results for clay printing; see also Fig. 10. We argue that the increase in quality and the range of models that can be printed with acceptable quality is well worth the additional material. Moreover, the excess material can be reused without expensive machines or hazardous chemicals.

For some models, there is a trade off between leaving support removal marks and accepting the artifacts that would result from transfer moves. Predicting such cases is difficult, and the user has to resort to experience. However, our technique significantly increases reliability. Considering the cost of a failed print-wasted time, wasted material, and cleanup-it is often preferable to stay on the reliable side of the trade-off.

As with existing techniques for generating (non-soluble) supports, removing the non-model structure requires some training and takes time. Thanks to support paths being well separated from the model, this is often an easy task, but it can become more challenging for complex or fragile models.

Overall, compared to existing slicing software, our continuous deposition method substantially improves on the range of models that can be printed in clay. In addition, we feel confident to say from our many experiments that we have not encountered a single case in which the standard method led to better results than our approach. By proposing a solution to the so far unexplored problem of strictly-continuous deposition, our work takes a step towards making clay printing more reliable and useful for end users.

Beyond ceramics, there are many other materials of practical relevance that lend themselves to a paste extrusion process, including concrete [START_REF] Buswell | 3D printing using concrete extrusion: A roadmap for research[END_REF], silicone [START_REF] Zehnder | Metasilicone: design and fabrication of composite silicone with desired mechanical properties[END_REF], and edible substances [START_REF] Sun | Extrusionbased food printing for digitalized food design and nutrition control[END_REF]]. While our ceramics-based setup is not suitable for these other materials, experimenting with our continuous support structures on a broader range of paste materials is an interesting direction for future work.

Fig. 2 .

 2 Fig. 2. Paths from neighboring layers without offset (left), with maximum lateral offset (middle), and maximum bridging distance (right).

Fig. 3 .

 3 Fig. 3. Effect of path optimization. Left: without path optimization, the nonmodel structure (blue) is dense and exhibits larger curvature. Right: path optimization leads to shorter, smoother, and sparser non-model structure that is faster to print and easier to remove.

Fig. 4 .

 4 Fig. 4. Side view of safeguard. Left: generating paths from top to bottom, the non-model structure (red) cannot be displaced enough to avoid the model (grey) once the collision is detected. Right: using the safeguard (blue), our algorithm can anticipate the collision with model and exploit the admissible horizontal offset (green) to displace the non-model structure early enough to avoid collisions.

Fig. 5 .

 5 Fig. 5. Support distance ∆s for point C i +1 (s).

  min ∆s,t, j |∆s | s.t. ||P ↓ (C i+1 (s + ∆s)), M j i (t)|| 2 < ε across , (1) or ||P ↓ (C i+1 (s + ∆s)), S j i || 2 < ε across , where S i is the set of support points for layer L i . If this problem has a solution with |∆s | < 1 2 ε along , we consider the point p sufficiently supported; see also Fig. 5.

Fig. 6 .

 6 Fig. 6. Overview of path planning algorithm. Passing the entire set of model and support points to the TSP solver leads to non-continuous model paths (a). Representing model paths by a single connection point solves this problem, but the generated path now crosses through the model (b). Proxy geometry around the model path (c) is used to construct a graph (d) that allows us to map the lengths of model-crossing segments (red) to their model-avoiding counterparts (green). Passing these distances to the TSP solver yields the desired result (e).

Fig. 7 .

 7 Fig. 7. The Spire model with multiple disconnected components printed using the reference slicer (right) and our method (left).

Fig. 8 .

 8 Fig. 8. The Two Cats model printed using our continuous deposition method (left) and the reference slicer (right).

Fig. 9 .

 9 Fig. 9. Comparison between our continuous deposition method (left) and the reference slicer (right) on the Rodin model. The reference slicer produces severe defects around the wrist (top right) and ribs, as well as many overextrusion artifacts. Our method produces an intact wrist (top left) and generally cleaner layer structure with much fewer artifacts.

Fig. 10 .

 10 Fig. 10. Results when using print paths generated by existing methods for the Gargoyle model: IceSL (left), Slic3r (middle), and Meshmixer (right). The result for Cura is shown in Fig. 1a.

Fig. 11 .

 11 Fig. 11. When using an existing path generation method, a model of two wrestlers in clinch is fused into a dense block of support structure (a), impossible to remove without breaking the model. Our method creates continuous deposition paths (b) whose supporting parts can be removed to reveal an intact model (c, d).

Table 1 .

 1 Computations times for the three parts of our algorithm for the models presented in this section. The fourth column shows the ratio between non-model and model material usage.

	Model	#Layers Path Plan. Path Opt. Mat. Ratio
	Gargoyle 117	12m00s	29s	1.4
	Bunny	122	4min48s	14s	0.26
	Spire	120	61min00s 85s	0.75
	Wrestler 102	35min30s 42s	1.3
	Thinker	125	5min06s	19s	1.0
	Cats	235	8min32s	28s	1.0

ACM Trans. Graph., Vol. 38, No. 6, Article 194. Publication date: November 2019.


Yasar Majib
email: majiby@cardiff.ac.uk

Charith Perera
email: charith.perera@ieee.org

Context Aware Family Dynamics based Internet of Things Access Control Towards Better Child Safety

Today, children are increasingly connected to the Internet and consume content and services through various means. It has been a challenge for less tech-savvy parents to protect children from harmful content and services. Internet of Things (IoT) has made the situation much worse as IoT devices allow children to connect to the Internet in novel ways (e.g., connected refrigerators, TVs, and so on). In this paper, we propose mySafeHome, an approach which utilises family dynamics to provide a more natural, and intuitive access control mechanism to protect children from harmful content and services in the context of IoT. In mySafeHome, access control dynamically adapts based on the physical distance between family members. For example, a particular type of content can only be consumed, through TV, by children if the parents are in the same room (or hearing distance). mySafeHome allows parents to assess a given content by themselves. Our approach also aims to create granular levels of access control (e.g., block / limit certain content, features, services, on certain devices when the parents are not in the vicinity). We developed a prototype using OpenHAB and several smart home devices to demonstrate the proposed approach. We believe that our approach also facilitates the creation of better relationships between family members. A demo can be viewed here: http://safehome.technology/demo.

• Guardian's Calendar Event: An external calendar which serves the events list of guardian, in our system we are using Google Calendar via google-python-api.

I. INTRODUCTION

Internet is growing with with enormous pace with incorporation of technologies such as Internet of Things (IoT). With this rapid growth, individuals with malicious intents are also becoming more resourceful in exploiting peoples' lives and gaining control of physical resources over cyberspace. Children are increasingly connected to the Internet and consume content and services through various means. It has been a challenge for less tech-savvy parents to protect children from harmful content and services. Children, can be misled, exploited, exposed to explicit/malicious material and can be used, by malicious parties, to gain access to their privacy and their guardians' possessions as the internet usage in children is also growing rapidly with the overall growth of internet. Extensive Internet usage is becoming an addiction for young children which is a reason for several serious mental and physical diseases like Nam and Hwang [START_REF] Nam | Consumers' Needs for Public Education and Corporate Participation Regarding Child Internet Addiction: Based on the Risk Perception Attitude Framework[END_REF]. Children are exposed to various risks like cyber-bullying, sexting and sexual harassment, online pornography, sexual solicitation online, Radicalization, childrens involvement in hacking/cyber-crime by using internet Livingstone et al. [START_REF] Livingstone | Children's online activities, risks and safety -A literature review by the UKCCIS Evidence Group[END_REF].

Like old days, before the internet evolved this much, when parents use to tell their children about "stander danger", the idea was to warn children about strangers can be potentially dangerous. After the evolution of internet it seems that the "stranger danger" idea is lost, but the potential danger of strangers is still there, hidden on the other side of internet which can potentially cause serious damage to child health and privacy. Because children are sensitive by nature and can be exploited easily (with a long term effect on personality), the United Nations Convention on the Rights of the Child (UNCRC) [START_REF] Sa | The United Nations Convention on the Rights of the Child[END_REF] approved laws for protection of children taking due account of the importance of the traditions and cultural values of each people for the protection and harmonious development of the child. UNCRC [START_REF] Sa | The United Nations Convention on the Rights of the Child[END_REF] article 34 states that "Governments must protect children from all forms of sexual abuse and exploitation.", article 36 states that "Governments must protect children from all other forms of exploitation, for example the exploitation of children for political activities, by the media or for medical research.", article 41 states that "If a country has laws and standards that go further than the present Convention, then the country must keep these laws.".

Our proposed solution is focused on ensuring that the children are safe from the negative side of internet and getting benefited from the positive side of internet. It will play a vital role in ensuing mental and physical health of children which is at stake right now. It will also give confidence and peace of mind to guardians about the activities of their children and it will enables better relationships between family members. A research conducted by Lupianez-Villanueva [START_REF] Lupiáñez | Study on the impact of marketing through social media , online games and mobile applications on children's behaviour[END_REF] which shows that strict regulations for businesses and better parental control software would contribute a lot towards safer and more effective use of internet by children.

In this paper, we propose mySafeHome, which utilise family dynamics to provide a more natural, and intuitive access control mechanism to protect children from harmful content and services. mySafeHome detects the presence and physical distance of two devices using Received Signal Strength Indicator (RSSI) level which is received by the wireless access point from its associated stations on every network activity. It is not only the RSSI level which can serve the purpose because of its fluctuation and variation depending on the physical environment and design of the building. There should be a system which can work dynamically using RSSI levels ignoring its fluctuation. To overcome the fluctuation problem of RSSI levels, we developed a method to predict or detect the presence or closeness by using Machine Learning (ML).

Contribution: The primary contributions and the scope of

II. PROBLEM FORMULATION

Research show that that internet usage by children has negative effects like addiction, emotional or physiological issues. Nam and Hwang [START_REF] Nam | Consumers' Needs for Public Education and Corporate Participation Regarding Child Internet Addiction: Based on the Risk Perception Attitude Framework[END_REF] researched previous studies conducted regarding internet usage by children and concluded that there is an increased risk of depression, social isolation, impulse control disorder, obesity, attention deficit hyperactivity disorder in children who overuse the Internet. Greenfield [START_REF] Greenfield | 4.5 Raising Generation D: What Parents andClinicians Should Know About Children and Compulsive Internet Use[END_REF] concluded that pathological technology use causes negative sequelae in many functional life spheres, including family life, academic and work performance, social relationship, physical health, safety and loss of sleep. According to Strasburger and Hogan [START_REF] Strasburger | Children, adolescents, and the media[END_REF] the evidence is clear that "new media" including cell phones, iPads, and social media can contribute substantially to many different risks and health problems. Santisteban et al. [START_REF] De Santisteban | Progression, maintenance, and feedback of online child sexual grooming: A qualitative analysis of online predators[END_REF] interviewed men convicted of online grooming and shows how aggressors actively study the structural environment, the needs and vulnerabilities of the minors.

In Santisteban et al. [START_REF] De Santisteban | Progression, maintenance, and feedback of online child sexual grooming: A qualitative analysis of online predators[END_REF], it was referred that ICTs enables greater accessibility to children to participate in a normalized way in the virtual environment which motivated adults sees as increased opportunity for interaction with minors as the ability to operate in multiple scenarios with different potential victims simultaneously. Strasburger and Hogan [START_REF] Strasburger | Children, adolescents, and the media[END_REF] recommended that parents should limit the amount of total entertainment screen time to 1 to 2 hours per day, Strasburger and Hogan [START_REF] Strasburger | Children, adolescents, and the media[END_REF] also recommended that parents should monitor what media their children are using and accessing, including any websites and social media. This leave us with the question that how can we control the access to internet dynamically so the parent is aware of children's activities on internet and internet should be controlled/scheduled as per parent's preferences.

There are several possible scenarios where this can be implemented. Some of these use-case scenarios are discussed in Table I and a demo of these scenarios are recorded which can be observed in the video.

III. SYSTEM ARCHITECTURE

The system depends on various entities e.g. CADs, GDs, IoTs, mySafeHome, Home Router and Cloud Services as presented in Figure 1. In mySafeHome, access control dynamically adapts based on the physical distance between family members. We used a Raspberry Pi 3B+ (RPi) device with Raspbian OS and on top of that we install and configured existing networking services such as DHCP Server, DNS Server, IPTables, IPSets along-with our custom developed services like AdminConsole, ClientsInfoService, MLService as shown in Figure 1. The system is designed in a way that it can detect child-guardian and IoT-guardian physical distance. A web-based user interface is also developed for setting up, administering and monitoring purpose. To manage IoT devices we are using OpenHAB, a cross-platform software to integrate all kinds of Smart Home technologies and devices, which is installed in the same RPi. We have defined five different access levels to control network access of the IoT devices. We have defined key concepts used in this paper as well.

• No Access: Deny access to newly added unconfirmed devices by default. Child watching TV while parent not at home Guardian's calendar events query Unavailability of GD at home (using signal strength) 2

Child watching TV in the TV lounge while parent in their room Light/motion sensor in guardian's room GD is in guardian's room (using signal strength) Any other IoT under use in guardian's room 3

Child watching TV along with parents in TV lounge GD is in the TV lounge (using signal strength) Any other IoT device under use in TV lounge or kitchen area which is categorized as guardian's use only 4

Child using mobile/tablet device while parent not at home Guardian's calendar event query Unavailability of GD at home (using signal strength) 5

Child using mobile/tablet in his/her room without guardian Light/motion sensor in guardian's room GD is in guardian's room (using signal strength) Any other GD being use in guardian's room Difference in signal levels of CAD and GD 6

Child operating mobile/tablet with guardian around (same room / area) Similarity of signal strength of both child's and parent's devices Fig. 1. System Architecture of mySafeHome

• Physical Distance using RSSI: We are using RSSI levels to determine the physical distance of two devices. • Schedule: The system allowed guardian to set schedule to allow internet access in preferred time ranges.

IV. IMPLEMENTATION

To make our "mySafeHome Device" as shown in Figure 2 work as a router we, at first, installed and configured all necessary services like DHCP, DNS, HostAPD, IPTables and OpenHAB. We configured two wireless network interfaces for handling internal and external traffic separately. We used RaspbianOS to deploy all services. Once all services are working normal the devices at home will be connected to internal wireless access point of RPI, it will become gateway for all devices. The RPI can get RSSI level of every connected device and can also control the network access of each device. Dataset for Machine Learning: Next step is to generate dataset for machine leaning, as our dataset is based on RSSI levels, we connected two mobile devices (Dev1, Dev2) to RPI's wireless network and started the process of creating dataset as shown in Figure 2. To read RSSI levels from wireless handler we used iw dev phy INTERFACE-NAME station dump command, and parse output to python script which converts it into array. Following equation can represent the operation:Y = [(RSSI(i)), Label]. The process repeats X times, X is sensitivity which used to ignore the fluctuation effect of RSSI levels. In above mentioned formula i=[0, 1, 2, 3, .... X * 2] where even(i) represents Dev1 and odd(i) means Dev2. Label represents Boolean value of closeness of devices True means near and far/away means False. As we need to keep privacy issue under consideration, we remove identification of devices from the dataset so it contains only RSSI levels of devices. Dynamic Access Control: There are several processes need to be running in the background to enable dynamic access control, these processes are designed to interact with user as well as to check for all factors and make decisions. We have developed couple of services which can run on RPI to serve the purpose. These services interact with user and/or several sources like database, OS files and web-based APIs. ClientsInfoService, the core service running in background, does not required any user interface as it is solely depending on information stored in sources. First step of this service is to initialize SQL database, read DHCP server's lease list and add client devices into database table. Secondly, it will start evaluating all factors of access control for each CAD to control its access to internet.

• Schedule: is optional which has to be configured by guardian to enable access to internet on the preferred times of the day depending on other factors. If schedule is not configured, it will allow access 24/7. • Google Calendar API: We integrated calendar API to detect if there is any event exists for current time, if so then the guardian is considered to be out of home. In that case our system will limit internet access of all CADs. Machine Learning Algorithm: The most critical part of this service is to check if the GD is physically close to CAD. Following are the steps of the process: • Get RSSI levels of CADs and GDs: The system will query all CADs and GDs from the database, it will make sets of each CAD with all GDs (one-by-one). Then read RSSI levels from wireless handler for X number of times, X defines sensitivity. We use X to ignore the fluctuation in value of RSSI levels. Once the RSSI data of devices is stored in local arrays, it will remove identification of devices from the data i.e. MAC Address.

Z = [(CAD RSSI, GD RSSI) * X]

The set Z will be sent to machine learning web-api where it will be processed, and result will be returned as Boolean. The system will limit/elevate internet access of CAD according to the result. The service will update database on every update so the guardian can view real-time status of devices using web-based interface. The other service, AdminConsole, allows guardian/owner to interact with the system in order to complete the initial setup and later administer/monitor the devices. Guardian can view/connect available wireless networks, setup internal wireless access point, view/change access control of devices, restore device to default settings, restart or shutdown device, etc. by using this interface. This interface accessible via device's touch screen (kiosk mode) and/or using web-browser in any other device.

V. EVALUATION AND DEMONSTRATION

We evaluated the device's functionalities in Table I scenarios as shown in Figure 3. Circle means that child is watching TV and diamond means child is using a CAD. Red color shows restricted/limited access, blue represents device specific restrictions and green means elevated internet access or full operations. Evaluation of the device's functionalities for the given scenarios in mentioned in Table 1 need pre-requisite steps to be completed. Power-on Device: Unpack and poweron device assumed that device's current settings are default. Device Initialization: Connect to internet using available wireless network, setup internal access point to allow devices to connect to RPI, setup guardian's device, setup CADs.

• Scenario 1: Successfully detected using External Calendar API that guardian is not at home so access of Smart TV to internet is set limited to certain "safe for kids" websites only. • Scenario 2: Successfully detected using RSSI level that GD is far from Smart TV (by examining difference between RSSI levels of GD and Smart TV) but present in home. Smart TV volume is increased and locked. • Scenario 3: Successfully detected using External Calendar API and RSSI level that GD is near to Smart TV and unlocked its volume. • Scenario 4: Successfully detected using External Calendar API that guardian is not available at home to limit internet access of CADs. • Scenario 5: Successfully detected using RSSI level that GD is far from CAD but available at home to limit its access to internet. • Scenario 6: Successfully detected using RSSI level that GD is near to CAD to elevate its access to internet. There has been significant research being done related to IoT based smart homes, its benefits, its challenges and possible options in the recent years. We briefly review three related areas, namely, home automation, home activity detection, and RSSI based Location awareness.

Smart Home automation using central controller devices: There is a comprehensive amount of work done on controlling home equipment in a smart home using central hubs like the system proposed by Saputri and Rofiq [START_REF] Saputri | DESIGNING SMARTHOME THROUGH INTERNET NETWORKING USING RASPBERRY PI COMPUTER[END_REF] who developed a web-based system using Raspberry Pi with python code to control the home equipment over the internet but the solution is focused on reducing waste of electricity by turning on/off the equipment. Khan et al. [START_REF] Khan | Internet of Things Based Energy Aware Smart Home Control System[END_REF] proposed a smart home control system to mitigate the effect of interference and reduces the energy consumption of the smart home appliances. Khan et al. [START_REF] Khan | Internet of Things Based Energy Aware Smart Home Control System[END_REF] proposed smart light control system is tunes the illumination level in a room by incorporating the natural light. Khan et al. [START_REF] Khan | Internet of Things Based Energy Aware Smart Home Control System[END_REF] also proposed a management station with the system that is designed to control the working time of the smart home appliances, from Khan's work we can drive that a system can be built that can instruct IoTs to perform certain task depending on the state of other sensors or IoTs. A similar work done by Singh et al. [START_REF] Singh | IoT based smart home automation system using sensor node[END_REF] in which a solution which controls some home appliances like light, fan, etc. using various sensors like LM35, IR, LDR, Node MCU ESP8266 and Arduino UNO. Singh et al. [START_REF] Singh | IoT based smart home automation system using sensor node[END_REF] proposed solution also detects the presence or absence of human object in the house using these sensors, the reason Singh et al. [START_REF] Singh | IoT based smart home automation system using sensor node[END_REF] is not using radio signals for the purpose is, which in fact is true, that they can be easily intercepted and prone to distortions but since almost every media oriented IoT device, in our case, now days is connected to internet using Wi-Fi that makes it necessary for us to rely on radio signals as the primary detection and communication mechanism. Zhong and Hu [START_REF] Zhong | Framework and development trend of smart home system based on IDSS[END_REF] purposes use of Intelligent Decision Support System to improve the intelligence of smart home system but the purposed system is presented to control the output functions of IoT devices only and the system required user request for every event.

Human Activity detection in a Smart Home: Several researches have been conducted to detect activity based on the information received by IoT and other devices like mobile phones. Kashimoto et al. [START_REF] Kashimoto | Low-cost and device-free activity recognition system with energy harvesting PIR and door sensors[END_REF] propose a activity recognition method using energy harvesting PIR and door sensors, this approach can be used to categorize general activities and presence on human object in a certain area of the house but may not be able to identify the object considering the fact that we want to calculate distance between two human objects. Another proposed a data-driven solution by Kodeswaran et al. [START_REF] Kodeswaran | Demultiplexing activities of daily living in IoT enabled smarthomes[END_REF] to detect activities of daily living in IoT enabled smarthomes, these activities are also categories as general activities and can not confirm the identity of human object in a smart home. Dang et al. [START_REF] Dang | Theodor: A step towards smart home applications with electronic noses[END_REF] proposed an idea for detecting human activities, based on the odors generated by these activities, using an electronic nose based on many sensors connected with raspberry pi. Dang et al. [START_REF] Dang | Theodor: A step towards smart home applications with electronic noses[END_REF]'s idea is limited to detecting certain type of activities but indoor location or distance of objects can not be determined.

RSSI based Location awareness

There is also some work being carried out to detect anomalies using RSSI associated to the wireless transmissions of connected devices in a home, like Roux et al. [START_REF] Roux | Toward an Intrusion Detection Approach for IoT Based on Radio Communications Profiling[END_REF] presented solutions based on profiling of RSSI, Roux et al. [START_REF] Roux | Toward an Intrusion Detection Approach for IoT Based on Radio Communications Profiling[END_REF] used a machine learning algorithm to characterize legitimate communication and to identify suspicious scenarios. Roux et al. [START_REF] Roux | Toward an Intrusion Detection Approach for IoT Based on Radio Communications Profiling[END_REF] work is focused on intrusion detection, in addition to Roux et al. [START_REF] Roux | Toward an Intrusion Detection Approach for IoT Based on Radio Communications Profiling[END_REF], our work is using machine learning algorithm to detect closeness of two Wi-Fi devices which are communicating with a single wireless access point in an indoor place. According to Zanca et al. [START_REF] Zanca | Experimental comparison of RSSI-based localization algorithms for indoor wireless sensor networks[END_REF] the indoor radio channel is very predictable so he suggested use of time-to-flight of pressure waves, or ancillary radio hardware like multiple and/or directional antennas. Zanca et al. [START_REF] Zanca | Experimental comparison of RSSI-based localization algorithms for indoor wireless sensor networks[END_REF] also added that the alternative solutions will require more energy, dedicated hardware resulting making it expensive. We agree with Zanca et al. [START_REF] Zanca | Experimental comparison of RSSI-based localization algorithms for indoor wireless sensor networks[END_REF] about the unpredictability that is the reason of selecting machine learning for RSSI data received in a specific time frame to predict the result. Pathak et al. [START_REF] Pathak | Wi-Fi Indoor Positioning System Based on RSSI Measurements from Wi-Fi Access Points A Tri-lateration Approach[END_REF] also did similar work by setting up three wireless access points and a mobile application to scan RSSI levels and send central server, the accuracy rate might be better but it is not practical in case of heterogeneous devices' network and a we can not increase cost of adding more WAPs in smart homes. Furst et al. [START_REF] Fürst | Automated wireless localization data acquisition and calibration with 6DOF image localization[END_REF] proposed the usage of visual 3D models for localization and distance measurement with high accuracy, where he mentioned that localization systems often suffer from large data collection and calibration overhead in new environment and RSSI fingerprinting based localization systems require fingerprinting database, as our focus in only to determine physical distance of two devices, we only need RSSI data to feed to machine learning for better accuracy.

Despite of the identified problems of excessive internet usage and availability of extensive research in the area smarthomes, distance measurement using physical layer data there is no such solution, as per best of our knowledge, that can seamlessly control internet access of child device or an IoT dynamically depending on the presence or absence of a guardian from the scene.

VII. CONCLUSION AND FUTURE WORK

We utilised family dynamics to provide a more natural, and intuitive access control mechanism to protect children from experiencing harmful content and services over internet. Our access control system dynamically adapts based on the physical distance between family members. We used combination of legacy systems, physical layer data as well as third-party APIs for detection. Our developed system does not depend on the software system of IoTs rather it can work with almost any IoT which uses WiFi connection. We have successfully developed a prototype using OpenHAB and several smart home devices to demonstrate our approach. Our approach can facilitates the creation of better relationships between family members.

Our proposed system is currently using fixed sensitivity level and works with two devices at a time but it can be expanded to multiple devices simultaneously and with variable sensitivity according to the physical environment. Evaluation of the purposed system need to be done in natural/real scenarios so that it will evolve as a mature system to be adapted by people at large in the future use. It can also be incorporated/embedded in home routers, provided by ISPs, so the features can be utilized by default without adding additional devices. The accuracy of output is dependent on the diversity of dataset for machine learning, better algorithms can also be formed using this novel approach.

Fig. 2 .

 2 Fig. 2. Dynamic Access Control

Fig. 3 .

 3 Fig. 3. Demo Scenarios

  Actuators can be Smart Lights and Smart Plugs in our scenarios, access level for these devices are Local Only as most of the actuators in our system will not require internet access to operate.

	• Child Accessible Devices (CADs): refers to a device
	which can be accessible by a child e.g. Smart TV, Mobile,
	etc. Each device will be scanned and evaluated for access
	level in the background.
	• Guardian's Devices (GDs): refers to a device under use
	by a guardian. The system will look for all GDs for each
	CAD to check detect physical distance.
	We used following factors for dynamic access control:

• Local Access Only: Actuators or sensors which do not require internet access. • Limited Internet Access: Access to limited websites for CADs in case of unavailability or parent or as configured. • Elevated Internet Access: DNS based filtered access to internet for CADs in case of availability or guardian or as configured. • Full Access: Unrestricted internet access for guardians. Actors • Guardian: A person who administrator of the home, the system will consider device as administrator when its access level is Full Access. • Child: All the minors at home who has, as preferred by guardian, filtered internet access. Devices with internet access which can be accessible by child will have either Limited Internet Access or Elevated Internet Access. System Components •

ACKNOWLEDGEMENT

We acknowledge the support by PETRAS2 EP/S035362/1 and EPSRC Capital Award for Early Career Researchers.