object reference not set up to an instance of an object?

here is the part of the script that is telling me is wrong

  if (chMotor.grounded && Input.GetKey("left shift") || Input.GetKey("right shift")){
        speed = runSpeed;
    }

It’s got to be the chMotor variable that is at fault if you’ve got the location right.

Try

if (chMotor!=null &&
  (chMotor.grounded && Input.GetKey("left shift") || Input.GetKey("right shift")))
{
   speed = runSpeed;
}

If that doesn’t error out, but also doesn’t react as expected then you need to check where chMotor is being initialized.