Objective:

Many people purchased our two types of Mecanum Omni wheel robot car from following link:

Mars Explorer Mecanum Wheel Robotic Kit Introduction (Arduino Mega2560)

Metal Chassis Mecanum Wheel Robotic (for Arduino Mega2560) Introduction

Above robot cars are controlled by Arduino. Actually the robot car can also be controlled by Raspberry Pi.

In this lesson we will tell you how to use Raspberry Pi 3 python programming language to control the Mecanum wheel car.

Hardware Installation:

If you have installed the Arduino Mecanum robot car lesson 1, please keep all the installation except following change:
There are two pcs of Model X boards in Arduino kit. Please remove JUST ONE pc Model-X and replace it with a Model Pi board.
Model Pi and Model X are almost same, but Model Pi have USB 5V output which can power raspberry Pi. So we only need one pc Model Pi board and keep another Model X board in the chassis.

The purchase link of Model-Pi board is https://osoyoo.store/products/model-x-l298n-motor-driver-board-for-raspberry-pi?variant=31322165313647

The installation tutorial of Model-Pi is in https://osoyoo.com/2020/03/01/python-programming-tutorial-model-pi-l298n-motor-driver-for-raspberry-pi/ , actually it is exact same as Model X. Just let you know your Raspberry Pi can get power from its USB port.

After replacing the Model X with Model-Pi and Arduino with Raspberry Pi, the car will look as following:

Wire connections:

1) Connect Front L298N(Model X) module to front 2 motors as following:

2) Connect Model-Pi L298N module to 2 motors in the back as following:

3)Connect two L298N Motor drivers control ports to Raspberry Pi GPIO ports

Raspberry Pi to Rear Model-Pi board

Raspberry Pi Real Model-Pi
Pin 16(GPIO 23) IN1
Pin 18(GPIO 24) IN2
Pin 13(GPIO 27) IN3
Pin 15(GPIO 22) IN4
Pin 12(GPIO 18) ENA
Pin 33(GPIO 13) ENB

Raspberry Pi to Front Model-X board

Raspberry Pi Front Model-X
Pin 40(GPIO 21) IN1
Pin 38(GPIO 20) IN2
Pin 36(GPIO 16) IN3
Pin 32(GPIO 12) IN4
Pin 1(3.3V) ENA
Pin 17(3.3V) ENB

If you don’t know the GPIO PIN location in Raspberry Pi, check following pin map:

now turn on the battery box and make sure Raspberry Pi and Model Pi board both have LED turned on.
use putty(in windows) or ssh command(in linux or MacBook) to connect raspberry pi, then type following two commands:

wget http://osoyoo.com/driver/mecanum/mecanum-pi.py

python mecanum-pi.py

Your two motors will make following movement
At beginning: car move forward

Then car move backward

then car turn left

then car right turn

then car make right parallel shift

then car make left parallel shift

finally car will make some X direction movement

you can download the python code from https://osoyoo.com/driver/mecanum/mecanum-pi.py

We have written detail comments in above python code to help you understand the working principal of motors.