Rocket Landing

Rocket landing controller, rocket is coming towards earth due to gravity its moving down, so i want to give thrust to rocket in such a way its slow down the falling the velocity(-ve velocity in y direction ) of rocket not make it to move rocket upward, but if i pressed the thrust button for longer time its should slowly move upwards…here is my code that i am using.

private Rigidbody rg;
public float thrustvalue;
public float speed;
public float constantforce;
public bool iscollided=true;
// Use this for initialization
void Start () {
	rg=GetComponent<Rigidbody>();
	Physics.gravity=new Vector3(0,-15,0);

}

// Update is called once per frame
void FixedUpdate() {

	if(iscollided){

		rg.AddRelativeForce(0,constantforce,0);

	}

	if(Input.GetKeyDown(KeyCode.Space)){

		rg.AddForce(transform.up*thrustvalue);
		//rg.AddForceAtPosition(transform.up*thrustvalue);

	}

	if(Input.GetKey(KeyCode.LeftArrow)){

		transform.Rotate(0,0, -Input.GetAxis("Horizontal")*speed*Time.deltaTime);

	}
	if(Input.GetKeyDown(KeyCode.RightArrow)){

		transform.Rotate(0,0, Input.GetAxis("Horizontal")*speed*Time.deltaTime);

	}

}

void  OnCollisionEnter(Collision collisionInfo)
{
	iscollided=false;
}

What is currently happening/not happening? There could be various things going wrong. Supply some more information please.