Vai al contenuto principale

Sblocca le posizioni

Crea un sistema di coordinate sul Full Volume Virtual Skills Field con la posizione del punto rosso come origine (0, 0) e la posizione iniziale dell'Hero Bot Center situata alle coordinate (0, 36). Utilizza e parcheggi robot nella Zona di rifornimento. Crea un algoritmo per trovare le coordinate X e Y della posizione in cui il robot deve raccogliere e segnare il Blocco Rosso e le coordinate X e Y della posizione in cui il robot deve parcheggiare l'Hero Bot.

  • Seleziona VIQRC Virtual Skills - Full Volume Playground.
  • Crea un algoritmo per calcolare e registrare le coordinate X e Y della posizione del robot dopo aver percorso una certa distanza, utilizzando la distanza percorsa e la direzione del sistema di trasmissione. 
  • Programma l'Hero Bot per guidare fino al blocco rosso evidenziato in arancione e raccoglierlo. 
    • Utilizza l'algoritmo per tracciare le coordinate X e Y della posizione del robot.
  • Utilizza il blocco [print] per stampare le coordinate X e Y della posizione in cui il robot dovrà prelevare il blocco, inviandole alla console di stampa.
  • Programma l'Hero Bot per guidare verso l'obiettivo I e lasciare cadere il blocco nell'obiettivo. 
    • Utilizza l'algoritmo per tracciare le coordinate X e Y della posizione del robot.
  • Utilizza il blocco [print] per stampare le coordinate X e Y della posizione in cui il robot deve depositare il blocco nell'obiettivo I, nella console di stampa.
  • Guida l'Hero Bot in una posizione che lo collochi parzialmente all'interno della Zona di Rifornimento.
    • Utilizza l'algoritmo per tracciare le coordinate X e Y della posizione del robot.
  • Utilizzare il blocco [print] per stampare le coordinate X e Y della posizione in cui il robot dovrà essere parzialmente parcheggiato all'interno della Zona di rifornimento, nella Console di stampa.

Suggerimenti utili

  • Per identificare le coordinate X e Y dell'Hero Bot sul campo di abilità virtuale VIQRC, impostare la posizione iniziale dell'Hero Bot come origine (0,0) del sistema di coordinate. 
  • Dichiara due variabili per memorizzare le coordinate X e Y dell'Hero Bot. Utilizza i blocchi set della categoria Variabili per impostare i valori delle coordinate X e Y a 0 all'inizio del progetto.  VEXcode Imposta il blocco variabile che legge 'imposta currentX a 0'. VEXcode Imposta il blocco variabile che legge 'imposta currentY a 36'.
    • Comando Python corrispondente:

      currentX = 0
      currentY = 36
  • Utilizza i blocchi Reporter della categoria Rilevamento per ottenere il valore di orientamento della trasmissione dal sensore inerziale. Blocco di orientamento dell'azionamento VEXcode che indica orientamento dell'azionamento 'in gradi'.
    • Comando Python corrispondente:

      trasmissione (GRADI)
  • Utilizza la distanza percorsa e l'orientamento della trasmissione per calcolare le coordinate X e Y dopo aver percorso una certa distanza.
    • Funzione matematica (guida in avanti):

      X2 = X1 + distanza_di_guida * sin (direzione_di_guida)

      Y2 = Y1 + distanza_di_guida * cos (direzione_di_guida)

      Due diagrammi affiancati, visti dall'alto, che illustrano l'Hero Bot. Il primo diagramma mostra il robot con un cerchio attorno ad esso, su cui sono indicate le etichette che rappresentano i 360 gradi del cerchio. Il secondo diagramma mostra il robot alle coordinate (X1, Y1) e puntato verso un punto (X2, Y2). La distanza è indicata come 'distanza di guida' e l'angolo è indicato con il simbolo theta.

  •  Utilizza il blocco funzione della categoria Operatori per esprimere funzioni matematiche. Una pila di due blocchi di variabili VEXcode Set con equazioni a blocchi. Il primo blocco legge 'imposta currentX a currentX + drive_distance * sin dell'orientamento del drive in gradi'. Il secondo blocco legge 'imposta currentY a currentY + drive_distance * cos of drive heading in gradi'.
    • Comando Python corrispondente: 

      currentX = currentX + drive_distance * math.sin(drivetrain.heading(DEGREES) / 180.0 * math.pi)
      currentY = currentY + drive_distance * math.cos(drivetrain.heading(DEGREES) / 180.0 * math.pi)
  • Per ulteriori informazioni sulle dimensioni del campo delle competenze virtuali VIQRC, clic qui.