Robotics Engineer (junior-medior)
Software Engineering · Full-time
Leuven, Belgium
Common Sense Robotics is an young startup based in Leuven, Belgium. We build robot systems for "touch labour" tasks in the manufacturing industries where the cost of failure is high and products and processes can be severely regulated; for example, aerospace, automotive and construction. These industries expect every robot decision to be traceable, auditable, and explainable. We now need extra brains to develop the lower control levels of our "Task Execution System": a white-box, ontology-driven robotic skill stack designed from the ground up as a fully explainable "foundation model" for task specification, world modelling, skill generation, motion control and task-directed active perception. The stack is built on the solid foundations of advanced control theory of force sensing and real-time computer vision for robotic manipulation, exploiting state of the art that in some cases dates back already five decades. That approach allows us to integrate deep and reinforcement learning policies with time-proven control theory and symbolic reasoning, to realise highly reliable touch labour task executions that are fully predictable, inspectable, traceable and explainable.
Your Role:
You will work in a small team of junior/medior robotics engineers directly under the supervision of our senior robotics engineer CTO.
The team develops a repository of dozens of "force/vision motion primitives" in the form of small-granularity components, for a growing number of task envelopes that have "vision-guided touch labour" at their core. The targeted applications are complex but high added value (dis)assemblies in manufacturing, aerospace and construction, aiming at 100% success guarantees, traceability, and per and post factum explainability. Each implementation of a motion primitive must also be 100% instrumentable (via automatic tooling developed by the company's Software Engineers) such that they can be reconfigured, inspected and monitored at runtime. The motion primitives are designed to be composed together (semi automatically) into multi-level, multi-agent application architectures, with one, two,..., a dozen robotic arms and mobile platforms that continuously and consistently share their workspaces, their task execution progress, their perception, and their shared semantic world model. Each motion primitive implementation must be "aware" of its role in, and contribution to, the progress in the task executions in which it participates.
That situation awareness must work on multiple levels of abstraction: starting with awareness about the capabilities and the status of the electrical actuators, linked closely to the awareness of the capabilities and the status of the robotics hardware and the force and vision perception, all interpreted in, and configured by, the awareness of the properties, requirements, intentions and constraints of the executed task and the application's policies of safety, progress, explainability, and traceability.
In summary, you will:
-
Design, implement, document and formalize kinematic and dynamic control loops, with force and vision as the two most important and highly integrated sensing modalities.
-
Take lead responsibility for the development and documentation of a dozen or so "motion primitives", in one or two "task envelopes", and with maximum "explainability".
-
Integrate your work with that of your colleagues responsible for the symbolic reasoning, the automatic code generation tools, the multi-agent and real time software architectures, and the development of applications and products.
Your ideal skill set consists of, in the order of importance:
-
You have implemented cascaded control loops for manipulator and mobile robotic systems, from torque controlled Quasi-Direct Drive motors to hybrid vision-force based object manipulation on a mobile manipulator.
-
You know how to interface cobots and Quasi-Direct Drive robots, via USB, CAN, Ethernet or EtherCat, inside a multi-threaded C process.
-
You can identify the effects or friction, mechanical play, and compliance from time series data traces of a motion controller, and you can compensate for them in feedforward, to the extend that is feasible, predictable and necessary.
-
You know the ins and outs of kinematic solvers for under- and over-actuated robots; preferably also the ins and outs of recursive Newton-Euler dynamics solvers.
-
You know how to implement three-level robotic architectures (with tactical, reactive and motion control levels) as hybrid-event dynamical systems, linking continuous time and space Model Predictive Controllers, Moving Horizon Estimators, Sliding Mode and Energy Shaping algorithms, to discrete decision making via Finite State Machines and Petri Nets.
-
You are experienced in Git, C/C++, and Python, with implementations in realtime, low-latency, and distributed software architectures.
-
You can assess the impact of adverse lighting conditions, shadows, occlusions, and specular reflections on computer vision algorithms integrated in a low-latency motion control loop.
-
You know what the impact is on distributed control systems of the "CAP Theorem" and the "Fallacies of distributed computing".
-
You can explain, with concrete hands-on experience examples, the limitations of the myopic use of only convex QP solvers in control and estimation.
-
You can convince opinionated customers, in five minutes and with unrefutable technical arguments, that ROS is never part of the solution, but always the start of the problems.
-
You use Linux and other industry-grade open source software in all of your professional activities.
-
You can tell the difference between a professional and an amateur software project.
-
You can write documentation in semantic HTML.
If this matches your expertise and ambitions, we look forward to your application.
How to apply: We don't review generic CVs. Instead, send us a short application document, written specifically for this role, explaining why you're a good fit and proposing concretely how you would approach one or two of the challenges described above. email: info@commonsense-robotics.com