SSC26 · Run it in your browser

No install, no local Python. Two cells take a 3-magnetorquer + 1-reaction-wheel CubeSat from 90° off target to under a tenth of a degree.

Open the notebook

Open in Colab

If the badge above 404s, the notebook has not reached main yet — install locally instead, it is one line:

pip install generalized-adcs

What it does

# the bus: 3 magnetorquers, 1 reaction wheel
acts  = [ADCS.MTQ(axis=a, max_torque=0.2) for a in np.eye(3)]
acts += [ADCS.RW(axis=np.array([0, 0, 1.0]), max_torque=0.0023,
                 J=5.7e-6, h=0.0, h_max=0.0036)]

# point the +z boresight at an inertial direction, from 90 deg away
res = ADCS.simulate(x=x0, satellite=sat, controller=ctrl,
                    goal=goal, os0=os0, dt=1.0, tf=3000.0)

Measured result: 90.2° → 0.057° in 3000 s.

A note on Colab

Colab ships its own NumPy, and numba constrains the version it works with, so the install may downgrade NumPy and ask you to restart the runtime. If it does, restart and re-run the second cell — the simulation itself takes a few seconds.

Also on the poster