Ascent Robotics

At Ascent, our Robotics Engineers are focused on developing the interface between our AI systems and the physical world transferring our research results into reality. They not only develop code but also make it work on our robotic arms, both real and virtual.

As a member of the Robotics Engineering Team, you'll work closely with other software engineers and researchers on our diverse and stimulating range of projects including: designing robotic architectures, developing cutting edge algorithms and prototype applications, providing software design and programming support, along with implementing full robotic solutions. You won't spend all your time over your favorite IDE or editor though, we have plenty of hands-on work to validate our algorithms on real hardware.

At Ascent we are creating a passionate and engaging culture, combining the best of academia and product-led environments, providing a balance of structure and flexibility. Our approach encourages collaboration across all groups within the research team, leading to creativity and innovative breakthroughs at the forefront of robotics.

Responsibilities

• Design, build, and integrate robotic systems

• Architect and implement software libraries and internal tools

• Write and maintain documentation for the code you write

• Provide software design and programming support to research projects

• Test and evaluate hardware

• Report and present software development status and results clearly and efficiently both internally and externally, verbally and in writing

Requirements

Minimum Qualifications:

• BSc/BEng degree in computer science, engineering, robotics, or equivalent

• 1-3 years of direct experience with robot arms

• Theoretical and practical knowledge of motion planning for robot arms

• Strong math and physics foundation

• Proficient in C/C++, with strong command of CS fundamentals

• Familiarity with software collaboration tools (git, Jira, etc.)

• Good Linux knowledge

• Self-motivated learner

• Experience at least one of the following robotic subjects:

• Computer vision (Conventional or Deep-Learning based)

• Numerical Optimization

• Sensor fusion

• Path planning (IK, A*, RRT, ...)

• Experience working with one or more of the following software areas:

• Experience with a robotic middleware (ROS, ROS2, OpenRTM, Orocos, etc.)

• Industrial robots programming (FANUC KAREL, Kawasaki AS, Staübli VAL3, KUKA KRL, ABB RAPID...)

• Computer vision or perception (OpenCV, PCL, ...)

• Implementing machine learning software (with Tensorflow, Pytorch ...) or platforms (such as Kubeflow, Polyaxon, ...)

• Firmware/embedded systems engineering

Plus points for any of the following:

• Master's degree or further education

• Experience with GPU Programming (CUDA, OpenCL)

• Understanding of real-time operating systems constraints

• Experience with automated testing and deployment (CI/CD) pipelines

• Strong debugging skills

• Interest in machine learning and AI

• Experience using machine learning platforms, tools and libraries

• Knowledge of Ethernet, Serial and other network protocols and their usage

• Contributions to Open Source projects