As a Robotics Software Engineer at Viable Engineering Solutions, you will create libraries for interacting with Fanuc robots and a variety of devices/sensors, build UIs to enable customer utilization of our products, and build software solutions for customers.
Responsibilities: - Develop rapid prototypes and complete feasibility studies
- Testing of all application development
- Develop graphical user interfaces using WPF and the MVVM design pattern
- Develop software focused on Fanuc robot communications
- Develop libraries for interacting with external devices/sensors (e.g. IR/visual color cameras, laser profilometers, ultrasonic probes, PLCs, motor control systems, digital IO boxes, etc.)
- Work with or create tools for offline robotic arm path planning and collision avoidance
- Stereo vision image processing and laser profilometry for locating objects in 3D space
- Develop processes for calibrating the location of various tools and objects inside of a robotic cell
- Determine the feasibility and accuracy of using sensors or algorithms for performing certain tasks (e.g. determining the accuracy of a stereo camera setup's ability to locate an object, or how accurately a model predicts a robot's motion)
Qualifications:- Bachelor's degree in Computer Science or Computer Engineering
- 5+ years relevant experience required
- Proficiency with C# required
- Prior professional experience with object-oriented programming, .NET standards, and Dependency Injection
- Familiarity with other programming languages, such as C++ and Python
- Experience with MVVM and WPF
- Experience with development tools, such as Visual Studio and Git
- Knowledge of linear algebra and trigonometry. Statistics is also preferred
- Some experience with robots (Fanuc robot arms or similar) desired. Other preferred experience includes motion/robotic control systems, image processing (e.g. OpenCV), PLCs, and CAD/CAM software
- Experience with creating libraries to communicate with external devices / sensors (e.g. IR / visual color cameras, laser profilometers, ultrasonic probes, PLCs, motor control systems, digital IO boxes, etc.) is preferred