1. I added back the code for the hinge motor assist. I ran into an issue with the robot arm when I turned on SynchSim where when it hit the limit the part went to sleep and would not wake up. If I increased the mass or used the motor assist to hit it with a force it worked again fine. So there is an issue that needs to be looked at here. Motor assist for the hinge is off by default.
2. I added code to synch the adapter IO of a simulation to the same update rate that a robot would have. This is controlled by the SynchSim property of the RobotInterface. If it is true then it will only allow physics adapters to update after the physics time step of the RobotInterface part has passed.
I got the robot and simulation matching as close as I am probably going to get.
1. I moved the InSimulation method from the RobotInterface to the simulation object because I needed it other places like the adapter.
2. Added several new features to the adapter. I noticed that there is about a 200 ms delay between sending a move command to the robot and when it actually starts moving. To get the simulation to match this I added a delay buffer to the adapters. It is off by default. When you turn it on you can set the delay interval. I also added a robot scaling factor. The robot motor appears to be just a tad slower than in the simulation. So the scale factor is for scaling the response down slightly in the simulation to match the real motor.
3. I made a first shot at getting the linux projects setup correctly.