Universal Robots
Software Engineer
In progress...
Student Worker - Software Engineer
My work with Universal Robots started in 2021, when I was hired as a student worker. I was hired to work on the PolyScope X project, which is a new version of the software that runs on the Universal Robots robots. PolyScope X is built using Angular, TypeScript, RxJS, NgRx, SCSS and Git and is the software serving the user interface for the robots. PolyScope X is a complete rewrite of the existing software, which is built using Java. PolyScope X is built using a micro frontend architecture, specifically defined as URCaps which allows 3rd party developers to develop their own applications for the robots.
My Work
- Development of features for PolyScope X e.g. an input dialog.
- Development of the URCaps SDK, which is the SDK used by 3rd party developers to develop their own applications for the robots.
- Unit tests using Jest.
- End-to-end tests using Cypress.
- Development of a CI/CD pipeline using Jenkins.
- General bug fixing.
Engineering Intern - Control Systems
During my internship, I aimed to grow both professionally and personally, setting specific goals to enhance communication, problem-solving, and time management skills. Through a series of targeted objectives, I strived to become more adept at collaborating effectively, handling tasks efficiently, and leading solutions in robotics-related domains.
My Work
- Torque Window Solution
- Addressed customer issue with small torque windows in a robot configuration.
- Implemented embedded C and controller C++ code for adjusting torque windows, improving performance and efficiency.
- Code Refactoring for Configurations
- Centralized specific configurations, reducing code complexity.
- Enhanced code maintainability and readability for easier modifications.
- Investigation of Integration Test Failures
- Analyzed test results and debugged code to identify failures' root causes.
- Provided insights leading to effective issue resolution and improved test stability.
- Code Linting Caching Solution
- Developed a caching solution for code linting in CI pipelines.
- Reduced linting time from ~25 to ~5 minutes, enhancing overall pipeline efficiency.
- Enhanced Power Usage Algorithm
- Implemented a faster and conservative power usage calculation algorithm.
- Improved power supply performance and reliability in driving the robot.
- Simulated Robot & Joint Controller Bridge Development
- Created a communication bridge between simulated robot and joint controller.
- Demonstrated feasibility for future integration and development.
- Additional Contributions
- Resolved various bugs and handled smaller assignments, honing technical skills and problem-solving abilities.
This internship allowed for practical experience in software development, embedded systems, debugging, optimization, and integration within robotics technology, offering valuable insights into its complexities.
Goals and Objectives
- Effectively improved communication and presentation skills through well-prepared talks and PowerPoint presentations.
- Embraced a proactive approach by consistently asking for clarification when uncertain, fostering a more open work environment.
- Enhanced time management by evaluating task priorities and staying prepared for meetings, optimizing productivity.
- Spearheaded solutions in robotics-related areas, showcasing problem-solving abilities and technical expertise.
- Developed a structured approach to task breakdown, ensuring efficient progress and learning from various attempts.
Additional Learning
- Gained proficiency in embedded C and improved task-switching capabilities, adapting to diverse tasks.
- Expanded teaching abilities by mentoring and supporting colleagues, fostering an open knowledge-sharing environment.
- Managed high-pressure situations by strategically addressing simultaneous assignments, emphasizing task assessment before commitment.
Was this document helpful to you?
Provide feedback
Last edited on April 22, 2024.
Edit this page