# Systems of second order ODE's

1. May 24, 2005

### peterbone

Hello. First post here.

I'm trying to write a program (from scratch) to simulate a double inverted pendulum (a cart with 2 pendulums one on top of the other). The system is modelled with a system of 3 second order ODE's, which I need to solve numerically using Runge Kutta. I know how to solve a system of first order ODE's numerically but not a system of second order ODE's. The equations are shown in this paper (there's no point in me re-writing them here):

http://www.tf.uni-kiel.de/etech/ART/paper/2001/ieee_cca_isic_zhong.pdf
(equations 4 to 6)

So can anyone tell me how to go about solving this initial value problem numerically? I have looked in many books but can only find examples of systems of first order equations and single second order equations.

Thanks

Peter Bone

Last edited by a moderator: Apr 21, 2017
2. May 24, 2005

### HallsofIvy

Staff Emeritus
Each second order differential equation is equivalent to two first order equations so you could write this system as six first order equations.

3. May 24, 2005

### peterbone

Thanks, but I don't know how to go about reducing the order of coupled differential equations because the 3 unkown variables x, theta1 and theta2 all appear in the same equations.

4. May 24, 2005

### arildno

Suppose you've got a second order diff.eq system:
$$\frac{d^{2}\vec{Y}}{dt^{2}}=\vec{F}(y_{1},..y_{n},\dot{y}_{1},....,\dot{y}_{n},t), \vec{Y}(t)=(y_{1}(t),....,y_{n}(t)),\dot{y}_{m}\equiv\frac{dy_{m}}{dt},1\leq{m}\leq{n}; m,n\in\mathbb{N}$$

Now, define:
$$\vec{X}(t)=(x_{1}(t),....,x_{n}(t),....,x_{2n}(t))$$
with:
$$x_{i}=y_{i}, x_{n+i}=\frac{dy_{i}}{dt}=\frac{dx_{i}}{dt}, 1\leq{i}\leq{n}$$
Thus, we may form the 1-order differential system of 2n equations:
$$\frac{d\vec{X}}{dt}=\vec{G}(\vec{X},t)$$
where:
$$G_{i}(\vec{X},t)=x_{n+i}, 1\leq{i}\leq{n}$$
$$G_{i}(\vec{X},t)=F_{i-n}(\vec{X},t), n<i\leq{2n}$$

Last edited: May 24, 2005
5. May 25, 2005

### peterbone

Thankyou, that was helpful.
I also found this site which explains the whole process of simulating a single inverted pendulum and includes the reduction stage.
http://drewk.net/projects/ipendulum/ipendulum.html
I should be able to use the same method for the double inverted pendulum.

Last edited by a moderator: Apr 21, 2017
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook