I believe there's nothing wrong with your code (I didn't test it, but if it works to you by itself, it should be OK) but on how you're creating your service, take a look at How to run a program at startup (systemd) that uses libmraa?, I think it might be helpful for you.
According to that discussion, I tried to change into "After=network.service" and "WantedBy=multi-user.target", nothing changes.
I checked the log file "journalctl _PID=464", it actually gives the error message:
Mar 12 16:26:52 edison su: Cannot find the 'cylon-intel-iot' module.
Mar 12 16:26:52 edison su: This problem might be fixed by installing it with 'npm install cylon-intel-iot' and trying again.
Clearly I have the module cylon-intel-iot installed, or my script wouldn't work. It's inside the node_modules folder in the project folder
Is it because I need to include the path to "/home/root/robotServer/node_modules" somehow?
Sorry for the delay in my response. By doing some more research about this I noticed that system services are stored in /lib/system/system, while you are trying to add your in /etc/systemd/system/. Try adding it to the other directory to see if that helps. Also, I can see that you are using default.target, and according to it it is for graphical interface, why don't you use multi-user.target to see if anything changes.