Job Openings
Robotics Software Engineer
About the job Robotics Software Engineer
Job Description:
As a Robotics Software Engineer, you'll play a key role in developing intelligent algorithms that power our next-generation robotic systems. You'll work on motion planning, SLAM, object tracking, and state estimation while leveraging your expertise in C++, ROS/ROS2, and computer vision to create breakthrough innovations.
What You'll Do:
- Design, develop, and maintain robotics software using Python and C++ with a focus on object-oriented programming.
- Design and implement advanced algorithms for robot localization, mapping, and state estimation.
- Implement and optimize SLAM algorithms (Cartographer, Gmapping, Hector SLAM, etc.) for real-time localization and mapping.
- Work with AMCL (Adaptive Monte Carlo Localization) and other localization techniques to enhance navigation accuracy.
- Develop and integrate image processing and point cloud algorithms (ICP, OpenCV, PCL) for environment perception and object tracking.
- Design and implement path planning, coverage path planning, and motion planning algorithms for mobile robots.
- Build, test, and simulate robotics applications in ROS2 and Gazebo.
- Utilize Dbus and other middleware for inter-process communication and seamless system integration.
- Apply machine learning techniques and libraries (e.g., OpenCV, Boost) to improve robotic perception and AI-driven capabilities.
- Optimize software for performance, efficiency, and scalability in real-world robotics applications.
- Collaborate with cross-functional R&D teams to integrate robotics software into hardware platforms.
- Work in a Linux development environment, leveraging tools such as Git and Gerrit for version control and code reviews.
- Conduct testing, debugging, and performance tuning of robotics systems.
- Stay updated with emerging robotics technologies and actively contribute to continuous innovation.
What You Bring:
- Bachelor's/Master's/Ph.D. in Robotics, Computer Engineering, Electronics, Mechatronics, or a related field
- 5+ years of experience in robotics software development or academic research
- Strong programming skills in Python and C++, OOP, and cross-compilation techniques.
- Hands-on experience with ROS/ROS2, OpenCV, and exteroceptive sense-based control solutions
- In-depth knowledge of SLAM, AMCL, and motion planning algorithms.
- Proficiency in image processing (OpenCV, PCL, point cloud processing, ICP).
- Experience with simulation tools (Gazebo or similar).
- Familiarity with Dbus or similar communication protocols.
- Strong problem-solving and debugging skills.
- Ability to work independently and in a collaborative R&D environment.