Home » Archives for macerobotics » Page 18

Author: macerobotics

MRPi1 Raspberry Pi robot – Speech synthesis

  • Speech synthesis
  • Autonomous robot
  • Python program

The python program :


from mrpi1_lib import *
import time

#main program

state = 1

try:
  # infinite loop
  while 1:

    if state == 2:
      play("Thank you bye")# speech synthetis
      state = 3
    # read sensors
    p3 = proxSensor(3) 
    p4 = proxSensor(4)

    forward(30)
    print "%d %d" %(p3, p4)

    if (p3 > 900 or p4 > 900):
     stop() # stop robot
     state = 2
     playWav("BeCarefull.wav") # play wav file
     
     
except:
  stop()
  exit()

 

 

 

Architecture logicielle du microcontrôleur

Voici, l’architecture logicielle du microcontrôleur STM32F407 du robot MRPi1 :

  • Un bloc de la gestion pour la communication série 8 bits vers la carte Raspberry Pi.
  • Un bloc scheduler pour la gestion des différentes taches de manière synchrone et en temps réel,
  • Un bloc d’acquisition et de traitement des capteurs du robot,
  • Un bloc de contrôle du niveau de la tension de la batterie lipo,
  • Un bloc d’asservissement du robot en position/orientation avec deux régulateurs numérique de type PID,
  • Un bloc de commande des moteurs en signaux PWM,
  • Un bloc d’acquisition des encodeurs en quadrature avec deux timers configuré sur les front des signaux,
  • Un bloc du calcul de la position du robot sur les axes X et Y puis sur l’orientation du robot.

 

archi_micro

 

 

MRPi1 – Wake up alarm

Wake up alarm with MRPi1 robot. The robot stops the alarm automaticly when the robot detects the light.

Python program :

# import mrpi1 lib
from mrpi1_lib import *
import time

try:

  while 1:
    al1 = ambiantLight(1) # read ambiant light,sensor 1
    al2 = ambiantLight(2)
    al3 = ambiantLight(3)
    al4 = ambiantLight(4)
    al5 = ambiantLight(5)
    al6 = ambiantLight(6)
    print "Ambiant light = %d %d %d %d %d %d" %(al1, al2, al3, al4, al5, al6)

    if (al1 < 4000 and al2 < 4000): # light detects
     print "end alarm"
     writeCommand("SPD")# disable speaker
     exit()
    else:
      playWav("alarmClock.wav") # play alarm wav file
    time.sleep(0.2)

except:
  writeCommand("SPD") # disable speaker
  exit()

 

MRPi1 robot – Wall-follower


New video of MRPi1 robot :

On this video the robot follow a wall. The robot is completely autonomous, used the 6 infrared proximity sensors. MRPi1 programmed with python language.