Hallo zusammen,
vorausgeschickt: ich habe das Extension Board bisher nur einmal kurz zum Testen in Betrieb genommen, kenne mich damit also noch nicht so richtig aus. Wir haben bei unserem Roboter gerade noch andere Baustellen 
Mir gefällt aber, was ihr euch da überlegt habt, und ich würde passend dazu folgende Konfigurationserweiterung (für YAML-Datei mit den Parametern) vorschlagen:
ros__parameters:
/* … */
servos: 2
servo0:
pulse_width_min_percent: 2.5
pulse_width_max_percent: 12.5
degree_min: 0
degree_max: 180
initial_pos: 90
servo1:
pulse_width_min_percent: 5
pulse_width_max_percent: 10
degree_min: 0
degree_max: 60
initial_pos: 0
Mit so einer Konfiguration hätte man (wie von Stefan schon vorgeschlagen) einzelne Servos wo nötig künstlich einschränken. Nicht konfigurierte Servos bleiben “aus”, erhalten also vermutlich wie bisher den ungültigen Wert 275.
Dass ich da Prozent und nicht ms genutzt habe ist Absicht, denn die 0,5-2,5ms gelten nur bei den üblichen und vermutlich aktuell benutzten 50 Hz. Das bedeutet, dass 50x pro Sekunde ein Puls gesendet wird, somit entsprechen 20ms 100%. Möchte man die Frequenz ändern (was unüblich ist, keine Sorge), sollte die Pulsweite mitwachsen. Darum ist eine Angabe in Prozent sinnvoller. Der erste Servo in dem Beispiel (servo0) würde also Werte von 2,5% (0,5ms sind 2,5% von 20ms) bis 12,5% (2,5ms) erlauben, der zweite von 5% (1ms) bis 10% (2ms).
Der Bereich für die Bandbreite an erlaubten Grad sollte für den Servo (und die Software) irrelevant sein, die Bedienung aber einfacher machen. Zu implementieren wäre ein Mapping von Bereich zu Bereich, fertig. Werte kleiner degree_min werden zu degree_min, größer degree_max wird zu degree_max. Vorsicht, negative Zahlen sollten dabei berücksichtigt werden! Dann kann sich jemand auch -90 bis 90 Grad konfigurieren, wenn er das einfacher findet.
EduDrive::joyCallback enthält aktuell Logik, welche für zwei Servos abhängig vom Joystick bestimmte Werte sendet. Falls das von irgendwem benutzt wird, müsste man sich dafür einen Migrationspfad überlegen, um betroffenen Projekten nicht ihre Logik zu zerstören.
Vielleicht sollte man EduDrive eine weitere Subscription spendieren, über die man dann eine Liste mit gewünschten Grad-Werten reinkippen kann, also z.B. [45, 10, 12, 4]. Das hätte den Vorteil, dass es Einsteigern mit relativ wenig Aufwand ermöglichen würde, bestimmte Posen zu senden.
Nachteil: die vorgeschlagene Logik widerspricht mit ziemlicher Sicherheit der Denkweise hinter ROS2 Moveit Servo. Das lässt sich vielleicht im Nachgang mit einer Komponente lösen, die an einem Movit-freundlichen velocity-getriebenen Topic “hört”, und dann übersetzte Werte ins EduDrive-“Servo-Grade”-Topic feuert. Da rate ich aber nur ins Blaue rein, habe mir das noch nicht näher angeschaut. Sollte man aber vielleicht machen, bevor wir hier eine Schnittstelle in Stein meißeln 
LG
Thomas