Pan and Tilt for Animatronics

Hello everyone! I am new to this forum, and a new Arduino user. I am a high school special education teacher and mentor a club of students interested in STEM projects, which range from a motion simulator to an "oil from plastics" reactor tank. I have a small group of students interested in making an animatronic parrot using Arduino. We have 3D printed a parrot skull (2 pieces: skull which contains the upper beak, and the second piece is the lower beak). We hinged the beak with wire and have attached a servo motor to make the beak move up and down. The body will be made using plaster-saturated gauze strips, starting at the top of the skull and moving down. The body cavity will be empty. The head part will be separate so that it can move. The entire hardened body will be covered with cloth material, and then feathers, so that the separation of the head and body will not be seen. We want to make the head be able to move left or right (45 degrees in each direction) as well as up and down (say 20 degrees in either direction). It seems like the best method of achieving this is with a pan and tilt assembly. However, I have seen that use primarily with cameras where a joystick is used. I have searched to find a way of making this assembly operate on it's own (without a joystick) and randomly. Any insight would be much appreciated!!

Hobby servos would probably the cheapest, easiest, most simple devices to make a pan/tilt setup. Basically you can hot glue one servo to the control horn of another servo and you have a pan/tilt mechanism. Do a google search for "servo pan tilt" and look at the pictures.

If you want to go a bit fancier than the hot glue approach, you can get cheap bracket sets on eBay, Aliexpress to attach standard servos in a pan/tilt configuration.

After that, you just need an Arduino board to control the servos and a power supply rated for the necessary current to power them.

I would recommend starting by studying the Sweep tutorial for the Arduino Servo library:

Connect one of the Servos to your Arduino and then upload that sketch. Once you have verified that Sweep is working correctly, you can modify it to use the random function to randomize the movements:
https://www.arduino.cc/reference/en/language/functions/random-numbers/random/
Maybe you'll want to add some random delays as well, using the technique described in the BlinkWithoutDelay tutorial:

Then you can expand your sketch to run two servos.

Thank you for the feedback and insight!