[PYTHON] GoPiGo3 du vieil homme

GoPiGo3 La photo provient de la Page officielle

Cliquez ici pour la vidéo réelle

■ Déclencheur

J'étais intéressé et j'ai acheté un Raspberry Pi, mais le système électrique était faible et je ne pouvais pas du tout l'utiliser. Puisqu'il s'agit d'un travail lié au logiciel, je peux toucher des serveurs UNIX, mais je n'ai connaissance que de ls et de cp. Il m'est arrivé de voir un robot actionné par la manette PlayStation 3, et quand je cherchais un kit que je pourrais faire moi-même, j'ai trouvé ça.

La vidéo que j'ai trouvée GoPiGo Example: PS3 Controller (by youTube) Je voulais faire ça!

■ Caractéristiques du produit

Dexter produit des robots pour l'éducation, les chercheurs et les passionnés à Washington, DC. (GoPiGo a été soulevé par Kickstarter et est devenu un sujet brûlant au Japon)

Parce que GoPiGo est conçu dans le but d'enseigner du matériel pour l'enseignement de l'informatique avec Raspberry Pi

―― Même les enfants peuvent facilement se réunir.

Il existe des fonctionnalités telles que.

La vidéo d'introduction montre également comment les enfants jouent réellement. GoPiGo3 Robot for Education

De plus, des packages tout-en-un avec des cartes SD contenant Raspberry Pi et OS sont en vente, et tout ce que vous avez à faire est de préparer des piles AA (8). C'est parfait pour un père affalé.

Le but ultime est de créer un contrôleur radio à l'aide du contrôleur PS3.

■ Produits

J'ai acheté le produit chez "Robot Shop" qui est moins cher qu'Amazon. Boutique bon marchéも見つけたのですが、不安があって専門ショップにしました。(不幸なことにこの不安は的中しました・・・)

En plus de cela, j'ai acheté une batterie AA rechargeable, un chargeur et un mini routeur pour une utilisation à l'extérieur.

Liste des produits achetés

Produit boutique Somme d'argent
Kit de démarrage GoPiGo3 pour débutant Boutique de robots 27,940
Paquet de 4 piles rechargeables Panasonic Eneloop AA BK-3MCC/Ensemble 4SA x 2 anazon 2,650
Chargeur rapide Panasonic AA / AAA noir BQ-CC73AM-K amazon 2,049
RAVPower Wi-Lecteur de carte SD Fi RP-WD009 amazon ¥5,099(Ventedetemps+coupon)
Carte microSDHC Team 16 Go amazon 550
Total 38,292

Si vous l'achetez en petits morceaux, cela vous coûtera inopinément. Si vous en mettez un peu plus [vous pouvez acheter ceci] (https://store.dji.com/jp/product/mavic-mini?vid=84651&set_country=JP&gclid=CjwKCAiAqqTuBRBAEiwA7B66hR991-h2lsQAJI9OGVM5HLF8T5vs7knJwFW3RTVeNCLNN

En plus de cela, une souris, un clavier et un moniteur sont disponibles pour Raspberry PI. Un ordinateur est nécessaire pour le développement du programme.

■ À propos du kit de démarrage GoPi Go3

Le kit de démarrage GoPiGo3 est disponible en ** "Débutant" ** et ** "Avancé" **. La seule différence est de savoir si le système d'exploitation est "Dexter OS" ou "Raspian for Robots".

Dexter OS est basé sur Raspian (Stetch Lite) et fonctionne à partir d'un navigateur. Il est livré avec un "Bloxter" (comme Scratch) qui vous permet de créer des programmes simplement en utilisant l'écran sans connaître le mécanisme ou les commandes du système d'exploitation.

Je l'ai acheté cette fois, mais je ne peux pas me connecter avec SSH (décrit plus loin), donc je peux utiliser les leçons fournies, mais cela ne convient pas à la programmation. Après tout, j'ai décidé de télécharger et d'utiliser l'image du système d'exploitation fournie aux utilisateurs avancés.

Pour les utilisateurs avancés, "Raspian for Robots" a les bibliothèques nécessaires installées pour GoPiGo3, et la connexion SSH et la connexion VNC sont possibles. L'échantillon de contrôleur PS3 que je visais est également inclus ici, donc j'aurais dû l'acheter depuis le début.

Différence OS os比較.png

Le contenu du kit est le même pour "débutant" et "avancé".

Inclus dans le kit de démarrage GoPiGo3

  1. Ensemble de base GoPiGo (corps principal)
  2. Raspberry PI 3B (pas +)
  3. Carte mémoire USB (8 Go)
  4. Ensemble servo
  5. Ensemble de capteurs de distance
  6. Carte SD (8G) avec image du système d'exploitation

Si vous en achetez 2 à 6 en gros, ce sera plus cher que le kit de démarrage, donc si vous n'avez pas de Raspberry PI supplémentaire, je vous recommande celui-ci. Cependant, si vous avez déjà un Raspberry PI 3B et que vous souhaitez vous le procurer vous-même, je pense que l'ensemble de base est suffisant. C'est beaucoup moins cher (13 306).

■ Achat réel

J'ai reçu un e-mail de réception lors de la commande, un e-mail d'expédition le lendemain et le produit est arrivé le lendemain. (Haya!) DSC_1522.JPG (Contenu de la boîte)

DSC_1519.JPG (Cat est également curieux de connaître la boîte qui est arrivée)

DSC_1529.JPG Mémoire USB vide que vous ne savez pas quand utiliser

DSC_1532.JPG Capteur de distance infrarouge avec décoration sur les deux yeux (le capteur est au milieu)

DSC_1533.JPG Source de courant

DSC_1535.JPG Carte SD Dexter OS (je l'ai utilisée en la copiant sur une autre carte SD de 16 Go car elle est moins en 8G)

DSC_1536.JPG Raspberry PI 3B

DSC_1541.JPG Kit de base

DSC_1542.JPG Contenu du kit de base

DSC_1563.JPG RedBord(Arduino)

DSC_1547.JPG roue

DSC_1548.JPG Pièces de montage pour acrylique

DSC_1549.JPG Pièces de montage du moteur

DSC_1550.JPG Pièces de roue arrière

DSC_1551.JPG Pièces de rechange (complètes)

DSC_1552.JPG Pièces de contrôleur

DSC_1558.JPG Moteur avec capteur de distance

DSC_1554.JPG Câble de connexion moteur, bande de batterie, câble d'alimentation

DSC_1555.JPG Boîte à piles (pour 8 AA)

DSC_1556.JPG Panneau acrylique (bas)

DSC_1557.JPG Panneau acrylique (haut)

DSC_1526.JPG A part ça, j'ai tout acheté

Les pièces en acrylique sont numérotées et des autocollants sont attachés pour faciliter la réalisation. De plus, les pièces étaient regroupées en pièces par fonction, et il y avait beaucoup de pièces de rechange. (C'est sur) Comprend un pilote avec le logo DEXTER Cependant, malheureusement, ce n'est pas facile à fabriquer et il est fabriqué aux États-Unis. J'ai vu une telle rondelle pliée (entretoise?) Pour la première fois.

C'est pour les enfants, donc je pense que c'est conçu pour pouvoir être manipulé grossièrement.

■ Assemblage

En particulier, ** il n'y a pas de manuel japonais **, vous devrez donc vous référer au site Web de Dexter (en anglais) lors de l'assemblage.

Comme il s'agit d'un kit pédagogique, il est conçu pour que même les enfants puissent le fabriquer, et il est très facile à assembler.

Cependant, je suis souvent confus car les explications sur le site de Dexter et le contenu réel du produit (en particulier comment organiser les pièces) sont différents. C'est un modèle courant où la documentation ne rattrape pas le produit. Je l'ai assemblé avec mon fils, mais l'assemblage lui-même a pris environ 30 minutes.

DSC_1560.JPG (Photo assemblée 1)

DSC_1565.JPG (Photo assemblée 2)

■ (1) Connexion avec l'option débutant (Dexter OS)

** Accès uniquement depuis le navigateur **. La procédure est simple.

  1. Allumez l'appareil
  2. Attendez un moment (attendez que le voyant Wifi devienne vert)
  3. Connectez-vous à «GoPiGo» dans la liste des connexions Wifi de votre PC
  4. Le navigateur démarre automatiquement et l'écran suivant s'affiche. Si le navigateur ne démarre pas, démarrez-le manuellement et saisissez "mygopigo.com" dans l'URL. Note) Dans le cas d'Internet Explorer, il y a un bogue que le bouton ne fonctionne parfois pas. Veuillez utiliser autre chose que IE.

(écran)

  1. Sélectionnez Drive et cliquez sur le bouton

(écran)

GoPiGo fonctionne! Vraiment impressionné!

■ Problème 1

Un problème est survenu ici. Le moteur du côté droit ne fonctionne pas. J'ai vérifié les connexions et les câbles, mais il semble que le moteur soit initialement défectueux. J'ai demandé à la boutique de l'échanger.

(Le magasin m'a contacté pour renvoyer l'unité principale pour remplacement, mais quand je lui ai dit que j'étais pressé, on m'a demandé de n'envoyer que le ** moteur ** (pièces défectueuses). Aucun retour n'est requis) Nous vendons également des pièces C'était très utile d'avoir le support unique à la boutique.

■ Problème 2

Le point de connexion est de se connecter à GoPiGo comme destination de connexion Wifi du PC. En fait, GoPiGo3 lui-même fonctionne comme un spot Wifi, et je ne l'ai pas compris au début, donc j'étais très inquiet.

De plus, j'ai mis l'écran Raspberry PI sur le moniteur et j'ai essayé de me connecter, mais je ne connais pas le mot de passe de l'utilisateur standard pi. De plus, je ne connaissais pas le mot de passe root, donc j'étais en difficulté car je ne pouvais pas continuer à partir de l'invite de connexion. Ce blogを見つけて、Wifiの接続先を変えることに気づき、ようやく画面を出すことができました!

C'était bien jusqu'à la sortie de l'écran, mais je ne comprenais pas comment utiliser Bloxter et je ne pouvais pas trouver un échantillon de contrôleur PS3, j'ai donc abandonné Dexter OS et mis en place l'option avancée (Raspian for Robots). J'ai décidé de contester.

■ (2) Connexion avec option avancée (Raspbian for Robots)

Si vous avez acheté l'option avancée depuis le début, insérez la carte SD et démarrez. Si vous avez acheté le kit de base, vous devez créer une carte SD avec l'image du système d'exploitation.

procédure

  1. Téléchargez l'image du système d'exploitation depuis gitHUB.
  2. Décompressez le fichier zip.
  3. Formatez la carte SD. J'ai utilisé DiskFormat32 comme format. Problème ici. Une erreur se produira si la carte SD ne peut pas être écrite. J'ai effacé l'attribut read avec la commande diskpart en me référant à here.
  4. Utilisez Win32 Disk Imager pour écrire l'image du système d'exploitation.

Réglez simplement le Wifi avant l'assemblage. procédure

  1. Connectez la carte SD, la souris, le clavier et le moniteur au Raspberry PI.
  2. Mettez le Raspberry PI sous tension.
  3. Attendez un moment et le bureau apparaîtra.
  4. Définissez les paramètres de connexion Wifi à partir de l'écran du bureau.

Assemblez GpPiGo3. (L'assemblage est le même qu'avant)

Après l'assemblage, allumez le GoPiGo3, attendez un moment et la lampe Wifi s'allumera en blanc. Il existe deux méthodes de connexion.

・ Connexion SSH

Installez le client SSH (j'ai utilisé TeraTerm) et connectez-vous. Vous pouvez vous connecter avec le nom d'hôte ** [email protected] ** et entrer avec le mot de passe ** robots1234 **.

SSH1.png (Écran 1) SSH2.png (Écran 2) SSH3.png (Écran 3)

・ Connexion VNC Ouvrez "[dex.local](http: //dex.local/)" dans votre navigateur, sélectionnez VNC, entrez le mot de passe robots1234, et le bureau s'affichera.

vnc.png (Écran VNC)

J'ai été surpris d'apprendre que VNC peut être fait avec un navigateur. En outre, les deux peuvent être connectés par "dex.local" au lieu de l'adresse IP, vous n'avez donc pas à rechercher l'adresse IP. Génial!

Lancez le panneau de configuration GoPiGo3 sur votre bureau et vérifiez que GoPiGo3 fonctionne.

vnc2.png (Écran de test)

■ Connexion du contrôleur PlayStation 3

** Définissez les paramètres de connexion avant l'assemblage. ** **

Réglez en regardant ici. [PS3 Control with GoPiGo] (https://www.dexterindustries.com/GoPiGo/projects/python-examples-for-the-raspberry-pi/raspberry-pi-ps3-control-with-gopigo-robot-example/)

Après avoir terminé les réglages et redémarré, appuyez sur le bouton PS et la reconnaissance de biuetooth se terminera en un instant. Contrairement à la connexion PlayStation, le voyant s'éteint, mais vous pouvez être assuré qu'il est connecté. ls /dev/input/js0 S'il y en a, c'est un succès.

■ Problème 3

Contrôle depuis PS3 que je voulais faire le plus. Une erreur se produit lorsque la connexion est établie et exécutée! .. ** J'ai été assez déçu. ** ** Cependant, j'ai repris conscience que je pouvais étudier Python et j'ai décidé de le suivre.

(résultat)

Il s'avère que la partie réceptrice des données du contrôleur PS3 ne fonctionne pas dans l'échantillon. (Pour des raisons inconnues)

J'ai examiné la partie de réception en référence à cela. ■ Radicon (3) avec Raspeye: lire l'entrée de dualshock3 avec Python https://www.usagi1975.com/30jul170722/

En outre, l'exemple fourni était un script pour GoPiGo2. En regardant l'exemple, je l'ai réécrit pour GoPiGo3. Le code résultant est ci-dessous

ps3.py


#!/usr/bin/python3
import struct
import gopigo3
import easygopigo3 as easy
import time

device_path = "/dev/input/js0"

# unsigned long, short, unsigned char, unsigned char
EVENT_FORMAT = "LhBB";
EVENT_SIZE = struct.calcsize(EVENT_FORMAT)

try:
  GPG = easy.EasyGoPiGo3()
except Exception as e:
  print("GoPiGo3 cannot be instanstited")
  print(e)
  exit()

with open(device_path, "rb") as device:
  event = device.read(EVENT_SIZE)
  while event:
    (ds3_time, ds3_val, ds3_type, ds3_num) = struct.unpack(EVENT_FORMAT, event)
    print( "{0}, {1}, {2}, {3}".format( ds3_time, ds3_val, ds3_type, ds3_num ) )
 
    if ds3_val == 1 and ds3_type== 1 and ds3_num==13:
        GPG.forward()
        print "F"
    if ds3_val == 1 and ds3_type == 1 and ds3_num == 14:
        GPG.backward()
        print "B"
    if ds3_val == 1 and ds3_type == 1 and ds3_num == 16:
        GPG.right()
        print "R"
    if ds3_val == 1 and ds3_type == 1 and ds3_num == 15:
        GPG.left()
        print "L"
    if ds3_val == 1 and ds3_type == 1 and ds3_num == 0:
        GPG.stop()
        print "STOP"

    event = device.read(EVENT_SIZE)

Cliquez ici pour voir comment cela fonctionne réellement

■ Conclusion

■ Ressources de référence

Il n'y a pas beaucoup de ressources écrites en japonais sur GoPiGo. Le contenu est si riche qu'il est très utile. C'est une ressource de référence. Merci!


Articles écrits en japonais

■ [Exécutez gopigo3 avec ROS] (https://qiita.com/cut0ter/items/0326f5dee89456e47001) J'utilise GoPiGo avec ubuntu mate + ros.

■ [Faisons un robot d'observation à distance en utilisant le robot "GoPiGo" qui se déplace avec une tarte à la râpe (1) Préparation au développement] (https://codezine.jp/article/detail/9829) Combien d'articles sont correctement rédigés en japonais sur GoPiGo?

■ [Faisons GOPIGO] (http://masaaki1.blogspot.com/2016/10/gopigo.html) Blog pour ceux qui ont acheté directement auprès de Dexter Industries aux États-Unis. Ce qui était écrit et ce que je voulais faire était proche de moi et utile.

■ [Faire un "robot dessin" à partir de 10 ans] (https://qiita.com/ykoga/items/3362beb26fc640913645) Le goût de donner une conférence amusante sur le robot aux enfants est merveilleux.

■ [Dépotoir pour l’artisanat et les accessoires pour l’assemblage GoPiGo de Dexter Industries] (http://junkroom2cyberrobotics.blogspot.com/2016/03/dexter-industries-gopigo.html) Ceux qui ont assemblé non seulement GoPiGo mais aussi GrovePi. Génial.

■ [J'ai joué avec GoPiGo2] (https://www.slideshare.net/mainya/go-pigo2) Ceux qui sont bien organisés sur les diapositives.

■ [Jours de tkumada_] (https://tkamada.blogspot.com/2015/10/gopigo.html) La base rouge est Arudino. Je ne savais pas.


Shops
■ [Roboshop Co., Ltd.] (https://www.robotshop.com/jp/ja/) Filiale japonaise du magasin de robot américain. C'est merveilleux qu'il y ait un grand choix et que l'expédition soit rapide

■ [Kit de démarrage GoPiGo3 pour débutant: Roboshop Store - 18 829 yens] (http://viptoycimall.xyz/index.php?main_page=product_info&products_id=41826) Le kit de base est moins cher que 10000. J'achèterai un autre papa!

■ [Vente du premier kit de développement robot / voiture] (https://spectrum-tech.co.jp/products/robotcar.html) C'est une entreprise qui vend GoPiGo en tant que système. Je pense que c'est un bon endroit pour regarder, alors j'espère que cela deviendra une entreprise.


Dexter Site
■[GoPiGo3 Tutorials & Documentation] (https://www.dexterindustries.com/gopigo3-tutorials-documentation/) Les ressources sont résumées ici. La difficulté est que c'est vieux

■ Contrôleur PS3 [PS3 Control with GoPiGo] (https://www.dexterindustries.com/GoPiGo/projects/python-examples-for-the-raspberry-pi/raspberry-pi-ps3-control-with-gopigo-robot-example/) La procédure de connexion est la suivante, mais l'exemple ne fonctionne pas avec GoPiGo3.

■[Assemble the GoPiGo Servo Kit] (https://www.dexterindustries.com/GoPiGo/get-started-with-the-gopigo3-raspberry-pi-robot/6-attach-the-servo-kit-gopigo3-raspberry-pi-robot/) Il n'y a pas du tout de contenu et de description du kit. Veuillez mettre à jour dès que possible.

■[Dexter Industries GoPiGo3 Documentation!] (https://gopigo3.readthedocs.io/en/master/index.html) Cela ressemble à un document API.

■[Raspberry Pi, Java, and the GoPiGo3 - Part 1: Setting up the GoPiGo3] (https://www.omnijava.com/2018/05/06/raspberry-pi-java-and-the-gopigo3-part-1-setting-up-the-gopigo3/) Bien qu'il s'agisse d'un blog en anglais, il explique attentivement la connexion. L'échantillon affiché ici a en fait été inclus. Génial.

Recommended Posts

GoPiGo3 du vieil homme
Le début de cif2cell
Le sens de soi
le zen de Python
L'histoire de sys.path.append ()
La vengeance des types: la vengeance des types
Aligner la version de chromedriver_binary
10. Compter le nombre de lignes
L'histoire de la construction de Zabbix 4.4
Vers la retraite de Python2
Comparez les polices de jupyter-themes
Obtenez le nombre de chiffres
Expliquez le code de Tensorflow_in_ROS
Réutiliser les résultats du clustering
Calculez le nombre de changements
Changer le thème de Jupyter
La popularité des langages de programmation
Changer le style de matplotlib
Visualisez la trajectoire de Hayabusa 2
À propos des composants de Luigi
Composants liés du graphique
Filtrer la sortie de tracemalloc
À propos des fonctionnalités de Python
Simulation du contenu du portefeuille
Le pouvoir des pandas: Python
Comment afficher le résultat de sortie de la commande man Linux dans un fichier
Tester la version du module argparse
Trouvez la définition de la valeur de errno
jour de course des dockers (note)
Tracez la propagation du nouveau virus corona
L'histoire de Python et l'histoire de NaN
Obtenez le nombre de vues de Qiita
[Python] La pierre d'achoppement de l'importation
Traduction japonaise du manuel e2fsprogs
L'histoire de la participation à AtCoder
Changer l'arrière-plan d'Ubuntu (GNOME)
La probabilité de précipitation est-elle correcte?
J'ai étudié le mécanisme de connexion flask!
Comprendre le contenu du pipeline sklearn
Le monde des livres d'ingénierie de contrôle
Entrez dans l'obscurité de msync
Prenez le journal d'exécution du céleri
Existence du point de vue de Python
Calcul du nombre d'associations de Klamer
À propos de la valeur de retour de pthread_mutex_init ()
Combinez le chevauchement de sections unidimensionnelles
Obtenir les attributs d'un objet
Résoudre le retard d'observation de l'interféromètre
Discrimination de la forme agari du mahjong
Simulation Python du modèle épidémique (modèle Kermack-McKendrick)
La puissance des solveurs d'optimisation combinée
Obtenez le premier élément du jeu de requêtes
À propos du type de base de Go
Voir le contenu de Kumantic Segumantion
Traiter le résultat de% time,% timeit
À propos de la limite supérieure de threads-max
Analyser la gravité spécifique à l'âge du coronavirus