Lower Level Individual Wheel Control
The lower-level control block diagram is shown in the right picture. Given a desired speed of the wheel (RPM) and the wheel speed feedback from the encoder, the PID controller is able to compute the control input, which is calculated as PWM signal to control both the direction and magnitude of the motor’s speed. We can formulate the control law as F = kp(wd-w) + kd(ad-a) + ki(thd-th), where F is the PWM signal sent from the micro controller, wd is the desired rotational speed, and w is the current rotational speed measured from the encoder. kp, kd , ki are the proportional, derivative, integral gain respectively. The right figure shows how the speed of the four wheels influences in the movement of the robot. |
Higher Level Motion Control
The Mecanum wheel enhances the mobility of the conventional four wheels’ car. The force from the wheel to the robot is at a 45 degree angle which is shown in the right picture, meaning that we could manipulate and vary the magnitude and direction of the force vectors to achieve the translation, rotational movement; therefore, the robot could move in any direction while keeping the head of the robot in a specified direction. The most different part between the Mecanum drive and conventional cart or tank drive is that it does not require the robot to turn the head of the robot to travel in another direction. The robot dynamic analysis is important for our controller design. Based on the free body diagram analysis, we can formulate the transnational and
|
Control Block Diagram
The high level control block diagram is shown in Figure 9. The Arduino Mega Controller is able to calculate the desired speed of each wheel as our control input to the low-level controller. The IMU sensor is used as an orientation estimator to provide the controller with the orientation and angular velocity feedback. Jetson TX1 runs the face detection algorithm and estimates the position of the human’s face, used as the position feedback for the robot. |