As members of the UTK IEEE Robotics Team, we have built many robots between us -- enough to appreciate the difficulty in building and testing autonomous robots. RIPSim is an opportunity to create a new tool to assist future development of robots.
What it does
RIPSim provides simulation capabilities to the RIP system. RIP (Robotics Integrated Platform) is a rapid prototyping and development framework developed by the UTK IEEE Robotics Team to build small scale autonomous robots. RIPSim builds on this and allows for simulating designs and code prior to physical implementation.
How I built it
This was a team effort with members of the robotics team. The graphical aspect was developed through Unreal Engine while the actual simulation backend is programmed in Python. The simulation is integrated in a branch of RIP with direct modifications to the structure of the framework to allow for integrated simulation and testing.
Challenges I ran into
The process of simulating a robot is a non-trivial affair. Other technical challenges include establishing a high speed, reliable interprocess communication system to move the simulation data to the Unreal Engine Visualizer. Another technical issue encountered was determining a manner to properly convert and simplify the CAD models of various components. The standard conversion process we first used from STEP to OBJ files generated far too many vertices for real time rendering on a laptop, so we were required to be more careful in the generation of OBJ model files.
Accomplishments that I'm proud of
This project is really ambitious from a technical perspective, but this project is something which offers immediate usefulness to the robotics team and to the platform as a whole. I am proud of the entire team accepting such a difficult task and making significant progress towards our goals.
What I learned
This project helped team members expand their knowledge of 3D graphics, CAD model formats, and Unreal Engine development. The project also required careful consideration of how to integrate a "fake" runtime environment for the existing RIP code base to allow for a simulated robot dealing with simulated time.
What's next for RIPSim
We fully plan to complete the development of RIPSim and include it as an important part of the RIP system. Additionally, another hackathon team investigated building a robot from components in a VR environment. We would love to integrate their system with our simulator to create a full virtual development system for robotics.