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)
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)
# 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():
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()
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)
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)
###################### 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