Help required on Robotic Arm integration with Conveyor & US sensor

Hi There,
i am trying to integrate my 3 axis servo arm with a conveyor which is controlled by Ultrasonic sensor position feedback to start or stop the conveyor movement.
In the Sketch i want to keep conveyor motor running all the time except if the US (ultrasonic) sensor detects an object within 20 cm distance.
At the same time robotic arm movements should happen in parallel.

Trying to use Millis and individual Functions for each movement. Below code is not complete but giving one error while compiling the code. The error is 'ArmDown' was not declared in this scope"

Can some one expert help to resolve the error and also guide what is the best way to handle the parallel functions with Arduino?

// ----------LIBRARIES--------------
#include <Servo.h>

//---------CONSTANTS (won't change)---------------
#define MAX_PWM 2150
#define MID_PWM 1500
#define MIN_PWM 850
const unsigned long eventInterval = 100;
unsigned long previousTime = 0;
unsigned long currentTime;
const int trigpin = 8;
const int echopin = 7;
const int motpin = 6;

//------------ VARIABLES (will change)---------------------
long duration;
int distance;
bool okpick;
bool Rbusy;
int pos_grip = 0; // variable to store the servo position
Servo Arm; // create ARM object to control a servo

void setup ()
{
Serial.begin(9600); // begin serial monitor
//Converoy Ultrasonic sensor setup
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
pinMode(motpin, OUTPUT);
//Arm setup
Arm.attach(9);// attaches the servo on pin 9 to the servo object
Arm.writeMicroseconds(1500); // Stop
}

void loop()
{
unsigned long currentTime = millis();
Conveyor();
ArmDown();
// GripperClose();
// ArmUp();
// BaseRight();
// ArmDown();
// GripperOpen();
// ArmUp();
// BaseLeft();
}
//===========Conveyor Function Starts =======================
void Conveyor()
{
digitalWrite(trigpin, LOW);
delayMicroseconds(2);
digitalWrite(trigpin, HIGH);
delayMicroseconds(10);
digitalWrite(trigpin, LOW);
duration = pulseIn(echopin, HIGH);
distance= duration*0.034/2;
Serial.print("Object Distance: ");
Serial.println(distance);
Serial.println("Okpick =");
//Serial.println(okpick);

if ( currentTime - previousTime >= eventInterval)
{
// Check for distance of an object
if(distance <= 20)
{
digitalWrite(motpin, LOW); // STOP conveyor if object position is = fixed distance
okpick = HIGH; //ok to pick up signal for Arm movement
Serial.println(okpick); //print status of okpick signal on serial console
previousTime = currentTime;
}
else
{
digitalWrite(motpin,HIGH); // ELSE the conveyor is still moving
okpick = LOW; // Not ok to pick if conveyor is moving
Serial.println(okpick);
previousTime = currentTime;
}
//previousTime = currentTime;
}
//===========Conveyor Function Ends =======================

//===========ArmDown Function Starts =======================
void ArmDown()
{
if (okpick == HIGH) // Check if ist OK to move arm down i.e conveyor is in stopped condition
{
Arm.write(1390); //Clockwise - Down
Serial.println("Arm Moving");
delay(900);
Arm.write(1450); //Stop
Serial.println("Arm Stopped");
delay(2000);
}
}