Principal Robotics Engineer
At the Toro Company's corporate headquarters in Bloomington, Minnesota we pride ourselves in being an industry leader for outdoor environment products. These markets include turf and landscape maintenance, snow and ice management, underground utility, specialty construction, and irrigation and outdoor lighting solutions. Our teams at this location take pride in being on the cutting edge of creating innovative products while partnering with world-class employees that bring passion to their everyday work. This is a location that truly values its employees with upward career mobility and advancement opportunities.
We invite you to become part of our team!
As part of The Toro Company’s corporate Research & Development function, this individual will contribute to industry-leading innovation and the development of technology that benefits both customers and the environment. Primary job function is to lead the development of next generation computer vision algorithms for Toro’s worldwide products.
DUTIES & RESPONSIBILITIES:
Lead and coordinate the development of 3D perception, SLAM, visual odometry, machine learning for perception, safe CV, robust outdoor sensing approaches and more for new products or improvements to existing products. Create designs and algorithms that satisfy the product requirements as outlined in the product specification and resolve design problems.
Identify project opportunities that are consistent with the Center for Technology, Research, & Innovation and The Toro Company objectives. Conduct detailed background research including literature reviews and communications with other experts and collaborators in the field to define specific projects. Perform engineering analysis to predict the behavior of the proposed designs and algorithms. Simulation tools may include MATLAB/Simulink, as well as OpenCV and ROS tools.
Work closely with product engineering and marketing team to specify hardware required to execute designed algorithms and optimize the performance of the product.
Use modern software engineering techniques to develop modular or object-oriented software that meets the product requirements. Document code so that it is easily understood and maintained by others. Code may be developed via auto-coding directly from models.
Create and release software packages and software documentation for prototypes and production.
Work with test engineers and technicians to develop tests that simulate the requirements of the customer. Evaluate test data and make revisions to software and algorithms to solve identified problems.
Keep abreast of new technological developments, both in hardware and software, or competitive environment that would affect the design, coding or testing process.
Supervise contractors and consultants to ensure that they meet the requirements for function, cost, timing and quality.
Perform functions as required by established engineering procedures, including project requests through engineering release and change management procedures.
Ensure that designs meet the requirements of safety and any applicable industry or Toro standards.
Other duties as assigned by supervisor.
Located at The Toro Company’s worldwide headquarters in Bloomington, Minnesota or Longmont, CO.
Includes task and/or project leadership.
Working with others in teams to accomplish goals, including collaboration with divisional product development teams and other members of the corporate Research & Development team, including electrical and mechanical engineers, research scientists, and agronomists.
Engagement with divisional management teams and product development teams, to ensure alignment with strategic priorities and to facilitate effective project transitions.
Limited travel, up to 10% of the time, to test sites, customer locations, supplier/partner facilities, manufacturing facilities, and other locations as required.
Bachelor’s or Master’s degree in Computer, Software, Electrical, Mechanical, Mechatronics or Aeronautical Engineering, or
Bachelor’s or Master’s degree in software, or computer science.
Experience with, or PhD-level study involving navigation systems, robotics, and sensor-fusion techniques and processes, e.g., Kalman filtering, particle filtering, unscented filtering, SLAM, etc.
Experience implementing image processing/computer vision algorithms. Experience with Scripting languages for quick prototyping of computer vision applications (Python or Matlab preferred).
Linux development experience.
Computer Vision Libraries such as OpenCV, PCL, ROS, Boost 3D and projective geometry Visual odometry, mapping, or SLAM Embedded systems or Real Time application development Developing sensor drivers CUDA, Intel’s IPP,or SIMD (Neon, SSE) instruction development
Familiarity with localization sensors, e.g., accelerometers, gyroscopes, IMUs, odometry, GPS, radar, beacon ranging, altimeters, magnetometers, etc.
Experience with real-time positioning and localization.
C and C++ programming skills for deployment on an embedded platform.
Familiarity with model based design and testing - MATLAB/Simulink or similar
SVN, GIT or other version control tools, and working in a structured, revision-controlled software development environment.
Excellent written and verbal communication skills, including active listening skills. Motivated to share knowledge with peers.
Comfortable working in an R&D environment and product development teams.
We are proud to be an Equal Opportunity Employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.