# Trajectory Generation for Flexible-Joint Space Manipulators

^{1}Department of Mechanical, Aerospace, and Nuclear Engineering, Rensselaer Polytechnic Institute, Troy, NY, United States^{2}Department of Electrical, Computer, and Systems Engineering, Rensselaer Polytechnic Institute, Troy, NY, United States

Space manipulator arms often exhibit significant joint flexibility and limited motor torque. Future space missions, including satellite servicing and large structure assembly, may involve the manipulation of massive objects, which will accentuate these limitations. Currently, astronauts use visual feedback on-orbit to mitigate oscillations and trajectory following issues. Large time delays between orbit and Earth make ground teleoperation difficult in these conditions, so more autonomous operations must be considered to remove the astronaut resource requirement and expand robotic capabilities in space. Trajectory planning for autonomous systems must therefore be considered to prevent poor trajectory tracking performance. We provide a model-based trajectory generation methodology that incorporates constraints on joint speed, motor torque, and base actuation for flexible-joint space manipulators while minimizing total trajectory time. Full spatial computer simulation results, as well as physical experiment results with a single-joint robot on an air bearing table, show the efficacy of our methodology.

## 1 Introduction

Robotic manipulation is an attractive technology for many on-orbit applications. These applications include satellite servicing, space structure construction, and debris management (Yoshida, 2003; Moosavian and Papadopoulos, 2007; Ogilvie et al., 2008; Tasker and Henshaw, 2008; Flores-Abad et al., 2014). The use of autonomous robots for these tasks (with on-ground instruction) can help to reduce the need for astronaut resources, as well as pave the way for widespread adoption by industry and governmental space agencies alike.

Space manipulators are often lightweight, meaning they have limited motor torques and are flexible. This type of design is often necessary to meet payload requirements (Yamano et al., 2000). Link flexibility may arise from long lightweight links, while joint flexibility may arise from large gear ratios and harmonic drives (Flores-Abad et al., 2014). However, joint flexibility due to harmonic drives often has lower resonant modes than link flexibility, and is generally the dominant source of flexibility when considering captured object transport (Alberts et al., 1992; Flores-Abad et al., 2014). One example is the shuttle Remote Manipulator System (Canadarm), where joint flexibility generates the first brakes-on natural frequency at 0.03 Hz, while the lowest resonate mode due to link flexibility is at about 23 Hz (note that this data is for the typical payload grasping configuration, with grasped payload) (Alberts et al., 1992).

Many objects that would be manipulated on-orbit are also massive, such as a satellite in a servicing application. One example is the Hubble Space Telescope, which has a mass of 12,000 (Garner, 2018). Servicing applications are illustrated in Figure 1. The combination of limited motor torque, joint flexibility, and massive payload can lead to accuracy reductions, excessive vibrations, and trajectory following difficulties (Flores-Abad et al., 2014). Dangerous scenarios, such as object collision with the manipulator base or self-collision, may arise.

**FIGURE 1**. Examples of lightweight articulated manipulators for massive object capture and transport: **(A)** the Hubble telescope during a repair mission, **(B)** satellite servicer capturing a satellite. Photo credit: NASA.

Regardless of these limitations, negligible gravitational effects allow such arms to transport massive objects. Two flight examples of lightweight arms are Canadarm and Canadarm 2 (also known as the shuttle and International Space Station (ISS) arms) (Scott et al., 1993; Ma et al., 1997). However, these arms are often teleoperated by astronauts during large object transport, such as when the SpaceX Dragon was docked at the ISS (Kauderer, 2012). Visual feedback can then be used by astronauts to avoid oscillatory behavior and significant trajectory following error. This capability is not available for ground teleoperation scenarios, where significant visual time delay is present (Flores-Abad et al., 2014).

In spite of these challenges, successful on-orbit capture and transportation tasks have taken place using limited ground control. Capture and docking of a cooperative satellite has been demonstrated by NASDA’s ETS-VII satellite (Yoshida, 2003). Autonomous capture has been demonstrated by the DARPA Orbital Express Demonstration System (Flores-Abad et al., 2014). However, a key aspect of these two operations is a relatively small target object mass compared to the robot base [400 kg–2,500 kg for ETS-VII (Kasai et al., 1999); 226 kg–952 kg for the Orbital Express Demonstration System (Bell, 2020)]. Both operations also involved cooperative target satellites (i.e., satellites designed for manipulation).

Most recently, Northrop Grumman’s MEV-1 satellite successfully docked with a non-cooperative satellite to extend lifetime after the target satellite’s fuel was depleted. MEV-1 rigidly docked with the target satellite and now acts as a propulsion stage for both satellites, rather than refueling and restoring propulsion (Chang, 2020; Northrop Grumman Space Logistics, 2020). This differs from robotic docking and servicing in several key ways.

First, MEV-1 utilizes an apogee kick thruster cone for docking (Northrop Grumman Space Logistics, 2020). This feature is present on approximately 80% of satellites in geosynchronous orbit (Hall, 2019), meaning that there are satellites that cannot be serviced via this method. Furthermore, this feature may be less prevalent in satellites in low Earth orbit. The fact that MEV-1 acts as a propulsion stage also means that only one target satellite can be helped at a time, as opposed to a refueling operation where both satellites must only remain docked for the duration of the refueling procedure. The presence of a robotic manipulator also opens the door to other servicing and repair procedures, such as replacing satellite components (Flores-Abad et al., 2014).

This does of course beg the question of why cone docking and a robotic arm are not used in tandem. While this is a potential solution for some scenarios, there are certain satellites that would not be able to be serviced, as stated above. This setup would also require additional launch mass for a servicing satellite. Cone docking also does not address the manipulation of other massive objects in space, such as components of space structures and scientific samples from asteroids.

Even with these successful on-orbit operations, robotic manipulation in space remains an open research area due to challenges with the manipulation of massive non-cooperative objects (here defined as objects not designed for grasping and manipulation) (Flores-Abad et al., 2014). Modeling of flexible joint space manipulators has been addressed. Some existing models have simplified the system by assuming the motor kinetic energy is only due to relative motion about the motor axis (Spong, 1987; Yu and Chen, 2014), while other models have incorporated the intertial coupling of the motors and arm links (Ulrich et al., 2012; Nanos and Papadopoulos, 2015). Furthermore (Ulrich et al., 2012), has incorporated nonlinear spring and friction models in the flexible joints. Models with both flexible joints and flexible links have also been investigated (Yu and Chen, 2014).

Flexible joint control has also been addressed (Spong, 1987; De Luca et al., 1989; Spong, 1989; Sun et al., 2018; Yin et al., 2018), including for space manipulation with a floating base. Control utilizing an additional link-side torque sensor and an inner torque feedback loop has been applied to a single flexible joint in simulation (Ferretti et al., 2005). The limitation of needing an additional link-side torque sensor was later addressed by (Ulrich and Sasiadek, 2012a), where an extended Kalman filter was used to estimate the link-side state for a 2 degree-of-freedom (DOF) robot in simulation. Adaptive control has been utilized to reduce trajectory tracking error for a 2 DOF robot with a floating base (Ulrich et al., 2012; Ulrich and Sasiadek, 2012a; Ulrich and Sasiadek, 2012b). However, this strategy leads to large motor torque values when there are sharp changes in the end-effector path. Computed torque (Yu and Chen, 2014) and feedback linearization (Nanos and Papadopoulos, 2015) have both been proposed, but both methods rely on model knowledge and are often not robust to modeling error. Singular perturbation theory has also been popular for designing flexible joint controllers, and has been applied to a dual-arm 2 DOF space robot scenario (Zarafshan and Moosavian, 2011), as well as a 2 DOF space robot with an additional flexible link (Yu and Chen, 2014). Outer-loop (i.e., link-side joint speed) control for flexible-joint manipulation of massive objects has been addressed, as well as path planning and checking planned trajectories against dynamic constraints, for fixed-base scenarios (Carabis et al., 2021). However, trajectory optimization and the influence of floating-base dynamics were not addressed in this work.

Trajectory generation for rigid space manipulators has been addressed using particle swarm optimization (Huang and Xu, 2006) and by extending the well-known minimum-time solution developed by (Bobrow et al., 1985) to floating base scenarios (Dubowsky et al., 1989). Trajectory generation for flexible-link space robot scenarios has also been addressed by (Wu et al., 2004), where oscillations during transport are minimized. However, this work does not address motor torque limits or joint flexibility, and some oscillations still persist even in simulation.

Our contribution is a model-based methodology for flexible-joint space manipulator trajectory planning. Existing control methods for flexible-joint manipulators do not account for joint speed and motor torque limits, and there will be issues with trajectory following in scenarios where these limits are reached. Our work incorporates constraints on motor torque and joint speed during the trajectory generation step, providing a methodology to plan trajectories where these constraints are satisfied. We examine both free-floating and controlled base scenarios, and incorporate base actuation (provided through reaction wheels and thrusters) constraints in the controlled base scenario. An optimization step is undertaken to reduce total trajectory time.

Furthermore, we investigate a 7 DOF space robot model with flexible joints and a free-flying base in simulation. Existing work has addressed relatively simple, low-DOF scenarios in simulation. Finally, we generate a feedforward motor signal while planning the link-side trajectory. Although disturbances and modeling errors will require feedback control on-application, we propose the feedforward motor signal as a means to further reduce oscillations during trajectory execution. We investigate this experimentally using a single flexible-joint experiment conducted on an air-bearing table, a popular method for offsetting the effects of gravity (Rybus and Seweryn, 2016).

This paper is organized as follows. Section 2 provides the problem statement and scope, Section 3 provides the problem formulation, while Section 4 details the trajectory generation algorithm and optimization problem. Sections 5 and Section 6 provide the experimental setup and results, respectively. Finally, Section 7 offers a concluding discussion and outlines potential future work. Portions of this paper have also appeared in the doctoral dissertation Carabis (2020).

## 2 Problem Statement and Scope

We assume an *n* DOF flexible-joint space robot with only rotational joints, a floating base, and a grasped load. Define *λ* ∈ [0, 1] be the path variable, such that *q* (*λ* = 0) defines the initial joint configuration and *q* (*λ* = 1) defines the final joint configuration. The trajectory generation step then becomes indexing the path variable with time *t*, i.e., generating *λ*(*t*).

The problem under consideration is generating the trajectory *λ*(*t*) subject to motor torque, link-side joint speed, and base actuation constraints (in the controlled base scenario). Mathematically stated, we require

for all scenarios considered, and

for scenarios with a controlled base. Here, ⪯ denotes an element-wise inequality, *τ*_{m, max} is the motor torque limit, *f*_{b} is the spatial force applied at the base, and *f*_{b, max} is the base spatial force limit. Note that the spatial force is stacked torque and force, i.e., *τ*_{b} is the torque generated by thrusters or reaction wheels and *F*_{b} is the force generated by thrusters at the robot base.

We note that there are additional dynamic limits that may be of concern, such as the speed of the grasped object at the end effector and spatial forces at the end effector leading to slip or gripper damage. The former can be incorporated into constraints on

As there are many trajectories that would satisfy these requirements (and arbitrarily slowing a trajectory would make the constraints easier to satisfy), we propose finding a trajectory subject to the constraints while minimizing total trajectory time. Global minimum-time trajectory generation for this scenario remains an unsolved problem, and we allow for local minimum solutions. Furthermore, we allow for a sufficiently smooth trajectory shape to be assumed. Future work will seek to remove this assumption, potentially allowing for faster trajectories to be generated. Regardless, the methodology presented here provides a means for generating feasible trajectories and reducing the total trajectory time while satisfying dynamic constraints.

## 3 Problem Formulation

We model the flexible joints using the same approach as (Spong, 1987). This model assumes that each flexible joint is comprised of a 1-D rotational motor inertia and a torsional spring-damper that connects the *i*th motor to the *i*th manipulator link. Furthermore, this model assumes that the motors rotate relative to an inertial frame (i.e., the inertial coupling between the links and motors is ignored). Please note that we have derived a model using the Newton-Euler approach (Jain, 2010) that includes the inertial coupling between the motors and links, but no significant error was noted in simulation. This is likely due to the large mass/inertia of the manipulator base and grasped object, and we therefore utilize the model with no inertial coupling. Figure 2 illustrates this model for a single joint.

**FIGURE 2**. Single flexible joint. In this diagram, *b*_{m}, *b*_{l}, *N*, and *k* represent the motor damping, gear damping, gear ratio, and spring constant, respectively, and *i* denotes the *i*th joint.

Using the spatial algebra approach (Jain, 2010) the dynamics of the manipulator arm, floating base, and grasped object are

The Supplementary Appendix provides a detailed derivation. Here, *τ* denotes the link-side torque vector. The 6 × 6 mass-inertia matrix of the robot base is given by *M*_{b}, *M*_{r} is the joint-space mass-inertia matrix of the manipulator arm, *M*_{rb}, *M*_{br} are the mass-inertia couplings between the manipulator base and arm, *C*_{r}, *C*_{B} are the centrifugal and Coriolis terms, *J* is the well-known manipulator Jacobian, and *f* (generated by the grasped object motion) to the manipulator base center-of-mass (COM) frame *B*. Note that *q*, and that *n* + 1 denotes the end effector frame. Further details on this mapping are provided in the Supplementary Appendix. The spatial acceleration of the base is given by *ω*_{B} is the rotational velocity of the manipulator base frame and *v*_{B} is the translational velocity of the manipulator base frame.

In the case where the floating base is perfectly controlled and acts as a fixed base, Eq. 3 becomes the well-known manipulator model with joint flexibility given by (Spong, 1987). When the base is uncontrolled and free-floating, *f*_{b} = 0.

We assume the target object is rigidly grasped, and model the object dynamics using

where *A* is the Jacobian transform between the end-effector and object COM, *M*_{c} is the object mass-inertia matrix (about the COM), *b*_{c} are the centrifugal/Coriolis terms associated with the grasped object motion, and *c* denotes the object COM frame. Since there is a single rigid grasp point, *A*^{T} is invertible and we can solve for *f*. As we consider a rigid grasp scenario in this paper, the mass/inertia of the grasped payload can be combined with the end effector link (i.e., set *f* = 0 and combine mass/inertia properties of link *n* and the payload). However, the full model presented here allows for contact models to be introduced in future work, so we present the arm and payload dynamics in full.

The joint torque for each flexible joint is given by

where *K* is a diagonal matrix of joint spring stiffnesses, *b*_{l} is a diagonal matrix of joint damping, and *N* a diagonal matrix of gear ratios. Note that we assume linear torsional springs and viscous damping. The motor dynamics are

where *I*_{m}, *b*_{m} are diagonal matrices of the motor inertias and viscous motor damping, respectively.

## 4 Trajectory Generation Algorithm

Our first step is to generate a feedforward motor trajectory that will result in some desired link-side trajectory, *q*_{d}(*t*). We assume perfect motor control and consider the input to the system to be the motor trajectory, i.e. *u*(*t*) = *q*_{m}(*t*). First, we consider a fixed-base system and assume *q*_{d}(*t*) is provided. We combine the arm and load dynamics, as well as the portion of the joint torque dependent on link-side trajectory, into the term

Note that the load dynamics *f*(*t*) can be solved for in terms of *q*_{d}(*t*) using velocity and acceleration propagation from the fixed-base. From Eq. 3, we can solve for *u*(*t*) = *q*_{m}(*t*) using the low-pass filter (LPF)

where *i* corresponds to the *i*th element of the associated diagonal matrix or vector and *s* denotes the Laplace variable. This solution is obtained by substituting Eq. 7 into Eq. 3 and solving the differential equation for *u* (*t*). For the case where we assume the base is perfectly controlled, we solve for the base spatial force by setting *α*_{B} = 0 and solving for *f*_{b} using Eq. 3. Note that the motor trajectory generation for this case is unchanged from the fixed-base scenario.

For the case where the base is uncontrolled, we must solve for *α*_{B}(*t*) for some given *q*_{d}(*t*) before *u*(*t*) can be computed. Using the acceleration propagation detailed in the Supplementary Appendix, we obtain

We then substitute Eq. 9 into the top portion of Eq. 3 and rearrange to solve for the base acceleration, obtaining

Note that Eq. 10 is dependent on the base spatial velocity, and that to compute *α*_{B}(*t*) at some given time we must know the base spatial velocity as a function of time, *V*_{B}(*t*). Therefore, the base dynamics must be propagated forward in time from the initial condition to solve for *α*_{B}(*t*). Any suitable integration method may be used to do this—for our work, we use the trapezoidal rule.

Collecting the arm, base, and grasped object dynamics together, we obtain

Note that *f*(*t*) is dependent on *α*_{B}(*t*). This signal is once again passed through Eq. 8 to obtain the correct feedforward motor trajectory for some specified *q*_{d}(*t*).

We next propose the optimization problem to reduce the total trajectory time while satisfying dynamic constraints on joint speed, motor torque, and base spatial force (in the case of a controlled base). As previously stated, we assume the joint-space path (*q*_{d}(*λ*)) is known and wish to index the path variable with time to generate the trajectory (i.e., find *λ*(*t*)). From Eq. 3, we find that the link-side trajectory must be sufficiently smooth to obtain finite values of *τ*_{m} when solving the system differential equation. Specifically, *q*(*t*) must be differentiable to the third order for systems with coupled linear damping between the motors and joints, and differentiable to the fourth order with systems with decoupled linear damping (i.e., *b*_{l} = 0). One such trajectory that satisfies the more stringent requirement (and therefore applies to more systems) is the bounded snap (BS) motion profile, which is similar to the commonly used bounded acceleration (trapezoidal velocity) motion profile, but with snap being a constant maximum or minimum value rather than acceleration. We use the algorithm developed by (Nguyen et al., 2008) to compute this motion profile based on the limits *λ*(*t*). With *λ*(*t*) and *q*(*λ*) defined, we can compute *q*(*t*).

To compute the motor torque, we must have some estimate of

Consider the state-space representation of the LPF given by

where *q*_{m} (0) = 0, the motor position at the *k*th step for the discrete-time system is given by

where *A*_{Ld}, *B*_{Ld} correspond to the discrete-time versions of *A*_{L}, *B*_{L}, respectively. From Eq. 6, we write the state-space representation of the motor dynamics as

where **I** denoting the identity matrix. Once again assuming *q*_{m} (0) = 0, the discrete time system provides

where *A*_{d}, *B*_{d}, *B*_{0d} correspond to the discrete-time versions of *A*, *B*, and *B*_{0}, respectively.

Let *k* covering the entire trajectory of *τ*_{m}(*t*), *v*(*t*), and *z*(*t*), respectively. Rearranging Eq. 13, and Eq. 16 in matrix form for the entire trajectory, we obtain

where *L* maps the signal *v*(*t*) to the motor position through the LPF, *H* maps the applied motor torque to the motor position, and *P* maps the joint-side trajectory to the motor position. This provides a way to solve for the motor torque over the entire trajectory.

Finally, we pose the optimization problem

where *T*_{f}(*η*) denotes the final time of the trajectory. We note that *T*_{f}(*η*) is obtained via a numerical algorithm in (Nguyen et al., 2008), so we omit the computation of *T*_{f}(*η*) here for brevity and direct the reader to the citation. We propose solving this optimization problem using an iterative constrained nonlinear optimization method, such as sequential quadratic programming (SQP).

## 5 Experimental Setup

### 5.1 Experimental Setup: Computer Simulation

We choose the Rethink Robotics Baxter robot (Rethink Robotics, 2018) as a stand-in for a space manipulator in our simulation. This robot has 7 DOF and series-elastic actuators, meaning that it exhibits significant joint-flexibility. The link mass and inertia, link COM, and joint spring coefficients are all available from (Rethink Robotics, 2018). We choose the computer simulation motor inertias, motor damping, joint damping, and gear ratios as shown in Table 1.

We choose the satellite parameters available at (Kramer, 2002), and model both the target and base satellites as cylinders with evenly distributed mass, with parameters provided in Table 2. Base parameters are chosen at a similar scale, but slightly larger, with parameters provided in Table 2. Both the robot base and grasp point are located on the flat surfaces of the cylindrical satellites, as shown in Figure 3. There is a 1 m offset from the center axis of the base satellite to the first joint of the robot arm and a 0.5 m offset from the center axis of the target satellite to the grasp point.

Full spatial simulations are conducted with MATLAB and the Simscape Multibody package. A separate dynamic simulation that employs the Newton-Euler algorithm to solve the equations of motion is also implemented using MATLAB and Simulink. The results of these simulations have been compared to confirm the Multibody simulation results match the dynamics shown in Eq. 3. The optimization problem is solved using the SQP algorithm with the built-in MATLAB *fmincon* function.

### 5.2 Experimental Setup: Physical Experiment

To investigate the efficacy of the feedforward motor trajectory for oscillation reduction, we construct a single flexible joint for our physical experiment. The joint is composed of a TowerPro MG995R servo motor, a 25.4 mm length section of ∼9 mm diameter 60 A durometer polyurethane, and a rigid appendage connected to a second air bearing object, as shown in Figure 4. We mount this joint to two air bearing objects, which use three 40 mm diameter Newway air bearings each to reduce friction between the objects and a Mojave granite table. On-board air is supplied using compressed gas cylinders, as shown in Figure 4. The air supply to the base object is turned off during our experiments, making the system a fixed-base 1 DOF robot. The floating air bearing object has a mass of approximately 4.1 kg.

**FIGURE 4**. Flexible joint experimental setup: **(A)** detailed view of custom flexible joint, **(B)** air bearing bodies connected via flexible joint.

We use two fiducial tags, one mounted on each air bearing object, to estimate the link-side joint position. Computer vision data is taken using a 1.3 mega-pixel FLIR color Flea3 machine vision camera at approximately 20 Hz. The servo motor is controlled via a Raspberry Pi 3 with a servo control hat. We assume that the servo motor control loop is tight, and therefore that the commanded servo motor position is equivalent to the actual servo motor position. The Raspberry Pi code and computer vision code are integrated using Robot Raconteur (RR) (Wason, 2016) at approximately 20 Hz so that time-stamped vision and motor data can be recorded. We slow the command/sample rate using the same strategy as (Peng et al., 2018) to achieve a consistent 20 Hz.

## 6 Experimental Results

### 6.1 Simulation Experiment Results

First, we check the efficacy of the feedforward motor trajectory given by Eq. 8 to remove oscillations in simulation. As our model knowledge is complete, all oscillations should be successfully removed. However, modeling error and disturbances will require additional feedback control in a real physical system. We investigate the feedforward motor trajectory in part to ensure our derivations and algorithms for generating *u*(*t*) are correct. Furthermore, we compare the feedforward motor trajectory to the case where rigid joints are assumed (denoted the naïve case; *u*(*t*) = *Nq*_{d}(*t*)). Note that the naïve method suffices when joints are sufficiently rigid, and tracking is perfect in the infinitely stiff (rigid) joint case. This comparison shows the significance of the flexible joint dynamics in the space robot application, and what issues may arise if rigid joints are assumed during trajectory generation or trajectory following.

We first compare simulation results for a fixed-base scenario. A desired link-side BS trajectory is generated for this test case using *q*_{d}(*λ*), for all cases considered, which involves 6-DOF motion of the target object and motion of all of the 7 robot joints.

The joint-space performance results are provided in Figure 5. It is clear from these results that the naïve motor trajectory is not sufficient, with oscillations continuing well after the trajectory has been completed (at ∼30 s), even in cases where position tracking had decent accuracy during desired motion, such as joints 2, 3, 4, and 6. These oscillations are particularly dangerous, as they correspond to link-side motion after the motors have reached steady-state. Physically, this is analogous to a “brakes-on” condition, meaning that simply applying motor brakes at the end of the naïve motor trajectory will lead to significant oscillations and motion that may damage the robot arm or lead to collisions between the satellites. In comparison, the motor trajectory generated using the LPF approach has good joint-space performance. We do note that choosing a large zero-order hold (ZOH) step size for the motor trajectory can lead to oscillations even when using the LPF approach, especially for faster trajectories. This should be a consideration for physical implementation of this algorithm. Comparison results are presented for a 400 Hz motor control loop.

**FIGURE 5**. Comparison of joint space performance for a naïve motor trajectory and a trajectory generated using the LPF method.

Next, we consider the importance of accounting for the floating base dynamics. Once again, we investigate this scenario in part to confirm our derivations and algorithms for generating *u*(*t*). In cases where the robot base satellite is far more massive than the target satellite, and the robot arm itself, the base dynamics can be ignored and the robot can be treated as a fixed-base manipulator. However, in cases where the base is not sufficiently massive the base dynamics can have a large impact on the motion of the manipulator arm and captured satellite, as we will show. We compare motor trajectory generation without accounting for the base dynamics (using Eq. 7, and Eq. 8 against trajectory generation accounting for the base dynamics (using Eq. 11, and Eq. 8 in Figure 6. The BS trajectory limits used in the fixed-base example are used again here. These results show that failure to account for the uncontrolled base dynamics can result in poor tracking performance and oscillations, even when using the LPF trajectory generation approach. Accounting for the base dynamics leads to good tracking performance, showing the importance of taking base dynamics into account when joint flexibility and a payload of comparable mass to the base are both present.

**FIGURE 6**. Comparison of joint space performance with uncontrolled floating base when base dynamics are and are not accounted for.

With a methodology for generating *u*(*t*) = *q*_{m}(*t*) given some *q*_{d}(*t*), the next question is how to generate *q*_{d}(*t*) itself subject to the constraints previously outlined. We utilize the *fmincon* function within MATLAB to implement Eq. 19 with an SQP algorithm. An uncontrolled floating base is assumed for these trajectory generation scenarios. We slow the assumed motor control loop to 50 Hz to reduce the computational requirement for checking dynamic constraints, with small loss of accuracy in the computation of motor torque and base actuation. Furthermore, we choose *η*_{0}. Figure 7 presents motor torque results for an optimized trajectory obtained for an uncontrolled floating base scenario. As these results show, joint 5 reaches the torque limit. A final trajectory time of 12.2 s was obtained, which is a 56% improvement over the initial guess, and illustrates the benefits of undertaking the optimization step.

**FIGURE 7**. Simulated motor torques for the uncontrolled floating base trajectory after optimization. Note that joint 5 reaches the lower torque limit.

We also examine a case with link-side joint speed limits, and add the constraint

**FIGURE 8**. Joint speeds for an uncontrolled floating base scenario after optimization where joint speed is the limiting factor. Note that joint 4 reaches the lower joint speed limit.

Finally, we consider the case with a controlled floating base, and choose *f*_{max} = (1,500, 200) Nm, N for base actuation torque and force limits, respectively. Figure 9 shows the base actuation required to keep the base stationary during the generated trajectory, where the *y* direction force hits the specified limit. The final trajectory time is 16.0 s, which is a 43% improvement.

**FIGURE 9**. Feedforward base actuation during controlled base trajectory after optimization. Note that the *y*-direction force reaches the specified limit.

It is important to note that feedback control will be needed on each joint and on the base actuators (if controlled) on-application. Therefore, the actual joint torque and base actuation will likely be higher. It is therefore important to include a safety margin when specifying dynamic limits. One method is simply to set the safety margin as a percentage of the total limit, e.g., setting a 50% margin on a motor saturation of 5 Nm would generate a torque limit for trajectory generation of 2.5 Nm.

### 6.2 Physical Experiment Results

We include the physical experiments to show the efficacy of providing a feedforward motor trajectory to reduce oscillations during trajectory following. This feedforward trajectory can be used in tandem with one of the flexible joint control options described in the Introduction to further reduce oscillations. We first perform model identification on our physical testbed by finding the frequency response to a known Schroeder-phase input signal (Bayard, 1993). Based on the physical model of a single flexible joint (Figure 2), we fit the frequency response to a linear transfer function with the following two constraints: zeros must be in the left half plane, and the DC gain is 1. We obtain the linear transfer function *G*(*s*) from *q*_{m}(*s*) to *q*(*s*) given by

We note that this transfer function fits a model with negligible coupled damping between the motor and link sides (i.e., *b*_{l} = 0). This corresponds with little damping in the flexible transmission of the physical system. Figure 10 shows the frequency response of *G*(*s*) compared against the experimental data, showing the accuracy of the model fit.

We employ a similar methodology as detailed above to generate the feedforward motor trajectory, and invert *G*(*s*) to generate *q*_{m}(*t*) given *q*_{d}(*t*) (i.e., solving the differential equation for *q*_{m}(*t*)). Note that inversion is possible even though *G*(*s*) is a proper transfer function because *q*_{d}(*t*) is known *∀t*.

We investigate two test cases and repeat all experiments 5 times: a 10 s BS and 20 s BS motion profile for *q*_{d}(*t*). Figure 11 provides representative results for both of these cases, while Table 3 provides the mean root-mean-squared-error (RMSE) and standard deviation (STD) of the RMSE over all trials. From these results, we see a clear reduction in oscillations and better tracking performance for the 10 s trajectory case. Furthermore, all 5 trials using the naïve choice (*q*_{m}(*t*) = *q*_{d}(*t*)) for the 10 s trajectory resulted in collision between the two air bearing objects. No collisions occurred when using the model inversion approach.

However, we do not see significant improvement for the 20 s trajectory case. Figure 10 shows the magnitude response of the desired link-side trajectory for both trajectory cases. This result suggests that the 20 s trajectory case does not excite the flexible mode at ∼0.075 Hz, whereas the 10 s trajectory case does. Therefore, there is little benefit to using the feedforward motor trajectory for oscillation reduction in the 20 s case. This also suggests that slowing the trajectory may be sufficient to avoid oscillations with joint flexibility and the naïve feedforward approach, at the cost of total trajectory time. Finally, the feedforward motor trajectory is not enough to completely remove oscillations, and the tracking performance can still be improved. This is to be expected due to modeling error, unmodeled dynamics, and environmental disturbances. Future work will investigate using feedback control on top of the presented feedforward methodology to further reduce oscillations and improve tracking performance.

## 7 Conclusion and Future Work

This paper provides a model-based methodology for trajectory generation for a flexible-joint space manipulator grasping a massive object. We assume that the joint-space path has already been generated, and that trajectory generation indexes the path variable with time subject to dynamic constraints on motor torque, joint speed, and floating base actuation. Furthermore, we consider cases with both an uncontrolled floating base and a controlled floating base. Methodologies are provided to generate a feedforward motor trajectory given a desired link-side trajectory, and to generate a desired link-side trajectory while minimizing total trajectory time subject to dynamic constraints.

Full-spatial simulation results show the efficacy of this trajectory generation method. We also present physical experiment results for a single-joint scenario, showing that the feedforward motor trajectory can be used to improve tracking performance and oscillation reduction for certain trajectories in physical systems as well. However, some oscillations and tracking error remain, as expected. The addition of existing feedback controllers for flexible joint systems would likely further reduce these oscillations. The results also suggest that flexible modes may be avoided by using slower trajectories, albeit at the cost of trajectory time.

Future work will incorporate feedback control for further vibration suppression and tracking performance improvement. Motor control dynamics can also be considered for higher fidelity trajectory generation. Furthermore, future work will investigate more complex scenarios on the air bearing table. These scenarios will include controlled and uncontrolled floating bases, as well as higher DOF robots. We also note the assumption of a pre-planned path may impose limitations on trajectory optimizaiton. In particular, redundancy resolution cannot be leveraged during optimization, and certain paths may make satisfying dynamic constraints more difficult (e.g., large path curvature at a weaker wrist joint). These concerns should be addressed by allowing the joint-space path to be iteratively modified. Future work will investigate these improvements to the trajectory generation methodology, as well as incorporate practical kinematic path generation concerns like obstacle avoidance, joint limit constraints, and singularity avoidance.

The trajectory parameterization choice may also limit optimization. We have chosen a small number of optimization variables to parameterize the trajectory (a total of four), but this may result in certain portions of the trajectory being artificially slowed. A small portion of the path (e.g., one with high curvature with respect to the path variable) may also limit the optimized trajectory by reaching dynamic constraints at lower velocities and accelerations than other portions of the path would reach constraints at. Future work should investigate other trajectory parameterizations, such as polynomial or piece-wise definitions, which can allow for more complex trajectory shapes and for portions of the path to be optimized separately. We do note that computation time is a practical concern, so any parameterization choice with additional complexity should be evaluated for speed of computation as well. Piece-wise definitions of the trajectory should also take care to not introduce discontinuities or high acceleration, jerk, or snap in transition regions, as these could lead to oscillatory behavior or difficulties in satisfying dynamic constraints.

## Data Availability Statement

The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.

## Author Contributions

DC and JW: study concept and design, development of methodology, analysis of results, and manuscript preparation. DC: simulation and physical experiment setup, data collection.

## Funding

The authors gratefully acknowledge the support of this project by the United States government. The project was also supported in part by the New York State Empire State Development Division of Science, Technology and Innovation (NYSTAR) under NYSTAR contract C130145.

## Conflict of Interest

The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

## Publisher’s Note

All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.

## Acknowledgments

The authors would like to thank Glenn Saunders and Kenneth Myer for their help in designing and fabricating the experiment test fixtures, as well as Craig Carignan and Billy Gallagher for helpful discussions on robotic satellite servicing.

## Supplementary Material

The Supplementary Material for this article can be found online at: https://www.frontiersin.org/articles/10.3389/frobt.2022.687595/full#supplementary-material

## References

Alberts, T. E., Xia, H., and Chen, Y. (1992). Dynamic Analysis to Evaluate Viscoelastic Passive Damping Augmentation for the Space Shuttle Remote Manipulator System. *ASME J. Dyn. Syst. Meas. Control.* 114, 468–475. doi:10.1115/1.2897370

Bayard, D. S. (1993). Statistical Plant Set Estimation Using Schroeder-phased Multisinusoidal Input Design. *Appl. Maths. Comput.* 58, 169–198. doi:10.1016/0096-3003(93)90135-2

Bell, E. (2020). Nasa Space Science Data Coordinated Archive. NASA. https://nssdc.gsfc.nasa.gov/nmc/spacecraft/display.action?id=2007-006A, https://nssdc.gsfc.nasa.gov/nmc/spacecraft/display.action?id=2007-006C (Accessed Mar 5, 2020).

Bobrow, J. E., Dubowsky, S., and Gibson, J. S. (1985). Time-optimal Control of Robotic Manipulators along Specified Paths. *Int. J. Robotics Res.* 4, 3–17. doi:10.1177/027836498500400301

Carabis, D. (2020). *Robotic Manipulation of Massive Objects in Space*. Troy, NY, USA: Rensselaer Polytechnic Institute. Ph.D. thesis, Dept. Mech. Aerosp. Nucl. Eng.

Carabis, D. S., Oakes, K. I., and Wen, J. T. (2021). Manipulation of Massive Objects in Space Using Flexible Joint Manipulators. *J. Guid. Control. Dyn.* 44 (5), 923–937. doi:10.2514/1.G005347

Chang, K. (2020). An Orbital Rendezvous Demonstrates a Space Junk Solution. The New York Times. https://www.nytimes.com/2020/02/26/science/mev-1-northrop-grumman-space-junk.html (Accessed Mar 31, 2020).

De Luca, A., Lucibello, P., and Ulivi, A. G. (1989). Inversion Techniques for Trajectory Control of Flexible Robot Arms. *J. Robotic Syst.* 6, 325–344. doi:10.1002/rob.4620060403

Dubowsky, S., Vance, E. E., and Torres, M. A. (1989). The Control of Space Manipulators Subject to Spacecraft Attitude Control Saturation Limits. *Proc. NASA Conf. Space Telerobotics.* 4, 409–418.

Ferretti, G., Magnani, G. A., Rocco, P., Viganò, L., and Rusconi, A. (2005). “On the Use of Torque Sensors in a Space Robotics Application,” in IEEE/RSJ International Conference on Intelligent Robots and Systems, Edmonton, AB, August 2–6, 2005, 1947–1952. doi:10.1109/IROS.2005.1545374

Flores-Abad, A., Ma, O., Pham, K., and Ulrich, S. (2014). A Review of Space Robotics Technologies for On-Orbit Servicing. *Prog. Aerospace Sci.* 68, 1–26. doi:10.1016/j.paerosci.2014.03.002

Garner, R. (2018). About the Hubble Space Telescope. NASA. https://www.nasa.gov/mission\\_pages/hubble/story/index.html (Accessed Dec1, 2018).

Hall, L. (2019). Northrop Grumman and Nasa Partnership Gives Satellites a New Lease on Life. NASA. https://www.nasa.gov/directorates/heo/NASA_Partnership_Gives_Satellites_a_New_Lease_on_Life (Accessed Mar 31, 2020).

Henshaw, C., and Tasker, F. (2008). “Managing Contact Dynamics for Orbital Robotic Servicing Missions,” in Conference: AIAA SPACE 2008 Conference & Exposition, San Diego, CA, September 09–11, 2008 (San Diego, CA, USA), 7908–7924. doi:10.2514/6.2008-7908

Huang, P., and Xu, Y. (2006). “PSO-based Time-Optimal Trajectory Planning for Space Robot with Dynamic Constraints,” in 2006 IEEE International Conference on Robotics and Biomimetics, Kunming, China, 17-20 Dec. 2006, 1402–1407. doi:10.1109/ROBIO.2006.340134

Jain, A. (2010). *Robot and Multibody Dynamics: Analysis and Algorithms*. New York, NY, USA: Springer Science and Business Media.

Kasai, T., Oda, M., and Suzuki, T. (1999). Results of the ETS-7 mission-rendezvous Docking and Space Robotics Experiments. *Proc. Int. Symp. Artif. Intell. Robot. Automat. Space* 440, 299–306.

Kauderer, A. (2012). Canadarm2 to Catch SpaceX’s Dragon on its Maiden Voyage to the ISS. NASA.gov. https://www.nasa.gov/mission\\_pages/station/main/dragon\\_catch.html (Accessed Mar 5, 2020).

Kramer, H. J. (2002). Landsat-7. European Space Agency. https://earth.esa.int/web/eoportal/satellite-missions/l/landsat-7 (Accessed Jul 24, 2019).

Ma, O., Buhariwala, K., Roger, N., MacLean, J., and Carr, R. (1997). MDSF - A Generic Development and Simulation Facility for Flexible, Complex Robotic Systems. *Robotica* 15, 49–62. doi:10.1017/S0263574797000076

Moosavian, S. A. A., and Papadopoulos, E. (2007). Free-flying Robots in Space: An Overview of Dynamics Modeling, Planning and Control. *Robotica* 25, 537–547. doi:10.1017/S0263574707003438

Nanos, K., and Papadopoulos, E. G. (2015). On the Dynamics and Control of Flexible Joint Space Manipulators. *Control. Eng. Pract.* 45, 230–243. doi:10.1016/j.conengprac.2015.06.009

Nguyen, K. D., Ng, T.-C., and Chen, I.-M. (2008). On Algorithms for Planning S-Curve Motion Profiles. *Int. J. Adv. Robotic Syst.* 5, 11–106. doi:10.5772/5652

Northrop Grumman Space Logistics (2020). Mev-1 mission Profile. Northrop Grumman. https://www.northropgrumman.com/space/space-logistics-services/mission-extension-vehicle.html (Accessed Mar 31, 2020).

Ogilvie, A., Allport, J., Hannah, M., and Lymer, J. (2008). “Autonomous Satellite Servicing Using the Orbital Express Demonstration Manipulator System,” in *9th Int. Symp. On Artif. Intell. Robot. and Automat. in Space*. Hollywood, CA: ESA (European Space Agency), 25–29.

Peng, Y.-C., Carabis, D. S., and Wen, J. T. (2018). Collaborative Manipulation with Multiple Dual-Arm Robots under Human Guidance. *Int. J. Intell. Robot Appl.* 2, 252–266. doi:10.1007/s41315-018-0053-y

Rethink Robotics (2018). Rethink Robotics Baxter Arms SDK Wiki. RethinkRobotics.com. http://sdk.rethinkrobotics.com/wiki/arms (Accessed Mar. 7, 2018).

Rybus, T., and Seweryn, K. (2016). Planar Air-Bearing Microgravity Simulators: Review of Applications, Existing Solutions and Design Parameters. *Acta Astronautica* 120, 239–259. doi:10.1016/j.actaastro.2015.12.018

Scott, M. A., Gilbert, M. G., and Demeo, M. E. (1993). Active Vibration Damping of the Space Shuttle Remote Manipulator System. *J. Guidance, Control Dyn.* 16, 275–280. doi:10.2514/3.56598

Spong, M. W. (1989). Adaptive Control of Flexible Joint Manipulators. *Syst. Control. Lett.* 13, 15–21. doi:10.1109/37.41450

Spong, M. W. (1987). Modeling and Control of Elastic Joint Robots. *J. Dyn. Syst. Meas. Control.* 109, 310–318. doi:10.1115/1.3143860

Sun, L., Yin, W., Wang, M., and Liu, J. (2018). Position Control for Flexible Joint Robot Based on Online Gravity Compensation with Vibration Suppression. *IEEE Trans. Ind. Electron.* 65, 4840–4848. doi:10.1109/TIE.2017.2772157

Ulrich, S., Sasiadek, J. Z., and Barkana, I. (2012). Modeling and Direct Adaptive Control of a Flexible- Joint Manipulator. *J. Guidance, Control Dyn.* 35, 25–39. doi:10.2514/1.54083

Ulrich, S., and Sasiadek, J. Z. (2012a). “Real-time Estimation and Adaptive Control of Flexible Joint Space Manipulators,” in *Robot Motion and Control* (New York, NY: Springer), 215–224. doi:10.1007/978-1-4471-2343-9_18

Ulrich, S., and Sasiadek, J. Z. (2012b). Trajectory Tracking Control of Flexible-Joint Space Manipulators. *Can. Aeronaut. Space J.* 58, 47–59. doi:10.5589/q12-004

Wason, J. D. (2016). “Robot Raconteur® Version 0.8: An Updated Communication System for Robotics, Automation, Building Control, and the Internet of Things,” in 2016 IEEE International Conference on Automation Science and Engineering (CASE), Fort Worth, TX, USA, 21-25 Aug. 2016, 595–602. doi:10.1109/COASE.2016.7743456

Wu, H., Sun, F., Sun, Z., and Wu, L. (2004). Optimal Trajectory Planning of a Flexible Dual-Arm Space Robot with Vibration Reduction. *J. Intell. Robotic Syst.* 40, 147–163. doi:10.1023/B:JINT.0000038946.21921.c7

Yamano, M., Konno, A., and Uchiyama, M. (2000). “Experiments on Capturing a Floating Object by Two Flexible Manipulators,” in IEEE International Conference on Robotics and Automation, 2000 (IEEE) 1, 482–487. doi:10.1109/ROBOT.2000.844101

Yin, W., Sun, L., Wang, M., and Liu, J. (2018). Nonlinear State Feedback Position Control for Flexible Joint Robot with Energy Shaping. *Robotics Autonomous Syst.* 99, 121–134. doi:10.1016/j.robot.2017.10.007

Yoshida, K. (2003). Engineering Test Satellite VII Flight Experiments for Space Robot Dynamics and Control: Theories on Laboratory Test Beds Ten Years Ago, Now in Orbit. *Int. J. Robotics Res.* 22, 321–335. doi:10.1177/0278364903022005003

Yu, X., and Chen, L. (2014). “Dynamic Modeling and Control of a Free-Flying Space Robot with Flexible-Link and Flexible-Joints,” in 2014 IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, 31 May-7 June 2014, 6625–6630. doi:10.1109/ICRA.2014.6907837

Keywords: space robot, flexible joint arm, trajectory generation, manipulation, free-flying base

Citation: Carabis DS and Wen JT (2022) Trajectory Generation for Flexible-Joint Space Manipulators. *Front. Robot. AI* 9:687595. doi: 10.3389/frobt.2022.687595

Received: 29 March 2021; Accepted: 20 January 2022;

Published: 31 March 2022.

Edited by:

Renaud Detry, Department of Electrical Engineering, KU Leuven, BelgiumReviewed by:

Nikhil Chopra, University of Maryland, College Park, United StatesNicholas D’Amore, United States Naval Research Laboratory, United States

Copyright © 2022 Carabis and Wen. This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.

*Correspondence: David S. Carabis, carabd2@rpi.edu