Module Expr Str Import alias identifier Import alias identifier ImportFrom alias ImportFrom alias ImportFrom alias alias alias alias alias alias alias ClassDef bases AttributeLoad NameLoad attr body Expr Str Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num FunctionDef arguments args NameParam NameParam defaults Str body Expr Str Expr Call AttributeLoad Call NameLoad NameLoad NameLoad attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Str Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad Str attr SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad AttributeLoad NameLoad attr Index Str SubscriptLoad AttributeLoad NameLoad attr Index Str decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareEq AttributeLoad NameLoad attr Str body Return AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr orelse Return AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr decorator_list AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam NameParam defaults body If CompareEq AttributeLoad NameLoad attr Str body Assign AttributeStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr NameLoad orelse Assign AttributeStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr NameLoad Expr Str Expr Str Expr Str decorator_list AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad Str attr NameLoad TryExcept body Assert CompareLtELtE AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise Call NameLoad Str Expr Call AttributeLoad NameLoad attr Str UnaryOpUSub NameLoad Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str UnaryOpUSub NameLoad Expr Call AttributeLoad NameLoad attr Str NameLoad decorator_list AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad Str attr NameLoad NameLoad TryExcept body Assert CompareLtELtE AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise Call NameLoad Str TryExcept body Assert CompareLtELtE AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Raise Call NameLoad Str If CompareEq NameLoad Num body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Str Expr Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Str Num Expr Call AttributeLoad NameLoad attr Str Num Return Assign NameStore BinOpMult NameLoad UnaryOpUSub Call NameLoad BinOpDiv BinOpMult NameLoad NameLoad Num Assign NameStore BinOpMult NameLoad UnaryOpUSub Call NameLoad BinOpDiv BinOpMult NameLoad NameLoad Num Assign NameStore BinOpMult NameLoad Call NameLoad BinOpDiv BinOpMult NameLoad NameLoad Num Assign NameStore BinOpMult NameLoad Call NameLoad BinOpDiv BinOpMult NameLoad NameLoad Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad Str attr NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad ListLoad Call NameLoad NameLoad Call NameLoad NameLoad Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore BinOpDiv BinOpMult NameLoad NameLoad NameLoad Assign NameStore BinOpDiv BinOpMult NameLoad NameLoad NameLoad Assign NameStore BinOpDiv BinOpMult NameLoad NameLoad NameLoad Assign NameStore BinOpDiv BinOpMult NameLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad Str attr NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str NameLoad Expr Call AttributeLoad NameLoad attr Str NameLoad decorator_list AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Str Expr Call AttributeLoad NameLoad attr Num BinOpMod BinOpAdd NameLoad Num Num Expr Call NameLoad Num Expr Call AttributeLoad NameLoad attr Num Num decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad NameLoad NameLoad If CompareLt NameLoad AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr orelse If CompareGt NameLoad AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpMod Call NameLoad Call NameLoad NameLoad NameLoad Num Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Str decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Num Num body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Num Num decorator_list AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam NameParam defaults Num body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Num Num decorator_list AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Num body Expr Str If CompareEq NameLoad Str body Assign NameStore UnaryOpUSub NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Num decorator_list AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam NameParam NameParam defaults Num Num Num body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list AttributeLoad NameLoad attr decorator_list
N/A N/A TODO: Write this N/A bot.lib.lib lib N/A bot.driver.driver driver bot.hardware.dmcc_motor DMCCMotorSet time sleep math sin cos pi fabs hypot atan2 degrees OmniDriver N/A N/A driver Driver N/A N/A Subclass of Driver for movement with omni wheels N/A min_speed 0 N/A max_speed 100 N/A min_angle -360 N/A max_angle 360 N/A min_angular_rate -100 N/A max_angular_rate 100 __init__ N/A N/A self mode N/A power N/A N/A Run superclass's init, build motor abstraction object. N/A N/A N/A N/A super OmniDriver self __init__ N/A motor_config N/A N/A self config N/A omni_drive_motors N/A N/A self motors N/A DMCCMotorSet motor_config N/A N/A self mode mode N/A __str__ N/A N/A self N/A N/A N/A Show status of motors. N/A N/A N/A fr: {}, fl: {} br: {}, bl: {} format N/A N/A self motors N/A north N/A N/A self motors N/A south N/A N/A self motors N/A east N/A N/A self motors N/A west N/A get_motor N/A N/A self name N/A N/A N/A N/A N/A self mode power N/A N/A N/A N/A N/A self motors N/A name power N/A N/A N/A N/A N/A self motors N/A name velocity N/A N/A lib api_call set_motor N/A N/A self name value N/A N/A N/A N/A N/A self mode power N/A N/A N/A N/A N/A self motors N/A name power value N/A N/A N/A N/A N/A self motors N/A name velocity value N/A 
        Getter for bot's current overall speed as % of max
            (same as duty cycle).
            
            :returns: Current bot speed as percent of max real speed.
            
         N/A Getter for bot's current overall direction of movement.

        Combines wheel velocity vectors and returns angle (corrected
        to use forward as zero).

        :returns: Current bot angle in degrees.

         N/A Getter for bot's current overall speed of rotation.

        :returns: Rotation speed in [min_angular_rate max_angular_rate].

         N/A N/A lib api_call rotate N/A N/A self rate N/A N/A N/A 
        Pass (angular) rate as -100 to +100
        (positive is counterclockwise).
         N/A N/A N/A N/A self logger debug N/A N/A Rotating with angular rate: {} format rate N/A N/A N/A N/A N/A OmniDriver min_angular_rate rate N/A OmniDriver max_angular_rate N/A N/A N/A AssertionError N/A N/A N/A AssertionError Angular rate is out of bounds N/A N/A N/A self set_motor north N/A rate N/A N/A N/A self set_motor south rate N/A N/A N/A self set_motor west N/A rate N/A N/A N/A self set_motor east rate N/A N/A lib api_call move N/A N/A self speed angle N/A 0 N/A N/A Move holonomically without rotation.

        :param speed: Magnitude of robot's translation speed (% of max).
        :type speed: float
        :param angle: Angle of translation in degrees (90=left, 270=right).
        :type angle: float
         N/A N/A N/A N/A self logger debug N/A N/A speed: {}, angle: {} format speed angle N/A N/A N/A N/A N/A OmniDriver min_speed speed N/A OmniDriver max_speed N/A N/A N/A AssertionError N/A N/A N/A AssertionError Speed is out of bounds N/A N/A N/A N/A N/A OmniDriver min_angle angle N/A OmniDriver max_angle N/A N/A N/A AssertionError N/A N/A N/A AssertionError Angle is out of bounds N/A N/A speed 0 N/A N/A N/A N/A N/A self logger debug Special case for speed == 0 N/A N/A N/A self set_motor north 0 N/A N/A N/A self set_motor south 0 N/A N/A N/A self set_motor east 0 N/A N/A N/A self set_motor west 0 N/A N/A north N/A speed N/A N/A sin N/A N/A angle pi 180 N/A south N/A speed N/A N/A sin N/A N/A angle pi 180 N/A west N/A speed N/A cos N/A N/A angle pi 180 N/A east N/A speed N/A cos N/A N/A angle pi 180 N/A N/A N/A N/A self logger debug N/A N/A pre-scale : north: {:6.2f}, south: {:6.2f}, east: {:6.2f}, west: {:6.2f} format north south east west N/A max_wheel_speed N/A max N/A N/A fabs north N/A fabs south N/A fabs east N/A fabs west N/A north N/A N/A north speed max_wheel_speed N/A south N/A N/A south speed max_wheel_speed N/A west N/A N/A west speed max_wheel_speed N/A east N/A N/A east speed max_wheel_speed N/A N/A N/A N/A self logger debug N/A N/A post-scale: north: {:6.2f}, south: {:6.2f}, west: {:6.2f}, east: {:6.2f} format north south west east N/A N/A N/A self set_motor north north N/A N/A N/A self set_motor south south N/A N/A N/A self set_motor west west N/A N/A N/A self set_motor east east N/A N/A lib api_call hard_stop N/A N/A self current_speed current_angle N/A 0 N/A N/A Allow for immediate stopping by throwing in hard
        reverse before stopping N/A N/A N/A self move 100 N/A N/A current_angle 180 180 N/A N/A sleep 0.1 N/A N/A N/A self move 0 0 N/A move_forward_strafe N/A N/A self forward strafe N/A N/A N/A speed N/A hypot forward strafe N/A N/A speed N/A OmniDriver min_speed N/A N/A speed N/A OmniDriver min_speed N/A N/A N/A speed N/A OmniDriver max_speed N/A N/A speed N/A OmniDriver max_speed N/A angle N/A N/A degrees N/A atan2 strafe forward 360 N/A N/A N/A self move speed angle N/A Translate and move at same time.

        Note: I have no idea how to predict where the bot ends up
        during compound movement.

        speed is number between 0, 100.
        angular_rate is number between -100, 100.
        TODO(napratin, 2/28): Check angular_rate range.
        NOTE: DEPRACATED (Sprint 2016)
         N/A drive N/A N/A self speed angle duration N/A 50 0 1 N/A N/A Moves at given speed and angle for set duration (in seconds). N/A N/A N/A self move speed angle N/A N/A sleep duration N/A N/A N/A self move 0 0 N/A N/A lib api_call rotate_t N/A N/A self r_speed r_time N/A 999 N/A N/A N/A N/A self rotate r_speed N/A N/A sleep r_time N/A N/A N/A self move 0 0 N/A N/A lib api_call rough_rotate_90 N/A N/A self direction r_speed r_time N/A 50 1 N/A N/A 
        rotates 90 degrees by blindly turning.
         N/A N/A direction right N/A N/A r_speed N/A r_speed N/A N/A N/A self rotate r_speed N/A N/A sleep r_time N/A N/A N/A self rotate 0 N/A N/A lib api_call jerk N/A N/A self speed angle duration N/A 80 0 0.2 N/A N/A 
        Makes small forward jump - a thin wrapper over drive().
         N/A N/A N/A self drive speed angle duration N/A N/A lib api_call N/A