3D Perception and Planning Software Engineer

Canvas is looking for a talented engineer who is excited to teach mobile machines to seamlessly navigate and interact with their surroundings. This person will own the task of building our core 3D perception and planning capabilities. You will work as an integral part of the software and algorithms team helping to ensure that efficient plans can be constructed from 3D sensor data on site. This includes everything from fusing information from multiple data sources to creating the tools needed for localization, mapping, and task referenced tool path planning/navigation.

We’re a small series A funded team with a great first platform in our early stages of development. You’ll wear many hats but you’ll play a significant role in shaping the future of our product, culture, and engineering team. Join us in creating new tools to reshape the construction industry.

See our Careers page for a little more info about working at Canvas: https://canvas.build/careers/


  • Develop and implement online localization, planning, mapping, navigation, and 2D/3D perception algorithms for mobile robotic platforms

  • Selection, characterization, calibration, and bring-up of relevant sensors including, but not limited to: LiDAR units, monocular and stereo cameras, structured light sensors, IMUs, and wheeled odometry sensors.

  • Integrate a variety of sensor data to create a navigable map of the system’s surroundings

  • Work with the team to build and maintain a robust deployment ready software codebase for a fleet of autonomous systems, scaling from one system to many

Required Skills:

  • Track record of solving real-world problems demonstrated through academic or industry achievement

  • C++ and Python in a Linux environment

  • Software fundamentals (iteration, data structure, object oriented programming, bits and bytes)

  • Homogeneous transforms, rotation vectors, Euler angles, quaternions, and translations

  • Linear algebra concepts such as matrix multiplication, dot products, projections and cross products

  • Have applied techniques to solve SLAM problems (monocular, 2D, RGBD, LIDAR, etc.)

  • Have applied techniques to solve path planning or navigation problems (DFS, BFS, RRT, A*, Geometric)

Preferred Skills:

  • Experience developing algorithms for real-time implementation

  • Familiarity with core ROS components and Catkin build system

  • Registration of 2D (RGB) and 3D (LiDAR) data

  • Experience working with point-clouds or images: filtering, clustering, feature extraction

  • Experience with segmentation or scene understanding of 2D or 3D data

  • Experience with planning for real robot platforms with kinematics