- #1
Sigurdv
- 3
- 0
The effect of "local torques" on a free body(A hexapod robot)
Hi
I have a question regarding how torques affect a free body.
I am making a dynamic model of a mobile robot with 6 legs.
I'm treating the body of the mobile robot as a free body, with 6 forces acting upon it from the legs, plus one from gravity.
Each of the six legs have three degrees of freedom, controlled by servo motors. I'm using an iterative Newton-euler formulation to derive the forces+torques acting at the joints where these servo motors are mounted.
This formulation can be divided into two "runs", an outward iteration, and an inward iteration. In the outward iteration, one goes through the three joints from the body and out, to find the accelerations(angular and linear), and the forces+torques acting on the local centre of masses. When these are found, the inward iteration finds the forces acting on the joints from the outmost joint, towards the body.
The equations I'm using can be found in a book "called introdction to robotics - mechanics and control by John J. Craig".
Outward:
[tex]
\begin{eqnarray}
^{i+1}\omega_{i+1}&=&^{i+1}_{i}R\cdot ^{i}\omega_{i}+\dot{\theta}_{i+1}\cdot ^{i+1}\hat{Z}_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}\dot{\omega}_{i+1}&=&^{i+1}_{i}R\cdot ^{i}\dot{\omega}_{i}+^{i+1}_{i}R\cdot ^{i}\omega_{i}\times\dot{\theta}_{i+1}\cdot ^{i+1}\hat{Z}_{i+1}+\ddot{\theta}_{i+1}\cdot ^{i+1}\hat{Z}_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}\dot{v}_{i+1}&=&^{i+1}_{i}R\left(^{i}\dot{\omega}_{i}\times ^{i}P_{i+1}+^{i}{\omega}_{i}\times\left(^{i}{\omega}_{i}\times ^{i}P_{i+1} \right)+^{i}\dot{v}_{i} \right)\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}\dot{v_C}_{i+1}&=&^{i+1}\dot{\omega}_{i+1}\times ^{i+1}{P_C}_{i+1}+^{i+1}\omega_{i+1}\times \left(^{i+1}\omega_{i+1}\times^{i+1}{P_C}_{i+1} \right)+^{i+1}\dot{v}_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}F_{i+1}&=&m_{i+1}\cdot^{i+1}\dot{v_C}_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}N_{i+1}&=&^{C_{i+1}}I_{i+1}\cdot ^{i+1}\dot{\omega}_{i+1}+^{i+1}\dot{\omega}_{i+1}\times^{C_{i+1}}I_{i+1}\cdot ^{i+1}\omega_{i+1}\nonumber
\end{eqnarray}
[/tex]
Inward
[tex]
\begin{eqnarray}
^{i}f_{i}&=&^{i}_{i+1}R\cdot^{i+1}f_{i+1}+^{i}F_{i}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i}n_{i}&=&^{i}N_{i}+^{i}_{i+1}R\cdot^{i+1}n_{i+1}+^{i}{P_C}_{i}\times ^{i}F_{i}+^{i}P_{i+1}\times^{i}_{i+1}R\cdot^{i+1}f_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
\tau_i&=&^{i}n^T_{i}\cdot ^{i}\hat{Z}_{i}\nonumber
\end{eqnarray}
[/tex]
w=angular velocity(acceleration with a dot)
R is the rotation matrix from frame to frame.
"i" describes what frame we are currently looking at
v is the linear acceleration of the joint
vc is the linear acceleration of the centre of mass
Pc is the position of the centre of mass
I is the inertia tensor
F is the force acting ont the centre of mass
N is the torque acting on the centre of mass
f and n are the force and torque acting on the joint
theta is the angle(angular velocity with a dot and acceleration with two dots) of the servo motor
tau is the load torque in the plane in which the motor rotates
From these equations, i can find the forces acting on the points, where the legs of the MR are located, which i plan to use to find the total torque and force acting on the centre of mass of the mobile robot, which i again can use to derive how the centre of mass moves in space. The thing that puzzles me is the torques acting on the joints where the legs are mounted.
I'm already using them in a dynamic model i have made for the servo motors(the higher the load torque, the slower the servo moves).
The thing I'm a bit puzzled about is the following: Are the forces acting on the points where the legs are attached the only thing i should take into consideration, when determining the torques+forces acting on the centre of mass for the whole robot.
And are the derived torques simply a consequence of the acceleration of the masses of the legs, and thus implicitly included in the derived forces. Or should i in some clever way transform the torques to forces acting on the centre of mass of the robot(If that is even possible).
Sorry for the long (And boring) post. Any help would certainly be appreciated.
Ps. any feedback on the method would also be very welcome.
Hi
I have a question regarding how torques affect a free body.
I am making a dynamic model of a mobile robot with 6 legs.
I'm treating the body of the mobile robot as a free body, with 6 forces acting upon it from the legs, plus one from gravity.
Each of the six legs have three degrees of freedom, controlled by servo motors. I'm using an iterative Newton-euler formulation to derive the forces+torques acting at the joints where these servo motors are mounted.
This formulation can be divided into two "runs", an outward iteration, and an inward iteration. In the outward iteration, one goes through the three joints from the body and out, to find the accelerations(angular and linear), and the forces+torques acting on the local centre of masses. When these are found, the inward iteration finds the forces acting on the joints from the outmost joint, towards the body.
The equations I'm using can be found in a book "called introdction to robotics - mechanics and control by John J. Craig".
Outward:
[tex]
\begin{eqnarray}
^{i+1}\omega_{i+1}&=&^{i+1}_{i}R\cdot ^{i}\omega_{i}+\dot{\theta}_{i+1}\cdot ^{i+1}\hat{Z}_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}\dot{\omega}_{i+1}&=&^{i+1}_{i}R\cdot ^{i}\dot{\omega}_{i}+^{i+1}_{i}R\cdot ^{i}\omega_{i}\times\dot{\theta}_{i+1}\cdot ^{i+1}\hat{Z}_{i+1}+\ddot{\theta}_{i+1}\cdot ^{i+1}\hat{Z}_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}\dot{v}_{i+1}&=&^{i+1}_{i}R\left(^{i}\dot{\omega}_{i}\times ^{i}P_{i+1}+^{i}{\omega}_{i}\times\left(^{i}{\omega}_{i}\times ^{i}P_{i+1} \right)+^{i}\dot{v}_{i} \right)\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}\dot{v_C}_{i+1}&=&^{i+1}\dot{\omega}_{i+1}\times ^{i+1}{P_C}_{i+1}+^{i+1}\omega_{i+1}\times \left(^{i+1}\omega_{i+1}\times^{i+1}{P_C}_{i+1} \right)+^{i+1}\dot{v}_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}F_{i+1}&=&m_{i+1}\cdot^{i+1}\dot{v_C}_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i+1}N_{i+1}&=&^{C_{i+1}}I_{i+1}\cdot ^{i+1}\dot{\omega}_{i+1}+^{i+1}\dot{\omega}_{i+1}\times^{C_{i+1}}I_{i+1}\cdot ^{i+1}\omega_{i+1}\nonumber
\end{eqnarray}
[/tex]
Inward
[tex]
\begin{eqnarray}
^{i}f_{i}&=&^{i}_{i+1}R\cdot^{i+1}f_{i+1}+^{i}F_{i}\nonumber
\end{eqnarray}
\begin{eqnarray}
^{i}n_{i}&=&^{i}N_{i}+^{i}_{i+1}R\cdot^{i+1}n_{i+1}+^{i}{P_C}_{i}\times ^{i}F_{i}+^{i}P_{i+1}\times^{i}_{i+1}R\cdot^{i+1}f_{i+1}\nonumber
\end{eqnarray}
\begin{eqnarray}
\tau_i&=&^{i}n^T_{i}\cdot ^{i}\hat{Z}_{i}\nonumber
\end{eqnarray}
[/tex]
w=angular velocity(acceleration with a dot)
R is the rotation matrix from frame to frame.
"i" describes what frame we are currently looking at
v is the linear acceleration of the joint
vc is the linear acceleration of the centre of mass
Pc is the position of the centre of mass
I is the inertia tensor
F is the force acting ont the centre of mass
N is the torque acting on the centre of mass
f and n are the force and torque acting on the joint
theta is the angle(angular velocity with a dot and acceleration with two dots) of the servo motor
tau is the load torque in the plane in which the motor rotates
From these equations, i can find the forces acting on the points, where the legs of the MR are located, which i plan to use to find the total torque and force acting on the centre of mass of the mobile robot, which i again can use to derive how the centre of mass moves in space. The thing that puzzles me is the torques acting on the joints where the legs are mounted.
I'm already using them in a dynamic model i have made for the servo motors(the higher the load torque, the slower the servo moves).
The thing I'm a bit puzzled about is the following: Are the forces acting on the points where the legs are attached the only thing i should take into consideration, when determining the torques+forces acting on the centre of mass for the whole robot.
And are the derived torques simply a consequence of the acceleration of the masses of the legs, and thus implicitly included in the derived forces. Or should i in some clever way transform the torques to forces acting on the centre of mass of the robot(If that is even possible).
Sorry for the long (And boring) post. Any help would certainly be appreciated.
Ps. any feedback on the method would also be very welcome.