Employment Type: 
Job ID: 

Principal Robotics Software Engineer -

Required Qualifications:

B.S. in Robotics, Computer Engineering, Computer Science or Equivalent plus 7-10 years’ experience.

MS in Robotics, Computer Engineering, Computer Science or Equivalent plus 5-7 years’ experience.

Expertise with the Robot Operating System (ROS) software framework and build system Catkin.

Experience with physics-based software simulation systems, such as Gazebo

Knowledge on robotics autonomy architectures, 2D/3D mapping, localization and navigation ODOA path planning algorithms for Unmanned Ground Vehicles (UGV) such as Simultaneous Localization and Mapping (SLAM), Extended Kalman Filters (EKF), A*, D*, Dijkstra, etc.

Working with various sensors such as LiDAR, IMU/INS, Compass/Magnetometers, Gyroscopes, RADAR, Accelerometers, GPS, RADAR, and implementation of ROS sensor drivers

Experience developing C/C++ applications in a Linux environment

Experience in real-time, robotics, instrumentation, data collection and analysis

Experience developing software algorithms for hardware systems

Experience with RS232, TCP/IP, UDP, data communications

Fluent with Linux and command line tools (like package managers, git, debugging tools, etc.)

Hands-on system level integration, automation and computer networking skills

Experience using software development tools such as configuration control, bug tracking, code reviews, unit testing, and continuous integration

Strong knowledge and experience with the Software Development Life Cycle

Excellent written and verbal communications skills

Strong attention to detail and quality.

Flexible, self-started, desire to solve any problem

Software skills: C/C++ and Python, ROS, CMake, gcc, Make, Scons, Bash

U.S. citizenship

Desired Qualifications:

Experience with the Robot Operating System ROS Version 2 (ROS2) and build system Colcon.

Experience with the Data Distribution Service (DDS) middleware.

Experience in software development for military applications

Design and implementation of production-quality modular reusable software components

Experience developing embedded applications for Micro Controllers

Experience with bus protocols such as CAN, SPI, and I2C

Working knowledge of the Linux kernel build process and device driver development

Experience with feedback based closed loop control for unmanned ground vehicles (UGV)

Knowledge of real-time computing, machine learning (GPU-based computing), and computer vision algorithms commonly used in autonomous vehicles.

Demonstrated ability to build, test, and deliver robust autonomous vehicle software capabilities in complex real-world environments.

Multi-threaded Application development

UI development

Apply to this job

When applying to a Pro Source job posting, it is only necessary to apply one time to be considered for all open positions.

The following restrictions apply:
  • File extension must be: .doc .docx .pdf
  • Maximum file size: 10 megabytes