This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Chance Constraint Predictive Control and Estimation Framework for Spacecraft Descent with Field Of View Constraints

Steven van Leeuwen Steven van Leeuwen is with the Department of Aerospace Engineering, University of Michigan- Ann Arbor, MI.
Abstract

Recent studies of optimization methods and GNC of spacecraft near small bodies focusing on descent, landing, rendezvous, etc., with key safety constraints such as line-of-sight conic zones and soft landings have shown promising results; this paper considers descent missions to an asteroid surface with a constraint that consists of an onboard camera and asteroid surface markers while using a stochastic convex MPC law. An undermodeled asteroid gravity and spacecraft technology inspired measurement model is established to develop the constraint. Then a computationally light stochastic Linear Quadratic MPC strategy is presented to keep the spacecraft in satisfactory field of view of the surface markers while trajectory tracking, employing chance based constraints and up-to-date estimation uncertainty from navigation. The estimation uncertainty giving rise to the tightened constraints is particularly addressed. Results suggest robust tracking performance across a variety of trajectories.

I Introduction

Control of spacecraft in space missions such as rendezvous, docking at a station, landing on an orbital body, etc. are increasingly gathering interest as space capabilities improve and space missions continue, such as the ongoing Hayabusa2 mission [6] which is an asteroid sample and return to earth mission. The treatment of constraints in these missions is critical, and MPC strategies have had their fair share of success in various simulated missions. Constraints employed include glide-slope constraints, line-of-sight conic zones or parabolic zone constraints, etc., as a function of state [1,3,8]. However with focus on these aspects in the control formulation, the measurement model that arrives at the state estimation and the accompanying noise is often overlooked or simplified. In missions the onboard camera can play an important role in navigation [13,14] and thus is the motivation for an optical field of view constraint that aims to keep certain asteroid surface markers in the field of view, as is the case in the Hayabusa2 mission.

In the particular setting of a spacecraft descending toward an asteroid surface, uncertainty in the asteroid gravity as well as in the measurement equipment adds to the compexity of the control problem and mission. MPC with chance constraints, a basic form of stochastic MPC, is an approach to deal with constraints and trajectory tracking when faced with uncertainty and is explored in this paper. The asteroid used here is 433 Eros and its gravity is calculated as a high-fidelity model based on spherical harmonic expansion for use in the plant, and a low-fidelity model based on a constant density ellipsoid and truncated high-fidelity model for use in the control, details regarding both gravity models are in [8]. Navigation is achieved through use of an Extended Kalman Filter (EKF), and the up-to-date estimation error is used at each time-step in the MPC formulation, as was done in [1].

This paper contributes a technology inspired measurement model that gives rise to the estimation uncertainty and field of view constraint, and an accompanying stochastic tube MPC control.

The paper is layed out as follows. Notations used are presented first. Then follows plant, control, measurement, and estimation model descriptions, with particular explanation given to the measurement model that allows for a field of view constraint. Section IV describes how the chance based constraint is built and the MPC formulation. Section V then gives the results of two simulated trajectories.

II Definitions

The controlled descent of the spacecraft around the asteroid is referred to as the spacecraft mission. Define the inertial frame, centered at the origin of the asteroid, by subscript ii. The asteroid is considered in constant rotation, described by the asteroid fixed frame with subscript aa. This frame rotates with respect to the inertial frame. The spacecraft body frame is denoted by subscript bb. As an example of two subscripts written together, bโ€‹aba gives a quantity of interest in the asteroid fixed frame expressed in the spacecraft body frame, or described a transformation from aa to bb when attached to a matrix. Bolded notation denotes vectors, and is reserved for model parameters.

Define the following: ๐ša=[xยจโ€‹yยจโ€‹zยจ]T\mathbf{a}_{a}=[\ddot{x}\ \ddot{y}\ \ddot{z}]^{T}, ๐ฏa=[xห™โ€‹yห™โ€‹zห™]T\mathbf{v}_{a}=[\dot{x}\ \dot{y}\ \dot{z}]^{T}, ๐ซa=[xโ€‹yโ€‹z]T\mathbf{r}_{a}=[x\ y\ z]^{T}, ๐ฎ:=๐ฎi=[uxโ€‹uyโ€‹uz]T\mathbf{u}:=\mathbf{u}_{i}=[u_{x}\ u_{y}\ u_{z}]^{T}, with ux,uy,uzu_{x},u_{y},u_{z} the control forces of the spacecraft per unit mass expressed in the inertial, and ๐…=[Fg,xโ€‹Fg,yโ€‹Fg,z]T\mathbf{F}=[F_{g,x}\ F_{g,y}\ F_{g,z}]^{T} which is the high fidelity model of gravity for the asteroid [3,8] in the inertial frame. ๐…^\hat{\mathbf{F}} is the low fidelity model of gravity.

There is also ๐›€=[0 0โ€‹ni]T\mathbf{\Omega}=[0\ 0\ n_{i}]^{T}, the rotation vector of the asteroid expressed in the inertial frame, ฮผ\mu the gravitational constant of the asteroid, and ๐šฏ:=๐šฏbโ€‹i=[ฯ•โ€‹ฮธโ€‹ฯˆ]T\mathbf{\Theta}:=\mathbf{\Theta}_{bi}=[\phi\ \theta\ \psi]^{T}, where ฯ•,ฮธ,ฯˆ\phi,\theta,\psi are 321 Euler angles, with ฯˆ\psi representing the first transformation from the inertial frame to the spacecraft Euler 1 frame. ๐Žb:=๐Žbโ€‹i=[ฯ‰xโ€‹ฯ‰yโ€‹ฯ‰z]T\bm{\omega}_{b}:=\bm{\omega}_{bi}=[\omega_{x}\ \omega_{y}\ \omega_{z}]^{T} are the angular velocities of the spacecraft. ๐‰\mathbf{J} is the inertia matrix of the spacecraft. The control moments of the spacecraft, not per unit mass, are ๐Œ:=๐Œbโ€‹i=[Mxโ€‹Myโ€‹Mz]T\mathbf{M}:=\mathbf{M}_{bi}=[M_{x}\ M_{y}\ M_{z}]^{T}.

In section IV the subscript a|ba|b denotes a quantity computed aa time steps into the future starting from time bb. โŠ•,โŠ–\oplus,\ominus denote Minkowski addition and Minkowski subtraction (P-difference), respectively. ฯ‡โˆ’1โ€‹(ฮฒ,p)\chi^{-1}(\beta,p) is the chi-squared inverse function. ๐’ฉโ€‹(0,ฯƒ2)\mathcal{N}(0,\sigma^{2}) is the zero mean normal distribution. {โˆ…}\{\emptyset\} denotes the empty set. The support function of UU at ฮท\eta, hUโ€‹(ฮท)h_{U}(\eta), is equal to supuโˆˆUฮทTโ€‹u\sup_{u\in U}\eta^{T}u.

III Model Descriptions

III-A Plant Model ff

The 6dof spacecraft dynamics model is the following

ฮพห™โ€‹(t)=fโ€‹(ฮพโ€‹(t),uโ€‹(t))\dot{\xi}(t)=f(\xi(t),u(t)) (1)

with

[๐ซห™a๐ฏห™a๐šฏห™๐Žห™b]=[๐ฏa๐ฎ+๐…โˆ’2โ€‹๐›€ร—๐ฏaโˆ’๐›€ร—(๐›€ร—๐ซa)๐โˆ’1โ€‹๐Žb๐‰โˆ’1โ€‹(๐Œโˆ’๐Žbร—๐‰โ€‹๐Žb)]\displaystyle\begin{bmatrix}\dot{\mathbf{r}}_{a}\\ \dot{\mathbf{v}}_{a}\\ \dot{\bm{\Theta}}\\ \dot{\bm{\omega}}_{b}\\ \end{bmatrix}=\begin{bmatrix}\mathbf{v}_{a}\\ \mathbf{u}+\mathbf{F}-2\mathbf{\Omega}\times\mathbf{v}_{a}-\mathbf{\Omega}\times(\mathbf{\Omega}\times\mathbf{r}_{a})\ \\ \mathbf{B}^{-1}\bm{\omega}_{b}\\ \mathbf{J}^{-1}(\mathbf{M}-\bm{\omega}_{b}\times\mathbf{J}\bm{\omega}_{b})\end{bmatrix} (2)

where

ฮพ=[๐ซaTโ€‹๐ฏaTโ€‹๐šฏTโ€‹๐ŽbT]T\xi=[\mathbf{r}_{a}^{T}\ {\mathbf{v}_{a}}^{T}\ \bm{\Theta}^{T}\ \bm{\omega}_{b}^{T}]^{T} (3)
u=[๐ฎTโ€‹๐ŒT]Tu=[\mathbf{u}^{T}\ \mathbf{M}^{T}]^{T} (4)

The translational component of the model is taken from [8], and rotational component based on an example in [9]. ฮพ\xi is the state vector. The spacecraft is modeled as a point mass with the only external force ๐…\mathbf{F}. The control uu is such that each degree of freedom has a control channel. The translational and attitude dynamics in (2) are decoupled. ๐=[R21โ€‹R1โ€‹iโ€‹๐žiโ€‹R1โ€‹iโ€‹๐žj๐žk]\mathbf{B}=[R_{21}R_{1i}\mathbf{e}_{i}\ R_{1i}\mathbf{e}_{j}\ \ \mathbf{e}_{k}] where

[๐žiโ€‹๐žjโ€‹๐žk]=[100010001]\displaystyle[\mathbf{e}_{i}\ \mathbf{e}_{j}\ \mathbf{e}_{k}]=\begin{bmatrix}1&0&0\\ 0&1&0\\ 0&0&1\\ \end{bmatrix}
Riโ€‹a=[cosโก(niโ€‹t)โˆ’sinโก(niโ€‹t)0sinโก(niโ€‹t)cosโก(niโ€‹t)0001]โ€‹R1โ€‹i=[cosโก(ฯˆ)โˆ’sinโก(ฯˆ)0sinโก(ฯˆ)cosโก(ฯˆ)0001]\displaystyle R_{ia}=\begin{bmatrix}\cos(n_{i}t)&-\sin(n_{i}t)&0\\ \sin(n_{i}t)&\cos(n_{i}t)&0\\ 0&0&1\\ \end{bmatrix}R_{1i}=\begin{bmatrix}\cos(\psi)&-\sin(\psi)&0\\ \sin(\psi)&\cos(\psi)&0\\ 0&0&1\\ \end{bmatrix}
R21=[cosโก(ฮธ)0sinโก(ฮธ)010โˆ’sinโก(ฮธ)0cosโก(ฮธ)]โ€‹Rbโ€‹2=[1000cosโก(ฯ•)โˆ’sinโก(ฯ•)0sinโก(ฯ•)cosโก(ฯ•)]\displaystyle R_{21}=\begin{bmatrix}\cos(\theta)&0&\sin(\theta)\\ 0&1&0\\ -\sin(\theta)&0&\cos(\theta)\\ \end{bmatrix}R_{b2}=\begin{bmatrix}1&0&0\\ 0\ &\cos(\phi)&-\sin(\phi)\\ 0\ &\sin(\phi)&\cos(\phi)\\ \end{bmatrix}

III-B Measurement Model hh

The different types of measurements employed can be summarized in three main classes: 1: The straight line distance from the spacecraft to asteroid surface marker, known hereafter as a feature point, taken from lidar. 2: The location of feature points in the spacecraft body z-axis aligned camera field of view. 3: Direct angular velocity measurement ๐Žb\bm{\omega}_{b}, taken from IMU. The measurement model is designed to become inaccurate as the spacecraft body z-axis becomes misaligned with the feature points.

nโ€‹(t)=[N1โ€‹(t)Tโ€‹โ€ฆโ€‹N4โ€‹(t)Tโ€‹Ncโ€‹(t)โ€‹Nbโ€‹(t)T]Tn(t)=[{\textbf{\emph{N}}_{1}(t)}^{T}\ ...\ {\textbf{\emph{N}}_{4}}(t)^{T}\ \emph{N}_{c}(t)\ {\textbf{\emph{N}}_{b}}(t)^{T}]^{T} (5)

is the nosie vector with N1,โ€ฆ,N4,Nbโˆˆโ„3\textbf{\emph{N}}_{1},...,\textbf{\emph{N}}_{4},\textbf{\emph{N}}_{b}\in\mathbb{R}^{3}. nโ€‹(t)n(t) is a Gaussian random vector with zero mean and constant covariance PP. Define ๐ak=๐ซaโˆ’๐ฉak\mathbf{d}_{a}^{k}=\mathbf{r}_{a}-\mathbf{p}_{a}^{k} where ๐ฉak\mathbf{p}_{a}^{k} is the kkth feature point location in the asteroid fixed frame and is known. Then ๐bk=Rbโ€‹aโ€‹๐ak\mathbf{d}_{b}^{k}=R_{ba}\mathbf{d}_{a}^{k}. The estimated quantity ๐^bk\hat{\mathbf{d}}_{b}^{k} is

๐^bk=๐bk+(1โˆ’โˆ’๐bkโ€–๐bkโ€–โ‹…๐žk)โ€‹Nk\displaystyle\hat{\mathbf{d}}_{b}^{k}=\mathbf{d}_{b}^{k}+\bigg{(}1-\frac{-\mathbf{d}_{b}^{k}}{||\mathbf{d}_{b}^{k}||}\cdot\mathbf{e}_{k}\bigg{)}\textbf{\emph{N}}_{k}

The quantity in parenthesis represents the following notion: the further off of the center of the field of view a feature point would register on the camera, the less ability there is to accurately assess and gimbal a range sensor to the feature point. From lidar, dbk=โ€–๐^bkโ€–2d_{b}^{k}={||\hat{\mathbf{d}}_{b}^{k}||}_{2}. Additionally, using the pinhole camera model provides a relation between the pixel location of the feature point on the spacecraft body z aligned camera, ๐œ=[c1โ€‹c2]T\mathbf{c}=[c_{1}\ c_{2}]^{T}, to the spatial location ๐b\mathbf{d}_{b}, with flโ€‹eโ€‹nf_{len} equal to the focal length of the camera. The measured quantity ๐œk\mathbf{c}^{k} is

๐œk=(flโ€‹eโ€‹n[0 0 1]โ€‹๐^bk+Nc)โ€‹[1 0 00 1 0]โ€‹๐^bk\displaystyle\mathbf{c}^{k}=\bigg{(}\frac{f_{len}}{[0\ 0\ 1]\hat{\mathbf{d}}_{b}^{k}}+\emph{N}_{c}\bigg{)}\begin{bmatrix}1\ 0\ 0\\ 0\ 1\ 0\\ \end{bmatrix}\hat{\mathbf{d}}_{b}^{k}

The last class of measurement is ๐Žb^=๐Žb+Nb\hat{\bm{\omega}_{b}}=\bm{\omega}_{b}+\textbf{\emph{N}}_{b}. flโ€‹eโ€‹nf_{len} is assumed to hold constant for a period of time. In summary,

yโ€‹(t)=hโ€‹(t,ฮพโ€‹(t),nโ€‹(t))\displaystyle y(t)=h(t,\xi(t),n(t)) (6)
y=[db1โ€‹โ€ฆโ€‹db4โ€‹๐œ1Tโ€‹โ€ฆโ€‹๐œ4Tโ€‹๐Žb^T]T\displaystyle y=\big{[}d_{b}^{1}\ ...\ d_{b}^{4}\ {\mathbf{c}^{1}}^{T}\ ...\ {\mathbf{c}^{4}}^{T}\ {\hat{\bm{\omega}_{b}}}^{T}\big{]}^{T} (7)

III-C Navigation and Estimation

A discrete Extended Kalman Filter is implemented with non-additive noise under the standard formulation to provide the estimation ฮพ^\hat{\xi}. The linearized state information used is given from:

At=ฮดโ€‹f^โ€‹(t)ฮดโ€‹ฮพโ€‹(t)|t,ฮพ^โ€‹(t),uโ€‹(t)A_{t}=\frac{\delta\hat{f}(t)}{\delta\xi(t)}\bigg{|}_{t,\hat{\xi}(t),u(t)} (8) Ht=ฮดโ€‹hโ€‹(t)ฮดโ€‹ฮพโ€‹(t)|t,ฮพ^โ€‹(t)nโ€‹(t)=0H_{t}=\frac{\delta h(t)}{\delta\xi(t)}\bigg{|}_{\begin{subarray}{c}t,\hat{\xi}(t)\\ n(t)=0\end{subarray}} (9) Vt=ฮดโ€‹hโ€‹(t)ฮดโ€‹Nโ€‹(t)|t,ฮพ^โ€‹(t),nโ€‹(t)=0V_{t}=\frac{\delta h(t)}{\delta N(t)}\bigg{|}_{\begin{subarray}{c}t,\hat{\xi}(t),\\ n(t)=0\end{subarray}} (10)

The state error covariance after the filter is run at time tt is ฮฃt\Sigma_{t}, with f^\hat{f} describing the spacecraft dynamics model with ๐…^\hat{\mathbf{F}} in place of ๐…\mathbf{F}.

IV Control Problem

BtB_{t} is the linearization of f^\hat{f} with respect to uu at time tt and GtG_{t} is purposed to account for the difference between control and plant model, and is assigned before simulation. The discretized linearized stochastic open loop system is then

ฮพโ€‹(t+1)=Atโ€‹ฮพโ€‹(t)+Btโ€‹uโ€‹(t)+Gtโ€‹nโ€‹(t)\displaystyle\xi(t+1)=A_{t}\xi(t)+B_{t}u(t)+G_{t}n(t) (11)
yโ€‹(t)=Htโ€‹ฮพโ€‹(t)+Vtโ€‹nโ€‹(t)\displaystyle y(t)=H_{t}\xi(t)+V_{t}n(t) (12)

IV-A Constraints

The constraints to keep the feature points in field of view, and box constraints on the state, respectively, are

โ€–Ht,fโ€‹oโ€‹vโ€‹(ฮพk|tโˆ’ฮพ0|t)+hfโ€‹oโ€‹vโ€‹(ฮพ0|t)โ€–โˆžโ‰คsfโ€‹oโ€‹vโ€ฒ\displaystyle||H_{t,fov}(\xi_{k|t}-\xi_{0|t})+h_{fov}(\xi_{0|t})||_{\infty}\leq s^{\prime}_{fov} (13)
โ€–ฮพk|tโ€–โˆžโ‰คsฮพโ€ฒ\displaystyle||\xi_{k|t}||_{\infty}\leq s^{\prime}_{\xi} (14)

which can be rewritten as Sโ€‹[HtTโ€‹I]Tโ€‹ฮพk|tโ‰คsS[H_{t}^{T}\ I]^{T}\xi_{k|t}\leq s, and dd is the number of output constraints, dud_{u} the number of control constraints, and s=[sfโ€‹oโ€‹vTโ€‹sฮพT]Ts=[s_{fov}^{T}\ s_{\xi}^{T}]^{T} with subscripts fโ€‹oโ€‹vfov denoting the rows of HH corresponding to outputs ๐œ1โ€‹โ€ฆโ€‹๐œ4\mathbf{c}^{1}...\mathbf{c}^{4}, and subscript ฮพ\xi those applicable to box state constraints.

IV-B Convexification

An accurate convexification strategy is needed to perform LQMPC due to the high nonlinearity of the measurement model seen in situations where the spacecraft descends close to the feature points. Successive convexification approaches such as those in [11] can admit solutions to opimality of a non-convex optimal control (OCP) problem. Such a non-convex OCP can be constructed with ff propogated dynamics as opposed to (8-9), however these types of algorithms take many iterations and Jacobian evaluations per time instant. Instead of the approach of solving the non-convex OCP, the constraints introduced aim to confine the system (11-12) such that the LQMPC law is acting on a suitably convex region of the system.

IV-C Stochasticity

A stochastic MPC law with horizon NN has tightened constraints compared to the disturbance free case as a means of probabalistically constraining the stochastic system. For a set-valued constraint YY, this can be written with the P-difference YโŠ–๐’ดฮฒY\ominus\mathcal{Y}^{\beta}, with ๐’ดฮฒ\mathcal{Y}^{\beta} a confidence ellipsoid with some confidence parameter ฮฒ\beta. Control strategies applied to stochastic systems to treat constraints like reference governors [7] often use a prestabilized plant via a state feedback law to propogate estimate error uncertainty that approaches a steady state value with increase in NN. In the reference governor approach of [7] there is no consideration of control constraints, which can render a state feedback law infeasible, whereas in the case of stochastic MPC an auxiliary decision variable vv can be used to achieve a control objective [10]. The control uu is u=Kโ€‹e+vu=Ke+v, where ee is the error between (11) and its disturbance free case used in the MPC problem, ฮพk+1|t=Atโ€‹ฮพk|t+Btโ€‹uk|t\xi_{k+1|t}=A_{t}\xi_{k|t}+B_{t}u_{k|t}, with ฮพ^โ€‹(t)=ฮพ0|t\hat{\xi}(t)=\xi_{0|t}. At time tt and step kk in the MPC horizon, ek|t=ฮพ^โ€‹(k+t)โˆ’ฮพk|te_{k|t}=\hat{\xi}(k+t)-\xi_{k|t}. The closed-loop component Kโ€‹eKe is used with the confidence ellipsoid to formulate the tightened constraints.

ฮฆt\Phi_{t} is the stabilized error state matrix ฮฆt=At+Btโ€‹Kt\Phi_{t}=A_{t}+B_{t}K_{t} and is strictly Schur. The system (11) can then be represented with a primal dynamics part (15) and an error dynamics part (16)

ฮถk+1|t=Atโ€‹ฮถk|t+Btโ€‹vk|t\displaystyle\zeta_{k+1|t}=A_{t}\zeta_{k|t}+B_{t}v_{k|t} (15)
ek+1|t=ฮฆtโ€‹ek|t+Gtโ€‹nโ€‹(k+t)\displaystyle e_{k+1|t}=\Phi_{t}e_{k|t}+G_{t}n(k+t) (16)

with ฮพk|t=ฮถk|t+ek|t\xi_{k|t}=\zeta_{k|t}+e_{k|t}. Consider the initial estimation error covariance ฮž0|t\Xi_{0|t} at each time taken as ฮž0|t=ฮฃt\Xi_{0|t}=\Sigma_{t} and corresponding output error covariance ฮฅ0|t\Upsilon_{0|t}. Over the MPC horizon they are propogated according to

ฮžk+1|t=ฮฆtโ€‹ฮžk|tโ€‹ฮฆtT+Gtโ€‹Pโ€‹GtT\displaystyle\Xi_{k+1|t}=\Phi_{t}\Xi_{k|t}\Phi_{t}^{T}+G_{t}PG_{t}^{T} (17)
ฮฅk|t=Htโ€‹ฮžk|tโ€‹HtT+Vtโ€‹Pโ€‹VtT\displaystyle\Upsilon_{k|t}=H_{t}\Xi_{k|t}H_{t}^{T}+V_{t}PV_{t}^{T} (18)

with ek|tโˆผ๐’ฉโ€‹(0,ฮžk|t)e_{k|t}\sim\mathcal{N}(0,\Xi_{k|t}) and similarly y~k|tโˆผ๐’ฉโ€‹(0,ฮฅk|t)\tilde{y}_{k|t}\sim\mathcal{N}(0,\Upsilon_{k|t}), where y~k|t=y^โ€‹(k+t)โˆ’yk|t\tilde{y}_{k|t}=\hat{y}(k+t)-y_{k|t}, which is the same estimation error uncertainty propogation as [7]. The strictly Schur property ensures ฮžk|t\Xi_{k|t} does not tend to infinity with increasing NN, and allows for a choice of ฮฒ\beta that does not reflect less confidence as Nโ†’โˆžN\rightarrow\infty to accomodate the increasing uncertainty.

The output constraint at time tt is given as ฮถk|tโˆˆY~Nฮฒ=โˆฉk=0NYkฮฒ\zeta_{k|t}\in\tilde{Y}_{N}^{\beta}=\cap_{k=0}^{N}Y_{k}^{\beta}, where YkฮฒY_{k}^{\beta} is described in [7] for a prescribed ฮฒ\beta under the assumption of a polytopic constraint set, and is given below, alongside the analogous input constraint at time tt, vk|tโˆˆU~Nฮฒ=โˆฉk=0NUkฮฒv_{k|t}\in\tilde{U}_{N}^{\beta}=\cap_{k=0}^{N}U_{k}^{\beta},

YโŠ–๐’ดkฮฒ=Ykฮฒ={ฮพ|SiT[HtTI]Tฮพโ‰ค=siโˆ’h๐’ดkฮฒ(Si),i=1,โ€ฆ,d}h๐’ดkฮฒโ€‹(Si)={Fโˆ’1โ€‹(ฮฒ,p)โ€‹SiTโ€‹ฮฅk|tโ€‹Siifย โ€‹siโˆˆsfโ€‹oโ€‹vFโˆ’1โ€‹(ฮฒ,p)โ€‹SiTโ€‹ฮžk|tโ€‹Siifย โ€‹siโˆˆsฮพY\ominus\mathcal{Y}_{k}^{\beta}=Y_{k}^{\beta}=\\ \{\xi\ |\ S^{T}_{i}[H_{t}^{T}\ I]^{T}\xi\leq=s_{i}-h_{\mathcal{Y}_{k}^{\beta}}(S_{i}),\ i=1,...,d\}\\ h_{\mathcal{Y}_{k}^{\beta}}(S_{i})=\begin{cases}\sqrt{F^{-1}(\beta,p)}\sqrt{S_{i}^{T}\ \Upsilon_{k|t}S_{i}}&\mbox{if }s_{i}\in s_{fov}\\ \sqrt{F^{-1}(\beta,p)}\sqrt{S_{i}^{T}\ \Xi_{k|t}S_{i}}&\mbox{if }s_{i}\in s_{\xi}\end{cases} (19)
UโŠ–๐’ฐkฮฒ=Ukฮฒ={u|MiTโ€‹uโ‰คmiโˆ’h๐’ฐkฮฒโ€‹(Mi),i=1,โ€ฆ,du}h๐’ฐkฮฒโ€‹(Mi)=Fโˆ’1โ€‹(ฮฒ,p)โ€‹MiTโ€‹Ktโ€‹ฮžk|tโ€‹KtTโ€‹MiU\ominus\mathcal{U}_{k}^{\beta}=U_{k}^{\beta}=\\ \{u\ |\ M^{T}_{i}u\leq m_{i}-h_{\mathcal{U}_{k}^{\beta}}(M_{i}),\ i=1,...,d_{u}\}\\ h_{\mathcal{U}_{k}^{\beta}}(M_{i})=\sqrt{F^{-1}(\beta,p)}\sqrt{M_{i}^{T}\ K_{t}\Xi_{k|t}K_{t}^{T}M_{i}} (20)

Y={ฮพ|SiTโ€‹[HtTโ€‹I]Tโ€‹ฮพโ‰คsi,i=1,โ€ฆ,d}Y=\{\xi\ |\ S_{i}^{T}[H_{t}^{T}\ I]^{T}\xi\leq s_{i},\ i=1,...,d\} is the feasible set of ฮพ\xi given the dd constraints (13-14), and SiTS^{T}_{i} the iith row of SS. With a slight abuse of notation siโˆˆsfโ€‹oโ€‹vs_{i}\in s_{fov} denotes sis_{i} is found in the sfโ€‹oโ€‹vs_{fov} partition. ๐’ดkฮฒ={vโˆˆImโ€‹ฮฅk|t|vTโ€‹ฮฅk|t+โ€‹vโ‰คฯ‡โˆ’1โ€‹(ฮฒ,p)}\mathcal{Y}_{k}^{\beta}=\{v\in\textrm{Im}\ \Upsilon_{k|t}\ |\ v^{T}\Upsilon_{k|t}^{+}v\leq\chi^{-1}(\beta,p)\} and is the confidence ellipsoid with confidence ฮฒ\beta [7]. h๐’ดkฮฒโ€‹(Si)h_{\mathcal{Y}_{k}^{\beta}}(S_{i}) is the support function of ๐’ดkฮฒ\mathcal{Y}_{k}^{\beta} at SiS_{i}. U={u|MiTโ€‹uโ‰คmi,i=1,โ€ฆ,du}U=\{u\ |\ M_{i}^{T}u\leq m_{i},\ i=1,...,d_{u}\}.

A specific terminal constraint and terminal constraint tightening to address stability of the system used in the MPC formulation is not considered in this work, although the MPC formulation that follows tends the system towards equilibrium at each time tt.

IV-D MPC Forumulation

The MPC problem is reducable to a quadratic program allowing for fast simulation results. Redundant constraints resulting from (19,20) are also removed. MPC solves for the open loop control component vv. The formulation is given as

minฮดโ€‹vt,ฯตโกJโ€‹(ฮดโ€‹ฮถ0|t)=โˆ‘k=0Nโˆ’1(โ€–ฮดโ€‹ฮถk|tโ€–Q2+โ€–ฮดโ€‹vk|tโ€–R2)+โ€–ฮดโ€‹ฮถN|tโ€–Q2+โ€–ฯตโ€–W2\displaystyle\min_{\delta v_{t},\epsilon}J(\delta\zeta_{0|t})=\sum_{k=0}^{N-1}(||\delta\zeta_{k|t}||_{Q}^{2}+||\delta v_{k|t}||_{R}^{2})+||\delta\zeta_{N|t}||_{Q}^{2}+{||\epsilon||}_{W}^{2} (21a)
s.t.ฮดโ€‹ฮถk+1|t=Atโ€‹ฮดโ€‹ฮถk|t+Btโ€‹ฮดโ€‹vk|t\displaystyle s.t.\ \delta\zeta_{k+1|t}=A_{t}\delta\zeta_{k|t}+B_{t}\delta v_{k|t} (21b)
Sโ€‹[HtTโ€‹I]Tโ€‹ฮถk|tโˆˆYMโ€‹Pโ€‹C+ฯต\displaystyle S[H_{t}^{T}\ I]^{T}\zeta_{k|t}\in Y^{MPC}+\epsilon (21c)
Mโ€‹vk|tโˆˆUMโ€‹Pโ€‹C\displaystyle Mv_{k|t}\in U^{MPC} (21d)

with ฯต\epsilon slack variable to maintain feasibility such as in the case of empty YMโ€‹Pโ€‹CY^{MPC}, UU box constraints on the control channels with m=[mtโ€‹rโ€‹aโ€‹nโ€‹sTโ€‹mrโ€‹oโ€‹tT]Tm=[m_{trans}^{T}\ m_{rot}^{T}]^{T}, Q,R,WQ,R,W weights, and

YMโ€‹Pโ€‹C=[s1โˆ’h๐’ดNฮฒโ€‹(S1)โ‹ฎsdโˆ’h๐’ดNฮฒโ€‹(Sd)],UMโ€‹Pโ€‹C=[m1โˆ’h๐’ฐNฮฒโ€‹(M1)โ‹ฎmduโˆ’h๐’ฐNฮฒโ€‹(Mdu)]\displaystyle Y^{MPC}=\begin{bmatrix}s_{1}-h_{\mathcal{Y}_{N}^{\beta}}(S_{1})\\ \vdots\\ s_{d}-h_{\mathcal{Y}_{N}^{\beta}}(S_{d})\end{bmatrix},\ U^{MPC}=\begin{bmatrix}m_{1}-h_{\mathcal{U}_{N}^{\beta}}(M_{1})\\ \vdots\\ m_{d_{u}}-h_{\mathcal{U}_{N}^{\beta}}(M_{d_{u}})\end{bmatrix}

where (21c, 21d) encode yk|tโˆˆY~Nฮฒy_{k|t}\in\tilde{Y}_{N}^{\beta} and uk|tโˆˆU~Nฮฒu_{k|t}\in\tilde{U}_{N}^{\beta} respectively.

ฮดโ€‹ฮถk|t=ฮถk|tโˆ’ฮพtrโ€‹eโ€‹f\delta\zeta_{k|t}=\zeta_{k|t}-\xi^{ref}_{t}, ฮดโ€‹vk|t=vk|tโˆ’utrโ€‹eโ€‹f\delta v_{k|t}=v_{k|t}-u^{ref}_{t}, with (ฮพtrโ€‹eโ€‹f,utrโ€‹eโ€‹f)(\xi^{ref}_{t},u^{ref}_{t}) the equilibrium pair for the system (21b), with ฮพtrโ€‹eโ€‹f\xi_{t}^{ref} specified before the computation of (21). utrโ€‹eโ€‹fu^{ref}_{t} is computed as utrโ€‹eโ€‹f=(BtTโ€‹Bt)โˆ’1โ€‹Btโ€‹(Iโˆ’At)โ€‹ฮพtrโ€‹eโ€‹fu^{ref}_{t}=(B_{t}^{T}B_{t})^{-1}B_{t}(I-A_{t})\xi^{ref}_{t}.

V Spacecraft Descent Simulation and Results

Two trajectories are simulated and discussed in this section. Leg 1 was chosen such that the output dynamics are highly nonlinear as the spacecraft descends and the feature points move further out of the field of view. Leg 2 simulates a landing approach ending around 10 meters above the surface. Both trajectories consist of a constant descent rate phase and hover at a point phase. At each time step the linearizations (8-10) are updated by the EKF which are also used in the MPC law. A desired position reference ๐ซarโ€‹eโ€‹f\mathbf{r}_{a}^{ref} is first used to calculate ๐šฏrโ€‹eโ€‹f\bm{\Theta}^{ref} before the simulation starts, so as to center the camera to the average location of all feature points ๐aaโ€‹vโ€‹g\mathbf{d}_{a}^{avg} (per time step), and then the complete reference ฮพrโ€‹eโ€‹f=[๐ซarโ€‹eโ€‹fTโ€‹๐ŸŽTโ€‹๐šฏrโ€‹eโ€‹fTโ€‹๐ŸŽT]T\xi^{ref}=[\mathbf{r}_{a}^{{ref}^{T}}\mathbf{0}^{T}\bm{\Theta}^{{ref}^{T}}\mathbf{0}^{T}]^{T} is fed to the simulation. The requisite Euler angles are extracted from the rotation matrix Rbโ€‹a=Rbโ€‹2โ€‹R21โ€‹R1โ€‹iโ€‹Riโ€‹aR_{ba}=R_{b2}R_{21}R_{1i}R_{ia}. Due to the nonunique properties of Euler angles for a given rotation, the same seeding used to initialize the rotation matrix in ๐šฏ0rโ€‹eโ€‹f\bm{\Theta}_{0}^{ref} is kept throughout. ๐šฏ0rโ€‹eโ€‹f\bm{\Theta}_{0}^{ref} is initialized Rbโ€‹aโ€‹๐ซaโ€‹(0)=โ€–๐aaโ€‹vโ€‹gโ€–2โ€‹[0 0 1]TR_{ba}\mathbf{r}_{a}(0)=||\mathbf{d}_{a}^{avg}||_{2}\ [0\ 0\ 1]^{T}. flโ€‹eโ€‹nf_{len} remains constant throughout the trajectory, and is initialized as ๐bk\mathbf{d}_{b}^{k} that is best projected along the spacecraft body z axis. All plots and code implemented in MATLAB R2018b.

[Uncaptioned image]
Figure 1: The upper plot shows leg 1 that begins and ends further away from the asteroid surface, as compared to leg 2 in the lower plot. The corresponding feature points are also plotted in red. The asteroid is in grey. Constraint satisfaction are prioritized over tracking, as seen in the lower plot.
[Uncaptioned image]
Figure 2: Constraints from (14) are plotted. In both legs the field of view constraint (13) is encountered before (14). The untightened constraints are shown.
[Uncaptioned image]
Figure 3: Constraints from (13) of leg 1 are plotted. For this trajectory in the unconstrained case some feature points locations are expected to expand quickly out of view upon further descent. The untightened constraints are shown, along with the feature point trace from the reference trajectory which extends beyond the constraints.
[Uncaptioned image]
Figure 4: Constraints from (13) of leg 2 are plotted. The untightened constraints are shown, along with the feature point trace from the reference trajectory.

The simulation parameters are given below. The place command in MATLAB was used to compute KtK_{t}. The placed eigenvalues are the same across all times for both legs.

Leg 1 Leg 2
Discretization (sโ€‹eโ€‹c)(sec) 1 1
ฮฒ\beta 0.95 0.95
NN 20 20
sfโ€‹oโ€‹vโ€ฒs^{\prime}_{fov} 20 0.3
sฮพโ€ฒ=zcโ€‹nโ€‹sโ€‹tโ€‹rs^{\prime}_{\xi}=z_{cnstr} 5.8 5.61
mtโ€‹rโ€‹aโ€‹nโ€‹sโ€‹(kโ€‹m/s2)m_{trans}\ (km/s^{2}) 0.002 0.002
mrโ€‹oโ€‹tm_{rot} 0.5 0.5
๐ซ0rโ€‹eโ€‹f\mathbf{r}_{0}^{ref} [-1.57 1.32 6.75]T [-1.07 0.82 5.75]T
๐ซeโ€‹nโ€‹drโ€‹eโ€‹f\mathbf{r}_{end}^{ref} [-1.07 0.82 5.8]T [-1.07 0.82 5.61]T
QQ [0.10.00010.10.0001]\left[\begin{smallmatrix}0.1&&&\\ &0.0001&&\\ &&0.1&\\ &&&0.0001\end{smallmatrix}\right] [100.0001100.0001]\left[\begin{smallmatrix}10&&&\\ &0.0001&&\\ &&10&\\ &&&0.0001\end{smallmatrix}\right]
RR [505010000.001]\left[\begin{smallmatrix}50&&&\\ &50&&\\ &&1000&\\ &&&0.001\end{smallmatrix}\right] [5000500050001]\left[\begin{smallmatrix}5000&&&\\ &5000&&\\ &&5000&\\ &&&1\end{smallmatrix}\right]
WW [105]\left[\begin{smallmatrix}10^{5}\end{smallmatrix}\right] [109]\left[\begin{smallmatrix}10^{9}\end{smallmatrix}\right]
PP diag([0.001]2)
GG 0.00001J1J_{1}
TABLE I: Table of selected parameters. The only state constraint is on zz and is zcโ€‹nโ€‹sโ€‹tโ€‹rz_{cnstr}. The elements in the constraint inequalities ss and mm are equal in absolute value for those in the same subscript, thus a single element is reported here. Q,R,WQ,R,W are block diagonal, again with a single element in each block reported, with QQ partitoned along ๐ซa,๐ฏa,๐šฏ,๐Žb\mathbf{r}_{a},\mathbf{v}_{a},\bm{\Theta},\bm{\omega}_{b}, and RR along ux,uy,uz,๐Œu_{x},u_{y},u_{z},\mathbf{M}. J1J_{1} is the matrix of ones.

VI Conclusion

In this paper stochastic tube LQMPC was implemented on a spacecraft mission to descend to an orbiting asteroid surface in the presense of uncertainty in gravity and in the measurement model. A technology based measurement model was first developed; this led to a camera field of view constraint. Two trajectories were simulated with focus on the trace of feature point locations in the camera. Future works of interest concerning the control are formulating an OCP with terminal constraints constructed to address recusive feasability and stability, as well as addressing the degree of convex approximation used in the MPC law and using a non-convex OCP. A coupled translational and rotational actuation model can also be handled by the processes laid out in this paper. A final direction of future work is a scheme to estimate GG, the gravity model mismatch.

References

  • [1] H Arai, T Takeshi, S Sakai, ย โ€œSafely Planetary Landing Guidance Closest to Hazard Area Considering Navigation Error Using Convex Optimizationโ€ AIAA Scitech Forum 6-10 January 2020, Orlando, FL
  • [2] A Chatterjee, โ€œIntermediate Dynamics in about 100 pagesโ€ Lecture Notes Version Nov 4, 2014 IIT Kanpur
  • [3] W Dunham, C Petersen, I Kolmanovsky, ย โ€œConstrained Control for Soft Landing on an Asteroid with Gravity Model Uncertaintyโ€ American Control Conference (ACC) July 6-8 2016 Boston, MA
  • [4] G Ge, P Cui, S Zhu, ย โ€œRecent development of autonomous GNC technologies for small celesial body descent and landingโ€ Progress in Aerospace Sciences Volume 110, Pages 100551, 2019
  • [5] O.L. de Weck, ย โ€œAttitude Determination and Control (ADCS)โ€ Lecture Notes 16.684 Space Systems Product Development Spring 2001 MIT
  • [6] โ€œHayabusa2 Information Fact Sheetโ€, Hayabusa Project Team, Ver 2.3.1 2018
  • [7] U V Kalabic, N I Li, I Kolmanovsky, ย โ€œReference governors for chance-constrained systemsโ€ Automatica 109 2019
  • [8] D Liao-McPherson, W Dunham, I Kolmanovsky, ย โ€œModel Predictive Control Strategies for Constrained Soft Landing on an Asteroidโ€ AIAA SPACE Forum September 13-16 2016, Long Beach, CA
  • [9] D Liao-McPherson, M Micotra, I Kolmanovsky, ย โ€œA Semismooth Predictor Corrector Method for Suboptimal Model Predictive Controlโ€ 2018 IEEE Conference on Decision and Control (CDC) pp. 2600-2607, 2018, Miami Beach, FL
  • [10] M Lorenzen, F Dabbene, R Tempo, F Allgower ย โ€œConstraint-Tightening and Stability in Stochastic Model Predictive Controlโ€ IEEE Transactions on Automatic Control vol. 62, no. 7, pp. 3165-3177, July 2017
  • [11] Y Mao, M Szmuk, X Xu, B Ackmese, ย โ€œSuccessive Convexificiation: A Superlinearly Convergent Algorithm for Non-Convex Optimal Control Problemsโ€ 2018
  • [12] O Montenbruck, E Gill, Satellite Orbits Models Methods Applications Springer 4th edition 2012
  • [13] W Ruoyan, R Xiaogang, Z Xiaoqing, O Sie, X Yao ย โ€œA Method of Guidance, Navigation and Control for Soft Landing on Asteroid Based on Constrained MPCโ€ Intelligent Control and Automation June 29-July 4 2014 Shenyang, China
  • [14] L Shaung, C Pingyuan, C Hutao, ย โ€œAutonomous Navigation and Guidance for Landing on Asteroidsโ€ Aerospace Science and Technology pp. 239-247 2006