+ if(speed > 0) {
+ scalar_t speed_target = speed_max - exp(-speed / speed_max) * speed_max;
+ _dcenter_x = speed_target * _dcenter_x / speed;
+ _dcenter_y = speed_target * _dcenter_y / speed;
+ }
+
+ scalar_t angular_speed = abs(_dtheta);
+
+ if(angular_speed > 0) {
+ scalar_t angular_speed_target = angular_speed_max - exp(-angular_speed / angular_speed_max) * angular_speed_max;
+ _dtheta = angular_speed_target * _dtheta / angular_speed;
+ }