2016-04-08 9 views
0

ich ein NAO Roboter in IntelliJ IDEA und ich bin neu in beide, habe ich einige Funktionen, die macht NAO zu programmieren begann jedes Mal, sich zu bewegen oder zu sprechen, um zu sehen, was geschieht Ich muss ein Projekt ausführen. Jetzt möchte ich einige Funktionen auf KeyPress ausführen. Können Sie mir ein Beispiel geben?Steuerroboter in JAVA mit Tastatur

Wie diesen Code ändern, ermöglichen NAO stehen, Crouch oder Setzen Sie sich auf einige KeyPress (ex: Q-> Stand, w-> Crouch, e-> Sit)

package test; 

import com.aldebaran.qi.Application; 
import com.aldebaran.qi.helper.proxies.ALMotion; 
import com.aldebaran.qi.helper.proxies.ALRobotPosture; 
import com.aldebaran.qi.helper.proxies.ALTextToSpeech; 

public class StandNao { 

    private static ALMotion motion; 

    public static void main(String[] args) throws Exception { 
     Application application = new NaoSettings().NaoConnect(args); 



     application.start(); 
     motion = new ALMotion(application.session()); 
     // Create an ALTextToSpeech object and link it to your current session 
     ALTextToSpeech tts = new ALTextToSpeech(application.session()); 
     // Make your robot say something 
     tts.say("MAC Start Stand"); 
     motion.killAll(); 
     ALRobotPosture posture = new ALRobotPosture(application.session()); 
     posture.getPostureList(); 
     posture.goToPosture("Stand", 1.0f); 

       Thread.sleep(10000); 

     posture.goToPosture("Crouch", 1.0f); 

       Thread.sleep(10000); 

     posture.goToPosture("Sit", 1.0f); 
    } 
} 
+0

Es ist keine gute Idee, Java zu schreiben, um etwas so Komplexes wie einen Roboter zu steuern, außer man weiß, wie man in Java gut programmiert. Kein gutes "Hallo Welt" -Problem. – duffymo

Antwort

2

I Ich werde nicht alle Möglichkeiten beschreiben, aber um Ihnen einen Weg zu geben, können Sie viele Java-Bibliotheken überprüfen, mit denen Sie Poll- oder ereignisgesteuerte Tastatureingaben verwalten können.

Sie können dann eine Endlosschleife erstellen, in der Sie die Tastaturaktivität hören und abhängig vom Tastenanschlag reagieren.

Es wäre sieht kaum so etwas wie folgt aus:

Keyboard.poll(); 
while(Keyboard.next()) { 

     if(Keyboard.getEventKey() == Keyboard.KEY_LEFT && !Keyboard.getEventKeyState()) { 
      // do something if the letter left arrow key is released 
     } 

} 

Sehen Sie sich auch lustige Dinge zu machen versuchen, wenn Sie Java und Web Aspekte erfahren möchten, wie eine Web-Anwendung mit REST-Controller, und wenn Sie Wenn Sie auf eine Webseite klicken, bewegt sich Ihr Roboter entsprechend.

Es kann schnell mit Java Spring Boot implementiert werden.