示例#1
0
def backward_right(dir):
    if (dir == 'go'):
        xml_params = read_parameters_as_xml()
        RPL.pwmWrite(motorL, 1500, freq)
        RPL.pwmWrite(motorR, int(xml_params.get('motorR_backward')), freq)
    else:
        RPL.pwmWrite(motorL, 1500, freq)
        RPL.pwmWrite(motorR, 1500, freq)
示例#2
0
def forward(dir):
    if (dir == 'go'):
        xml_params = read_parameters_as_xml()
        RPL.pwmWrite(motorL, int(xml_params.get('motorL_forward')), freq)
        RPL.pwmWrite(motorR, int(xml_params.get('motorR_forward')), freq)
    else:
        RPL.pwmWrite(motorL, 1500, freq)
        RPL.pwmWrite(motorR, 1500, freq)
示例#3
0
# python web2py.py -c server.crt -k server.key -a 'Engineering1!' -i 0.0.0.0 -p 8000
# Kirwin's vi tab preferences: set shiftwidth=2 softtabstop=2 expandtab
import xml.etree.ElementTree as ET
import RoboPiLib as RPL

RPL.RoboPiInit("/dev/ttyAMA0", 115200)

######################
## Motor Establishment
######################

freq = 3000
motorL = 0
RPL.pinMode(motorL, RPL.PWM)
RPL.pwmWrite(motorL, 1500, freq)
motorR = 1
RPL.pinMode(motorR, RPL.PWM)
RPL.pwmWrite(motorR, 1500, freq)


def read_parameters_as_xml():
    parser = ET.ElementTree()  # use .get('param')
    return parser.parse('command_parameters.txt')


################
## Web Functions
################


def dashboard():
示例#4
0
def navigation():
    #Pulls respective values of the hedge for x and y from the position array
    MobileX = float(hedge.position()[1])
    MobileY = float(hedge.position()[2])

    while True:
        MobileX = hedge.position()[1]
        MobileY = hedge.position()[2]
        if RPL.analogRead(1) > 500:  # front left
            RPL.pwmWrite(ServoR, 1250, 3000)
            RPL.pwmWrite(ServoL, 1000, 3000)
            print "1"
        elif RPL.analogRead(2) > 500:  # front right
            RPL.pwmWrite(ServoR, 2000, 3000)
            RPL.pwmWrite(ServoL, 1750, 3000)
            print "2"
        elif RPL.analogRead(3) > 500:   # left side
            RPL.pwmWrite(ServoR, 1550, 3000)
            RPL.pwmWrite(ServoL, 1000, 3000)
            print "3"
        elif RPL.analogRead(4) > 500:   # right side
            RPL.pwmWrite(ServoR, 2000, 3000)
            RPL.pwmWrite(ServoL, 1450, 3000)
            print "4"
        elif 0 > MobileX and 0 > MobileY:
            RPL.pwmWrite(ServoR, 1750, 3000)  # drive straight
            RPL.pwmWrite(ServoL, 1250, 3000)
            print "a"
        elif MobileX < 0 and MobileY > 0:
            RPL.pwmWrite(ServoR, 1550, 3000)  # turn right
            RPL.pwmWrite(ServoL, 1250, 3000)
            print "b"
        elif MobileX > 0 and MobileY < 0:
            RPL.pwmWrite(ServoR, 1750, 3000)   # turn left
            RPL.pwmWrite(ServoR, 1450, 3000)
            print "c"
        elif MobileX == 0 and MobileY == 0:
            RPL.pwmWrite(ServoR, 1500, 3000)         # stop
            RPL.pwmWrite(ServoL, 1500, 3000)
            print "d"
        elif MobileX > 0 and MobileY > 0:
            RPL.pwmWrite(ServoR, 1450, 3000)    # backwards
            RPL.pwmWrite(ServoR, 1550, 3000)
           print "e"
        print MobileX
        print MobileY
        hedge.print_position()
示例#5
0
def elbow_down(dir):
    if (dir == 'go'):
        RPL.digitalWrite(elbow_dir, 1)
        RPL.pwmWrite(elbow_pulse, 200, 400)
    else:
        RPL.pwmWrite(elbow_pulse, 0, 400)
示例#6
0
def shoulder_down(dir):
    if (dir == 'go'):
        RPL.digitalWrite(shoulder_dir, 1)
        RPL.pwmWrite(shoulder_pulse, 200, 400)
    else:
        RPL.pwmWrite(shoulder_pulse, 0, 400)
示例#7
0
######################

freq = 3000
motorL = 0
motorR = 1
servo1 = 8  # Wrist Pitch
servo2 = 9  # Wrist Roll
servo3 = 10  # Grabber
elbow_dir = 3
elbow_pulse = 5
shoulder_dir = 6
shoulder_pulse = 7

try:
    RPL.pinMode(motorL, RPL.PWM)
    RPL.pwmWrite(motorL, 1500, freq)
    RPL.pinMode(motorR, RPL.PWM)
    RPL.pwmWrite(motorR, 1500, freq)
    RPL.pinMode(servo1, RPL.SERVO)
    RPL.pinMode(servo2, RPL.SERVO)
    RPL.pinMode(servo3, RPL.SERVO)
    RPL.pinMode(elbow_dir, RPL.OUTPUT)
    RPL.pinMode(elbow_pulse, RPL.PWM)
    RPL.pwmWrite(elbow_pulse, 0, 1000)
    RPL.pinMode(shoulder_dir, RPL.OUTPUT)
    RPL.pinMode(shoulder_pulse, RPL.PWM)
    RPL.pwmWrite(shoulder_pulse, 0, 1000)
except:
    pass