Nexus Robot 4WD connecting with ROS

Hello

I'm trying to connect my Nexus 4WD Robot with ROS.
Right now I'm trying to make my Arduino to a Subscriber-Node and control it over USB connection by publishing commands from the terminal.

When I start the roscore and after that the command " rosrun rosserial_arduino serial_node.py /dev/ttyUSB0" I get the following error message :

rosrun rosserial_arduino serial_node.py /dev/ttyUSB0
[INFO] [1621949130.996782]: ROS Serial Python Node
[INFO] [1621949131.010222]: Connecting to /dev/ttyUSB0 at 57600 baud
[INFO] [1621949133.123661]: Requesting topics...
[INFO] [1621949133.139788]: Wrong checksum for msg length, length 8, dropping message.
[ERROR] [1621949148.130103]: Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
[INFO] [1621949148.135323]: Requesting topics...
[ERROR] [1621949163.140419]: Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
[INFO] [1621949163.146968]: Requesting topics...

What can I do to get it running??

Here the sketch:

#include <ros.h>
#include <std_msgs/UInt16.h>
#include <Arduino.h>


ros::NodeHandle nh;

  #include <MotorWheel.h>
  #include <Omni3WD.h>
  #include <Omni4WD.h>
  #include <PID_Beta6.h>
  #include <PinChangeInt.h>
  #include <PinChangeIntConfig.h>

  irqISR(irq4,isr4);  // Interrupt function on the basis of the pulse, work for wheel1
  MotorWheel wheel4(3,2,4,5,&irq4); // MotorWheel object called wheel1 
                                  // Motor PWM, DIR, Enocder A, B
  irqISR(irq3,isr3);  
  MotorWheel wheel3(11,12,14,15,&irq3); 
  
  irqISR(irq2,isr2);  
  MotorWheel wheel2(9,8,16,17,&irq2); 

  irqISR(irq1,isr1);  
  MotorWheel wheel1(10,7,18,19,&irq1);

  Omni4WD Omni(&wheel1, &wheel2, &wheel3, &wheel4);

  int velocity = 200;





void lenken(const std_msgs::UInt16& cmd_msg){
  Omni.setCarSpeedMMPS(velocity);
  if (cmd_msg.data == 1) {
    
    Omni.setCarAdvance();
    
    }
  if (cmd_msg.data == 2) {
    
    Omni.setCarBackoff();
    
    }
  if (cmd_msg.data == 3) {
    
    Omni.setCarLeft();
    
    }
  if (cmd_msg.data == 4) {
    
    Omni.setCarRight();
    
    }
  if (cmd_msg.data == 5) {
    
    Omni.setCarSlow2Stop();
    
    }

  
  
  }

  ros::Subscriber<std_msgs::UInt16> sub("richtung", &lenken);





void setup() {
//TCCR0B=TCCR0B&0xf8|0x01;   wann muss ich das anmachen?

TCCR1B=TCCR1B&0xf8|0x01;
TCCR2B=TCCR2B&0xf8|0x01;
Omni.PIDEnable(0.31,0.01,0,10);


nh.initNode();
nh.subscribe(sub);

}

void loop() {
  nh.spinOnce();
  delay(1);

}