11institutetext: Giuseppe Silano 22institutetext: Luigi Iannelli
33institutetext: Department of Engineering,
University of Sannio in Benevento,
Piazza Roma, 21; 82100 Benevento (Italy)
33email: {giuseppe.silano<EMAIL_ADDRESS>
# MAT-Fly: an educational platform for simulating Unmanned Aerial Vehicles
aimed to detect and track moving objects

Giuseppe Silano  Luigi Iannelli

(Received: date / Accepted: date)

###### Abstract

The main motivation of this work is to propose a simulation approach for a
specific task within the UAV (Unmanned Aerial Vehicle) field, i.e., the visual
detection and tracking of arbitrary moving objects. In particular, it is
described MAT-Fly, a numerical simulation platform for multi-rotors aircraft
characterized by the ease of use and control development. The platform is
based on Matlab® and the MathWorks™ Virtual Reality (VR) and Computer Vision
System (CVS) toolboxes that work together to simulate the behavior of a drone
in a 3D environment while tracking a car that moves along a non trivial path.
The VR toolbox has been chosen due to the familiarity that students have with
Matlab and because it allows to move the attention to the classifier, the
tracker, the reference generator and the trajectory tracking control thanks to
its simple structure. The overall architecture is quite modular so that each
block can be easily replaced with others by simplifying the development phase
and by allowing to add even more functionalities.

The simulation platform makes easy and quick to insert and to remove flight
control system components, testing and comparing different plans when computer
vision algorithms are in the loop. In an automatic way, the proposed simulator
is able to acquire frames from the virtual scenario, to search for one or more
objects on which it has been trained during the learning phase, and to track
the target position applying a trajectory control addressing what is well-
known in the literature as an image-based visual servoing problem.

Some simple testbeds have been presented in order to show the effectiveness
and robustness of the proposed approach as well as the platform works. We
released the software as open-source, making it available for educational
purposes.

###### Keywords:

image-based visual servoing 3D simulation scenario MATLAB/Simulink multi-
rotors educational vision detection and tracking UAV software-in-the-loop
computer vision trajectory control

##  1 Introduction

Unmanned Aerial Vehicles (UAVs), although originally designed and supported
for defense and military purposes (e.g., aerial attacks or military air
covering), in the recent years gained an increasing interest and attention
related to civilian use. Nowadays, UAVs are employed for several tasks and
services like surveying and mapping Scaramuzza2014 , for spatial information
acquisition and buildings inspection Choi2015 , data collection from
inaccessible areas Fraundorfer2012 , agricultural crops and monitoring
Anthony2014 , manipulation and transportation or navigation purposes
Blosch2010 .

Many existing algorithms for the autonomous control Castro2016  and navigation
Mancini2017  are provided in the literature, but it is particularly difficult
to make the UAVs able to work autonomously in constrained and unknown
environments or also indoors. Thus, it follows the need for tools that allow
to understand what it happens when some new applications are going to be
developed in unknown or critical situations. Simulation is one of such helpful
tools, widely used in robotics Abhijeet2015 ; Rosen2008 , whose main benefits
are costs and time savings, enabling not only to create various scenarios, but
also to carry out and to study complex missions that might be time consuming
and risky in real world. Finally, bugs and mistakes in simulation cost
virtually nothing: it is possible to crash a vehicle several times and thereby
getting a better understanding of implemented methods under various
conditions. Thus, simulation environments are very important for fast
prototyping and educational purposes, although they may have some drawbacks
and limitations, such as the lack of noisy real data or the fact that
simulated models are usually incomplete or inaccurate. Despite the
limitations, the advantages that the simulation provides are more, as like as
to manage the complexity and heterogeneity of the hardware and applications,
to promote the integration of new technologies, to simplify the software
design, to hide the complexity of low-level communication Elkady2012 .

Different solutions, typically based on external robotic simulators such as
Gazebo Koenig2004 , V-REP VREP2013 , AirSim airsim2017fsr , MORSE
Echeverria2011 , are available to this aim. They employ recent advances in
computation and computer graphics (e.g., AirSim is a photorealistic
environment Mancini2017 ) in order to simulate physical phenomena (gravity,
magnetism, atmospheric conditions) and perception (e.g., providing sensor
models) in such a way that the environment realistically reflects the actual
world. In some cases those solutions do not have enough features that could
allow to create large scale complex environments close to reality. On the
other hand, when the tools provide such possibilities, they are difficult to
use or they require high computing capabilities airsim2017fsr . Definitely, it
comes out that simulating the real world is a non trivial task, not only due
to multiple phenomena that need to be modeled, but also because their complex
interactions ask the user a notable effort for the learning and development
phase. For all such reasons, a complete software platform that makes possible
to test different algorithms for UAVs moving in a simulated 3D environment is
more and more important both for the whole design process and educational
purposes.

In this paper it will be presented a software architecture through which
detection, tracking and control algorithms can be verified and validated all
together in a 3D graphical environment. Due to the simple implementation and
the limited possibility of interfacing it with dedicated tools, the proposed
software architecture should be meant with an educational purpose, although it
can be considered also as a starting point for the development of a software-
in-the-loop (SIL) platform (see Castro2016 ; Day2015 ) in the UAV framework.
Furthermore, as highlighted in Khan2017 , the interactive learning approaches
allow students to improve their technical knowledge and communication skills,
giving them the experience of what they will encounter in a real world
environment. Therefore, the platform can be seen as potentially endless:
students, researchers and developers can expand the simulator functionalities
by modifying or integrating new agents dynamics, control algorithms or
detection and tracking techniques for their own purposes.

In our paper the specific domain of interest regards the behavior of UAVs
acting in accordance with the Image-Based Visual Servoing (IBVS) approach
Chaumette2006 ; Chaumette2007 . Most are the applications that use UAVs
Aleotti2017 ; Perez-Grau2017 , either teleoperated remotely by a pilot (who
decides the next action by looking at the camera images) from a Ground Control
Station (GCS) or autonomously by following preprogrammed operations via
onboard sensors, e.g., for sending data and video signals towards a Central
Data Station (CDS) which stores the information for later processing. The
availability of low-weight devices (e.g., Parrot AR.Drone 2.0 or more recent
Parrot Bebop 2.0111Lightweight commercial UAV platforms that counts with a
$14$ Mega pixels fisheye lens camera and a simple to use Software Development
Kit (SDK).), with low power consumption, makes cameras among the most suitable
sensors, especially in GPS-denied environments Pestana2014 .

Within the field of visual servoing, the camera configuration is distinguished
in two main classes: eye-in-hand and eye-to-hand. In the first class the
camera is rigidly attached to the UAV frame while in the second one the camera
has a fixed orientation in the workspace thanks to some specific devices,
e.g., a gimbal Muis2004 . However, when the camera is placed on a mobile
platform it can be rotated through a manipulator arm and such a third
configuration is called onboard-eye-to-hand Lippiello2005 . In this paper, the
eye-in-hand configuration was adopted222It is in line with many commercial
Micro Aerial Vehicles (MAVs) devices such as the above mentioned Parrot
devices. for the drone using the ideal pinhole camera model Siciliano2009  to
emulate the camera in the simulation scenario.

The application we consider, that is an extension of our previous work
Silano2016 , has been revised for making the UAV able to detect and track a
specific object (a car) moving along a non trivial path. Compared to our
previous work, a tracking algorithm has been added in the loop: the classifier
is used to detect the target only at the first step or in case of a partial
occlusion. Apart from such situations, a Continuously Adaptive Mean-Shift
(CAMShift) tracking algorithm Bradski1998  is employed to follow the car along
the path, thus reducing the computational burden and the possibility to lose
the target during the tracking. Moreover, in this paper it has been proposed a
novel procedure based on _ad hoc_ Matlab scripts that automatically select the
bounding box area (aka ROI, Region of Interest) of the target (the car) in
each image, thus avoiding to pass through specific Matlab tools like _Training
Image Labeler_. Those scripts also compare the performance of various
classifiers selecting in an automatic way the best one among different
features types (i.e., Haar, HOG, LBP) Rosten2006  and different number of
training stages. Simple testbeds have been considered to analyze the
effectiveness and the robustness of the platform. Finally, we published the
software architecture as open-source MATFly  with the aim to share our result
with other researchers and students that might use the platform for testing
their algorithms and understanding how different approaches can improve the
system performance, especially for educational purposes.

The paper is organized as follows. Section 2 explains the 3D simulation
scenario and its functionalities. The classifier learning phase and the vision
based target detection algorithm are presented in Sec. 3 and 4, respectively.
Section 5 briefly describes the UAV model while numerical results and control
algorithms are reported in Sec. 6. Finally, Section 7 concludes the paper.

##  2 System Description

In order to simulate a scenario as much similar as to the real world, the
Matlab Virtual Reality (VR) Toolbox has been used. The toolbox allows to
visualize, in a 3D environment, how complex dynamic systems behave when they
interact with the surrounding scenario. Furthermore, thanks to animation
recording functionalities, frames and videos from the scene can be acquired
and used to implement an image based visual problem. Also, the tool makes it
easy to add external observers (modeled as viewpoints) to monitor any moving
object from different positions and orientations.

Figure 1: Initial frame of the considered scenario in the paper. The
visualization of forces and other similar features have been disabled in order
to improve the classifier performance. While, the current steering angle
visualizer has been hold to monitor the car movements along the path.

From such perspective, the tool has been used for simulating the interaction
of a drone following a car. We started from one of the examples333The list of
ready-to-use scenarios that can be easily customized by using any common text
editor or 3D creation tool is available in MathWorks2017 . available on the
MathWorks platform (specifically the vr_octavia_2cars example) that describes
a quite detailed dynamical model of a car moving along a non trivial path
(see, Fig. 1). The example represents a standard double-lane-change maneuver
conducted in two-vehicles configuration, where one engages the Electronic
Stability Program (ESP) control while the other switches off such control unit
when changing lane. From this, a simpler scenario was considered by removing
one of the two vehicle configurations, i.e., the car without the ESP
controller.

Then, an external observer has been added to the scheme for simulating the
behavior of a drone that flies in the 3D scenario observing the car moving
along the path. In Matlab VR an external observer has six Degrees of Freedom
(DOFs): the spatial coordinates $x$, $y$, $z$, and the angles yaw ($\psi$),
pitch ($\theta$) and roll ($\varphi$). The whole process is the following:
images are updated according to the position and the orientation of the Matlab
VR external observer (the UAV) w.r.t. the car; such images are acquired and
elaborated for getting the necessary information to detect and track the
object (the car), and to run the control strategy designed for the tracking
problem. The outputs of the control algorithm consists of the commands
$u_{\varphi}$, $u_{\theta}$, $u_{\psi}$ and $u_{T}$ that should be given to
the drone in order to update its position ($x_{d}$, $y_{d}$ and $z_{d}$) and
orientation ($\varphi_{d}$, $\theta_{d}$ and $\psi_{d}$ ), see Fig. 2.

Computing Section 4 References Generator Section 6.1 Dynamics Controller
Section 6.2 Drone Section 5 Matlab Virtual World Section
2$e_{u},\,e_{v}$$area_{bb}$$z_{r},\,\psi_{r}$$x_{r},\,y_{r}$$u_{\psi},\,u_{T}$$u_{\varphi},\,u_{\theta}$$\varphi_{d},\,\theta_{d},\,\psi_{d}$$x_{d},\,y_{d},\,z_{d}$IMG$Car$

Figure 2: The control scheme. Subscript d indicates the drone variables, while
r indicates the references to the controller. For the reader, each block has
been mapped with the section that describes its content.

In Figure 3 the Simulink scheme employed for simulating the drone and the car
dynamics is reported. The esp_on and the coordinates_transformation blocks
compute the steering angle, the linear velocity and the position of the car,
and all forces needed to follow a given path. While, the observer_position and
rotation_matrix blocks represent the aircraft position and orientation (it is
expressed by using the direction cosine matrix Bouabdallah2005  and the
Rodrigues’s formula Corke2011 ), respectively. The processed data are sent to
the VR Visualization block that takes care of the drone and car movements in
the simulated scenario.

Figure 3: Simulink scheme employed for simulating the drone and car dynamics
in the virtual scenario.

Note that Matlab VR adopts a reference system slightly different from the
classic fixed reference frame $O_{\mathrm{FI}}$. Figure 4 illustrates such
difference. In particular, axes are differently oriented and, furthermore, the
virtual scenario reference system is centered in the car center of gravity,
although the axes orientation is fixed. These differences are taken into
account in all elaborations.

$O_{\mathrm{FI}}$$X_{\mathrm{FI}}$$Z_{\mathrm{FI}}$$Y_{\mathrm{FI}}$$-Y_{\mathrm{FI}}$$O_{\mathrm{FVR}}$$X_{\mathrm{FVR}}$$Y_{\mathrm{FVR}}$$Z_{\mathrm{FVR}}$$-Z_{\mathrm{FVR}}$

Figure 4: The picture illustrates the classic fixed frame $O_{\mathrm{FI}}$
(left) and the corresponding virtual fixed $O_{\mathrm{FVR}}$ (right)
reference system.

Finally, the Simulink scheme saves the current car position
($x_{\mathrm{car}}$, $y_{\mathrm{car}}$ and $z_{\mathrm{car}}$), used for
comparing the drone and the car trajectories (see, Sec. 6.1), and frames of
the virtual scenario observed from the drone point of view. Those frames will
be used, as described in the next sections, for pattern recognition.

In Figure 5 the scheme of the overall software platform architecture is
depicted. Colors highlight the different parts of the system: the classifier
learning phase (in blue), the vision based target detection (in green), the
flight control system (in yellow) and the Matlab VR toolbox (in red). A dashed
line is used to separate the classifier learning phase from the rest of the
scheme, since it does not take part directly in the simulation although its
outputs are employed by the detection algorithm and reference generator for
the object tracking (see Secs. 3 and 6).

Frames Acquisition Images Cropping Classifier Synthesis Performance Evaluation
Vision Target Selector Detection Algorithm Tracking Algorithm Distance Vector
Computing first stepnext steps Reference Generator Trajectory Control Drone
Model MATLAB VIRTUAL WORLD

Figure 5: Proposed software platform architecture. Arrows represent the data
exchanged among blocks and how they interact each other.

To simplify the reuse of software components, the entire platform was designed
by applying a modular approach: each part (the classifier learning phase, the
vision based target detection, etc.) has been divided into smaller ones (e.g.,
the detection algorithm, the reference generator, the classifier synthesis,
etc.), putting some effort in reducing their dependencies and thus making them
ready to be used or replaced with others components. In such a way, different
computer vision and control algorithms can be combined and tested evaluating
their performance and how they can influence the simulation behavior,
particularly for educational purposes.

##  3 Classifier Learning Phase

The classifier learning phase is the most important part of the system: the
object detection and tracking depend on it. Matlab scripts have been developed
to automate the entire procedure, from the frames acquisition to the
classifier synthesis and performance evaluation. To this aim, the learning
process has been split into four parts, as it is depicted in Fig. 5: the
frames acquisition, the image cropping, the classifier synthesis and the
performance evaluation.

###  3.1 Frames acquisition

When going to train a classifier, a high number of images are needed. The
images are divided into two groups: positive (that contain the target) and
negative images. By following as suggested in Corke2011 , in particular we
used $2626$ positive images and $5252$ negative images achieving a 1 : 2
ratio.

For collecting the images, we simulated the drone moving along a spiral
trajectory around the car parked in its initial state (see, Fig. 6). The
aircraft attitude and position have been computed for each frame so as
described by the sphere surface equations,

$Y_{\mathrm{FVR}}$$X_{\mathrm{FVR}}$$Z_{\mathrm{FVR}}$$-Z_{\mathrm{FVR}}$$\mathbf{\beta}$$\mathbf{\alpha}$$r$$\mathbf{Camera}$$\mathbf{Car}$$\mathbf{P}_{xz}$$-x_{P}$$z_{P}$$y_{P}$

Figure 6: Drone trajectory around the car parked in its initial state during
the frames acquisition.

$\left\\{\begin{array}[]{ll}y=r\cos{\beta}\\\ x=r\sin{\beta}\sin{\alpha}\\\
z=r\sin{\beta}\cos{\alpha}\end{array}\right.,$ (1)

where $r$, the sphere radius, is the distance between the car and the drone
(assumed fixed and equal to $15$ meters), used as reference for the trajectory
generation (see, Sec. 6.1). Whereas, the angles $\alpha\in[0,2\pi]$ and
$\beta\in[0,\pi/2]$ allow to discriminate the drone position and orientation
along the surface of the sphere, as depicted in Fig. 6. A video showing the
results has been made available at the link https://youtu.be/A70zed84zv0.

###  3.2 Image cropping

Following the approach proposed in ImageAnalyst2005 , a Matlab script was
developed to automatically select the bounding box area of the car. The image
segmentation process was used to simplify and to change the representation:
from RGB to binary (Figs. 7(a) and 7(c), respectively), passing through the
gray scale (Fig. 7(b)). The result is a set of contours that make the image
more meaningful and easier to analyze: each group of pixels in a region is
similar w.r.t. some characteristics or computed properties, e.g., color (the
red of the car, in our case), intensity, or texture, while adjacent regions
are significantly different w.r.t. the same properties, thus allowing to
easily detect the target.

(a) RGB.

(b) Gray scale.

(c) Bynary.

(d) Blobs labeled with pseudocolor.

(e) Detected blobs.

(f) Cropped image.

Figure 7: Frames obtained by the images computing process. From the RGB file
format (a) to the cropped image (f) the steps are reported, sequentially. Each
figure is labeled according to the phase during which it has been obtained.

To automatically select each group of pixels, the Balanced Histogram
Thresholding (BTH) method DosAnjos2008  was chosen. Such method allows to
separate the background from the foreground by dividing the image data into
two main classes (see, Fig. 8) and by searching for the optimum threshold
level.

$0$$20$$40$$60$$80$$100$$120$$140$$160$$180$$200$$220$$240$$0$$0.5$$1$$1.5$$2$$2.5$$\cdot
10^{5}$Thresholded at 100 gray levelsBackgroundForeground

Figure 8: Histogram of the image data. The red line, the grayscale threshold,
divides the graph into two parts: the background and the foreground. The gray
gradient bars indicate the associated color to each $x$-value, from $0$ to
$255$.

Starting from the foreground binary image (see, Fig. 7(c)), the script uses
the connected-component labeling algorithm Corke2011  with a fixed heuristic
(8-connected, in our case) for selecting individual blobs from the image. In
Figure 7(d) such blobs are depicted with different colors and numbers. Then,
after having extracted all images properties, the script chooses the blob
(bounded and overlapped in Fig. 7(e)) that meets criteria in terms of size and
intensity (fixed to match the target properties) in order to obtain a unique
bounding box surrounding the target. In Figure 7(f) its size has been used for
cropping the target within the frame. Finally, the script makes as output a
MAT-file containing, for each positive image, the suitable ROI components,
i.e., the bounding box centroids, its width and height. Such file is employed
during the classifier synthesis (see, Fig. 5) to design the target detector.

The proposed approach allows to completely and automatically detect the target
(the car), decreasing the learning phase time and avoiding to pass through the
specific Matlab tool Training Image Labeler. In Figure 7, for a single sample
frame, all image processing steps, from the acquired frame to the cropped
image, are depicted. Such steps allow to better understand how the algorithm
works.

For the specific considered image set, the script was able to automatically
detect the ROIs with an error of $8.18\%$: the target was not recognized only
for $215$ frames out of $2626$ positive images, and the first ROI loss
appeared after $1791$ frames.

###  3.3 Classifier synthesis

The Viola & Jones algorithm Viola2001  has been used to recognize the car
along the path. Although the algorithm was originally designed and developed
for face detection problem, it can be trained to detect any object Xu2017  by
using different features types (Haar, HOG, LBP) Rosten2006  and training
stages.

For the considered testbed, the Haar features have been used for designing the
classifier. Although Haar and LBP features are often used to detect faces due
to their fine-scale textures while the HOG features are often used to detect
objects (e.g., peoples and cars), they resulted more useful for capturing the
overall shape of the target (see, Fig. 9) even if much longer time was needed
during the training phase.

(a) Test image.

(b) Haar.

(c) Haar corrected.

(d) HOG.

(e) HOG corrected.

(f) LBP.

(g) LBP corrected.

Figure 9: Detection results obtained by using Haar, HOG and LBP features
types. The false alarm and true positive rates has been fixed equal to $0.001$
and $0.995$, respectively, while the number of training stages was chosen
equal to $4$. Two different target models were considered: the “corrected” and
“uncorrected” version.

###  3.4 Performance comparison

In order to choose the best classifier for the proposed testbeds, a Matlab
script was developed to analyze the performances for different false alarm and
true positive probabilities, number of training stages, and features types.
Such script is part of the proposed software platform (see, Fig. 5), and
allows quite easily to compare results coming from different classifiers.

Two different models have been considered in designing the detector. The first
one uses the ROIs automatically extracted from the virtual scenario, as
described in Sec. 3.2, while the second one “corrects” those ROIs through the
Matlab tool Training Image Labeler.

In Figure 9 the detection results obtained for the considered sample frame by
using the Harr, HOG and LBP features type are depicted. In all revelations,
the car is only partially detected in spite of the high number of images
employed in the learning process. Except in same cases, there are no
revelation errors: different bounding boxes are detected in the image. This is
probably due to the several image view points used during the learning process
and the absence of photorealism in the collected frames. As described in
Gonzalez2019 , the reality gap (i.e., realistic geometry, textures, lighting
conditions, camera noise and distortion) direct influences the performances of
computer vision algorithms. On the other hand, they introduce enough “useful
noise” to help the detection. Many tests have been conducted in order to
assess the true performance of the classifier.

As shown in Figs. 9(b) and 9(c), the detection results are very similar for
both models. Thus, it is a good approximation to consider the “uncorrected”
ROIs instead of the “corrected” version in the classifier design. Such
approximation allows to save time during the training phase thus avoiding to
pass through the Matlab tool TrainingImageLaebeler.

##  4 Vision Based Target Detection

The vision-based target detection phase (see, Fig. 5) is divided into four
parts: the vision target selector, the detection and tracking algorithms and
the distance vector computing. The vision target selector manages the
switching from detection to tracking when recognizing the target: the detector
(see Sec.3.3) is used only at the first step or in case of partial occlusion,
otherwise a CAMShift tracking algorithm Corke2011  is employed to follow the
car along the path. Then, recognized the target, the distance vector computing
block deals with generating the references for the drone trajectory control
measuring the distance between the image and bounding box centroids.

###  4.1 Vision target selection and tracking

Due to multiple target revelations (as described in Sec. 3.4), a Matlab script
was used for obtaining a unique bounding box surrounding the target (the car).
The script computes the maximum (Fig. 10(a)) and the average (Fig. 10(c))
bounding boxes, as shown in Fig. 10. The maximum approach put more trust in
the detection results, while the average approach tries to filter out the
revelation errors. The “good” choice depends on the particular used classifier
and on the amount frames employed during the training phase. In our case
study, the maximum bounding box has been chosen to figure out the image-based
visual problem.

(a) Maximum bounding box.

(b) All bounding boxes.

(c) Average bounding box.

Figure 10: Bounding box selection algorithm. The detection results are
obtained by using the Haar cascade features type. The maximum (left) and
average (right) bounding boxes are computed by using the result obtained from
detection (center).

Whereas, the CAMShift algorithm was used to follow the car along the path.
This algorithm performs target tracking by searching for its probability
distribution pattern in a local adaptive size window whose initial size window
is the output of the bounding box selection script. Although it does not
guarantee the best performances, the algorithm supplies reliable and robust
results Artner2008 .

Figure 11: Three consecutive frames produces as output by the CAMShift
tracking algorithm. The image and the bounding box centroids as well as the
distance vector among centroids are reported.

In Figure 11 three consecutive frames produced as output by the tracker are
reported. The frames show how the algorithm works exploiting low sensitiveness
w.r.t. any change in the object appearance (e.g., shape deformation, scale,
and illumination changes or camera motion), compared with detection.

Then, the distance vector between the image ($u_{\mathrm{img}}$,
$v_{\mathrm{img}}$) and the bounding centroids ($u_{bb}$, $v_{bb}$) is
computed, as depicted in Figs. 11 and 12. The vector aims to provide the
reference signals ($e_{u}$ and $e_{v}$) to the drone trajectory control
Pestana2014  (see Sec. 6.1), so to move the drone in such a way that the car
bounding box center overlaps with the image centroid.

Frame$O_{\mathrm{img}}$$v$$u$$h_{\mathrm{img}}$$w_{\mathrm{img}}$$h_{bb}$$w_{bb}$$(u_{\mathrm{img}},\,v_{\mathrm{img}})$$(u_{bb},\,v_{bb})$

Figure 12: The scheme illustrates the information extracted by the frames. In
blue the distance vector and in yellow the bounding box are reported,
respectively. The image ($u_{\mathrm{img}}$, $v_{\mathrm{img}}$) and bounding
box ($u_{bb}$, $v_{bb}$) centroids are also represented.

##  5 Drone Dynamical Model

In our case study, we considered a drone with four rotors in a plus
configuration Stevens . However, the modular approach used to develop the
simulation architecture allows to simulate any multi-rotors aircraft and
configuration making the software platform particularly useful for educational
purposes.

The design of a high performance attitude and position controller requires
often an accurate model of the system. We here recall the commonly used
dynamical model of a quadrotor Bouabdallah2005  and, by following usual
approaches, we introduce two orthonormal frames: the fixed-frame
$O_{\mathrm{FI}}$ (where FI stands for Fixed Inertial), also called inertial
(or reference) frame, and the body-frame $O_{\mathrm{ABC}}$ (where ABC stands
for Aircraft Body Center) that is fixed in the aircraft center of mass and is
oriented according to the aircraft orientation (attitude), see Fig. 13.

$\psi$$\varphi$$\theta$$e_{z}$$e_{x}$$e_{y}$$O_{ABC}$$\Omega_{1}$$\Omega_{2}$$\Omega_{3}$$\Omega_{4}$$Z$$X$$Y$$O_{FI}$

Figure 13: Drone in the body-frame ($O_{\mathrm{ABC}}$) and the fixed-frame
($O_{\mathrm{FI}}$) reference systems. Forces exerted from each rotor, spin
directions and propeller velocities, $\Omega_{i}$, are also reported.

The translational dynamic equations of the aircraft can be expressed in the
inertial frame as follows:

$\displaystyle m\ddot{\xi}=-mgE_{z}+u_{T}R(\varphi,\theta,\psi)E_{z},$ (2)

where $g$ denotes the gravity acceleration, $m$ the mass, $u_{T}$ the total
thrust produced by the rotors, $\xi=\begin{pmatrix}x&y&z\end{pmatrix}^{\top}$
the drone position expressed in the inertial frame,
$E_{z}~{}=~{}\begin{pmatrix}0~{}&~{}0~{}&~{}1\end{pmatrix}^{\top}$ is the unit
vector along the $Z$-axis, while $R(\varphi,\theta,\psi)$ is the rotation
matrix from the body to the inertial frame and it depends on the attitude
$\eta=\begin{pmatrix}\varphi&\theta&\psi\end{pmatrix}^{\top}$ (i.e., Euler
angles roll, pitch and yaw, respectively) that describes the body-frame
orientation according to the ZYX convention Stevens . Conversely, the
rotational dynamics can be expressed as

$I\dot{\mathbf{\omega}}_{B}=-\mathbf{\omega}_{B}\times
I\mathbf{\omega}_{B}+\mathbf{\tau},$ (3)

where ‘$\times$’ denotes the vector product,
$\omega_{B}=\begin{pmatrix}\omega_{x}&\omega_{y}&\omega_{z}\end{pmatrix}^{\top}$
is the vector of the angular velocity expressed in the body-frame,
$I=\text{diag}(I_{x},\,I_{y},\,I_{z})$ is the inertia matrix of the vehicle
w.r.t. its principal axis, and
$\tau=\begin{pmatrix}u_{\varphi}&u_{\theta}&u_{\psi}\end{pmatrix}^{\top}$ is
the control torque vector obtained by actuating the rotors speeds according to
the rotors configuration and the vehicle shape.

At low speeds and around the hovering state the simplified dynamic model
consists of six second order differential equations obtained from balancing
forces and momenta acting on the drone, where $c_{\bullet}$ and $s_{\bullet}$
denote $\cos(\bullet)$ and $\sin(\bullet)$ functions, respectively:

$\displaystyle I_{x}\ddot{\varphi}=$
$\displaystyle\dot{\theta}\dot{\psi}\left(I_{y}-I_{z}\right)+u_{\varphi}$ (4a)
$\displaystyle I_{y}\ddot{\theta}=$
$\displaystyle\dot{\varphi}\dot{\psi}\left(I_{z}-I_{x}\right)+u_{\theta}$ (4b)
$\displaystyle I_{z}\ddot{\psi}=$
$\displaystyle\dot{\theta}\dot{\varphi}\left(I_{x}-I_{y}\right)+u_{\psi},$
(4c) $\displaystyle m\ddot{x}=$ $\displaystyle
u_{T}\left(c_{\varphi}s_{\theta}c_{\psi}+s_{\varphi}s_{\psi}\right)$ (5a)
$\displaystyle m\ddot{y}=$ $\displaystyle
u_{T}\left(c_{\varphi}s_{\theta}s_{\psi}-s_{\varphi}c_{\psi}\right)$ (5b)
$\displaystyle m\ddot{z}=$ $\displaystyle u_{T}c_{\theta}c_{\varphi}-mg.$ (5c)

Equations (4)–(5) represent the nominal model used for designing the control
law in Bouabdallah2005  and here described in Sect. 6.2. However a more
detailed model should be considered when simulation has to be employed as part
of the control design process. Thus we introduced further details for catching
more realistic behaviors writing the model inputs as

$\displaystyle
u_{T}=b_{f}\left(\Omega_{1}^{2}+\Omega_{2}^{2}+\Omega_{3}^{2}+\Omega_{4}^{2}\right),$
(6)

and

$\displaystyle\tau=\begin{pmatrix}u_{\varphi}\\\ u_{\theta}\\\
u_{\psi}\end{pmatrix}=\dfrac{b_{f}}{b_{m}}\begin{pmatrix}b_{m}l\left(\Omega_{2}^{2}+\Omega_{4}^{2}\right)\\\
b_{m}l\left(\Omega_{1}^{2}+\Omega_{3}^{2}\right)\\\
-\Omega_{1}^{2}+\Omega_{2}^{2}-\Omega_{3}^{2}+\Omega_{4}^{2}\end{pmatrix},$
(7)

where $\Omega_{i}$, $i~{}\in~{}\\{1,2,3,4\\}$, are the actual rotors angular
velocities expressed in $\mathrm{rad}\text{\,}{\mathrm{s}}^{-1}$, $l$ is the
distance from the propellers to the center of mass, while $b_{f}$ and $b_{m}$
are the thrust and drag factors, respectively. Further details can be found in
Bouabdallah2005  or Stevens . Table 1 reports the drone parameters’ values.

| Sym. | Value | Unit
---|---|---|---
Mass | $m$ | $0.65$ | $\mathrm{kg}$
Distance to center of gravity | $l$ | $0.23$ | $\mathrm{m}$
Thrust factor | $b_{f}$ | $7.5\cdot 10^{-7}$ | $\mathrm{kg}$
Drag factor | $b_{m}$ | $3.13\cdot 10^{-5}$ | $\mathrm{kg}\text{\,}\mathrm{m}$
Inertia component along $x$-axis | $I_{x}$ | $7.5\cdot 10^{-3}$ | $\mathrm{kg}\text{\,}{\mathrm{m}}^{2}$
Inertia component along $y$-axis | $I_{y}$ | $7.5\cdot 10^{-3}$ | $\mathrm{kg}\text{\,}{\mathrm{m}}^{2}$
Inertia component along $z$-axis | $I_{z}$ | $1.3\cdot 10^{-3}$ | $\mathrm{kg}\text{\,}{\mathrm{m}}^{2}$
Table 1: Drone parameters’ values.

##  6 Flight Control System

With the aim of illustrating a control design methodology exploiting the IBVS
approach, we started considering the flight control system described in
Pestana2014  and Bouabdallah2005  that uses a reference generator and an
integral backstepping (IB) controller to figure out the drone trajectory
tracking problem. The reference generator extracts the information from the
images to generate the path to follow, while the integral backstepping (IB)
controller starts from such references to compute the needed drone command
signals. Figures 14 and 16 describes the whole control scheme.

###  6.1 Reference Generator

The reference generator is decomposed into two parts: the attitude and the
position controller, both illustrated in Fig. 14. The attitude controller
tunes the yaw ($\psi_{r}$) and the pitch ($\theta_{r}$) angles trying to
overlap the image ($u_{\mathrm{img}}$, $v_{\mathrm{img}}$) and the bounding
box ($u_{bb}$, $v_{bb}$) centroids (see, Fig. 12) keeping the roll
($\varphi_{r}$) angle equal to zero. Such angles are later used by the
position controller for varying the drone reference position $x_{r}$, $y_{r}$,
and $z_{r}$ considering the drone initial position ($x_{\mathrm{init}}$,
$y_{\mathrm{init}}$ and $z_{\mathrm{init}}$) and orientation
($\varphi_{\mathrm{init}}$, $\theta_{\mathrm{init}}$ and
$\psi_{\mathrm{init}}$) and its movements in the virtual environment when
tracking the target. In our case study, we assumed the vehicle starts flying
$4$ meters over the ground with a distance of $15$ meters w.r.t. the car along
the $x$-axis in the $O_{\mathrm{FVR}}$ reference system.

Attitude Reference ControlPosition Reference
Control$\text{PI}_{\psi_{r}}$$\text{PID}_{z_{r}}$$u_{img}$$u_{bb}$$\psi_{\mathrm{ref}_{r}}$$z_{r}$$+$$-$$+$$-$$e_{u}$$\psi_{r}$$\text{PI}_{\theta_{r}}$$\text{PI}_{y_{r}}$$v_{img}$$v_{bb}$$\theta_{\mathrm{ref}_{r}}$$y_{r}$$+$$-$$+$$-$$e_{v}$$\theta_{r}$$\text{PI}_{x_{r}}$$area_{\mathrm{ref}}$$area_{bb}$$x_{r}$$+$$-$$e_{bb}$

Figure 14: The reference generator scheme referred to virtual reference system
($O_{\mathrm{FVR}}$). The obtained heuristic PID gains are:
$K_{P_{\psi_{r}}}=1\cdot 10^{-5}$, $K_{I_{\psi_{r}}}=1\cdot 10^{-3}$,
$K_{P_{\theta_{r}}}=1\cdot 10^{-5}$, $K_{I_{\theta_{r}}}=1\cdot 10^{-3}$,
$K_{P_{x_{r}}}=1\cdot 10^{-6}$, $K_{I_{x_{r}}}=6\cdot 10^{-6}$,
$K_{P_{y_{r}}}=1\cdot 10^{-2}$, $K_{I_{y_{r}}}=1\cdot 10^{-2}$,
$K_{P_{z_{r}}}=15$, $K_{I_{z_{r}}}=57.5$ and $K_{D_{z_{r}}}=3.75$.

Regarding the controller implementation, the considered control architecture
is based on control loops that are nothing but PID (proportional-integral-
derivative) controllers. These are a standard solution in the literature for
the quadorotor controllers design Dief2015 . The $\mathrm{PI}_{\psi_{r}}$ and
$\mathrm{PI}_{\theta_{r}}$ outputs are the $\psi_{r}$ and the $\theta_{r}$
angles, respectively, used by the IB controller for computing the command
signals (see, Fig. 16) and the $y_{r}$ reference value (see, Fig. 14).

Whereas, the values $\psi_{ref_{r}}$ and $\theta_{ref_{r}}$444In our case
study, we supposed that the drone should maintain a flat orientation as much
as possible during the tracking. Therefore the angles $\psi_{ref_{r}}$ and
$\theta_{ref_{r}}$ have been set equal to zero. (see, Fig. 14) represent the
references attitude that the vehicle should assume during the target tracking.
Finally, the error signal $e_{\mathrm{bb}}$, obtained as the difference
between the bounding box ($w_{bb}\cdot h_{bb}$, aka $area_{\mathrm{bb}}$ in
Fig. 14) and the reference555The reference value is given by the sample mean
of ROIs collected during the learning process. areas ($area_{\mathrm{ref}}$),
is used to tune the distance $x_{r}$.

Figure 15 reports the trajectories followed by the car and the drone during
the simulation, while a further video has been made available at
https://youtu.be/qAtndBIwdas for showing the results of the proposed approach.
In such video, the quadrotor dynamics has been neglected to highlight how the
reference generator works.

$-5$$0$$5$$10$$15$$20$$0$$100$$200$$300$$400$$500$$0$$2$$4$$6$$-x_{\mathrm{FVR}}$
[$\mathrm{m}$]$z_{\mathrm{FVR}}$ [$\mathrm{m}$]$y_{\mathrm{FVR}}$
[$\mathrm{m}$]

Figure 15: The car (in blue) and the reference path (in red) described during
the simulation when neglecting the drone dynamics.

###  6.2 Integral Backstepping controller

The integral backstepping of Bouabdallah2005  has been used as the trajectory
controller for the path tracking. We decided to employ this controller in
particular for educational purposes: it was among the papers that first
described how to design a multi-rotors aircraft controller, especially for a
quadrotor. Moreover, the chosen integral backstepping controller performs
robustness against external disturbances (offered by backstepping) and
sturdiness w.r.t. model uncertainties (given by the integral action).

Starting from the reference generator’s outputs, the IB controller computes
the orientation ($\varphi_{\mathrm{ref}_{IB}}$ and
$\theta_{\mathrm{ref}_{IB}}$) that the drone should assume to follow the
reference path ($x_{r}$ and $z_{r}$). The $\varphi_{\mathrm{ref}_{IB}}$ and
$\theta_{\mathrm{ref}_{IB}}$ reference angles are computed as:

$\displaystyle\theta_{\mathrm{ref}_{IB}}=$
$\displaystyle\dfrac{m}{u_{T}}\Biggl{[}\left(1-c_{1}^{2}+\lambda_{1}\right)e_{x}+\left(c_{1}+c_{2}\right)e_{x_{IB}}-c_{1}\lambda_{1}\int_{0}^{t}{e_{x}(\tau)\mathrm{d}\tau}\Biggr{]}$
(8a) $\displaystyle\varphi_{\mathrm{ref}_{IB}}=$
$\displaystyle-\cfrac{m}{u_{T}}\Biggl{[}\left(1-c_{3}^{2}+\lambda_{2}\right)e_{z}+\left(c_{3}+c_{4}\right)e_{z_{IB}}-c_{3}\lambda_{2}\int_{0}^{t}{e_{z}(\tau)\mathrm{d}\tau}\Biggr{]},$
(8b)

with

$\displaystyle e_{x_{IB}}(t)$
$\displaystyle=\lambda_{1}\int_{0}^{t}{e_{x}(\tau)\mathrm{d}\tau}+c_{1}e_{x}(t)+\dot{e}_{x}(t)$
(9a) $\displaystyle e_{z_{IB}}(t)$
$\displaystyle=\lambda_{2}\int_{0}^{t}{e_{z}(\tau)\mathrm{d}\tau}+c_{3}e_{z}(t)+\dot{e}_{z}(t),$
(9b)

and

$\displaystyle e_{x}$ $\displaystyle=x_{r}-x_{d}$ (10a) $\displaystyle e_{z}$
$\displaystyle=z_{r}-z_{d},$ (10b)

where ($c_{1}$, $c_{2}$, $c_{3}$, $c_{4}$, $\lambda_{1}$ and $\lambda_{2}$)
are positive constants. For the considered motivating examples, the following
values have been chosen: $\lambda_{1}=0.025$, $\lambda_{2}=0.025$, $c_{1}=2$,
$c_{2}=0.5$, $c_{3}=2$ and $c_{4}=0.5$.

Figure 16 shows the scheme describing as the control system works.

$\text{PD}_{\theta_{att}}$$\theta_{d}$$e_{\theta}$$\theta_{\mathrm{ref}_{IB}}$$+$$-$$\text{PD}_{\varphi_{att}}$$\varphi_{d}$$e_{\varphi}$$\varphi_{\mathrm{ref}_{IB}}$$+$$-$$\text{PD}_{\psi_{att}}$$\psi_{d}$$e_{\psi}$$\psi_{r}$$+$$-$$\text{PD}_{y_{att}}$$y_{d}$$e_{y}$$y_{r}$$+$$-$
D R O N E D Y N A M Y C S
$u_{\theta}$$u_{\varphi}$$u_{\psi}$$u_{T}$$\theta_{d}$$\varphi_{d}$$\psi_{d}$$y_{d}$

Figure 16: The drone trajectory controller. All variables are expressed in the
virtual reference system ($O_{\mathrm{FVR}}$). Here we recall the heuristic
control gains employed into the simulation scenario: $K_{P_{y_{att}}}=1000$,
$K_{D_{y_{att}}}=200$, $K_{P_{\varphi_{att}}}=8$, $K_{D_{\varphi_{att}}}=4$,
$K_{P_{\theta_{att}}}=12$, $K_{D_{\theta_{att}}}=4$, $K_{P_{\psi_{att}}}=10$
and $K_{D_{\psi_{att}}}=4$.

###  6.3 Numerical results

The overall system has been simulated in Matlab and the results illustrate in
a direct way how the system performs (the video is available at
https://youtu.be/b8mTHRkRDmA). In particular it is possible to see, from the
drone point of view, how the quadrotor figures out the target tracking for the
entire path without ever losing the car: although the vehicle increases its
speed during the double-lane change maneuver, the drone is ready enough to
capture the dynamic change. Also, after a few seconds of simulation, the
quadrotor tilts around the $x$-axis due to the increasing of the roll angle
(drones flies in an eye-in-hand configuration) and the car seems to face a
climb.

A further scenario (the video is available at https://youtu.be/RjXBtPqZZBc)
has been considered to prove the effectiveness and the robustness of the
proposed approach as well as the easiness with which the software platform can
be customized adding more than one vehicle into the virtual environment. As we
can see, the detection and tracking algorithms are able to detect and track
the car along the path even if another vehicle with a different color (yellow,
for the considered example) is involved in the simulation. In particular, the
tracker is able to resize the search window during the experiment avoiding to
lose the target until the simulation stops.

Finally, the video at https://youtu.be/m43Zadq-6XM shows how the modular
approach used in developing the software platform makes easy to change the
world scenario in a few steps without the need to redesign the overall
architecture. For the considered example, the vr_octavia_2cars example has
been replaced with vr_octavia one keeping everything else unchanged. In the
middle of the simulation (at $26\text{\,}\mathrm{s}$) the car speed becomes
much higher than the drone speed causing an excessive UAV rolling. Due to the
eye-in-hand configuration, the target comes out of the camera view and it is
lost.

Those results demonstrated as the system works and the limit of the eye-in-
hand configuration, as well. Anyhow, the software platform allowed to test the
complex system composed by computer vision and control algorithms interacting
among them and with the moving objects dynamics.

The experiments as well as the software platform were developed with the 2015b
release of Matlab, equipped with Computer Vision System and Virtual Reality
toolboxes, but it is compatible with any Matlab successive release. The code
is specific for the use case study, but it can be easily and quickly
customized to work with any aircraft in the simulation framework.

##  7 Conclusions

In this work a well-know computing environment (Matlab) has been used to
implement the simulation of a complex virtual scenario, in order to show the
effects of computer vision and control strategies aimed to detect and track
moving objects. In this way, it has been proven the effectiveness and easy to
use of the approach for educational purposes, so that interested students
might work in a known environment developing their own algorithms in an easy
way. Nevertheless, in our opinion the work could constitute the first step
towards the development of a more structured platform aimed for the software-
in-the-loop of such kind of applications. The idea is to rely on more flexible
and dedicated solution like V-REP VREP2013  or Gazebo Aguero2015 .

Furthermore, this paper illustrated how to expand the functionalities of the
proposed platform modeling and integrating any vehicle into the simulation
framework. Also, how the potentialities of the overall approach aimed at
developing the system in a modular way can be used for facilitating the reuse
of software modules.

We published the software as open-source MATFly  with the aim to share our
result with other researchers that might use the platform for testing their
algorithms and understanding how different IBVS methodologies and non-linear
control techniques can improve the system performances.

## References

  * (1) D. Scaramuzza, M. C. Achtelik, L. Doitsidis, F. Friedrich, E. Kosmatopoulos, A. Martinelli, M. W. Achtelik, M. Chli, S. Chatzichristofis, L. Kneip, D. Gurdan, L. Heng, G. H. Lee, S. Lynen, M. Pollefeys, A. Renzaglia, R. Siegwart, J. C. Stumpf, P. Tanskanen, C. Troiani, S. Weiss, and L. Meier, “Vision-Controlled Micro Flying Robots: From System Design to Autonomous Navigation and Mapping in GPS-Denied Environments,” _IEEE Robotics Automation Magazine_ , vol. 21, no. 3, pp. 26–40, 2014.
  * (2) S. Choi and E. Kim, “Image acquisition system for construction inspection based on small unmanned aerial vehicle,” _Lecture Notes in Electrical Engineering_ , vol. 352, pp. 273–280, 2015.
  * (3) F. Fraundorfer, L. Heng, D. Honegger, G. H. Lee, L. Meier, P. Tanskanen, and M. Pollefeys, “Vision-based autonomous mapping and exploration using a quadro,” in _IEEE International Conference on Intelligent Robots and Systems_ , 2012, pp. 4557–4564.
  * (4) D. Anthony, S. Elbaum, A. Lorenz, and C. Detweiler, “On crop height estimation with UAVs,” in _IEEE International conference on Intelligent Robots and Systems_ , 2014, pp. 4805–4812.
  * (5) M. Blosch, S. Weiss, D. Scaramuzza, and R. Siegwart, “Vision based MAV navigation in unknown and unstructured environments,” in _IEEE International conference on robotics and automation_ , 2010, pp. 21–28.
  * (6) D. F. de Castro and D. A. dos Santos, “A Software-in-the-Loop Simulation Scheme for Position Formation Flight of Multicopters,” _Journal of Aerospace Technology and Management_ , vol. 8, no. 4, pp. 431–440, 2016.
  * (7) M. Mancini, G. Costante, P. Valigi, T. A. Ciarfuglia, J. Delmerico, and D. Scaramuzza, “Toward Domain Independence for Learning-Based Monocular Depth Estimation,” _IEEE Robotics and Automation Letters_ , vol. 2, no. 3, pp. 1778–1785, 2017.
  * (8) A. Tallavajhula and A. Kelly, “Construction and validation of a high delity simulator for a planar range sensor,” in _IEEE Conference on Robotics and Automation_ , 2015, pp. 1050–4729.
  * (9) R. Diankov and J. Kuffner, “Openrave: A planning architecture for autonomous robotics,” Robotics Institute, Pittsburgh, PA, Tech. Rep. 79, 2008.
  * (10) A. Elkady and T. Sobh, “Robotics middleware: A comprehensive literature survey and attribute-based bibliography,” _Journal of Robotics_ , 2012.
  * (11) N. Koenig and A. Howard, “Design and use paradigms for Gazebo, an open-source multi-robot simulator,” in _Proceedings of the IEEE International Conference on Intelligent Robots and Systems_ , vol. 3, 2004, pp. 2149–2154.
  * (12) E. Rohmer, S. P. N. Singh, and M. Freese, “V-REP: a Versatile and Scalable Robot Simulation Framework,” in _Proceedings of The International Conference on Intelligent Robots and Systems_ , 2013, pp. 1321–1326.
  * (13) S. Shah, D. Dey, C. Lovett, and A. Kapoor, “AirSim: High-Fidelity Visual and Physical Simulation for Autonomous Vehicles,” in _Field and Service Robotics_ , M. Hutter and R. Siegwart, Eds. Springer International Publishing, 2018, pp. 621–635.
  * (14) G. Echeverria, N. Lassabe, A. Degroote, and S. Lemaignan, “Modular open robots simulation engine: MORSE,” in _2011 IEEE International Conference on Robotics and Automation_ , 2011, pp. 46–51.
  * (15) M. A. Day, M. R. Clement, J. D. Russo, D. Davis, and T. H. Chung., “Multi-uav software systems and simulation architecture,” in _International Conference on Unmanned Aircraft Systems_ , 2015, pp. 426–435.
  * (16) S. Khan, M. H. Jaffery, A. Hanif, and M. R. Asif, “Teaching Tool for a Control Systems Laboratory Using a Quadrotor as a Plant in MATLAB,” _IEEE Transactions on Education_ , vol. 60, no. 99, pp. 1–8, 2017\.
  * (17) F. Chaumette and S. Hutchinson, “Visual servo control. I. Basic approaches,” _IEEE Robotics Automation Magazine_ , vol. 13, no. 4, pp. 82–90, 2006.
  * (18) ——, “Visual servo control. II. Advanced approaches,” _IEEE Robotics Automation Magazine_ , vol. 14, no. 1, pp. 109–118, 2007.
  * (19) J. Aleotti, G. Micconi, S. Caselli, G. Benassi, N. Zambelli, M. Bettelli, and A. Zappettini, “Detection of Nuclear Sources by UAV Teleoperation Using a Visuo-Haptic Augmented Reality Interface,” _Sensors_ , vol. 17, no. 10, 2017\.
  * (20) F. J. Perez-Grau, R. Ragel, F. Caballero, A. Viguria, and A. Ollero, “Semi-autonomous teleoperation of UAVs in search and rescue scenarios,” in _2017 International Conference on Unmanned Aircraft Systems_ , 2017, pp. 1066–1074.
  * (21) J. Pestana, J. L. Sanchez-Lopez, S. Saripalli, and P. Campoy, “Computer vision based general object following for GPS-denied multirotor unmanned vehicles,” in _IEEE American Control Conference_ , 2014, pp. 1886–1891.
  * (22) A. Muis and K. Ohnishi, “Eye-to-hand approach on eye-in-hand configuration within real-time visual servoing,” in _Advanced Motion Control. The 8th IEEE International Workshop on_ , 2004, pp. 647–652.
  * (23) V. Lippiello, B. Siciliano, and L. Villani, “Eye-in-hand/Eye-to-hand Multi-Camera Visual Servoing,” in _Proceedings of the 44th IEEE Conference on Decision and Control_ , 2005, pp. 5354–5359.
  * (24) B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, _Robotics: Modelling, Planning and Control_. Springer-Verlag, 2009, ISBN, 978-1846286414.
  * (25) G. Silano and L. Iannelli, “An educational simulation platform for GPS-denied Unmanned Aerial Vehicles aimed to the detection and tracking of moving objects,” in _IEEE Conference on Control Applications_ , 2016, pp. 1018–1023.
  * (26) G. R. Bradski, “Computer vision face tracking for use in a perceptual user interface,” _Intel Technology Journal_ , 2nd Quarter 1998.
  * (27) E. Rosten and T. Drummond, _Machine Learning for High-Speed Corner Detection_. Springer Berlin Heidelberg, 2006, pp. 430–443.
  * (28) G. Silano, “MAT-Fly GitHub Repository,” 2018. [Online]. Available: https://github.com/gsilano/MAT-Fly
  * (29) MathWorks, “Virtual Reality World and Dynamic System Examples,” Mathworks Online documentation resources. [Online]. Available: https://goo.gl/rtEx3S
  * (30) S. Bouabdallah, P. Murrieri, and R. Siegwart, “Towards Autonomous Indoor Micro VTOL,” _Autonomous Robots_ , vol. 18, no. 2, pp. 171–183, 2005\.
  * (31) P. Corke, _Robotics, Vision and Control: Fundamental Algorithms in MATLAB_. Springer, 2011.
  * (32) I. Analyst, “Image Segmentation Tutorial,” MathWorks File Exchange. [Online]. Available: https://goo.gl/mn8dhJ
  * (33) A. dos Anjos and H. R. Shahbazkia, “BI-LEVEL IMAGE THRESHOLDING - A Fast Method,” in _Proceedings of the First International Conference on Bio-inspired Systems and Signal Processing_ , vol. 2. SciTePress, 2008, pp. 70–76.
  * (34) P. Viola and M. Jones, “Rapid object detection using a boosted cascade of simple features,” in _Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition_ , vol. 1, 2001, pp. 511–518.
  * (35) Y. Xu, G. Yu, X. Wu, Y. Wang, and Y. Ma, “An enhanced viola-jones vehicle detection method from unmanned aerial vehicles imagery,” _IEEE Transactions on Intelligent Transportation Systems_ , vol. 18, no. 7, pp. 1845–1856, 2017.
  * (36) P. Martinez-Gonzalez, S. Oprea, A. Garcia-Garcia, A. Jover-Alvarez, S. Orts-Escolano, and J. Garcia-Rodriguez, “Unrealrox: an extremely photorealistic virtual reality environment for robotics simulations and synthetic data generation,” _Virtual Reality_ , 2019.
  * (37) N. M. Artner and W. Burger, “A Comparison of Mean Shift Tracking Methods,” in _2017 International Conference on Unmanned Aircraft Systems_ , 2008, pp. 197–204.
  * (38) B. L. Stevens, F. L. Lewis, and E. N. Johnson, _Aircraft control and simulation: dynamics, controls design, and autonomous systems_. John Wiley & Sons, 2015.
  * (39) T. N. Dief and S. Yoshida, “Review: Modeling and Classical Controller Of Quad-rotor,” _International Journal of Computer Science and Information Technology & Security_, vol. 5, no. 4, pp. 314–319, 2015.
  * (40) C. E. Agüero, N. Koenig, I. Chen, H. Boyer, S. Peters, J. Hsu, B. Gerkey, S. Paepcke, J. L. Rivero, J. Manzo, E. Krotkov, and G. Pratt, “Inside the Virtual Robotics Challenge: Simulating Real-Time Robotic Disaster Response,” _IEEE Transactions on Automation Science and Engineering_ , vol. 12, no. 2, pp. 494–506, 2015.


# Decomposition of integrally closed ideals in Arf rings

Ryotaro Isobe  Department of Mathematics and Informatics, Graduate School of
Science, Chiba University, Yayoi-cho 1-33, Inage-ku, Chiba, 263-8522, Japan
<EMAIL_ADDRESS>
###### Abstract.

This study investigates the structure of Arf rings. From the perspective of
ring extensions, a decomposition of integrally closed ideals is given. Using
this, we present a kind of their prime ideal decomposition in Arf rings, and
determine their structure in the case where both $R$ and the integral closure
$\overline{R}$ are local rings.

2020 Mathematics Subject Classification. 13A15, 13B22, 13B30, 13H10.

Key words and phrases. Arf ring, integrally closed ring, integrally closed
ideal, stable ideal

The author was supported by JSPS KAKENHI Grant Number JP20J10517.

##  1\. Introduction

The purpose of this paper is to give a decomposition of integrally closed
ideals that extends the property of discrete valuation rings to Arf rings.

In 1971, J. Lipman introduced the notion of Arf rings for Cohen-Macaulay semi-
local rings $R$ satisfying that every localization $R_{M}$ at a maximal ideal
$M$ is dimension one. Arf rings were originally studied in the classification
of certain singular points of plane curves by C. Arf [1], and Lipman
generalized them by extracting the essence of the rings. A typical example of
an Arf ring is a Cohen-Macaulay local ring of dimension one with multiplicity
at most two [6, Example, page 664]. Using this notion, it was proved that if
$R$ is a one-dimensional complete Noetherian local domain with an
algebraically closed residue field of characteristic zero and if $R$ is
saturated in the sense of O. Zariski [9], then $R$ has minimal multiplicity
(i.e., the embedding dimension of $R$ equals the multiplicity of $R$). This
result depends on the fact that such a ring is an Arf ring. In [6], Arf rings
are characterized in terms of the stability of integrally closed open ideals
and the behavior of the blow-ups ([6, Theorem 2.2]), which in turn tells us
that every Arf local ring has minimal multiplicity.

Additionally, the Arf property is strongly related to the strict closedness of
rings, which was given in the same paper [6]. For the sake of simplicity, let
$R$ be a Cohen-Macaulay local ring of dimension one. As is mentioned in [6],
it was conjectured that $R$ is an Arf ring if and only if $R=R^{*}$, where
$R^{*}$ is an intermediate ring between $R$ and the integral closure
$\overline{R}$, the strict closure of $R$, consisting of those elements
$\alpha$ in $\overline{R}$ such that $\alpha\otimes 1=1\otimes\alpha$ in
$\overline{R}\otimes_{R}\overline{R}$. This conjecture was solved in [6] when
$R$ contains a field ([6, Proposition 4.5, Theorem 4.6]), and was settled in
[3] for its general case ([3, Theorem 4.4]). The core of the theory is that
the ring structure is explored in connection with the behavior of ring
extensions. The reader may consult with [6, 8, 2, 4, 3] about further study of
Arf rings and strictly closed rings.

Recently, E. Celikbas, O. Celikbas, C. Ciupercă, N. Endo, S. Goto, this
author, and N. Matsuoka [3] introduced the notion of weakly Arf rings by
weakening the defining conditions of Arf rings, and extended the theory over
arbitrary commutative rings. It is known by [3, Corollary 4.6] that if $R$ is
a Noetherian ring that satisfies the Serre’s $(S_{2})$ condition and ${\rm
ht}_{R}M\geq 2$ for every $M\in\operatorname{Max}R$, then $R$ is a weakly Arf
ring if and only if $R_{\mathfrak{p}}$ is an Arf ring for every
$\mathfrak{p}\in\operatorname{Spec}R$ with ${\rm ht}_{R}\mathfrak{p}=1$, which
is also equivalent to $R=R^{*}$. Thus, in this assumption, because
$R=\overline{R}$ if and only if $R_{\mathfrak{p}}$ is a discrete valuation
ring (DVR) for every $\mathfrak{p}\in\operatorname{Spec}R$ with ${\rm
ht}_{R}\mathfrak{p}=1$ (i.e. $R$ is normal), we can develop the theory of
weakly Arf rings parallel to that of integrally closed rings by replacing a
DVR with an Arf ring, and the integral closure $\overline{R}$ with the strict
closure $R^{*}$. Hence, in this study, to build the foundation for this
theory, we explore the structure of Arf rings compared with the structure of
DVRs. The main result of this paper is stated as follows:

######  Theorem 1.1 (Corollary 4.8).

Let $R$ be an Arf ring, and let $I$ be an integrally closed ideal in $R$ that
contains a non-zerodivisor on $R$. Then, we can construct a certain tower
$R=R_{(I,0)}\subseteq R_{(I,1)}\subseteq\cdots\subseteq R_{(I,n)}$ of Arf
rings in $\overline{R}$ and an integrally closed ideal $I_{i}$ in $R_{(I,i)}$
for each $0\leq i\leq n$, such that
$I=\sqrt{I_{0}}\sqrt{I_{1}}\cdots\sqrt{I_{n}}$, where $I_{0}=I$.

If $I\neq R$, then we can choose $n\geq 0$ such that
$I=\sqrt{I_{0}}\sqrt{I_{1}}\cdots\sqrt{I_{n}}$ and
$\sqrt{I_{i}}=\prod_{\mathfrak{p}\in V(I_{i})}\mathfrak{p}$ for each $0\leq
i\leq n$. Therefore, corresponding to the fact that every non-zero ideal in a
DVR is the power of the maximal ideal, $I$ can be decompose into the products
of maximal ideals in rings $R$, $R_{(I,1)},R_{(I,2)},\cdots,R_{(I,n)}$.

We now explain the organization of this paper. In Section 2, based on [6], we
introduce the definition and basic properties of Arf rings, which we
subsequently need. Section 3 provides the key property in this study regarding
elements in the set $\mathcal{X}_{R}$ of integrally closed ideals in $R$ that
contain a non-zerodivisor on $R$. In Section 4, we prove the main result of
this paper. In Sections 5, we study Corollary 4.8 in detail. This section
studies the case where $R$ and $\overline{R}$ are local rings, while
introducing some examples.

Throughout this paper, unless otherwise specified, let $R$ be an arbitrary
commutative ring, let $W(R)$ be the set of non-zerodivisors on $R$, and let
$\mathcal{F}_{R}$ be the set of open ideals in $R$, that is, the ideals of $R$
that contain a non-zerodivisor on $R$. For an ideal $I$ in $R$, $\overline{I}$
denotes the integral closure of $I$ in $R$, and set
$\mathcal{X}_{R}=\\{I\in\mathcal{F}_{R}\mid\overline{I}=I\\}$. We set
$X:Y=\\{a\in\mathrm{Q}(R)\mid aY\subseteq X\\}$ for $R$-submodules $X$ and $Y$
of the total ring of fractions $\mathrm{Q}(R)$.

When $R$ is a Noetherian local ring with the maximal ideal $\mathfrak{m}$, let
$v(R)$ (resp. $\mathrm{e}(R)$) denote the embedding dimension of $R$ (resp.
the multiplicity of $R$ with respect to $\mathfrak{m}$).

##  2\. Arf rings

In this section, we introduce the definition and basic properties of Arf
rings, based on [6]. For an arbitrary commutative ring $R$, let $W(R)$ be the
set of non-zerodivisors on $R$. We denote by $\mathcal{F}_{R}$ the set of
ideals in $R$ that contain a non-zerodivisor on $R$.

First, we define the algebra $R^{I}$ for each $I\in\mathcal{F}_{R}$. Let
$I\in\mathcal{F}_{R}$. We consider the tower of $R$-algebras as follows:

$R\subseteq I:I\subseteq I^{2}:I^{2}\subseteq\cdots\subseteq
I^{n}:I^{n}\subseteq\cdots\subseteq\mathrm{Q}(R).$

We set $R^{I}=\bigcup_{n\geq 0}[I^{n}:I^{n}]$. Then, $R^{I}$ is an
intermediate ring between $R$ and $\mathrm{Q}(R)$. If $a\in I$ is a reduction
of $I$, that is, $I^{r+1}=aI^{r}$ for some $r\geq 0$, then $R^{I}=I^{n}:I^{n}$
for any $n\geq r$ and we have

$R^{I}=R\left[\tfrac{I}{a}\right]=\frac{I^{r}}{a^{r}},\ \text{where}\
\frac{I}{a}=\\{\frac{x}{a}\mid x\in I\\}\subseteq\mathrm{Q}(R).$

In particular, the following holds true.

######  Lemma 2.1.

Let $I\in\mathcal{F}_{R}$. Suppose that there exists $a\in I$ and $r\geq 0$
such that $I^{r+1}=aI^{r}$. Then, the following conditions are equivalent:

  1. $(1)$

$R^{I}=I:I.$

  2. $(2)$

$I:I=\frac{I}{a}.$

  3. $(3)$

$I^{2}=aI.$

Therefore, condition $(3)$ is independent of the choice of reductions $a\in
I$. An ideal $I\in\mathcal{F}_{R}$ that satisfies condition $(3)$ is called a
stable ideal.

###### Proof.

The implication $(3)\Rightarrow(1)$ is true. Let $A=I:I$. The inclusion
$A\subseteq\frac{I}{a}$ always holds.

$(1)\Rightarrow(2)$ Because $R^{I}=A\subseteq\frac{I}{a}\subseteq
R\left[\frac{I}{a}\right]=R^{I}$, we have $A=\frac{I}{a}$.

$(2)\Rightarrow(3)$ Because $I=IA=\frac{I^{2}}{a}$, we have $I^{2}=aI$. ∎

In what follows, unless otherwise specified, we assume that $R$ satisfies the
condition $(A)$.

  1. $(A)$

$R$ is a Cohen-Macaulay semi-local ring of dimension one with $\dim R_{M}=1$
for every $M\in\operatorname{Max}R$.

Under this assumption, the notion of Arf rings is defined as follows. We set
$\mathcal{X}_{R}=\\{I\in\mathcal{F}_{R}\mid\overline{I}=I\\}$.

######  Definition 2.2 ([6]).

$R$ is called an Arf ring if the following conditions hold:

  1. $(1)$

For every $I\in\mathcal{X}_{R}$, there exists an element $a\in I$ such that
$I=\overline{aR}$, that is, $I^{n+1}=aI^{n}$ for some $n\geq 0$.

  2. $(2)$

If $x,y,z\in R$ such that $x\in W(R)$ and
$\frac{y}{x},\frac{z}{x}\in\overline{R}$, then $\frac{yz}{x}\in R$.

Arf rings are characterized in terms of the stability of the integrally closed
ideals in $\mathcal{X}_{R}$.

######  Theorem 2.3 ([6, Theorem 2.2]).

The following conditions are equivalent:

  1. $(1)$

$R$ is an Arf ring.

  2. $(2)$

For every $I\in\mathcal{X}_{R}$, there exists $a\in I$ such that $I^{2}=aI$.

For a Noetherian local ring $R$, $v(R)$ denotes the embedding dimension of
$R$, and $\mathrm{e}(R)$ denotes the multiplicity of $R$ with respect to the
maximal ideal. When $R$ is an Arf ring, the equation
$v(R_{M})=\mathrm{e}(R_{M})$ holds for every $M\in\operatorname{Max}R$ (i.e.,
$R_{M}$ has minimal multiplicity), because $M^{2}=aM$ for some $a\in M$. In
contrast, even if $R_{M}$ has minimal multiplicity for every
$M\in\operatorname{Max}R$, $R$ is not necessarily an Arf ring.

The structure of $R^{I}$ plays an important role in understanding the
structure and properties of an Arf ring $R$. Let us begin with the following:

######  Lemma 2.4 (c.f. [6, Lemma 2.3]).

Let $R$ be an arbitrary commutative ring and let $I\in\mathcal{X}_{R}$.
Suppose that there exists $a\in I$ such that $I=\overline{aR}$ and $I^{2}=aI$.
We set $A=I:I$. Then, we have

$\mathcal{X}_{A}=\\{\frac{\mathfrak{a}}{a}\mid\mathfrak{a}\in\mathcal{X}_{R},\
\mathfrak{a}\subseteq I\\}.$

###### Proof.

Suppose that $\mathfrak{a}\in\mathcal{X}_{R}$ and $\mathfrak{a}\subseteq I$.
We set $\mathfrak{b}=\frac{\mathfrak{a}}{a}$. First, we show that
$\mathfrak{b}\in\mathcal{F}_{A}$. Because $I=\overline{aR}=a\overline{R}\cap
R$, we have $A=\frac{I}{a}\subseteq\overline{R}$. Additionally, we have

$\mathfrak{a}A=\frac{\mathfrak{a}I}{a}\subseteq\frac{I^{2}}{a}=I\subseteq R.$

Then, we get

$\mathfrak{a}A\subseteq\mathfrak{a}\overline{R}\cap
R\subseteq\overline{\mathfrak{a}\overline{R}}\cap
R=\overline{\mathfrak{a}}=\mathfrak{a},$

which implies that $\mathfrak{a}A=\mathfrak{a}$. Therefore, we also have
$\mathfrak{b}A=\mathfrak{b}$, so that $\mathfrak{b}$ is an ideal of $A$.
$\mathfrak{a}\subseteq\mathfrak{b}$ implies that
$\mathfrak{b}\in\mathcal{F}_{A}$. Second, we show that
$\mathfrak{b}\in\mathcal{X}_{A}$. Take
$\alpha\in\overline{\mathfrak{b}}\subseteq A$. Then

$\alpha^{n}+b_{1}\alpha^{n-1}+\cdots+b_{n-1}\alpha+b_{n}=0$

for some $n\geq 1$ and $b_{i}\in\mathfrak{b}^{i}$ $(1\leq i\leq n)$. Because
$a\alpha\in a\mathfrak{b}=\mathfrak{a}\subseteq R$, we obtain

$(a\alpha)^{n}+ab_{1}(a\alpha)^{n-1}+\cdots+a^{n-1}b_{n-1}(a\alpha)+a^{n}b_{n}=0\
\ \text{and}$ $a^{i}b_{i}\in a^{i}\mathfrak{b}^{i}=\mathfrak{a}^{i}\ \ (1\leq
i\leq n),$

which implies that $a\alpha\in\overline{\mathfrak{a}}=\mathfrak{a}$.
Therefore, $\alpha\in\frac{\mathfrak{a}}{a}=\mathfrak{b}$, which yields
$\overline{\mathfrak{b}}=\mathfrak{b}$.

Conversely, let $\mathfrak{b}\in\mathcal{X}_{A}$ and set
$\mathfrak{a}=a\mathfrak{b}$. Then, $\mathfrak{a}\in\mathcal{F}_{R}$ and
$\mathfrak{a}\subseteq I$. For $x\in\overline{\mathfrak{a}}$, we take the
equation

$x^{n}+c_{1}x^{n-1}+\cdots+c_{n-1}x+c_{n}=0$

where $n\geq 1$ and $c_{i}\in\mathfrak{a}^{i}$ $(1\leq i\leq n)$. Then,
because $x\in\overline{\mathfrak{a}}\subseteq\overline{I}=I$, we get
$\frac{x}{a}\in\frac{I}{a}=A$ and

$\left(\frac{x}{a}\right)^{n}+\left(\frac{c_{1}}{a}\right)\left(\frac{x}{a}\right)^{n-1}+\cdots+\left(\frac{c_{n-1}}{a^{n-1}}\right)\left(\frac{x}{a}\right)+\left(\frac{c_{n}}{a^{n}}\right)=0,$

where $\frac{c_{i}}{a^{i}}\in\mathfrak{b}^{i}$ $(1\leq i\leq n)$, which
implies that $\frac{x}{a}\in\overline{\mathfrak{b}}=\mathfrak{b}$. Therefore,
we have $x\in a\mathfrak{b}=\mathfrak{a}$, so that
$\mathfrak{a}\in\mathcal{X}_{R}$, as desired. ∎

When $R$ satisfies condition $(A)$, $R^{I}$ also satisfies the condition for
every $I\in\mathcal{X}_{R}$. Therefore, by using Lemma 2.1, Theorem 2.3, and
Lemma 2.4, we obtain the following:

######  Corollary 2.5.

If $R$ is an Arf ring, $R^{I}(=I:I)$ is also an Arf ring for every
$I\in\mathcal{X}_{R}$.

######  Corollary 2.6.

If $R$ is an Arf ring, $v([R^{I}]_{M})=\mathrm{e}([R^{I}]_{M})$ holds for
every $I\in\mathcal{X}_{R}$ and $M\in\operatorname{Max}R^{I}$.

######  Remark 2.7.

$R^{I}$ is not necessarily a local ring, even if $R$ is a local ring.

We denote by $\operatorname{J}(R)$ as the Jacobson radical of $R$. Then,
$\operatorname{J}(R)\in\mathcal{X}_{R}$. Here, we set
$R_{1}=R^{\operatorname{J}(R)}$ and define recursively

$R_{n}=$ $\begin{cases}\ R&\ \ (n=0)\\\ \ [R_{n-1}]_{1}&\ \ (n>0)\\\
\end{cases}$

for each $n\geq 0$. Then, we get the tower

$R=R_{0}\subseteq R_{1}\subseteq\cdots\subseteq
R_{n}\subseteq\cdots\subseteq\overline{R}$

of rings, and every $R_{n}$ satisfies condition $(A)$. Moreover, every $R_{n}$
is an Arf ring if so is $R$.

By using this tower of rings, we get another characterization of Arf rings.

######  Theorem 2.8 ([6, Theorem 2.2]).

The following conditions are equivalent:

  1. $(1)$

$R$ is an Arf ring.

  2. $(2)$

$v([R_{n}]_{M})=\mathrm{e}([R_{n}]_{M})$ holds for every $n\geq 0$ and
$M\in\operatorname{Max}R_{n}$.

When this is the case, $\overline{R}=\underset{n\geq 0}{\bigcup}R_{n}$.

######  Example 2.9 ([6, Example, P. 664]).

Let $R$ be a Cohen-Macaulay local ring with $\mathrm{e}(R)\leq 2$. Then,
$v([R_{n}]_{M})=\mathrm{e}([R_{n}]_{M})\leq 2$ holds for every $n\geq 0$ and
$M\in\operatorname{Max}R_{n}$. Therefore, $R$ is an Arf ring according to
Theorem 2.8.

##  3\. Integrally closed ideals

The purpose of this section is to show the key properties of ideals in
$\mathcal{X}_{R}$, which we need in this study. Throughout this section, let
$R$ be a Noetherian ring. We begin with the following:

######  Lemma 3.1.

$I:I=(R:I)\cap\overline{R}$ for every $I\in\mathcal{X}_{R}$.

###### Proof.

It is sufficient to show that $I:I\supseteq(R:I)\cap\overline{R}$. Let
$\varphi\in\overline{R}$ and $\varphi\cdot I\subseteq R$. Then, we have

$a\varphi\in a\overline{R}\cap R=\overline{aR}\subseteq\overline{I}=I$

for any $a\in I\cap W(R)$. Because $I$ is generated by non-zerodivisors on
$R$, we obtain $\varphi\cdot I\subseteq I$, which yields $\varphi\in I:I$. ∎

######  Proposition 3.2.

Let $I,J\in\mathcal{X}_{R}$. If $I\subseteq J$, then $I:I\supseteq J:J$, and
$I$ is an ideal of the ring $J:J$.

###### Proof.

The inclusion $I\subseteq J$ implies $R:I\supseteq R:J$, so that

$I:I=(R:I)\cap\overline{R}\supseteq(R:J)\cap\overline{R}=J:J$

from Lemma 3.1. Because $I$ is an ideal of $I:I$ and $I:I\supseteq J:J$, $I$
is also an ideal of $J:J$. ∎

The following theorem is the key to our decomposition:

######  Theorem 3.3.

Let $I,J\in\mathcal{X}_{R}$ and suppose that $I\subseteq J$. We set $B=J:J$.
Then, the following assertions hold true:

  1. $(1)$

$I:J\in\mathcal{X}_{B}$.

  2. $(2)$

Suppose that there exists $b\in J$ such that $J^{2}=bJ$. Then,
$I:J=\frac{I}{b}$. Therefore, we have $I=J\cdot(I:J)$ and $I:J\cong I$ as
$B$-modules.

###### Proof.

$(1)$ Note that $I:J\subseteq J:J=B$ and

$J\cdot[B\cdot(I:J)]=JB\cdot(I:J)=J\cdot(I:J)\subseteq I.$

Thus, $I:J$ is an ideal of $B$. Because $I\subseteq I:J$, we have
$I:J\in\mathcal{F}_{B}$.

Next, we show that $\overline{I:J}=I:J$ in $B$. This follows from the proof of
[7, Remark 1.3.2 (2)]. In fact, let $\alpha\in\overline{I:J}\subseteq B$. We
take the equation

$\alpha^{n}+a_{1}\alpha^{n-1}+\cdots+a_{n-1}\alpha+a_{n}=0,$

where $n\geq 1$ and $a_{i}\in(I:J)^{i}$ $(1\leq i\leq n)$. For any $x\in J$,
we have $x\alpha\in JB=J\subseteq R$,

$(x\alpha)^{n}+xa_{1}(x\alpha)^{n-1}+\cdots+x^{n-1}a_{n-1}(x\alpha)+x^{n}a_{n}=0\
\ \text{and}$ $x^{i}a_{i}\in x^{i}\cdot(I:J)^{i}\subseteq I^{i}\ \ (1\leq
i\leq n),$

so that $x\alpha\in\overline{I}=I$. This implies that $\alpha\cdot J\subseteq
I$, which yields $\alpha\in I:J$ and $\overline{I:J}=I:J$, as desired.

$(2)$ Suppose that $J^{2}=bJ$ for some $b\in J$. Then, $J=bB$, and the
inclusion $I:J\subseteq\frac{I}{b}$ holds. Additionally, because $I$ is an
ideal of $B$ by Proposition 3.2, we have

$J\cdot\frac{I}{b}=bB\cdot\frac{I}{b}=IB=I,$

which yields $\frac{I}{b}=I:J$ and $I=J\cdot(I:J)$. We also have
$I:J=\frac{I}{b}\cong I$ as $B$-modules. ∎

For any $I\in\mathcal{F}_{R}$, we have $\sqrt{I}\in\mathcal{X}_{R}$, and the
following holds true:

######  Proposition 3.4.

Let $I\in\mathcal{X}_{R}$. Suppose that $I\neq R$, and there exist $a,b\in
W(R)$ such that $I=\overline{aR}$ and $\sqrt{I}=\overline{bR}$. We set
${\mathrm{H}}_{1}(R)=\\{\mathfrak{p}\in\operatorname{Spec}R\mid{\rm
ht}_{R}\mathfrak{p}=1\\}$. If $R$ satisfies $(S_{2})$ and
$\operatorname{Ass}_{R}R/I\subseteq{\mathrm{H}}_{1}(R)$, then we have
$\sqrt{I}=\underset{\mathfrak{p}\in
V(I)\cap{\mathrm{H}}_{1}(R)}{\bigcap}\mathfrak{p}$, and the following
conditions are equivalent:

  1. $(1)$

$I=aR$.

  2. $(2)$

$\sqrt{I}=bR$.

  3. $(3)$

$R_{\mathfrak{p}}$ is a DVR for any
$\mathfrak{p}\in\operatorname{Ass}_{R}R/I$.

###### Proof.

Because $\operatorname{Ass}_{R}R/I\subseteq{\mathrm{H}}_{1}(R)$, we have
$\operatorname{Ass}_{R}R/I=V(I)\cap{\mathrm{H}}_{1}(R)$. Thus,
$\sqrt{I}=\underset{\mathfrak{p}\in
V(I)\cap{\mathrm{H}}_{1}(R)}{\bigcap}\mathfrak{p}$. By using [5, Theorem 1.1],
it is sufficient to show that
$\operatorname{Ass}_{R}R/aR=\operatorname{Ass}_{R}R/I=\operatorname{Ass}_{R}R/bR$.
In fact, let $\mathfrak{p}\in\operatorname{Ass}_{R}R/aR$. Because
$\operatorname{depth}R_{\mathfrak{p}}=1$ and $R$ satisfies $(S_{2})$, we have
$\mathfrak{p}\in{\mathrm{H}}_{1}(R)$ and

$\operatorname{Ass}_{R}R/aR=V(aR)\cap{\mathrm{H}}_{1}(R)=V(I)\cap{\mathrm{H}}_{1}(R)=\operatorname{Ass}_{R}R/I.$

Similarly, we have

$\operatorname{Ass}_{R}R/bR=\operatorname{Ass}_{R}R/\sqrt{I}=V(\sqrt{I})\cap{\mathrm{H}}_{1}(R)=V(I)\cap{\mathrm{H}}_{1}(R),$

which yields
$\operatorname{Ass}_{R}R/aR=\operatorname{Ass}_{R}R/I=\operatorname{Ass}_{R}R/bR$,
as desired. ∎

We will use this proposition in Section 4.

##  4\. Main result: Equation $I=\sqrt{I_{0}}\sqrt{I_{1}}\cdots\sqrt{I_{n}}$

In the following sections, we assume that $R$ is an Arf ring. We fix
$I\in\mathcal{X}_{R}$ and set $B=I:I$. Then, if $I\neq R$, we can write

$\sqrt{I}=\underset{\mathfrak{p}\in
V(I)}{\bigcap}\mathfrak{p}=\underset{\mathfrak{p}\in
V(I)}{\prod}\mathfrak{p}.$

######  Definition 4.1.

We set

$R_{(I,1)}=\sqrt{I}:\sqrt{I}~{}~{}\text{and}~{}~{}I_{1}=I:\sqrt{I}.$

By Corollary 2.5 and Theorem 3.3, $R_{(I,1)}$ is also an Arf ring,
$I_{1}\in\mathcal{X}_{R_{(I,1)}}$, and $I=\sqrt{I}\cdot I_{1}$. For each
$n\geq 0$, we define recursively

$R_{(I,n)}=\begin{cases}R&(n=0)\\\
\sqrt{I_{n-1}}:\sqrt{I_{n-1}}=[R_{(I,n-1)}]_{(I_{n-1},1)}&(n>0),\end{cases}$
$I_{n}=\begin{cases}I&(n=0)\\\
I_{n-1}:\sqrt{I_{n-1}}=[I_{n-1}]_{1}&(n>0).\end{cases}$

Every $R_{(I,n)}$ is also an Arf ring, and we have the tower

$R=R_{(I,0)}\subseteq R_{(I,1)}\subseteq\cdots\subseteq
R_{(I,n)}\subseteq\cdots\subseteq\overline{R}$

of Arf rings. We also have $I_{n}\in\mathcal{X}_{R_{(I,n)}}$ and

$I_{n}=\sqrt{I_{n}}\cdot I_{n+1}.$

Note that $I_{n}$ is also an ideal in $R_{(I,n+1)}$, $I_{n}\subseteq I_{n+1}$,
and $I_{n}\cong I_{n+1}$ as $R_{(I,n+1)}$-modules.

Summing the above discussion, we have the following:

######  Theorem 4.2.

$I=\left[\sqrt{I_{0}}\sqrt{I_{1}}\cdots\sqrt{I_{n}}\right]\cdot I_{n+1}$ for
any $n\geq 0$.

To delete $I_{n+1}$ in the equation, we require the following works.

######  Lemma 4.3.

$I_{n}:I_{n}=I_{n+1}:I_{n+1}$ and $R_{(I,n)}\subseteq B$ for any $n\geq 0$.

###### Proof.

For any $n\geq 0$, because $I_{n}\cong I_{n+1}$ as $R_{(I,n+1)}$-modules, we
have $I_{n}:I_{n}=I_{n+1}:I_{n+1}$. When $n=0$, it is clear that
$R_{(I,0)}=R\subseteq B$. If $n>0$, because $I_{n-1}\subseteq\sqrt{I_{n-1}}$
in $R_{(I,n-1)}$, we obtain

$R_{(I,n)}=\sqrt{I_{n-1}}:\sqrt{I_{n-1}}\subseteq
I_{n-1}:I_{n-1}=\cdots=I_{0}:I_{0}=B$

by Proposition 3.2. ∎

######  Proposition 4.4.

We can choose $n\geq 0$ such that $R_{(I,n)}=R_{(I,\ell)}$ for every $\ell\geq
n$.

###### Proof.

This follows from Lemma 4.3, because $B$ is a Noetherian $R$-module. ∎

######  Lemma 4.5.

For each $n\geq 0$, the following conditions are equivalent:

  1. $(1)$

$R_{(I,n)}=R_{(I,n+1)}$.

  2. $(2)$

$I_{n}$ is a principal ideal of $R_{(I,n)}$.

  3. $(3)$

$\sqrt{I_{n}}$ is a principal ideal of $R_{(I,n)}$.

###### Proof.

For each $n\geq 0$, we can take $a_{n}\in W(R_{(I,n)})$ such that
$\sqrt{I_{n}}=\overline{a_{n}R_{(I,n)}}$, because $R_{(I,n)}$ is an Arf ring.
Then, we have

$R_{(I,n+1)}=\sqrt{I_{n}}:\sqrt{I_{n}}=\frac{\sqrt{I_{n}}}{a_{n}}.$

Therefore, $R_{(I,n)}=R_{(I,n+1)}$ if and only if
$\sqrt{I_{n}}=a_{n}R_{(I,n)}$, which implies that $(1)\Leftrightarrow(3)$.
$(2)\Leftrightarrow(3)$ follows from Proposition 3.4. ∎

######  Proposition 4.6.

Let $n\geq 0$. If $R_{(I,n)}=R_{(I,n+1)}$, then $R_{(I,\ell)}=B$ for any
$\ell\geq n$.

###### Proof.

Suppose that $R_{(I,n)}=R_{(I,n+1)}$. Then, $I_{n}\cong
R_{(I,n)}=R_{(I,n+1)}$, because $I_{n}$ is a principal ideal of $R_{(I,n)}$ by
Lemma 4.5. Therefore, we have

$R_{(I,n)}=R_{(I,n)}:R_{(I,n)}=I_{n}:I_{n}=B.$

In contrast, because $I_{n}\cong I_{n+1}$ as $R_{(I,n+1)}$-modules, we also
have $I_{n+1}\cong R_{(I,n+1)}$ as $R_{(I,n+1)}$-modules, which implies that
$R_{(I,n+1)}=R_{(I,n+2)}$ by Lemma 4.5. Thus, we obtain
$R_{(I,\ell)}=R_{(I,n)}=B$ for all $\ell\geq n$. ∎

We then have the following:

######  Theorem 4.7.

We can choose $n\geq 0$ such that $I_{\ell}=R_{(I,\ell)}=B$ for every
$\ell\geq n$.

###### Proof.

We take $m\geq 0$ such that $R_{(I,m)}=R_{(I,m+1)}$. Then, $R_{(I,\ell)}=B$
for any $\ell\geq m$ by Proposition 4.6. Additionally, because
$I_{\ell}=\sqrt{I_{\ell}}\cdot I_{\ell+1}$, we have

$I_{m}\subseteq I_{m+1}\subseteq\cdots\subseteq
I_{\ell}\subseteq\cdots\subseteq B.$

If $I_{\ell}\subsetneq B$ for every $\ell\geq m$, we also have
$\sqrt{I_{\ell}}\subsetneq B$, so that

$I_{\ell}=\sqrt{I_{\ell}}\cdot I_{\ell+1}\subsetneq I_{\ell+1}.$

This is impossible, because $B$ is a Noetherian ring. ∎

Consequently, we get the following, which is the main result of this paper.

######  Corollary 4.8.

We can choose $n\geq 0$ such that
$I=\sqrt{I_{0}}\sqrt{I_{1}}\cdots\sqrt{I_{n}}$.

###### Proof.

We choose $n\geq 0$ such that $I_{\ell}=R_{(I,\ell)}=B$ for every $\ell\geq
n$. Then, because $\sqrt{I_{n}}$ is an ideal of $B$ and $I_{n+1}=B$, we have

$I=\left[\sqrt{I_{0}}\sqrt{I_{1}}\cdots\sqrt{I_{n}}\right]\cdot
I_{n+1}=\left[\sqrt{I_{0}}\sqrt{I_{1}}\cdots\sqrt{I_{n}}\right]\cdot
B=\sqrt{I_{0}}\sqrt{I_{1}}\cdots\sqrt{I_{n}}.$

∎

######  Remark 4.9.

Suppose $I\neq R$. We choose $n\geq 0$ such that $I_{\ell}=R_{(I,\ell)}=B$ for
every $\ell\geq n$ and set $\mathcal{S}=\\{i\geq 0\mid I_{i}\subsetneq
R_{(I,i)}\\}$. Then, $i<n$ holds for any $i\in\mathcal{S}$, and we have

$\mathcal{S}=\\{0,1,\ldots,q\\}$

where $q=\max\mathcal{S}$. Hence, we have $\sqrt{I_{i}}\subsetneq R_{(I,i)}$
and

$\sqrt{I_{i}}=\underset{\mathfrak{p}\in V(I_{i})}{\prod}\mathfrak{p}$

for any $0\leq i\leq q$. Therefore, corresponding to the fact that every non-
zero ideal in a DVR is the power of the maximal ideal, every ideal in
$\mathcal{X}_{R}$ can be described as the products of maximal ideals in rings
$R$, $R_{(I,1)},R_{(I,2)},\cdots,R_{(I,q)}$.

##  5\. Case where $R$ and $\overline{R}$ are local rings

In this section, we study in detail the local case of Corollary 4.8. We assume
that $(R,\mathfrak{m})$ is an Arf local ring, and the integral closure
$\overline{R}$ is also a local ring. For each $i\geq 0$, we set

$A_{i}=\begin{cases}R&\ \ (i=0)\\\ A_{i-1}^{{\mathfrak{m}}_{i-1}}&\ \
(i>0)\end{cases}$

where ${\mathfrak{m}}_{i}=\operatorname{J}(A_{i})$ and
${\mathfrak{m}}_{0}={\mathfrak{m}}$. Then, every $A_{i}$ is also a local ring
with the maximal ideal $\mathfrak{m}_{i}$.

Let $I\in\mathcal{X}_{R}$ and assume that $I\neq R$. For simplicity, we write
$R_{(I,i)}=R_{i}$. Then, because $\sqrt{I}=\mathfrak{m}$, we have

$R_{1}=\mathfrak{m}:\mathfrak{m}=A_{1}.$

We choose $q\geq 0$ such that $\mathcal{S}=\\{i\geq 0\mid I_{i}\subsetneq
R_{i}\\}=\\{0,1,\ldots,q\\}$. Then, we also have the following:

######  Lemma 5.1.

$R_{i}=A_{i}$ for any $i\in\mathcal{S}$.

###### Proof.

Because $\overline{R}$ is a local ring, $R_{i}$ is also a local ring for every
$i\geq 0$. Therefore, for each $1\leq i\leq q$, we have

$V(I_{i})=\operatorname{Max}R_{i}=\\{\mathfrak{m}_{i}\\},$

which yields $R_{i}=\mathfrak{m}_{i-1}:\mathfrak{m}_{i-1}=A_{i}$. ∎

Therefore, $\sqrt{I_{i}}=\mathfrak{m}_{i}\in\operatorname{Max}R_{i}$ for each
$0\leq i\leq q$ and $I_{\ell}=R_{\ell}$ for any $\ell\geq q+1$. By combining
this with Corollary 4.8, we immediately obtain the following:

######  Theorem 5.2.

$I=\mathfrak{m}_{0}\mathfrak{m}_{1}\cdots\mathfrak{m}_{q}$.

######  Remark 5.3.

The decomposition of Theorem 5.2 can be considered to be a generalization of
the properties of DVRs for integrally closed ideals in Arf rings. Indeed,
suppose that $R$ is integrally closed. Then, with our assumption, $R$ is a DVR
(of course, an Arf ring). It is well known that every nonzero ideal $I$ can be
written as $I=\mathfrak{m}^{q+1}$, where $q=\max\mathcal{S}$. This is the case
where $\mathfrak{m}=\mathfrak{m}_{0}=\mathfrak{m}_{1}=\cdots=\mathfrak{m}_{q}$
in Theorem 5.2.

We assume that $\overline{R}$ is a finitely generated $R$-module. Then,
$\overline{R}$ is a DVR. Because $R$ is an Arf ring, we have

$\underset{i\geq 0}{\bigcup}A_{i}=\overline{R}$

using Theorem 2.8. Therefore, there exists an integer $N\geq 0$ such that

$R=A_{0}\subseteq A_{1}\subseteq\cdots\subseteq A_{N}=\overline{R}.$

Let $I\in\mathcal{X}_{R}$ and assume that $I\neq R$. We set
$q=\max\mathcal{S}$. If $q\leq N$, then
$I=\mathfrak{m}_{0}\mathfrak{m}_{1}\cdots\mathfrak{m}_{q}$, so that there are
only finite possibilities for $I$.

Suppose that $q>N$. Then, $R_{i}=A_{i}=A_{N}=\overline{R}$ for any $N\leq
i\leq q$, so that

$B=I:I=R_{q}=\overline{R}.$

Therefore, because $I$ is also an ideal of $\overline{R}$, we have

$I=\mathfrak{m}_{0}\cdots\mathfrak{m}_{N-1}\mathfrak{m}_{N}^{q+1-N}=a\overline{R}$

for some $a\in I$.

Consequently, we can completely describe every $I\in\mathcal{X}_{R}$ when
$\overline{R}$ is a finitely generated $R$-module. We obtain the following
corollary:

######  Corollary 5.4.

Suppose that $\overline{R}$ is a finitely generated $R$-module. Then, the set

$\\{I\in\mathcal{X}_{R}\mid I~{}~{}\text{is not an ideal
of}~{}~{}\overline{R}\\}$

is finite.

Closing this paper, let us note an example:

######  Example 5.5.

Let $V=k[[t]]$ be the formal power-series ring over a field $k$, and let
$R=k[[t^{3},t^{11},t^{13}]]$. Then, $R$ is an Arf ring, and

$R=A_{0}\subsetneq A_{1}=k[[t^{3},t^{8},t^{10}]]\subsetneq
A_{2}=k[[t^{3},t^{5},t^{7}]]\subsetneq A_{3}=k[[t^{2},t^{3}]]\subsetneq
A_{4}=V.$

Let $\mathfrak{m}_{i}$ be the maximal ideal of $A_{i}$, and let
$\mathfrak{m}=\mathfrak{m}_{0}$. We set $I=\overline{t^{6}R}$. Then,
$I=(t^{6},t^{11},t^{13})$, and we have

$\sqrt{I}=\mathfrak{m}=(t^{3},t^{11},t^{13}),$
$I_{1}=I:\mathfrak{m}=\frac{I}{t^{3}}=_{R}\langle
t^{3},t^{8},t^{10}\rangle=_{R_{1}}\langle
t^{3},t^{8},t^{10}\rangle=\mathfrak{m}_{1}=\sqrt{I_{1}},$
$R_{1}=\sqrt{I}:\sqrt{I}=\mathfrak{m}:\mathfrak{m}=A_{1},$
$I_{2}=\mathfrak{m}_{1}:\mathfrak{m}_{1}=\sqrt{I_{1}}:\sqrt{I_{1}}=R_{2}=A_{2},$

where ${}_{R}\langle t^{3},t^{8},t^{10}\rangle$ denotes an $R$-module
generated by $t^{3},t^{8},t^{10}$. This means $q=1$. Because $I_{2}=R_{2}$, we
also have

$R_{2}=R_{3}=\cdots=B~{}(=I:I),$

and

$I=(t^{6},t^{11},t^{13})=_{R}\langle
t^{3},t^{11},t^{13}\rangle\cdot_{R}\langle
t^{3},t^{8},t^{10}\rangle=_{R}\langle
t^{3},t^{11},t^{13}\rangle\cdot_{R_{1}}\langle
t^{3},t^{8},t^{10}\rangle=\mathfrak{m}_{0}\mathfrak{m}_{1}.$

######  Acknowledgments.

The author is grateful to Professor S. Goto for his helpful advice and useful
comments.

## References

  * [1] C. Arf, Une interprétation algébrique de la suite des ordres de multiplicité d’une branche algébrique, Proc. London Math. Soc., Series 2, 50 (1949) 256–287.
  * [2] F. Arslan and N. Sahin, A fast algorithm for constructing Arf closure and a conjecture. J. Algebra 417 (2014), 148–160.
  * [3] E. Celikbas, O. Celikbas, C. Ciuperc, N. Endo, S. Goto, R. Isobe, and N. Matsuoka, Weakly Arf rings, arXiv: 2006.01330, (2020).
  * [4] E. Celikbas, O. Celikbas, S. Goto, and N. Taniguchi, Generalized Gorenstein Arf rings, Ark. Mat., 57 (2019), 35–53.
  * [5] S. Goto, Integral closedness of complete-intersection ideals, J. Algebra, 108 (1987), 151–160.
  * [6] J. Lipman, Stable ideals and Arf rings, Amer. J. Math., 93 (1971), 649–685.
  * [7] I. Swanson and C. Huneke, Integral Closure of Ideals, Rings, and Modules, Cambridge University Press, 2006.
  * [8] J. C. Rosales, P. A. García-Sánchez, J. I. García-García, M. B. Branco, Arf numerical semigroups. J. Algebra, 276 (2004), no. 1, 3–12.
  * [9] O. Zariski, Studies in equisingularity. III. Saturation of local rings and equisingularity, Amer. J. Math., 90 (1968), 961–1023.