RoboEngine is a framework used by the Department of Robotics for visualization and control applications. It is not a full-fledged engine with a graphical scene editor and scripting functions (such as Unity or Unreal Engine), but rather a simple framework that can be customized to meet specific needs.
Basic features
- C++, Direct3D 11, Windows-only,
- Windows messages, custom event system,
- scenes, Entity Component System (ECS).
- resource management (textures, models),
- flexible materials and shaders,
- immediate GUI,
- support for GPU calculations (Compute Shaders),
- Physically-Based Rendering (PBR),
- High Dynamic Range (HDR), tonemapping, bloom,
- shadow mapping,
- post-process effect pipeline,
- particle systems.
A research project focused on developing, implementing, and testing an algorithm for dynamic obstacle avoidance by a collaborative robot.
Basic info
- the algorithm is based on the concept of elastic bands,
- the trajectory is computed in real-time,
- the trajectory is optimized for short length,
- implemented in C++ using the RoboEngine framework,
- obstacle data collected from RGB-D cameras and represented as voxels,
- tested with a real UR3e robot.
A custom slicer developed as part of a project focused on the development of a nozzle with a variable filament diameter. It is primarily used for 3D printing using a robot.
Basic features
- implemented in C++ using the RoboEngine framework,
- loading STL model files,
- basic slicing features (layers, perimeters, infill),
- advanced slicing features (variable filament diameter),
- full 3D visualization of the slicing process and printing,
- printing using UR3e robot – real-time robot control,
- special mode – printing on curved surfaces,
- special mode – infill generator based on stress analysis.
A series of research objectives focused on optimizing robotic workstations.
Scenarios
- finding all valid locations for a robot in a workplace,
- evaluating the locations based on various criteria,
- finding the optimal locations of a trajectory relative to the robot,
- synthesizing optimal custom kinematic structure of a robot for a given task,
- selecting the optimal existing robot for a given task.
Features
- implemented in C++ using the RoboEngine framework,
- kinematic simulation, dynamic simulation,
- inverse kinematics solvers,
- trajectory importing and editing,
- robot structure modeling,
- workspace definition and editing,
- point cloud import and processing,
- optimization algorithms (PSO),
- brute-force grid search,
- performance optimizations, multithreading.
Preparing interactive visual teaching materials for lectures – path finding algorithms.
Demonstrated algorithms
- Breath-first search (BFS), Depth-first search (DFS),
- Dijkstra, A*,
- Rapidly-exploring Random Tree (RRT, RRT*), in 2D and 3D,
- Potential field.
Features
- implemented in C++ using the RoboEngine framework,
- obstacle editor (2D or 3D),
- algorithm configuration,
- path visualization,
- slow-down animation, step-by-step animation,