Job Description:
Senior Software Engineer position focusing on low-latency control systems, specifically multi-axis movement to search for and track objects dynamically using feedback loops.
Initially you will work on the core algorithms before deploying on embedded Linux or microcontroller based platforms in C or C++.
The role offers significant autonomy across architecture and implementation, alongside complex challenges involving geometry, coordinate systems, and real-time astronomical tracking.
We are happy to consider any software engineers who have relevant robotics/control projects and good software development skills. The ideal candidate will have experience developing algorithms to control multiple motors or servo mechanisms using closed-loop feedback, including PID/PI tuning and position or velocity control.
Senior Software Engineer essential skills - Commercial software engineering experience with C or C++
- Practical experience in control or robotics
- A sound understanding of things like gearing, inertia, friction, backlash, acceleration, overshoot, oscillation and stability.
- A degree in engineering or equivalent qualification or experience.
Senior Software Engineer desirable skills - Python
- Motor drives, feedback devices and real-time software
- RTOS
- Linux development, scripting and system diagnostics.
- General embedded systems
- Advanced control or estimation methods, including feed-forward control, Kalman filtering, sensor fusion or system identification.
- IMUs, gyroscopes, accelerometers, GNSS or multi-axis motion-control systems.
- MATLAB/Simulink or Python-based control and simulation tools.
- Interfaces such as CAN, SPI, I2C, UART/RS-485 or Ethernet.
- ROS 2, ros2_control, CANopen/CiA 402 or EtherCAT.