# Build a curious rocket&#58; the hands&#45;on cpomdp tutorial for the Applied Active Inference Symposium

Presenter: Dan Corva

Contribution: Interactive Workshop

Public ID: talk&#45;80262f867d75698a

## Submitted abstract

In the 1960s&#44; Rudolf Kalman wrote down a filter that would go on to navigate Apollo to the moon&#46; It has been the workhorse of continuous&#45;state estimation ever since&#44; and if you have ever built a continuous active inference agent in the linear&#45;Gaussian regime&#44; you have built one too&#44; whether you intended to or not&#46; Bolt a goal onto it and you get a very good controller that is not curious in the slightest&#46; Koudahl&#44; Kouw and de Vries proved why in 2021&#58; under a fixed sensor the epistemic value is identical for every action&#44; so expected free energy quietly reduces to Linear Quadratic Regulator &#40;LQR&#41;&#46; 
In this workshop&#44; in about ten lines of Python that will look familiar to anyone who has used pymdp&#44; we are going to build a rocket&#33; Then&#44; we add the interesting part&#44; curiosity&#44; by making a surgical&#44; biologically realistic change&#58; adding sensor noise that varies based on the rocket&#39;s position&#46; We will see how the flight path bends when we add artifacts like a navigation beacon or a blackout zone&#44; and explore the science as to why&#46; You will write every line yourself in a Colab notebook and do not worry there will be plenty of scaffolding from the cpomdp team&#46; Code hints will drop in on a timer&#44; and a reference cell for anyone who gets stuck or would rather just see the finished steps&#46; 
We will build this in three steps&#58; the 1960 rocket&#44; a nav beacon it can fix its position by&#44; and a blackout zone&#46; Everything we use runs on the PyPI release of cpomdp and anything you build in the notebook is yours to keep and continue working on&#46;
Prerequisites&#58; comfortable editing a few lines of Python&#46; Familiarity with pymdp helps but is not required&#46; Nothing to install&#59; a browser and a google account is enough&#46; If you would like to use your own IDE feel free but we may not be able to provide 1&#45;on&#45;1 support if you get stuck&#46;

Source: [submitted source](<https://2026symposium.activeinference.institute/>)

Abstract SHA256: 8d2e1b9353c6c0730a9a5fd5a253822fbfc29c8147f8ee62cb7bdd1916f01896

## Organizer review checklist

- [ ] Confirm the submitted title, presenter, and abstract with the presenter.
- [ ] Confirm contribution format and scheduling needs.
- [ ] Confirm public permissions for any additional material before publication.
- [ ] Prepare discussion questions grounded in the submitted abstract.

## Public learning resources

These approved event resources are starting points; topic relevance and author identity have not been inferred.

- Active Inference Ontology: https&#58;&#47;&#47;github&#46;com&#47;ActiveInferenceInstitute&#47;Active&#95;Inference&#95;Ontology
- Cognitive Agent Modeling: https&#58;&#47;&#47;github&#46;com&#47;ActiveInferenceInstitute&#47;ActiveInferenceImplementations
- GEO&#45;INFER: https&#58;&#47;&#47;github&#46;com&#47;ActiveInferenceInstitute&#47;GEO&#95;INFER
- Generalized Notation Notation: https&#58;&#47;&#47;github&#46;com&#47;ActiveInferenceInstitute&#47;Generalized&#95;Notation&#95;Notation
- pymdp: https&#58;&#47;&#47;github&#46;com&#47;infer&#45;actively&#47;pymdp
- Reproducible publication template: https&#58;&#47;&#47;github&#46;com&#47;docxology&#47;template

OpenAlex discovery-only search (not a verified identity or literature match): https&#58;&#47;&#47;openalex&#46;org&#47;works&#63;search&#61;Build&#37;20a&#37;20curious&#37;20rocket&#37;3A&#37;20the&#37;20hands&#45;on&#37;20cpomdp&#37;20tutorial&#37;20for&#37;20the&#37;20Applied&#37;20Active&#37;20Inference&#37;20Symposium
