HackerTrans
TopNewTrendsCommentsPastAskShowJobs

Ridrik

no profile record

Submissions

A 3D simulator, visualizer and replayer for Drones

ridrik.github.io
2 points·by Ridrik·4 miesiące temu·3 comments

Fault: A lightweight C++20 crash handler and panic library

github.com
1 points·by Ridrik·6 miesięcy temu·1 comments

comments

Ridrik
·4 miesiące temu·discuss
Thanks for your comment. I agree. If expanded, it could serve as a test-bed for experimentation and training purposes. Educational interest is also one of the possible goals. Feel free to try it out or send to interested people. Cheers!
Ridrik
·4 miesiące temu·discuss
During the past few months, I've been developing a full 3D simulator, visualizer, and replayer for Drones, based in C++23. It features a full in-house built flight stack, native graphics using OpenGL (No engine used), immediate mode UI (DearImGUI), alongside various visualization tools such as plots, telemetry, 3D labels and trails, and more.

As for the simulation, it features a full flight stack - containing various GNC components such as sensor modelling, control laws, trajectory generation, as well as actuators, flight manager, and operation on different vehicle multicopter modes. All this is easily tunable and editable by the user, which is able to quickly create and edit new missions.

One of the highlights is having a replayer mode: each run is saved and can be loaded back with a pleasant GUI Experience and authentic detail.

This simulator also features experimental external interfaces with MAVLink (UDP) and ROS2, enabling external flight controllers to receive sensor data and yield their own control, estimation and guidance algorithms to provide final actuator commands.

This simulator is a proof of concept, and may be extended to various other features. The Simulation module may also be open-sourced in the future.

You can visit the showcase website and download a demo if you'd like. It's available for Linux and Windows.

Please feel free to give feedback, or reach out to me if you'd like more info.
Ridrik
·6 miesięcy temu·discuss
Hello! I've been developing a lightweight tool to detect, alert, and log whenever a fatal condition has occurred. I'm sharing it here today in case it's useful for your own projects.

I started this as a utility for my own project because I wanted both visibility and traceability on all common software faults, without the need to inject or know about complex dependencies.

fault is a Linux and Windows library for C and C++ users, implemented in C++20. Key features:

- Broad coverage Handles POSIX signals, Windows SEH exceptions, std::terminate's, as well as having explicit panic and panic-based assertions, - Signal-safe by default: Prioritizes logging unresolved, safe traces within POSIX signal handlers. Safe trace cannot be written? If the user permits, fault will perform a best-effort attempt to do a regular trace while imposing safeguards against deadlocks and recursive signals., - Concurrency Resilient: If multiple threads trigger a fatal condition simultaneously, fault ensures only the first one enters the mechanism. It prevents the system from shutting down prematurely during the microseconds needed to log and display the report or popup., - Panic and Modern C++ assertions, backed with fault unified handling. Includes FAULT_ASSERT, fault::panic, fault::expect, with support for customizable strings, formatted arguments, and deferred callables. Whether debug only or also release, and whether you'll want source location or not, there's an equivalent expression present., - Cpptrace integration: Whereas hidden by default, if you use cpptrace, fault can automatically log propagated traces from exceptions and saved requested traces whenever a panic or std::terminate trigger.,

Link to repo: https://github.com/Ridrik/fault

fault is a work in progress, and new features may happen in the coming weeks. Feel free to try it out for yourself. Feedback appreciated.