Autonomy Development Engineer

Caterpillar Caterpillar · Industrial · Irving, TX +1

Develops and prototypes production-quality C++ software for localization algorithms, enabling autonomous and semi-autonomous systems to estimate their position and altitude using perception, inertial, and GNSS inputs. Collaborates on design, documentation, coding, validation, and functional safety.

What you'd actually do

  1. Research and design of localization algorithms and software
  2. Develop production quality C++ software including design, documentation, coding, product quality, and validation
  3. Support requirements generation and architecture design considerations for the localization architecture
  4. Support functional safety software design and validation process
  5. Collaborate and mentor localization team members to execute on goals

Skills

Required

  • Excellency in C++
  • Fluency in Python
  • Strong engineering practices, debugging/profiling skills
  • Apply structured programming techniques to structured environments
  • Problem Solving
  • Software Development Life Cycle
  • Technical Troubleshooting

Nice to have

  • Experience with localization including Simultaneous Localization and Mapping (SLAM) type approaches, utilization of graph-optimization libraries, and overall state estimation
  • Experience implementing filtering solutions including Error State, Kalman and Extended Kalman
  • Knowledge of Inertial Measurement technology and Inertial Based Navigation and/or Guidance Systems
  • Knowledge of robotics and frameworks such as Robot Operating System (ROS)
  • Strong foundation in mathematics and fundamentals (3D geometry, linear algebra, statistical error modeling including Gauss Markov Processes)
  • Masters’ Degree

What the JD emphasized

  • production quality C++ software
  • localization algorithms
  • state estimation
  • functional safety software design

Other signals

  • autonomy
  • localization
  • state estimation
  • robotics