Generally, Arduino is a good way to interface the physical world with software. Other commenters mentioned an autopilot and a 3D printer, both examples of controlling motors or servos with software, based on sensor input.
One project I did was for controlling stage lighting, with programmed sequences of effects being "DJed" in real time. I prototyped an out-of-band management interface for web servers. It could power cycle servers and provide console access. I used a similar system to have computer controlled Christmas lights and 4th of July fireworks.
Another project was controlling a CD burning robot, to burn hundreds of CDs.
In general, pretend you had a robot that could run around doing anything you want, controlled over the network or pre-programmed, so the software side can detect the environment through sensors and then take physical actions through its gpio.