Captain

Online Adaptation for Autonomous Unmanned Systems Driven by Requirements Satisfaction Model

Case 1 MATLAB Simulation of UAV Delivery

A. Requirements Satisfaction Modeling

Safety: The indicator to evaluate the safety requirement is the collision risk of UAV during the flight. Supposing that the obstacles detected by the UAV at time instant $k$ is $\mathcal{O}_k$, while the current state of UAV is $s_k$. Thus, the QM of safety is $\mathcal{X}_{S_{o,k}} = \frac{\left\|\boldsymbol{x}_k- \boldsymbol{x}_o\right\|_2-r_a-r_{o}}{D_o}, \forall o \in \mathcal{O}_k$. Such that the average distance between UAV and the center of obstacle reflects the safety risk. \begin{equation} \mathrm{DS}^2(\mathcal{X}_{S_{o,k}})=\left\{ \begin{aligned} &1 , & \mathcal{X}_{S_{o,k}} \geq 1 \\ &0, & \mathcal{X}_{S_{o,k}} < 0 \\ & \mathcal{X}_{S_{o,k}}, & otherwise \end{aligned} \right. \end{equation}
Privacy: Suppose the set of private regions detected by a UAV at time instant $k$ is $\mathcal{C}_k$, and the current state of UAV is $s_k$. Since the privacy measure depends on the distance between the UAV and the private region, as well as the working states of sensors, the QM of privacy is defined as $\mathcal{X}_{P_{c, k}} = 1 - \|\boldsymbol{\omega}_k\| \frac{(r_a+r_{c}+D_c) - \|\boldsymbol{x}_k- \boldsymbol{x}_c\|_2}{D_c}$, $\forall c \in \mathcal{C}_k$. We have the soft constraint satisfaction function using the formulation of $DS^2$: \begin{equation} \mathrm{DS}^2(\mathcal{X}_{P_{c,k}})=\left\{ \begin{aligned} &1, & \mathcal{X}_{P_{c,k}} \geq 1,\\ % \|\boldsymbol{x}_k- \boldsymbol{x}_c\|_2\geq r_a+r_{c}+D_c, &0, & \|\boldsymbol{x}_k- \boldsymbol{x}_c\|_2< r_a+r_{c}, \\ & \mathcal{X}_{P_{c,k}}, & otherwise \end{aligned} \right. \end{equation}
Timeliness: The total traveling time from time instant $i$ to $j$ is denoted as $\xi_{ij} = \sum_{k=i}^{j-1} \frac{\left\|\boldsymbol{x}_{k+1}-\boldsymbol{x}_k \right\|_2}{\boldsymbol{v}_k}$. The indicator of timeliness is $\mathcal{X}_{\xi} = \xi_{0T}$, the degree of satisfaction of the timeliness requirement of the whole trajectory $DS_{\xi}$ is: \begin{equation} \mathrm{DS}^1(\mathcal{X}_{\xi})=\left\{ \begin{aligned} &1 , & \mathcal{X}_{\xi} \leq \Delta_t \\ &\frac{\Delta - \mathcal{X}_{\xi}}{\Delta-\Delta_t}, & \Delta_t <\mathcal{X}_{\xi} \leq \Delta \\ &0, &\mathcal{X}_{\xi} > \Delta \end{aligned} \right. \end{equation}
Energy-saving: The average quality of the information collected during the mission is denoted as $\mathcal{X}_{\varphi} = \frac{1}{\xi_{0T}}\sum_{k=0}^{T-1}\left\|\boldsymbol{w}\right\|\tau$, the degree of satisfaction is $\mathrm{DS}_{\varphi}$ is: \begin{equation} \mathrm{DS}^2(\mathcal{X}_{\varphi})=\left\{ \begin{aligned} &1 , & \mathcal{X}_{\varphi}\geq A_t \\ &\frac{\mathcal{X}_{\varphi}-A}{A_t-A}, & A \leq \mathcal{X}_{\varphi} < A_t \\ &0, & \mathcal{X}_{\varphi} < A \end{aligned} \right. \end{equation}
Accuracy: The total energy consumption from time instant $i$ to $j$ is denoted as $e_{ij} =\sum_{k=i}^{j-1} \left\|\boldsymbol{x}_{k+1}-\boldsymbol{x}_k\right\|_2 + \eta_1 \cdot \left\| \boldsymbol{v}_{k+1}-\boldsymbol{v}_k\right\|_2 + \eta_2 \cdot \left\|\boldsymbol{w}_k\right\|\tau$. The indicator of energy consumption is $\mathcal{X}_E = e_{0T}$, the degree of satisfaction of energy requirement $\mathrm{DS}_{E}$ is: \begin{equation} \mathrm{DS}^1(\mathcal{X}_{E})=\left\{ \begin{aligned} &1 , & \mathcal{X}_E \leq E_t \\ &\frac{E-\mathcal{X}_e}{E-E_t}, & E_t < \mathcal{X}_e \leq E \\ &0, &\mathcal{X}_E > E \end{aligned} \right. \notag \end{equation}

B. Experiment Results



1. Scalability

  • Setting 1
    environment generated randomly with the scale of $10\times10\times10m$, private regions are marked as red spheres, and obstacles are marked as blue spheres.
  • Setting 2
    environment model are based on the building dataset of Portland in the USA with the scale of $500\times500\times100m$
  • Setting 3
    environment model are based on the building dataset of Portland in the USA with the scale of $1000\times1000\times100m$


Case 2 DJI Matrice 100 UAV Implementation

Experiment Setup

The vehicle hardware specifications are:

  • Vehicle Type
    DJI Matrice 100
  • Control Method
    DJI Mobile SDK
  • Sensor
    Camera: Zenmuse Z3 (resolution: $1920\times1080 \sim 4096\times 2160$, orientation angle $-90^\circ \sim 30^\circ$)
  • Laptop
    Intel(R) Core(TM) i7-7500U CPU@2.70GHz and NVIDIA GeForce 940MX
Normal Trajectory Following
  1. The UAV following the reference path with camera orientation down to the ground.
  2. The flight mission is expected to be completed with the target time ($\Delta_t$) at 24 time steps without any privacy risk.
  3. Both of the environment and UAV motions are discrete ($20\times20\times10m$), and the UAV moves at the speed of $0.5m/s$, time instant $\tau=2s$, $N=2$, $\omega \in [33.3\%, 100\%]$ , where orientation angles $-90^\circ$ (direct to ground) is represented with $\omega = 100\%$ and $30^\circ$ is $\omega = 33.3\%$.
  4. Two settings of experiments are evaluated for the approach
    • Setting 1
      The time budget ($\Delta$) is set as at 48 time steps, with the affected radius of private region is $D_c=4.5m$.
    • Setting 2
      The time budget ($\Delta$) is set as at 30 time steps, with the affected radius of private region is $D_c=4m$.
Adaptation Process of Captain with Setting 1

At the 7th time steps, the UAV detected and located the private house. With Captain the UAV analyzes whether the timeliness and privacy requirement can be satisfied.

After requirement satisfaction checking and analysis, the UAV found that those two requirements cannot be satisfied simultaneously and figured out an compromised resolution to go up, turning the orientation angle and resolution of the camera without exposing the private house.

Finally, the UAV reached the destination cost 26 time steps at the timeliness satisfaction of $DS^1(\mathcal{X}_\xi)=91.7\%$ and privacy preserving satisfaction of $DS^2(\mathcal{X}_{P})=96.6\%$.

Adaptation Process of Captain with Setting 2

At the 8th time steps, the UAV detected and located the private house. With Captain the UAV analyzes whether the timeliness and privacy requirement can be satisfied.

After requirement satisfaction checking and analysis, for the maximal requirement satisfaction, the UAV found that the timeliness requirement can be guaranteed with the compromised privacy-preservation requirement. Thus, it turned the orientation angle along the flight path when affected by the private region detected.

Finally, the UAV reached the destination cost 24 time steps at the timeliness satisfaction of $DS^1(\mathcal{X}_\xi)=100\%$ and privacy preserving satisfaction of $DS^2(\mathcal{X}_{P})=83.1\%$.

Notes
As the UAV is controlled by a customized Android application deployed on a remote controller, communication delay is taken into consideration such that the UAV will wait for the next command. In the future work, we plan to exploit the onboard SDK to save the communication time.


Supplemental Materials

For more technical and experimental details, please refer to the supplemental material below:

Supplemental Material

Reference

[1] S. Shevtsov and D. Weyns, “Keep it simplex: Satisfying multiple goals with guarantees in control-based self-adaptive systems,” in Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 2016, pp.229–241