Software Engineer II, Calibration
Job description
About the role
Torc Robotics is seeking a highly skilled Software Engineer II to join our Calibration team. In this role, you will be responsible for developing and enhancing software solutions that improve the calibration processes for our autonomous vehicle systems. Your work will directly contribute to ensuring the accuracy, precision, and reliability of sensor systems critical to autonomous driving. You will collaborate closely with cross-disciplinary teams, including perception, simulation, and platform engineering, to define calibration requirements and implement robust solutions. This position offers an exciting opportunity to work on cutting-edge autonomous vehicle technology, applying advanced mathematical and software engineering techniques to real-world problems. The ideal candidate will have a strong background in sensor calibration, software development, and robotics, with a passion for innovation and quality.
Key facts
What you'll do
- Design, develop, and optimize a scalable sensor calibration pipeline primarily using C++, ensuring it can handle both real-time and offline calibration processes efficiently. Incorporate relevant libraries such as OpenCV and linear algebra libraries to support image processing, feature detection, and mathematical computations required for sensor calibration tasks.
- Apply advanced linear algebra techniques to create and implement spatial computational systems for multi-modal sensor platforms, including lidar, cameras, and IMUs. Utilize mathematical methods such as Lie groups, quaternions, and 3D transformations to achieve precise spatial calibration and alignment of sensors.
- Develop specialized software libraries for extrinsic calibration between different sensors, such as lidar-camera and imu-lidar systems. Use targetless detection methods during robotics missions to perform calibration without physical targets, increasing flexibility and efficiency in operational environments.
- Conduct comprehensive camera intrinsic and extrinsic calibration procedures to improve sensor accuracy and performance. This includes calibrating lens distortion, focal length, principal point, and sensor alignment parameters.
- Build and maintain simulation tools and data pipelines to facilitate sensor modeling, calibration validation, and large-scale regression testing. These tools support testing various calibration scenarios, analyzing sensor data, and verifying calibration accuracy before deployment.
- Collaborate with perception, simulation, and platform engineering teams to define calibration requirements for different hardware configurations and software releases. Establish best practices and standardized procedures for sensor calibration across projects.
- Implement calibration workflows integrated into CI/CD pipelines utilizing Docker, Bazel, and Git. Automate calibration testing, validation, and deployment processes to ensure reproducibility and efficiency in software releases.
- Perform in-depth debugging and root-cause analysis of complex sensor alignment and calibration issues using ROS tools, rviz, and custom visualization utilities. Troubleshoot sensor discrepancies, misalignments, and data inconsistencies to maintain system integrity.
- Mentor junior engineers, providing technical guidance and code reviews to promote high standards in software design, implementation, and testing. Contribute to team knowledge sharing and documentation efforts to ensure best practices are followed.
- Participate in technical discussions, design reviews, and project planning to align calibration strategies with overall system goals. Stay updated on the latest developments in sensor calibration, robotics, and autonomous vehicle technology to continuously improve processes and tools.
Requirements
- Bachelor's Degree in Computer Science, Robotics, Electrical Engineering, or a related field, with 5-7 years of relevant experience, or a Master's Degree with 3-5 years of experience. Proven track record in developing calibration algorithms and software for autonomous systems or robotics applications.
- Strong proficiency in Python and C++ programming languages, with experience in algorithm development, system design, and high-performance software tooling.
- Extensive knowledge of OpenCV, ROS, and numerical libraries applicable to computer vision and robotics. Familiarity with image processing, feature detection, and sensor data handling is essential.
- Deep understanding of multi-sensor calibration involving cameras, lidar, and IMUs, including techniques for extrinsic and intrinsic calibration. Experience with targetless calibration methods is a plus.
- Solid mathematical background in 3D geometry, non-linear optimization, and matrix mathematics, including SE(3) and SO(3) transformations. Ability to apply these concepts to real-world sensor calibration problems.
- Hands-on experience working in Linux environments, using Git for version control, Docker for containerization, and Bazel for build automation. Knowledge of software testing and validation processes is important.
- Strong problem-solving skills, with the ability to analyze complex sensor data, troubleshoot issues, and develop effective solutions. Excellent communication skills to collaborate across teams and document technical work.
Nice to have
- Familiarity with ROS-based tools and environments, including ROS nodes, topics, and visualization utilities like rviz.
- Experience mentoring or leading teams in a technical capacity, providing guidance and oversight on calibration projects.
- Knowledge of additional sensor types or calibration techniques, such as radar or ultrasonic sensors, is advantageous.
- Exposure to autonomous vehicle software stacks and hardware integration processes.
- Understanding of software development best practices, including continuous integration, automated testing, and version control workflows.
Skills & tools
- C++, Python, OpenCV, ROS, Docker, Bazel, Git, linear algebra libraries, 3D transformations, multi-modal sensor systems, simulation tools, calibration algorithms, data pipelines.
Practical notes
- This position is open to candidates eligible for remote work within Canada. The role offers a competitive salary and benefits package, along with opportunities for professional growth within a pioneering company in autonomous vehicle technology. Candidates should be prepared to work on-site in Montreal, Canada, as the role requires on-site presence. The company values innovation, collaboration, and high-quality engineering practices. The successful candidate will be part of a dynamic team dedicated to advancing autonomous driving systems through precise sensor calibration and robust software solutions.
About the company
Torc Robotics writes the software that lets heavy trucks drive themselves on public highways. The company began in Blacksburg, Virginia, in 2005 with students from Virginia Tech and later became part of Daimler Truck. Engineering and test work now run in the United States, Canada, and Germany, with an early commercial focus on Freightliner Cascadia trucks used in U.S. freight.