Skip to content
Ogma Intelligent Systems Corp
Menu
  • Technology Description
  • OgmaNeo
  • Press
  • Contact
  • GitHub
  • YouTube
Menu

OgmaNeo Ball Physics Simulation

Posted on December 23, 2016October 18, 2024 by Eric Laukien

The following is a rundown of a new demo added to the OgmaNeoDemos repository, Ball Physics Prediction. We plan to release new demos regularly!

Ball Physics Prediction/Simulation

An important aspect of world modeling in humans is the ability to simulate physical interactions ahead of time. Let’s try to make a simple demo of this using OgmaNeo!

In this demo, we will try to emulate 2D physics by showing a OgmaNeo hierarchy video examples of a ball bouncing around in a box. Then, when it has seen enough, we will run the hierarchy off of its own predictions, leading to something like a neural physics engine. We will do this directly from pixels!

In this demo, a ball starts at around the center of the box, and is given a random initial velocity. The ball then bounces around the box for a bit, after which it is reset to the center of the box again with a new random velocity. This process occurs many times until the network can approximately model the video it is seeing. We render video frames of the scene in greyscale, and each “episode” of ball bouncing takes around 60 frames.

When in simulation mode, the hierarchy receives its own predictions as input, resulting in a sort of simulation loop. The hierarchy receives the first 5 frames of the simulation from the video render (as a starting point to derive the appropriate heading of the ball), after which the hierarchy cycles off of its own predictions to produce the rest of the physical interactions.

Hierarchy Shape

The network used in this demo consists of 6 96×96 unit layers. Each layer is a Chunk encoder, with a chunk size of 6×6, meaning there are 16×16 chunks per layer.

Each layer is staggered temporally to run at half the rate of the previous layer, allowing us to capture longer term dependencies more easily.

Result

Below is a video showing the results! In the video, we switch between training mode (to show the underlying sequence) and simulation mode (to show the network simulating the physics).

Until next time!

 

 

Share this:

  • Share on X (Opens in new window) X
  • Share on Facebook (Opens in new window) Facebook

Related

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • AOgmaNeo Lorcan Mini robot demo + CLOgmaNeo
  • Unsupervised Behavioral Learning (UBL) revisited
  • Real2Sim with AOgmaNeo
  • Tutorial: RL with OgmaNeo2
  • Learning to walk (faster) with OgmaNeo2

Recent Comments

  • Eric Laukien on A Tutorial on OgmaNeo2
  • Eduardo on A Tutorial on OgmaNeo2
  • Eric Laukien on Beating Atari Pong on a Raspberry Pi without Backpropagation
  • Joseph Yacura on Beating Atari Pong on a Raspberry Pi without Backpropagation
  • Eric Laukien on Beating Atari Pong on a Raspberry Pi without Backpropagation

Archives

  • June 2022
  • July 2021
  • May 2021
  • June 2020
  • May 2020
  • March 2020
  • October 2019
  • August 2019
  • June 2019
  • February 2018
  • July 2017
  • June 2017
  • March 2017
  • December 2016
  • November 2016

Categories

  • OgmaNeo
  • Press

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.

To find out more, including how to control cookies, see here: Cookie Policy
© 2026 Ogma Intelligent Systems Corp | Powered by Minimalist Blog WordPress Theme