projects
info
help
Navigate with either mouse or keyboard.
As part of classes CS3028: Principles of Software engineering and CS3528: Software Engineering and Professional Practice. Groups of 7 students are assigned to work with a real client associated with the university on a Software Engineering project over a full term year.
Our project, given the name Simulacra, was to create a scene editor for a 3D marine simulator. The client for this was the National Decomissioning Center(NDC) who, in their work in renewables research and development and decomissioning oil and gas infrastructure, make extensive use of their 3D marine simulator. They work frequently with companies who wish to test new designs for equipment and infrastructure, practice operating cranes and other machinery among other purposes.
What we were required to create was companion software for the simulator that allows for easy and efficient editing of scene files in ways that the simulator does not support.
To give more context, all the information needed for the simulator to run is stored in a proprietary .OSC file format. While the simulator itself does support primitive manipulations of these files, such as copying or deleting a single item, anything more complex needs to be done manually. As manually editing the files is complex, time consuming, error prone and not accessible to most of the employees, they wanted software which was both easily usable by any of the engineers and supports more complex operations on OSC files.
We went through all stages of software development starting from requirements gathering through iterative implementation, testing, refactoring and eventually analysis for performance, meeting requirements and UI/UX usability.
We were to apply the knowledge we learned about software engineering practices and principles to our project. In practice we used an Agile approach that was a mixture of Scrum and XP principles based on iteratively improving our procedures based on what did and didn't work. We worked in one week sprints, had strict code standards and review process, frequently pair programmed and had multiple team meetings and standups each week.
We also regularly had meetings with the Client to discuss progress, next steps and gain feedback. We also had weekly meetings with our academic guide.
The project was created using C# and Windows Presentation Format(WPF)for the UI. We also made use of MSTest for testing, Github and Jira for collaboration, Github Actions for CI/CD, with each build automatically being pushed to a public repo for the client to download and test.
I led the development of the backend and many of the functional requirements as well as also helping with all other aspects of the project as needed.
I personally implemented:
Created a simulation using ROS2 and pyrobosim for a cooperative multi-robot system for the discovery and collection of fossils
Features:
Comprised of an explorer robot and a collector robot where the explorer moves faster and uses less battery that will explore an area using custom search patterns identifying both fossils and objects in the landscape which then sends messages to the collector robot which then goes to collect a fossil and bring it back to deposit it.
Both robots make use of automated battery management that will consider the battery required and how much is necessary to reach the charger for all movement planning
info
Made with HTML/CSS/JS
Aiming for the look of of a Terminal User Interface(TUI)
Inspired by the design of Textfox and spotify-player
Want it to be navigable entirely by both mouse and keyboard. Keyboard navigation still needs some work.