The workings of Supervisor

  1. main (SUPERVISOR_MAIN in RiSE/RobotCode/Behaviors/include/modules/SupervisorBase.hh is run with type Demo_Supervisor, so you get:
    1. SupervisorBase::SupervisorBase -> signal(SIGINT, exit_on_ctrl_c)
    2. SupervisorBase::configure() -> MMReadConfigFile list.rc, versionlist.rc, and robotlist.rc
      • list.rc: (assuming RiSE/Demo/Config/default/list.rc
        • module_manager.rc -> sets module manager priority, idle time, log name, etc.
        • comm_manager.rc -> sets comm device, resend interval, and thread priority
        • foottrajectory.rc -> just a bunch o' numbers for beta vs crank, beta vs crank velocity over betavelocity, crank vs beta, and crank vs betavelocity over crank velocity
        • puppetmode.rc -> position controller gain settings (Kp and Kd)
      • versionlist.rc: (assuming RiSE/Demo/Config/robots/arachi/versionlist.rc)
        • rise_arachi.rc -> forces messages to terminal, loads CDL file, sets initial wing and crank angles, sets SIM parameters (update periods, integration step, collision step, display step)
        • simhallsensors.rc -> location of hall sensors on crank
        • simstand.rc -> wing and crank speeds, initial positions, etc, for stand.
      • robotlist.rc: (assuming RiSE/Demo/Config/robots/arachi/robotlist.rc)
        • simcalibration.rc -> speeds and gains for calibration in simulation
        • recording.rc -> Options for recording for later playback via SimPlayer
    3. SupervisorBase::run(safety) ->
      • initHardware() -> this looks like a global function defined in possibly under RiSE/RobotCode/Hardware/RiSESimHW??
      • new CommModule
      • new DBModule
      • new LogServer
      • addModule (for above three modules)
      • new ModeSupervisor
      • addModule (for modeSupervisor)
      • Demo_Supervisor::initialize()
        • 6 new RiSECalibMachine, added with MMAddModule
        • addModules: FootTrajectory, StateProxy, GaitStore, GaitRunner, CustomGaitXModule, CustomGaitTModule, GaitSupervisorModule, RiSEStandModule, ForceControlModule, StanfordManualMode
        • 6 new HitDetector, ReflexMachine, PuppetModeMachine w/ addModule
        • addModes: StandMode, CustomGaitXMode, PuppetMode, PuppetMode, CustomGaitTMode, SupervisedCGXMode, CarpetMode, TickleMode, ForceControlMode, StanfordManualMode, GaitRunnerMode
      • makeCalib()
      • addMode(_calibMode)
      • ModeSupervisor::setCalib(_calibMode)
      • MMActivateModule(_supervisor) (The ModeSupervisor)
      • _supervisor->printModes()
      • finalize() (just returns true)
      • MMMainLoop()....

-- JonathanKarpick - 22 Sep 2005

This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback