Robot not moving staright with ros arduino bridge

asked 2018-03-23 10:05:43 -0500

anadgopi1994 gravatar image

I am using a differential robot which is having Faulhaber dc motor with gear ratio 64:1 and a rotational speed of 120 rpm. The encoder is giving 3072 counts per revolution. Actually, the encoder count from both motor is +/-100 from the theoretical value. I am using the L298 motor driver. I made the necessary changes in the ros Arduino bridge code and also in the config file in the rosarduino_python directory. But when I tried to teleoperate the robot using keyboard, the robot is not moving straight for forward keyboard command. In PID control, the robot has the same effect when p=50 and p=500. So iwas not able to reach the goal using navigation stack. I am using rplidar and wheel odometry only for autonomous navigation. What is the need for two PID's inside ros Arduino bridge package and why the constant ko? .Why is the robot not moving straight?

edit retag flag offensive close merge delete


You haven't provided much information. 1) Have you verified that the encoder counts are correctly read by the Arduino code? (both wheels) 2) Have you tried the PID controllers for wheel speed from the Arduino serial monitor, without using ROS? You should try to debug the Arduino code separately.

Mark Rose gravatar imageMark Rose ( 2018-04-03 17:20:29 -0500 )edit