Einen Roboterarm der eine Kollisionserkennung bietet, wird wohl etwas teuerer werden.

Ein Arm mit Modellbau-Servos (RC-Servos) oder Schrittmotoren wird das nicht hergeben.

Kleine Professionelle Roboterarme haben DC-Getriebeomotoren mit incrementellen Drehgebern.
Bei meinem Eshed-Robotec (heute Inellitec) Scorbot ER 5 Plus kann ich für jeden Motor den Motorstrom messen und Schwellwerte festlegen.
Beim Greifer nutze ich das um ein rohes Ei mit einer geringen Greifkraft und einen Stahlblock mit einer hohen Greifkraft zu greifen.

Bei großen Robotern und CNC-Maschinen werden Servomotoren genutzt (funktionieren wie Brushles DC Motoren).

Modellbau Servos werden nur angesteuert (sollwert als 20ms PPM Signal). Es gibt keine Rückmeldung (der Positionsregelkreis befindet sich komplett im RC-Servo).
Ein üblicher Servoregler hat eine Stromregelung, eine Drehzahlregelung und eine Positionsregelung.
Entsprechend sind so ausgerüstete Roboterarme etwas teuerer.

Vorraussetzung für eine eigene Robotersteuerung auf Linuxbasis ist aber schon mal die Aktivierung von RTLinux sonst wird das mit Regelungen etc. nicht besonders zuverlässig.

Es gibt für PCs Steuerkarten, wenn es unbedingt über einen PC laufen soll.
Auch USB IO-Module gibt es.
Alternativ ein Raspberry, der ist auf Linux Basis und hat IOs.
Ein Arduino wird auch in C++ programmiert, hat IOs und mit Timerinterrupts auch echtzeitfähig programmierbar.