Stap 66: Python bibliotheek
Na het voltooien van de vorige stap, moet u klaar om te beginnen met behulp van de meegeleverde multifunctionele mobiele Manipulator bibliotheek om te beginnen met het ontwikkelen van toepassingen met behulp van Python 2.7. De belangrijkste script waarmee de actuatoren van de robot en de sensoren heet MMM.py. Hier is een overzicht van hoe het werkt:
Seriële communicatie opdrachten:
- MMM(portName) opent een nieuwe seriële kanaal op de robot de Arduino Mega 2560 portname. Geven de Arduino ongeveer 5 seconden na het aansluiten voordat alle verdere opdrachten initialiseren.
- parseData() krijgt de sensor lezingen op de robot door het lezen van de seriële poort en het ontleden van de ingang.
- Update() stuurt alle actuator posities naar de Arduino door te schrijven naar de seriële poort, de werkelijke robot bijwerken. Merk op dat de robot zal niet bewegen om het even welk van haar aandrijvingen tot update() heet!
Positie van de bedieningssleutel en Sensor lezing opdrachten:
- Reset() wordt alle actuator posities ingesteld op hun standaardwaarden.
- setWheelVelocity (leftSpeed, rightSpeed) bepaalt de wielen. Eenheden zijn in meter, en een positieve waarde verplaatst dat de wielen sturen terwijl negatieve waarden stuurt de wielen achteruit. Het bereik van de input is +.18 m/s tot -.18 m/s.
- rotateShoulders (leftAngle, rightAngle) draait de schouders. Het bereik van de input is van 0 tot 120 graden, waar 120 graden draait de schouders volledig naar binnen.
- rotateElbows (leftAngle, rightAngle) draait de ellebogen. Het bereik van de input is van -60 tot 60 graden, waar 60 graden draait de ellebogen volledig naar boven.
- extendArms (leftAmount, rightAmount) strekt zich uit van de armen in meter. Het bereik van de input is van 0 meter tot.127 meter (ongeveer 5 inches).
- setLeftGrippers (l1, l2, l3, l4, l5) draait maximaal 5 servomotoren op de linker gripper. Het bereik van input voor elke servo is 0 tot 180 graden.
- setRightGrippers (r1, r2, r3, r4, r5) draait maximaal 5 servomotoren op de juiste gripper. Het bereik van input voor elke servo is 0 tot 180 graden.
- getLeftRange() en getRightRange() retourneren de links en rechts meetzoeker afstand lezingen, van 0 tot 100 cm. de lezingen die out of bounds return -1.
Hier is een zeer eenvoudig voorbeeldscript van hoe deze opdrachten worden gebruikt om de robot in Python 2.7 verplaatsen: