Well, I think one of the first important things to define is the interface to communicate with the tool.
There are EtherCAT shields for Arduinos, with an older KRC2 you could use serial communication directly, you can of course also just drive an extruder via digital IOs. Plus many more options if you use a PLC.
Once that is clear, you can look into suitable microcontrollers for driving the extruder.
Extruder-wise we were very happy with the ones from e3D, but these are just the motors and sensors, i.e. the logic (to set the heat, move the motors...) has to come either directly from the robot or from an external microcontroller/PLC.