-
-
Notifications
You must be signed in to change notification settings - Fork 624
Reactive control
RTB has been the implementation substrate for a line of published research on reactive, optimisation-based manipulator control out of QUT — real-time controllers that recompute a motion command every control cycle from the robot's current state, rather than planning a trajectory in advance. Each paper below has a runnable code example in the toolbox's examples/ folder.
J. Haviland and P. Corke, IEEE Robotics and Automation Letters, doi: 10.1109/LRA.2021.3056060
A quadratic-programming formulation that, in a single optimisation per control cycle, jointly handles reaching a target pose, avoiding joint limits, avoiding self/environment collisions, and maximising manipulability — all as one QP rather than a stack of separate heuristics. This is the algorithm behind RTB's link_collision_damper()/joint_velocity_damper() QP-constraint helpers.
[Arxiv Paper] [IEEE Xplore] [Project Website] [Video] [Code Example]
J. Haviland, N. Sünderhauf and P. Corke, IEEE Robotics and Automation Letters, doi: 10.1109/LRA.2022.3146554
Extends the NEO-style QP approach from a fixed-base arm to a mobile manipulator (arm + non-holonomic mobile base), controlling both simultaneously as one reactive system rather than treating base navigation and arm motion as separate stages.
[Arxiv Paper] [IEEE Xplore] [Project Website] [Video] [Code Example]
K. He, R. Newbury, T. Tran, J. Haviland, B. Burgess-Limerick, D. Kulić, P. Corke, A. Cosgun, IEEE Robotics and Automation Letters, doi: 10.1109/LRA.2022.3188430
Adds a visibility objective to the reactive QP controller: keeps a target object inside the field of view of a wrist- or arm-mounted camera while the arm moves, rather than letting the arm's own motion occlude what it's meant to be looking at.
[Arxiv Paper] [IEEE Xplore] [Project Website] [Video] [Code Example]
J. Haviland and P. Corke
An earlier, simpler reactive controller that maximises manipulability (avoiding singular/low-dexterity configurations) as its secondary objective while reaching a target pose — a precursor to the full QP formulation used in NEO and the papers above.
[Paper] [Project Website] [Video] [Code Example]
- Inverse kinematics — the underlying differential-kinematics theory (Jacobian, Hessian) these controllers build on.
- Kinematics — RTB's own numerical IK solver classes.
- Frequently asked questions (FAQ)
- Documentation Style Guide
- Background
- Key concepts
- Introduction to robot and link classes
- Working with Jupyter
- Working from the command line
- What about Simulink?
- How to contribute
- Contributors
- Coding conventions