TransWikia.com

Deriving the equations of motion for free-floating spacecraft with a single link robot arm

Engineering Asked on January 26, 2021

Note: I had previously posted this question on the Space and Robotics SE sites, but received little/no response. So I’ve deleted the previous posts and repasted my question here in the hope of getting more responses.

I’m trying to model the dynamics of a free-floating spacecraft with an single-link (revolute) robot arm attached to one end. I’m modeling planar motion and rotation of both the spacecraft and the robot arm link.

I’m familiar with the process of obtaining the dynamics of a system by way of formulating the total kinetic and potential energies of the system and applying the Euler-Lagrange theorem. The problem is that I’m not entirely sure how to formulate the energies of this system.

For inspiration, I looked at modeling my spacecraft + single-link robot system as if it were a two-link robot system with a single revolute joint connecting link 1 with link 2. For simplicity, I’m only considering planar motion in an inertial coordinate system with no gravitational potential forces acting on the spacecraft-robot arm system. For reference, see the image below:

enter image description here

Mounted Two-Link Robot Arm System

In a ordinary planar two rigid link robot system (with two revolute joints mounted to a fixed platform), the potential energies are due to gravity. The kinetic energies for each part can be decomposed into energies from linear motion and from angular rotation.

For link 1, the kinetic energy due to the linear motion of Link 1’s center of gravity is constrained to circular motion because it is attached to the base at joint 1. Its linear energy is $$L_1=frac{1}{2}m_1a_{c1}^2dot{theta_1}^2,$$ where $m_1$ is the mass of link 1 and $a_{c1}$ is the half-length of link 1. The rotational energy associated with link 1 is the energy from rotation about its center of mass. Its rotational energy is $$R_1=frac{1}{2}I_1dot{theta_1}^2,$$ where $I_1$ is the moment of inertia of link 1 about its center of mass. So, the total kinetic energy of link 1 is $L_1+R_1$.

For link 2, the kinetic energy also has linear and rotational components to it. The linear energy can be obtained geometrically by noting that the (x,y) position of link 2’s center of mass can be obtained as follows:

The position of link 2’s center of mass is $$P_x=a_1cos(theta_1)+a_{c2}cos(theta_1+theta_2)$$
and
$$P_y=a_1sin(theta_1)+a_{c2}sin(theta_1+theta_2).$$
Note that $a_1=2*a_{c1}$ is the full length of link 1 and $a_{c2}$ is the half-length of link 2.

Using the chain rule, one can find the linear velocity in the x and y directions as $dot{P_x}$ and $dot{P_y}$. Then the kinetic energy due to linear motion at link 2’s center of mass is $$L_2=frac{1}{2}m_2v^Tv,$$ where $v=[dot{P_x}, dot{P_y}]^T$.
The rotation energy of link 2’s center of mass involves the sum of rotational velocities from both joint 1 and joint 2. So, the rotational energy around link 2’s center of mass is $$R_2=frac{1}{2}I_2(dot{theta_1}+dot{theta_2})^2.$$ So, the kinetic energy of link 2 is $K_2=L_2+R_2$.

I won’t go into the details of the potential energy, but let’s just assume there are expressions $P_1$ and $P_2$ for the potential energies of link 1 and link 2 associated with the height of the center of mass of each link.

So for a two-link, two joint revolute mounted planar robot arm, we can write the lagrangian as $$mathcal{L}=K_1+K2-P1-P2 = L1+R1+L2+R2-P1-P2.$$

Free-Floating Spacecraft with a Single Link Robot Arm System

To obtain the equations of motion for a free floating robot with a single robot arm attached to one end, I take this model and make a few modifications:

  1. Assume that link 1 is a free floating spacecraft. Thus, there is no joint 1 associated with this system.

  2. Re-define the angle $theta_1$ to be the orientation (attitude) angle of the spacecraft, with respect to an inertial reference frame.

Since the spacecraft-robot system are free-floating in space, I assume the potential energies for both the spacecraft and the robot are zero (e.g. assuming no gravity gradient effects or perturbation forces on the system). So $P_1=P_2=0$.

The spacecraft has a kinetic energy associated with its linear velocity. Denoting $dot{x}$ and $dot{y}$ as the linear velocity of the spacecraft (link 1), the linear energy of link 1 becomes $$L_1=frac{1}{2}m_1(dot{x}^2+dot{y}^2).$$ The spacecraft also has a rotational energy associated with its angular velocity $dot{theta_1}$ given by $$R_1=frac{1}{2}I_1dot{theta_1}^2.$$

My Question
I’m not sure if I’m characterizing the expressions for the linear and rotational energy in link 2 correctly. I assume link 2’s (the robot arm’s) center of mass has an (x,y) position given by:
$$P_x = x + a_{c1}cos(theta_1)+a_{c2}cos(theta_1+theta_2)$$
$$P_y = y + a_{c1}sin(theta_1)+a_{c2}sin(theta_1+theta_2)$$
So, if I take time derivatives of $P_x$ and $P_y$ as before, I should obtain an expression for the velocity $v=[dot{P_x},dot{P_y}]$ and the kinetic energy due to linear motion should be $L_2=frac{1}{2}m_2v^Tv$.

Question 1:
Should the kinetic energy of link 2 (the robot arm) include terms with the spacecraft (link 1’s) velocity $dot{x}$ and $dot{y}$ in it? My mind keeps going back and forth on whether or not to include the space craft’s velocity as part of the energy of the robot arm.

Question 2:
Should the rotational energy involve only the sum of the angular velocities of the spacecraft’s attitude ($dot{theta_1}$) and the robot arm’s joint $dot{theta_2}$. Specifically, is it correct to write out $R_2=frac{1}{2}I_2(dot{theta_1}+dot{theta_2})^2$? I have a doubt that the rotational energy energy of the link should be the same as that for the fixed base two-link robot arm case, but I can’t seem to find any other potential sources of rotational energy.

TL;DR: Are my expressions for $P_x$ $P_y$ and $R_2$ correct for the spacecraft-robot arm case? If not, where did I go wrong or what am I missing?

One Answer

Sorry I missed this over at Robotics. Your question is really unclear and you don't have a good diagram that helps it out at all.

You say there is no gravitational field, there are no springs, there is no body flexure, there is no friction - it's not clear what dynamics you're expecting to get out of this problem!


Even beyond that, the remainder of the premise isn't clear. You mention in Question 1 that the spacecraft is link 1, but then what is pinning link 1? Earlier in the text of your question, you said:

For inspiration, I looked at modeling my spacecraft + single-link robot system as if it were a two-link robot system with a single revolute joint connecting link 1 with link 2.

but then you go on to say:

For link 1, the kinetic energy due to the linear motion of Link 1's center of gravity is constrained to circular motion because it is attached to the base at joint 1.

Again, you start out saying there's only one joint, then it's two joints and a fixed platform.

Regarding the Question 1 question itself: if link 1 has a velocity, and link 2 is connected to link 1, then link 2 also has that velocity. The only difference in velocities would be the result of any motion in the joint between links 1 and 2.

Regarding question 2, there is no "rotational energy" exactly, there's kinetic energy and potential energy. Any rotational kinetic energy gets grouped with the other kinetic energy terms. That is, link 1 has the sums of its kinetic energies and link 2 has the sums of its kinetic energies.

Since you don't actually have a fixed platform (or do you?), your link 1 isn't going to rotate about the first joint. Instead, the entire system rotates about the system's center of mass. The location of that center of mass then depends on the ratio of masses and the joint angle.

Maybe, as I mention at the start, you would be better served to clarify what you're trying to study and use that as a tool to guide the rest of your approach. I think you should be looking to apply conservation of linear momentum and conservation of angular momentum, for the system as a whole, and then try to define your reference datum and other terms in a manner that best supports that approach.

I can't help much more than this because again I'm not sure that I follow the exact setup for the question. I will say, though, that I think continuously re-defining your reference datum (relative to m1 or m2) is a mistake. The system has a center of mass. The system has its angular and linear momentum conserved, so you should probably look to define everything else relative to the center of mass of the system. Then you should start finding things like translational velocities are just ratios of masses, etc., because you have to keep the vertical, horizontal, and angular components of momentum the same. These constraints (along with the joint kinematic constraint) are how you're going to solve the problem.

Answered by Chuck on January 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP