diff --git a/src/axidraw_controller/src/cpp/axidraw_controller.cpp b/src/axidraw_controller/src/cpp/axidraw_controller.cpp index f084815..3af64a2 100644 --- a/src/axidraw_controller/src/cpp/axidraw_controller.cpp +++ b/src/axidraw_controller/src/cpp/axidraw_controller.cpp @@ -78,8 +78,13 @@ class AxidrawController : public RobotController { float lspan = lmax - lmin; float rspan = rmax - rmin; - val = (val - lmin) / lspan; - return rmin + (val * rspan); + float out = (val - lmin) / lspan; + out = rmin + (val * rspan); + + // Ensure that output is within bounds + out = std::max(rmin, out); + out = std::min(rmax, out); + return out; } /**