Bluetooth Quadruped Problem

Hi, i’m building a quadruped controlled by my cellphone via bluetooth and i’m having some problems. The Robot doesnt respond when I send it the messages this is the code:

#include <Servo.h> 

#include <Math.h>
#include <LiquidCrystal.h>
Servo Servo1;
Servo Servo2;
Servo Servo3;
Servo Servo4;
Servo Servo5;
Servo Servo6;
Servo Servo7;
Servo Servo8;
int val = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;
int BUTTON = 7;
float C = 0;
float C2 = 0;
float R = 0;
float Pi = 6.2831853;
int potpin = 0;  
int BUTTONG;
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
  #define trigPin 51
#define echoPin 52
String pastCommand = "";
String command = "";


void setup(){
  lcd.begin(2, 16);
  Serial3.begin(9600);

  Servo1.attach(22);
  Servo2.attach(24);
  Servo3.attach(26);
  Servo4.attach(28);
  Servo5.attach(23);
  Servo6.attach(25);
  Servo7.attach(27);
  Servo8.attach(29);
  
  Servo1.write(90); 
  Servo2.write(90);
  Servo3.write(90);
  Servo4.write(90);
  Servo5.write(0);
  Servo6.write(180);
  Servo7.write(180);
  Servo8.write(0);
   
  pinMode(BUTTON, INPUT);

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
 
  lcd.setCursor(0, 5);
  lcd.print("T.A.R.");

}

void loop() {
  if (Serial3.available()) Serial3.write(Serial3.read());
  while(Serial3.available() > 0) { // While there is more to be read, keep reading.
    command += (char) Serial3.read();
    delay(10);  
}
  if(command != "") Serial.println(command);
  BUTTONG = digitalRead(BUTTON);
 
  if (command == "1")  {
    FORWARD();
   
}
if (command == "0")  {
  STOP();
}
command = "";
 
}

void Ping(){

  long duration, distance;
  digitalWrite(trigPin, LOW);  // Added this line
  delayMicroseconds(2); // Added this line
  digitalWrite(trigPin, HIGH);
//  delayMicroseconds(1000); - Removed this line
  delayMicroseconds(10); // Added this line
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;
  
  if (distance >= 250 || distance <= 0){
    Serial.println("Out of range");
  }
  else {
    Serial.print(distance);
    Serial.println(" cm");
  }
  delay(10);
}

void FORWARD() {

  
 Servo1.write(114); //Step 1
  Servo6.write(180);
  Servo7.write(180);
  delay(20);
  Servo2.write(0);
  Servo3.write(66);
  Servo4.write(180);
  Servo5.write(30);
  Servo8.write(30);
    delay(150);
    Servo5.write(0); //Step 2 
    Servo8.write(0);
    delay(20);
    Servo6.write(150);
    Servo7.write(150);
  Servo1.write(180); 
  Servo2.write(66);
  Servo3.write(30);
  Servo4.write(114);
    delay(150);

   }

void STOP() {
   Servo1.write(90); 
  Servo2.write(90);
  Servo3.write(90);
  Servo4.write(90);
    Servo5.write(0);
  Servo6.write(180);
  Servo7.write(180);
  Servo8.write(0);
}

Im using an application called: Arduino Bluetooth Joystick pro.

I see you have this, but what do you get if you echo the data to the serial monitor? Do you know exactly what the app sends out?

if (Serial3.available()) Serial3.write(Serial3.read());

if your looking to test with single chars, then why not just make command a char instead of a String?

For now, see what the app is sending out to the Arduino, and if it is sending out chars 1 and 0, see if you can control a simple LED.

What you need to do is get the 'parts' of the problem working correctly separately on their own, and "then" combine them together. Proof the BT comms part before trying to use it control the servos.