Aldebaran NAO Robot: Unterschied zwischen den Versionen
Zeile 32: | Zeile 32: | ||
Die Liste der Hardware im Detail. | Die Liste der Hardware im Detail. | ||
+ | TODO | ||
Die Hauptdokumentation scheint das hier zu sein. | Die Hauptdokumentation scheint das hier zu sein. |
Version vom 20. Februar 2023, 17:03 Uhr
Inhaltsverzeichnis
Allgemeines
Ein neues Spielzeug zum Testen.
Das Unboxing-Video spar ich mir :-)) Gibt's hier schon.
Die Links zur Community laufen aktuell ins Leere.
Das hier scheint der Nachfolger zu sein. Die Anzahl der Dokumente kommt mich spontan etwas duerftig vor. Support: https://support.unitedrobotics.group/de/support/home
Durch die Übernahme von Softbank durch Aldebaran (wieder zurueck) scheint einiges noch im Argen zu liegen.
The former URL https://developers.softbankrobotics.com/ is no longer available since 2022 September the 30th.
Viele Infos scheinen uebertragen worden zu sein.
https://www.aldebaran.com/developer-center/index.html
Softbank Robotics Europe was renamed to Aldebaran Robotics since 2022 June.Please go to Aldebaran Robotics website for inquiries about Pepper & NAO in EMEA
Die ersten technischen Infos:
- 25 Freiheitsgrade (25 Motoren; muss ich mal noch nachzaehlen ;-))
- 7 Touch-Sensoren (Lage?)
- 4 Richtmikrofone und Lautsprecher (je 4 oder 2 und 2?)
- Spracherkennung (20 Sprachen gleichzeitig?)
- 2 2D Kameras
Die vollstaendige Liste der Hardware.
Die Liste der Hardware im Detail.
TODO
Die Hauptdokumentation scheint das hier zu sein.
http://doc.aldebaran.com/2-8/index.html
Eine gute technische Einführung ist hier zu finden.
Video zur Einrichtung des NAO
First Contact
Per Ethernet-Kabel angeschlossen und folgendes erhalten.
11:30:08.713001 IP 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:13:95:1e:23:04 (oui Unknown), length 548 11:30:08.713138 IP worker.bootps > 192.168.0.1.bootpc: BOOTP/DHCP, Reply, length 300 11:30:08.901513 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0 [6q] [10n] ANY (QM)? 4.0.3.2.e.1.e.f.f.f.5.9.3.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. ANY (QM)? barny.local. ANY (QM)? 1.0.168.192.in-addr.arpa. ANY (QM)? barny._ssh._tcp.local. ANY (QM)? barny._sftp-ssh._tcp.local. ANY (QM)? barny._naoqi._tcp.local. (440) 11:30:08.920154 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0*- [0q] 6/0/0 PTR _naoqi._tcp.local., PTR barny._ssh._tcp.local., PTR _ssh._tcp.local., PTR barny._sftp-ssh._tcp.local., PTR _sftp-ssh._tcp.local., PTR barny._naoqi._tcp.local. (169) 11:30:09.151606 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0 [6q] [10n] ANY (QM)? 4.0.3.2.e.1.e.f.f.f.5.9.3.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. ANY (QM)? barny.local. ANY (QM)? 1.0.168.192.in-addr.arpa. ANY (QM)? barny._ssh._tcp.local. ANY (QM)? barny._sftp-ssh._tcp.local. ANY (QM)? barny._naoqi._tcp.local. (440) 11:30:09.402157 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0 [6q] [10n] ANY (QM)? 4.0.3.2.e.1.e.f.f.f.5.9.3.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. ANY (QM)? barny.local. ANY (QM)? 1.0.168.192.in-addr.arpa. ANY (QM)? barny._ssh._tcp.local. ANY (QM)? barny._sftp-ssh._tcp.local. ANY (QM)? barny._naoqi._tcp.local. (440) 11:30:09.603000 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0*- [0q] 10/0/0 (Cache flush) PTR barny.local., (Cache flush) A 192.168.0.1, (Cache flush) PTR barny.local., (Cache flush) SRV barny.local.:22 0 0, (Cache flush) TXT "", (Cache flush) SRV barny.local.:22 0 0, (Cache flush) TXT "", (Cache flush) SRV barny.local.:9559 0 0, (Cache flush) TXT "MdnsInterfaceLocal=0" "Protocol=tcp" "RobotMaterialization=Real" "RobotType=Nao", (Cache flush) AAAA fe80::213:95ff:fe1e:2304 (404) 11:30:10.043104 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0*- [0q] 6/0/0 PTR _naoqi._tcp.local., PTR barny._ssh._tcp.local., PTR _ssh._tcp.local., PTR barny._sftp-ssh._tcp.local., PTR _sftp-ssh._tcp.local., PTR barny._naoqi._tcp.local. (169) 11:30:10.725081 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0*- [0q] 9/0/0 (Cache flush) PTR barny.local., (Cache flush) SRV barny.local.:22 0 0, (Cache flush) A 192.168.0.1, (Cache flush) TXT "", (Cache flush) SRV barny.local.:22 0 0, (Cache flush) TXT "", (Cache flush) SRV barny.local.:9559 0 0, (Cache flush) TXT "MdnsInterfaceLocal=0" "Protocol=tcp" "RobotMaterialization=Real" "RobotType=Nao", (Cache flush) AAAA fe80::213:95ff:fe1e:2304 (370) 11:30:10.725442 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) PTR barny.local. (61) 11:30:12.166167 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0*- [0q] 14/0/0 PTR _naoqi._tcp.local., PTR barny._ssh._tcp.local., (Cache flush) TXT "", (Cache flush) SRV barny.local.:22 0 0, (Cache flush) AAAA fe80::213:95ff:fe1e:2304, (Cache flush) A 192.168.0.1, PTR _ssh._tcp.local., PTR barny._sftp-ssh._tcp.local., (Cache flush) TXT "", (Cache flush) SRV barny.local.:22 0 0, PTR _sftp-ssh._tcp.local., PTR barny._naoqi._tcp.local., (Cache flush) TXT "MdnsInterfaceLocal=0" "Protocol=tcp" "RobotMaterialization=Real" "RobotType=Nao", (Cache flush) SRV barny.local.:9559 0 0 (391) 11:30:12.847335 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0*- [0q] 9/0/0 (Cache flush) PTR barny.local., (Cache flush) SRV barny.local.:22 0 0, (Cache flush) A 192.168.0.1, (Cache flush) TXT "", (Cache flush) SRV barny.local.:22 0 0, (Cache flush) TXT "", (Cache flush) SRV barny.local.:9559 0 0, (Cache flush) TXT "MdnsInterfaceLocal=0" "Protocol=tcp" "RobotMaterialization=Real" "RobotType=Nao", (Cache flush) AAAA fe80::213:95ff:fe1e:2304 (370) 11:30:12.847484 IP 192.168.0.1.mdns > 224.0.0.251.mdns: 0*- [0q] 1/0/0 (Cache flush) PTR barny.local. (61)
Ein Portscan per nmap.
Scanning 192.168.0.1 [1000 ports] Discovered open port 22/tcp on 192.168.0.1 Discovered open port 80/tcp on 192.168.0.1 Discovered open port 8002/tcp on 192.168.0.1 Discovered open port 9503/tcp on 192.168.0.1 ... PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.8 (protocol 2.0) 80/tcp open http nginx 1.15.7 |_http-title: Site doesn't have a title (text/html). |_http-favicon: Unknown favicon MD5: 3C09063D56394B92505586D89AFBD1B0 | http-methods: |_ Supported Methods: GET HEAD |_http-server-header: nginx/1.15.7 8002/tcp open http Tornado httpd 4.5.3 |_http-title: 404: Not Found | http-methods: |_ Supported Methods: GET HEAD POST OPTIONS |_http-server-header: TornadoServer/4.5.3 9503/tcp open ssl/unknown | ssl-cert: Subject: commonName=qi.private.aldebaran.lan/organizationName=Aldebaran/stateOrProvinceName=France/countryName=FR | Issuer: commonName=qi.private.aldebaran.lan/organizationName=Aldebaran/stateOrProvinceName=France/countryName=FR | Public Key type: rsa | Public Key bits: 2048 | Signature Algorithm: sha256WithRSAEncryption | Not valid before: 2020-01-29T14:35:08 | Not valid after: 2020-02-28T14:35:08 | MD5: 477d 32dd d837 f658 fe85 516f 1a46 1cbf |_SHA-1: b224 cf84 fbc1 53e1 4ec2 4162 52e8 d615 39ef a7ad |_ssl-date: TLS randomness does not represent time MAC Address: 00:13:95:XX:XX:XX (congatec AG) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.9
Also dann mal schauen.
Port 22 SSH
Server: OpenSSH 7.8 (protocol 2.0) Kontaktaufnhame problemlos.
worker:~ # ssh nao@192.168.0.1 Password: barny [0] ~ $ ls naoqi recordings barny [0] ~ $ cd / barny [0] / $ ls bin boot breakpad-syms data dev etc home lib lost+found media mnt nao opt proc root run sbin settings srv sys tmp usr var barny [0] / $ ls -l total 80 drwxr-xr-x 2 root root 4096 Oct 14 2019 bin drwxr-xr-x 2 root root 4096 Oct 14 2019 boot drwxr-xr-x 39 root root 4096 Oct 14 2019 breakpad-syms drwxr-xr-x 10 root root 4096 Jan 29 2020 data drwxr-xr-x 14 root root 5560 Feb 18 10:59 dev drwxr-xr-x 1 root root 4096 Feb 18 11:53 etc lrwxrwxrwx 1 root root 10 Oct 14 2019 home -> /data/home drwxr-xr-x 11 root root 4096 Oct 14 2019 lib drwx------ 2 root root 16384 Nov 27 2019 lost+found drwxr-xr-x 3 root root 4096 Oct 14 2019 media drwxr-xr-x 2 root root 4096 Oct 14 2019 mnt drwxr-xr-x 3 root root 4096 Oct 14 2019 nao drwxr-xr-x 4 root root 4096 Oct 14 2019 opt dr-xr-xr-x 208 root root 0 Feb 18 10:59 proc drwx------ 2 root root 4096 Oct 14 2019 root drwxr-xr-x 17 root root 420 Feb 18 10:59 run drwxr-xr-x 3 root root 4096 Oct 14 2019 sbin drwxr-xr-x 2 root root 4096 Oct 14 2019 settings drwxr-xr-x 2 root root 4096 Oct 14 2019 srv dr-xr-xr-x 13 root root 0 Feb 18 10:59 sys drwxrwxrwt 75 root root 1600 Feb 18 11:53 tmp drwxr-xr-x 11 root root 4096 Oct 14 2019 usr drwxr-xr-x 11 root root 4096 Oct 14 2019 var barny [0] / $ cat /etc/os-release ID="naoqi-os" NAME="NAOqiOS" VERSION="3.6.22.4 ()" VERSION_ID="3.6.22.4" PRETTY_NAME="NAOqiOS 3.6.22.4 ()" barny [0] / $
Laut [1] laeuft auf dem Nao ein Gentoo Linux.
Port 80 HTTP
Server: nginx 1.15.7
Port 8002 HTTP
Server: nginx 1.15.7
Tornado ist ein freier, nicht blockierender Webserver sowie ein einfaches Mikro-Webframework in Python.
Port 9503
Server:
Hardware
PCI-BUS
00:00.0 Host bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register (rev 11) 00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 11) 00:12.0 SD Host controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SDIO Controller (rev 11) 00:13.0 SATA controller: Intel Corporation Atom Processor E3800 Series SATA AHCI Controller (rev 11) 00:14.0 USB controller: Intel Corporation Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI (rev 11) 00:17.0 SD Host controller: Intel Corporation Atom Processor E3800 Series eMMC 4.5 Controller (rev 11) 00:1a.0 Encryption controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine (rev 11) 00:1b.0 Audio device: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller (rev 11) 00:1c.0 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 1 (rev 11) 00:1c.1 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 2 (rev 11) 00:1c.2 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 3 (rev 11) 00:1c.3 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 4 (rev 11) 00:1f.0 ISA bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit (rev 11) 00:1f.3 SMBus: Intel Corporation Atom Processor E3800 Series SMBus Controller (rev 11) 01:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01) 04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
USB
Bus 001 Device 007: ID c001:5253 Bus 001 Device 010: ID 2a0b:01ff Bus 001 Device 006: ID 0cf3:3004 Qualcomm Atheros Communications AR3012 Bluetooth 4.0 Bus 002 Device 002: ID 2a0b:01ff Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID ffff:0006 Bus 001 Device 002: ID 0000:0000 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 5000M |__ Port 1: Dev 2, If 0, Class=Video, Driver=uvcvideo, 5000M |__ Port 1: Dev 2, If 1, Class=Video, Driver=uvcvideo, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 480M |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/3p, 480M |__ Port 1: Dev 6, If 0, Class=Wireless, Driver=btusb, 12M |__ Port 1: Dev 6, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 2: Dev 10, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 2: Dev 10, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 3: Dev 7, If 0, Class=Vendor Specific Class, Driver=sbre-usb-i2c, 12M |__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=usbfs, 12M
I2C
i2c-0 unknown SMBus I801 adapter at e000 N/A i2c-1 i2c SBRE USB-I2C on port 1.7 I2C adapter
Kmoisch. Kann irgendwie nicht sein.
sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30: 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60: 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70: 70 71 72 73 74 75 76 77
Vokabel
Zum weiteren Verstaendnis sind einige Vokabeln nuetzlich, die einem zwangslaeufig in der Literatur begegnen.
ROLL-PITCH-YAW ROLL-NICK-GIER
Dabei meint
- ROLL, das Drehen um die Laengsachse (Hauptrichtung)
- PITCH, das Drehen um die Querachse (hoch/runter)
- YAW, das Drehen um die Hochachse
Da man mit Zeigefinger (Laengsachse Y), Daumen (Querachse X) und Mittelfinger (Hochachse Z) der rechten Hand ein kartesischen Koordinatensystems aufspannen kann ergibt sich ROLL zu Handgelenk drehen, NICK zu Handgelenk Beugung/Streckung und YAW zu Handgelenk Abspreizbewegung.
Robot Settings
Die Software wird fuer Linux, Windows 10(!) und MAC (MAedchen Computer) angeboten.
Bei Linux wird Ubuntu 16.04 Xenial Xerus - 64bits only unterstuetzt. Eine Installation auf OpneSuSE 15.3 ist an QT gescheidert. (Nachtrag: Die Version von libz war das Problem. Im lib-Ordner befindet sich die Version 1.2.8. Nachdem ich die Vesion 1.2.11 aus /lib64 umkopert hatte, noch schnell die Softlinks neu gesetzt und schon lief robot-setting)
Also probier ich es mal in einer VM. Die Anforderungen sind ja minimal und meine 16 Kerne und 48 GB Hauptspeicher haben noch etwas Luft.
Die Anleitung befindet sich hier.
Man soll sich auf der Softbank Account anmelden. Der Link wird umgebogen nach
https://sso.aldebaran-robotics.com/pf/adapter2adapter.ping?TargetResource=https://cloud.aldebaran-robotics.com/
Faengt ja gut an. Nach dem Registieren wird ein Einlogversuch wie folgt quittiert.
Zitat: Das hat bestimmt ein 5-jaehriger Schimpanse programmiert. Ich entschuldige mich ausdruecklich bei allen 5-jaehrigen Schimpansen.
Choreographe
http://doc.aldebaran.com/1-14/software/choregraphe/choregraphe_overview.html
Links
Aldebaran Robot Jumpstarter Viele Choreograph Beispiele NAO 3D Modell NAO 3D Modell NAO 3D Modell Teaching Assistent
Die automatische Aktualisierung der Kommentare aktivieren.