You are browsing as a guest. Sign up (or log in) to start making projects!

3h 5m 13s logged

Devlog #4

Today was a difficult day as i was working on too many things but i tried to simulate what i have implemented till now.

It was all about making it easier to understand.

Until now I had graphs, benchmark results and logs. They were useful for me, but if someone else looked at them, they probably wouldn’t understand why the runtime made a particular decision.

That made me think.

If a robot suddenly stops or changes its plan, how do I show why that happened instead of just showing numbers?

So today I spent most of my time working on the replay system.

Building a mission

To test everything, I created a simple Mars mission.

The rover starts driving normally.

Halfway through the mission a rockslide blocks the path.

Instead of continuing, the runtime reacts.

The rover stops.

Safety takes priority.

Navigation calculates another path.

Then the mission continues.

Watching that happen felt much better than looking at benchmark graphs.

For the first time it actually felt like I was watching the runtime make decisions.

I was happy at this point that all this work actually getting showed in a sim
(┬┬﹏┬┬)

Making it easier to understand

I also spent time improving the replay itself.

The rover now has moving wheels, suspension, antenna, brake lights, warning lights and dust effects.

I also added different camera angles to make it easier to follow what is happening.

One feature I enjoyed building was the cognition timeline.

Instead of showing every module sitting there doing nothing, I can now see when modules become active, when they pause and when another module takes over.

That made the scheduler much easier to understand, while replaying a mission.

One thing I realised

The most difficult part was finding a simple way to show what the runtime was thinking. Trust me it was difficult, putting everything into a presentable demo, Trying to fit weeks of work into a small demo meant deciding what to show and what to hide. I had to remove a lot of unnecessary details while still making it clear how the runtime actually works.

I think that’s something I’ll keep improving as the project grows.

What’s next

Right now the replay still uses temporary modules.

The next step is replacing them with actual runtime components like Perception, Planning, Navigation, State Estimation and Safety Monitor.

After that I’ll connect the replay directly to the Python runtime so every event comes from the real scheduler instead of prerecorded data.

Progress today

  • Built the first replay system
  • Added a Mars mission
  • Added dynamic hazards
  • Added cinematic camera modes
  • Added rover animations
  • Added cognition timeline
  • Improved replay visualisation

The replay is still pretty simple, but it finally feels like the project is becoming something people can interact with instead of just reading about.
I finally achieved something what i wanted to when i started the project, a simulation that is demoable.

It’s still far from finished, but seeing the runtime make decisions inside a simulation feels like a huge milestone for me.

0
11

Comments 0

No comments yet. Be the first!