Basé sur l'idée étrange que je veux vraiment écrire ROS en java, il prend en charge un environnement où la formule peut être développée même en java appelé rosjava, et c'était le meilleur à utiliser (il y a des différences individuelles), donc je vais le résumer ici. Masu
Je veux que plus de développement Java ROS se propage!
C'est l'environnement que j'utilise. S'il vous plaît pour référence ubuntu16.04 (version japonaise) ROS ( kinetic ) java8 (Il semble que java9 ne le supporte pas?) gradle (probablement nécessaire)
En ce qui concerne l'installation de ROS et java, nous procéderons en supposant qu'elle est déjà terminée, donc si vous ne l'avez pas fait, veuillez terminer l'installation. Je pense que la méthode d'installation est également sur la page officielle
Tout d'abord, installez rosjava lui-même
python
sudo apt-get install ros-kinetic-rosjava
Installez rosjava avec
Peut-être que ceux qui utilisent déjà ROS trouveront catkin_ws dans le répertoire Home Il n'y a pas de problème si vous le faites ensemble, mais un petit problème se produira plus tard, donc je le ferai séparément ici. Ici, créez-le avec le nom catkin_ws_java
Sous le répertoire d'accueil
python
mkdir catkin_ws_java
cd catkin_ws_java
mkdir src
cd src
catkin_init_workspace
Pour créer un espace de travail pour rosjava en exécutant chacun à son tour
Ensuite, créez un paquet pour rosjava
Ici, des packages et des projets peuvent être créés en entrant ce qui suit.
python
catkin_create_rosjava_nom de package arbitraire pkg
python
catkin_create_rosjava_projet Nom de projet arbitraire
(Il semble que les lettres majuscules ne peuvent pas être utilisées dans chaque nom arbitraire)
Dans ce qui suit, nous parlerons de l'hypothèse que le nom arbitraire du package est test_pkg et le nom arbitraire du projet est test_pj.
Revenir à nouveau au répertoire d'accueil
python
cd catkin_ws_java/src
Bougez avec
python
catkin_create_rosjava_pkg test_pkg
Si la commande suivante est sortie, la création du package est réussie.
python
BUILD SUCCESSFUL
Total time: 8.479 secs
Ceci termine la création du package Se déplacer dans le projet créé tel quel
python
cd test_pkg
Puis créez un projet
python
catkin_create_rosjava_project test_pj
Si la commande suivante est sortie, la création du projet est réussie. rosjava est une spécification conviviale pour les débutants qui crée un fichier de base semblable à un didacticiel chaque fois que vous créez un projet Talker et Listener sont principalement utilisés dans ce domaine.
python
Creating rosjava project
Name : test_pj
File : build.gradle
File : settings.gradle
File : Talker.java
File : Listener.java
File : CMakeLists.txt (gradle task update)
À propos, la structure de fichier de rosjava est
python
src ┳ Projet A
┃┣ Paquet B
┃┗Package C
┃
┗Projet E
┣ Forfait F
┗ Paquet G
Peut être étendu sous la forme de
Jusqu'à présent, je viens de créer un package et un projet et il ne peut pas être utilisé tel quel, donc catkin_make Cependant, catkin_make de rosjava est une triste spécification qui ne peut être utilisée qu'en ligne. Cependant, cela peut être évité et sera décrit dans un autre article.
python
cd ~/catkin_ws_java
Revenir à l'espace de travail avec
python
catkin_make
Il n'y a pas de problème si la sortie suivante est sortie
python
[100%] Built target gradle-test_pkg
Même si la sortie suivante est sortie, il n'y a pas de problème, vous pouvez donc l'ignorer.Il est possible tant qu'il n'y a pas de libellé qu'il a échoué.
python
avertissement: [options]Chemin de classe Bootstrap-source 1.Non défini avec 7
Tout ce que vous avez à faire est d'exécuter rosjava Exécutez rosjava à partir d'un fichier shell, pas à partir d'un fichier de lancement
Déplacez-vous d'abord vers l'emplacement où se trouve le script shell
python
cd ~/catkin_ws_java/src/test_pkg/test_pj/build/install/test_pj/bin
Voici le fichier shell et bat Vérifions avec la commande ls
Décidez quel nœud lancer ensuite Cette fois, ce projet a un locuteur et un auditeur Lancer d'abord Listener
Tout d'abord, si roscore n'est pas démarré, vous ne pouvez rien faire, alors démarrez-le dans un autre terminal
python
roscore
Ensuite, lancez Listner (le répertoire d'exécution est le répertoire bin)
python
bash test_pj com.github.rosjava.test_pkg.test_pj.Listener
Puis lancez Talker dans un autre terminal (déplacez-vous également vers bin avec la commande cd)
python
bash test_pj com.github.rosjava.test_pkg.test_pj.Listener
Maintenant au terminal côté Listner
python
5 10, 2018 8:20:38 h org.ros.internal.node.RosoutLogger info
information: I heard: "Hello world! 3"
5 10, 2018 8:20:39 h org.ros.internal.node.RosoutLogger info
information: I heard: "Hello world! 4"
5 10, 2018 8:20:40 h org.ros.internal.node.RosoutLogger info
information: I heard: "Hello world! 5"
5 10, 2018 8:20:41 am org.ros.internal.node.RosoutLogger info
information: I heard: "Hello world! 6"
La communication est terminée si s'affiche comme
Merci de rester avec nous pendant longtemps
A partir de maintenant, je voudrais écrire une explication détaillée de chacun, un peu plus en profondeur, et comment rendre rosjava plus facile à utiliser.
Il semble qu'il y ait des endroits où cela se produit par des personnes et des endroits où cela ne se produit pas En relation avec gradle, comme la création du premier package
python
Exception in thread "main" java.lang.RuntimeException
java.util.zip.ZipException: error in opening zip file
Si vous obtenez une erreur comme, essayez les méthodes suivantes
Afficher les fichiers cachés avec ctrl + H dans le répertoire de base Ensuite, vous devriez avoir un fichier .gradle Débarrassons-nous de nos cœurs et jetons simplement le dossier .gradle dans la poubelle
C'est probablement la solution. Je vous remercie pour votre travail acharné.
Recommended Posts