Yes that looks quite a good circuit. One thing I would point out is that you could of course use a 7805 rather than a 7809 and feed the Arduino with 5v direct, this bypassing the controllers own 5v regulator. Also, if the current needed by the Arduino is small, the 78L09 or 78L05 (100mA) might do and are much smaller packages.
A Low-Pass Filter ....You did not explain at all, why you need an Arduino for a power supply. A simple potentiometer in series with a resistor can do everything you want in a manually controlled power supply.Or do you want a digitally controlled power supply?
There is a lowpass filter - and if the OP ran the PWM at a much higher frequency than normal - 20kHz or more - would be very effectiveAllan
You can use a npn power darlington transistor (TIP120...) instead of the LM317. Connect the output to the opamp - input, using a voltage divider (R1/R2). Don't forget a biiiig heat sink (and fan?), the transistor will burn up to 45W!