Wiki

Clone wiki

scl-manips-group / nengo / Controllers

Implementation and Usage Notes

File: controllers.py

class NengoController

This is a skeleton class for controller implementations. It defines four functions that are to be overwritten by the implementation...

  • parse()
  • createNetwork()
  • getRobotNode()
  • getEnvironmentNode()

    ...as well the functions to connect and run the controller
  • connectToRobot(ip, port)
  • connectToEnvironment(ip,port)
  • run(time,simulation_step=0.001)
  • createLog(name,dir=None,filename='%(name)s-%(time)s.csv',interval=0.001,tau=0.01)
  • addToLog(population,tau=0.01)

The following four controllers are implemented so far. See the section on Nengo XML configuration files for more information on defining the specific properties of these controllers.

class NonDynamicOperationalSpaceController(NengoController)

Perhaps a more fitting name would be NAccelerationController, since this is a non-dynamic (no notion of the robot's inertial properties) control based on desired accelerations in task space.


class DynamicOperationalSpaceController(NengoController)

Again, this should probably be called AccelerationController, since it is based on desired accelerations in task space and DOES account for the inertial properties of the robot.


class NJPositionController(NengoController)

Position-based control in joint space. No compensation for dynamically changing inertial properties.

Updated