Making child/parent movement smooth instead of choppy

I have been trying to get my character to be able to control something (specifically a ship) when he is inside of a box collider trigger. My script is working exactly as I want it to, but the entire ship is very shaky from the point of view of the player (it seems smooth in the editor). I make the player move by parenting the player to the ship while in the collider, and removing this relationship when the character leaves the trigger area. Ignore the weird angles/controls (my ship model is rotated funny). Does anyone know how to make it look smooth as opposed to jumpy?

Here’s my script

using UnityEngine;
using System.Collections;

public class ShipControls : MonoBehaviour {
	public float speed = 10f;
	public float rotationSpeed = 10f;
	public bool enter;
	// Use this for initialization
	void Start () {
	}
	
	// Update is called once per frame
	void Update () {
		if (enter == true) {
						if (Input.GetKey (KeyCode.UpArrow))
								transform.Translate (Vector3.down * Time.deltaTime * speed);
						if (Input.GetKey (KeyCode.DownArrow))
								transform.Translate (Vector3.up * Time.deltaTime * speed);
						if (Input.GetKey (KeyCode.LeftArrow))
								transform.Rotate (0, 0, Time.deltaTime * rotationSpeed);
						if (Input.GetKey (KeyCode.RightArrow))
								transform.Rotate (0, 0, -1 * Time.deltaTime * rotationSpeed);
				}
	}

	void OnTriggerEnter(Collider other){
				other.transform.parent = transform;
				if (other.gameObject.tag == "Player") {
						enter = true;
				}
		}
	void OnTriggerExit(Collider other){
		other.transform.parent = null;

				if (other.gameObject.tag == "Player")
						enter = false;
		}

}

Try to put the code in FixedUpdate() and see how that works.