Tell us about yourself!
Hi JimI really don't know what you have done here and how your robot manages to work, but think for a while, you are making your output = input and using some scaling factors to balance it. I think you would need a joystick to provide training examples. you just rain the network without any data which is very weird and incorrect.
Also, why do you multiply "dt" with your integral gain. you are anyhow summing the previous errors right? dt is very small, so multiplying the error sum with dt will make it very small and it will not contribute. I have had this doubt since a very long time now. Can you explain it nicely? The integral term should be ki*error_sum or ki*error_sum*dt??