Senior Systems Analyst – Robotic Control Algorithms
Company | Intuitive Surgical |
---|---|
Location | Sunnyvale, CA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Master’s, PhD |
Experience Level | Senior |
Requirements
- Master’s degree in Computer Science, Electrical Engineering or Mechanical Engineering, or similar technical field, with 5 years of experience in control systems, servo control, or robotics.
- Alternatively, a Ph.D. degree in one of the technical fields above, with 3 years of experience.
- Experience in implementing, tuning, and diagnosing standard and modern servo control systems.
- Expert knowledge in approaches to modeling and system identification for robot dynamics and kinematics inclusive of actuator, sensor, and drivetrain characteristics.
- Fluent with the concepts of position, force, and impedance control of robotic manipulators.
- Working knowledge of frequency, state space, and nonlinear techniques for analysis and controller design.
- Familiar with the control of compliant and flexible devices.
- Skilled at mechanism and control system analysis with Matlab and Simulink.
- Fluent in designing and developing real-time control algorithms in C or C++, with the ability to assess numerical accuracy, and computational complexity.
- Familiarity with Unix or QNX operating systems, multi-processor architectures and networking protocols (TCP/IP, CAN, etc.).
- Robust knowledge of Python or Matlab for analysis, simulation, diagnostics and testing.
- Solid physical intuition and ability to contribute to failure modes and effects analyses.
- Solid software analysis skills and ability to contribute to software hazard analyses.
- Strong problem-solving skills and debugging of complex embedded software and electromechanical systems.
- Excellent verbal and written communications skills, with the ability to communicate effectively across all levels and organizations.
- Excitement to learn, solve tough technical problems, and to help improve patient’s lives.
Responsibilities
- Contribute to the design of new robotic manipulators and instruments through analysis and characterization of prototypes.
- Participate to the architectural definition of the robotic control system, achieving complex behaviors through a combination of real-time and event-driven algorithms.
- Lead mechanical, electrical, and software integration of new prototypes and new products, producing timely and methodical performance assessment for cross-functional hardware and software teams.
- Lead the design of safety-critical and fault-detection algorithms.
- Lead the safety analysis and testing of software and physical hardware.
- Give analytical assistance for other engineering issues.
- Refine and evolve system performance as it matures from design engineering to manufacturing.
- Document and communicate intellectual property.
- Improve group workflow through tool building and robust cross-functional interactions.
Preferred Qualifications
- Fluent working with version control systems, such as Git, and build systems, such as GNU Make and CMake.
- Embedded Linux or QNX at multiple levels including application, board bring-up, device drivers and distribution configuration.
- Rapid prototyping tools (e.g., Arduino, STM32) to support early investigations and proof-of-concept.
- Software development for multi-processor/multi-core systems.
- Familiarity with CUDA programming and memory management concepts.
- Hands-on engineering experience with proven ability to work effectively in a team environment.
- Ability to build and maintain relationships across supported organizations.
- Experience in all phases of the product development lifecycle including design, implementation, debug, verification, validation, and transfer to manufacturing.
- Experience designing software products in a regulated industry or for mission critical applications; comfort with concepts of design input, design output, traceability, risk analysis, and mitigations.