Picar-x turning issue

Hi - built the picar-x - everything works fine when using 2.keyboard_control.py I can move forward, backwards and turn left, however when turning right, the back wheels spin in the same way as if it’s turning left, resulting in a skidding motion. The front wheel servo works as expected. I’ve calibrated all the servos and all seems to be ok apart from this issue.

Any advice?

To assist you better with your issue, we recommend providing a video that demonstrates the problem. This will help us analyze and resolve the situation more effectively.

If the video file is too large, you can upload it to your OneDrive and share the link with us. Please make sure to grant us access to view the video.

Thank you for your cooperation!

Here is the video of the 1.move script. It looks like the back wheels are rotating at different rates which causes this issue.

Based on the video you provided, the status of the rear wheel motors is one forward and one backward, indicating that the motors have not been calibrated.

You should run the car while suspended and check if the speeds of the rear wheels are consistent. The likely cause of the issue is that with one wheel moving forward and the other backward, the power is pulling against each other, leading to slipping.

I recommend recalibrating the motors and then running the examples to see if it works correctly. Please follow the calibration tutorial:

Calibration Tutorial

In step 7: Since the motor wiring may be reversed during installation, you can press ‘E’ to test if the car can move forward normally. If not, use the number keys 4 and 5 to select the left and right motors respectively, and then press ‘Q’ to calibrate the rotation direction.

Thanks for getting back to me.

I think it looks like the wheels are turning in opposite directions, but they’re not (it might be the frame rate effect of the camera).

The car works fine moving forwards and backwards, and turning left. But turning right is a problem - this is where the car skids. I’ve tried swapping over the motor ports on the robot hats and re-calibrating, but this doesn’t work. It does appear that one motor is spinning faster than the other - which I believe is the cause of this issue (so it will aid in left turns, but hinder in right turns). You can see the problem here (from about 7 seconds):

Which example code are you running? Please let us know so we can replicate the issue and help you solve it.

2.keyboard_control.py - the same behaviour can be seen with 1.move.py as shown in the above video. The wheels are moving in the same direction and there is no issue moving backwards and forwards. I think the issue in the motor speeds might be slightly difference causing this skidding motion when turning.

The reason is that the turning angle is too large, combined with a smooth base plate, and the front wheels are lighter while the rear wheels are heavier. This imbalance can cause inertia to impact the front wheels, preventing them from following the intended path and instead pushing the vehicle forward due to inertia.

Currently, the solutions are:

We recommend not operating on smooth surfaces. Please run it on surfaces with better friction.
Please reduce the turning speed.
In your code, appropriately lowering the steering motion speed can help mitigate the impact of inertia.