Aldebaran NAO Robot: Unterschied zwischen den Versionen
(→I2C) |
|||
(28 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
=Allgemeines= | =Allgemeines= | ||
+ | |||
+ | [02/2023] | ||
Ein neues Spielzeug zum Testen. | Ein neues Spielzeug zum Testen. | ||
Zeile 164: | Zeile 166: | ||
===Port 9503=== | ===Port 9503=== | ||
Server: ? | Server: ? | ||
+ | |||
+ | |||
+ | ===noch ein Port=== | ||
+ | |||
+ | [[Datei:Screenshot 20230220 165127.png|200px]] | ||
+ | |||
+ | |||
+ | ==Root-Filesystem== | ||
+ | |||
+ | <pre> | ||
+ | $ sudo fdisk /dev/mmcblk0 | ||
+ | Password: | ||
+ | |||
+ | Welcome to fdisk (util-linux 2.32.1). | ||
+ | Changes will remain in memory only, until you decide to write them. | ||
+ | Be careful before using the write command. | ||
+ | |||
+ | |||
+ | Command (m for help): p | ||
+ | Disk /dev/mmcblk0: 29.1 GiB, 31268536320 bytes, 61071360 sectors | ||
+ | Units: sectors of 1 * 512 = 512 bytes | ||
+ | Sector size (logical/physical): 512 bytes / 512 bytes | ||
+ | I/O size (minimum/optimal): 512 bytes / 512 bytes | ||
+ | Disklabel type: gpt | ||
+ | Disk identifier: C71F7C2F-7D30-48AC-805D-9723E1993E73 | ||
+ | |||
+ | Device Start End Sectors Size Type | ||
+ | /dev/mmcblk0p1 2048 264191 262144 128M Linux filesystem | ||
+ | /dev/mmcblk0p2 264192 395263 131072 64M EFI System | ||
+ | /dev/mmcblk0p3 395264 8388607 7993344 3.8G Linux filesystem | ||
+ | /dev/mmcblk0p4 8388608 61071326 52682719 25.1G Linux filesystem | ||
+ | </pre> | ||
+ | |||
+ | Das Root-Filesystem ist readonly per default. | ||
+ | |||
+ | sudo mount -o rw,remount / | ||
+ | |||
+ | Und schon kann man nach belieben nachinstallieren. | ||
+ | |||
+ | <pre> | ||
+ | $ mount |grep mmc | ||
+ | /dev/mmcblk0p3 on / type ext3 (rw,relatime,data=ordered) | ||
+ | /dev/mmcblk0p1 on /media/internal type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered) | ||
+ | /dev/mmcblk0p4 on /data type ext3 (rw,nosuid,nodev,noatime,data=ordered) | ||
+ | /dev/mmcblk0p4 on /var/cache type ext3 (rw,nosuid,nodev,noatime,data=ordered) | ||
+ | </pre> | ||
+ | |||
+ | ==Netzwerk== | ||
+ | |||
+ | Die Netzwerkkomponenten werden von dem Programm connmanctl gehandhabt. | ||
+ | Z.B. kann man einen Nameserver mit folgendem Kommando hinzufuegen. | ||
+ | |||
+ | connmanctl> config ethernet_0013951e2304_cable --nameservers 192.168.178.2 | ||
+ | |||
+ | Nachdem man sich mit | ||
+ | |||
+ | connmanctl> services | ||
+ | |||
+ | einen Ueberblick verschafft hat. | ||
+ | |||
+ | Wired und Wifi soweit alles bekannt. | ||
+ | |||
+ | Bluetooth und P2P muss ich noch anschauen. | ||
+ | |||
+ | =Bash= | ||
+ | |||
+ | Wenigstens funktioniert mlocate. | ||
+ | |||
+ | sudo updatedb --output=/var/volatile/mlocate.db | ||
+ | |||
+ | locate --database=/var/volatile/mlocate.db cpu | ||
+ | |||
+ | |||
+ | Der Packetmanager ist opkg. | ||
+ | |||
=Hardware= | =Hardware= | ||
Zeile 232: | Zeile 309: | ||
</pre> | </pre> | ||
− | Devicelisten | + | ==Devicelisten== |
− | [https://ii.tudelft.nl/naodoc/site_en/reddoc/dcm/list_of_subdevices.html] | + | *[https://ii.tudelft.nl/naodoc/site_en/reddoc/dcm/list_of_subdevices.html] Die Zuordnungsliste ist etwas verwirrend. |
− | [http://doc.aldebaran.com/1-14/naoqi/sensors/dcm/low_level_architecture.html] | + | *[http://doc.aldebaran.com/1-14/naoqi/sensors/dcm/low_level_architecture.html] Schon besser. |
− | [http://www.vignals.net/Projects/Memory_Keys_Device_Explorer/lvi_memory_key_names.html] | + | *[http://www.vignals.net/Projects/Memory_Keys_Device_Explorer/lvi_memory_key_names.html] Nutzen noch ungewiss;-) |
+ | |||
+ | |||
+ | ==Akku/Ladegeraet== | ||
+ | |||
+ | Das Ladegeraet traegt folgende Bezeichnung: | ||
+ | Model ADP-50MR A | ||
+ | |||
+ | Interessant dabei ist, dass das Ladegeraet mit einer maximalen Spannung von 24,8 V angegeben ist. | ||
+ | Die maximale Ladespannung des Akkus allerdings 25,2 V betraegt. | ||
+ | |||
+ | Im Akku mit der Bezeichnung Model 6S1P US18650NC1 weist ja schon ziemlich eindeutig auf den verbauten Inhalt hin. | ||
+ | |||
+ | Das Datenblatt der Murata 18650 VTC6 Zellen gibt eine Entladeschlussspannung von 2,0 V an. | ||
+ | Die maximale Ladespannung liegt bei 4,25V (als bei 6S1P 25,5 V). | ||
+ | Die Nominalspannug ist 3,6 V und die nominale Kapazitaet ist 3120 mAh. | ||
+ | |||
+ | Jetzt muss ich lachen;-) | ||
+ | |||
+ | The cell configuration in the battery pack is to 2 parallels 5 series at the maximum. | ||
+ | |||
+ | |||
+ | Die Lagerung sollte bei einem SOC zwischen 10-50% erfolgen. | ||
+ | |||
+ | Nach 300 Zyklen kann man von einer maximalen Kapazitaet von 2000 mAh (64 % !!!) ausgehen. | ||
+ | |||
+ | Bei 400 Zyklen ist die Kapazitaet deutlich unter 2000 mAh. | ||
+ | |||
+ | |||
+ | [[Datei:NAO Akku BMS PCB.jpg|mini|NAO Akku BMS PCB]] | ||
+ | |||
+ | [[Datei:NAO Akku offen.jpg|mini|NAO Akku offen]] | ||
+ | |||
+ | [[Datei:NAO Ladegeraet.jpg|mini|NAO Ladegeraet]] | ||
+ | |||
+ | [[Datei:NAO Akkus.jpg|mini|NAO Akkus]] | ||
+ | |||
+ | [[Datei:NAO Akku BMS PCB 1.jpg|600px|NAO Akku BMS PCB 1]] | ||
+ | |||
+ | [[Datei:NAO Akku BMS PCB 2.jpg|600px|NAO Akku BMS PCB 2]] | ||
+ | |||
+ | ===Akku defekt=== | ||
+ | [https://youtu.be/30vRwSfOA9w] | ||
+ | |||
+ | [https://www.bartneck.de/2021/02/03/repair-of-broken-nao-robot-battery-pack/] | ||
+ | |||
+ | |||
+ | Die Einzelzellen hatten bei mir jeweils ca. 1 V. Damit gelten sie als tiefentladen. Allgemein ist es keine gute Idee Lithium-Akkus wiederzubeleben. Es lohnt auch eigentlich nicht. Beim Ali kostet eine Zelle ca. 1,50 Euro. Bei Deutschen Versendern liegen die Preise, je nach Marke so um die 8 Euro. | ||
+ | Da lohnt sich der Aufwand der Wiederbelebung selbst bei angenommenem Mindestlohn kaum. Geschweige denn, sich auch dem latenten Risiko eines Brandschadens auszusetzen. Aber ich probier's trotzdem mal;-) Ich werde berichten. | ||
=Vokabel= | =Vokabel= | ||
Zum weiteren Verstaendnis sind einige Vokabeln nuetzlich, die einem zwangslaeufig in der Literatur begegnen. | Zum weiteren Verstaendnis sind einige Vokabeln nuetzlich, die einem zwangslaeufig in der Literatur begegnen. | ||
− | + | ||
+ | Behavior | ||
+ | |||
+ | '''Choregraphe''' | ||
+ | * Box (Diagram, Timeline, Python, Dialog) | ||
+ | |||
+ | '''ROLL-PITCH-YAW ROLL-NICK-GIER''' | ||
Dabei meint | Dabei meint | ||
* ROLL, das Drehen um die Laengsachse (Hauptrichtung) | * ROLL, das Drehen um die Laengsachse (Hauptrichtung) | ||
Zeile 246: | Zeile 377: | ||
* YAW, das Drehen um die Hochachse | * 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. | + | 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. |
− | + | Dummerweise ist in der Literatur zum NAO oft die Hauptrichtung die X-Achse (Daumen), daher muss man die eigene Hand ganz schoen verbiegen:-( | |
− | |||
− | |||
− | |||
− | =Robot Settings= | + | =Software= |
+ | ==Robot Settings== | ||
Die Software wird fuer Linux, Windows 10(!) und MAC ('''MA'''edchen '''C'''omputer) angeboten. | Die Software wird fuer Linux, Windows 10(!) und MAC ('''MA'''edchen '''C'''omputer) angeboten. | ||
Bei Linux wird Ubuntu 16.04 Xenial Xerus - 64bits only unterstuetzt. | 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 | + | 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 umkopiert hatte, noch schnell die Softlinks neu gesetzt und schon lief robot-setting. Gleiches Problem bei choregraphe.) |
− | |||
− | Also | + | Also vielleicht auch mal mit in einer VM ausprobieren. Die Anforderungen sind ja minimal und meine 16 Kerne und 48 GB Hauptspeicher haben noch etwas Luft. |
Die Anleitung befindet sich [https://www.aldebaran.com/en/support/nao-6/5-settings#title-1 hier]. | Die Anleitung befindet sich [https://www.aldebaran.com/en/support/nao-6/5-settings#title-1 hier]. | ||
Zeile 276: | Zeile 404: | ||
Zitat: Das hat bestimmt ein 5-jaehriger Schimpanse programmiert. Ich entschuldige mich ausdruecklich bei allen 5-jaehrigen Schimpansen. | Zitat: Das hat bestimmt ein 5-jaehriger Schimpanse programmiert. Ich entschuldige mich ausdruecklich bei allen 5-jaehrigen Schimpansen. | ||
− | = | + | =Choregraphe= |
− | http://doc.aldebaran.com/ | + | http://doc.aldebaran.com/2-8/software/choregraphe/choregraphe_overview.html |
+ | |||
+ | In der "Kommandozentrale" kann man sich schnell zurechtfinden. | ||
+ | |||
+ | Da hier eine komplette (*) Simulation stattfinden kann. Benoetigt man zum Einstig eigentlich keine Roboter-Hardware. | ||
+ | |||
+ | Um aber in Choregraphe umfangreiche Programme zu "schreiben" kann der Monitor nicht grosz genug sein. | ||
+ | |||
+ | Ich war aber auch schon schnell an der Stelle, wo die Grenzen der Boxer | ||
+ | |||
+ | ==Hinweise== | ||
+ | Im Projekt kann unter Edit->Preferneces->VirtualRobot auf den NAO, oder einen eigenen Roboter umschalten. | ||
+ | |||
+ | Mit der Upload-Funktion Connection->Advanced->File Transfer landen die Daten per SFTP in /home/<username>, bzw. /data/home/<username>. | ||
+ | |||
+ | |||
+ | Aldebaran ist ein Doppelsternsystem in etwa 67 Lichtjahren (20 Parsec) Entfernung. Der Hauptstern ist ein Roter Riese der Spektralklasse K5 und der Leuchtkraftklasse III. | ||
+ | Aldebaran ist ein Stern im Sternbild Stier. Der Name stammt aus arabisch الدَّبَران, DMG ad-Dabarān und bedeutet der Folgende, weil der Stern den Plejaden am Himmel zu folgen scheint. | ||
=Links= | =Links= | ||
− | [https://github.com/aldebaran/robot-jumpstarter Aldebaran Robot Jumpstarter] | + | *[https://github.com/aldebaran/robot-jumpstarter Aldebaran Robot Jumpstarter] |
− | [https://funlab.nd.edu/the-nao-base/ Viele | + | *[https://funlab.nd.edu/the-nao-base/ Viele Choregraphe Beispiele] |
− | [https://grabcad.com/library/nao-robot-2 NAO 3D Modell] | + | *[https://grabcad.com/library/nao-robot-2 NAO 3D Modell] |
− | [https://sketchfab.com/3d-models/nao-7bc63510316846b4aa2792573dc049bb NAO 3D Modell] | + | *[https://sketchfab.com/3d-models/nao-7bc63510316846b4aa2792573dc049bb NAO 3D Modell] |
− | [https://www.thingiverse.com/thing:5479849 NAO 3D Modell] | + | *[https://www.thingiverse.com/thing:5479849 NAO 3D Modell] |
− | [https://www.extrica.com/article/22720 Teaching Assistent] | + | *[https://www.extrica.com/article/22720 Teaching Assistent] |
+ | *[https://www.degruyter.com/search?query=nao+robot] | ||
+ | *[https://www.youtube.com/watch?v=5MlO8rDCF8w] | ||
=<span id="RFC"></span>Request for Comments= | =<span id="RFC"></span>Request for Comments= | ||
<comments /> | <comments /> |
Aktuelle Version vom 2. Februar 2024, 10:20 Uhr
Inhaltsverzeichnis
Allgemeines
[02/2023] 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: Tornado httpd 4.5.3
Tornado ist ein freier, nicht blockierender Webserver sowie ein einfaches Mikro-Webframework in Python.
Port 9503
Server: ?
noch ein Port
Root-Filesystem
$ sudo fdisk /dev/mmcblk0 Password: Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/mmcblk0: 29.1 GiB, 31268536320 bytes, 61071360 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: C71F7C2F-7D30-48AC-805D-9723E1993E73 Device Start End Sectors Size Type /dev/mmcblk0p1 2048 264191 262144 128M Linux filesystem /dev/mmcblk0p2 264192 395263 131072 64M EFI System /dev/mmcblk0p3 395264 8388607 7993344 3.8G Linux filesystem /dev/mmcblk0p4 8388608 61071326 52682719 25.1G Linux filesystem
Das Root-Filesystem ist readonly per default.
sudo mount -o rw,remount /
Und schon kann man nach belieben nachinstallieren.
$ mount |grep mmc /dev/mmcblk0p3 on / type ext3 (rw,relatime,data=ordered) /dev/mmcblk0p1 on /media/internal type ext4 (rw,nosuid,nodev,noexec,relatime,data=ordered) /dev/mmcblk0p4 on /data type ext3 (rw,nosuid,nodev,noatime,data=ordered) /dev/mmcblk0p4 on /var/cache type ext3 (rw,nosuid,nodev,noatime,data=ordered)
Netzwerk
Die Netzwerkkomponenten werden von dem Programm connmanctl gehandhabt. Z.B. kann man einen Nameserver mit folgendem Kommando hinzufuegen.
connmanctl> config ethernet_0013951e2304_cable --nameservers 192.168.178.2
Nachdem man sich mit
connmanctl> services
einen Ueberblick verschafft hat.
Wired und Wifi soweit alles bekannt.
Bluetooth und P2P muss ich noch anschauen.
Bash
Wenigstens funktioniert mlocate.
sudo updatedb --output=/var/volatile/mlocate.db
locate --database=/var/volatile/mlocate.db cpu
Der Packetmanager ist opkg.
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
Komisch. Alle Adressen belegt. Kann irgendwie nicht sein, vielleicht haben die jede einzelne LED angeschlossen:-))
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
Devicelisten
Akku/Ladegeraet
Das Ladegeraet traegt folgende Bezeichnung: Model ADP-50MR A
Interessant dabei ist, dass das Ladegeraet mit einer maximalen Spannung von 24,8 V angegeben ist. Die maximale Ladespannung des Akkus allerdings 25,2 V betraegt.
Im Akku mit der Bezeichnung Model 6S1P US18650NC1 weist ja schon ziemlich eindeutig auf den verbauten Inhalt hin.
Das Datenblatt der Murata 18650 VTC6 Zellen gibt eine Entladeschlussspannung von 2,0 V an. Die maximale Ladespannung liegt bei 4,25V (als bei 6S1P 25,5 V). Die Nominalspannug ist 3,6 V und die nominale Kapazitaet ist 3120 mAh.
Jetzt muss ich lachen;-)
The cell configuration in the battery pack is to 2 parallels 5 series at the maximum.
Die Lagerung sollte bei einem SOC zwischen 10-50% erfolgen.
Nach 300 Zyklen kann man von einer maximalen Kapazitaet von 2000 mAh (64 % !!!) ausgehen.
Bei 400 Zyklen ist die Kapazitaet deutlich unter 2000 mAh.
Akku defekt
Die Einzelzellen hatten bei mir jeweils ca. 1 V. Damit gelten sie als tiefentladen. Allgemein ist es keine gute Idee Lithium-Akkus wiederzubeleben. Es lohnt auch eigentlich nicht. Beim Ali kostet eine Zelle ca. 1,50 Euro. Bei Deutschen Versendern liegen die Preise, je nach Marke so um die 8 Euro.
Da lohnt sich der Aufwand der Wiederbelebung selbst bei angenommenem Mindestlohn kaum. Geschweige denn, sich auch dem latenten Risiko eines Brandschadens auszusetzen. Aber ich probier's trotzdem mal;-) Ich werde berichten.
Vokabel
Zum weiteren Verstaendnis sind einige Vokabeln nuetzlich, die einem zwangslaeufig in der Literatur begegnen.
Behavior
Choregraphe
- Box (Diagram, Timeline, Python, Dialog)
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. Dummerweise ist in der Literatur zum NAO oft die Hauptrichtung die X-Achse (Daumen), daher muss man die eigene Hand ganz schoen verbiegen:-(
Software
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 umkopiert hatte, noch schnell die Softlinks neu gesetzt und schon lief robot-setting. Gleiches Problem bei choregraphe.)
Also vielleicht auch mal mit in einer VM ausprobieren. 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.
Choregraphe
http://doc.aldebaran.com/2-8/software/choregraphe/choregraphe_overview.html
In der "Kommandozentrale" kann man sich schnell zurechtfinden.
Da hier eine komplette (*) Simulation stattfinden kann. Benoetigt man zum Einstig eigentlich keine Roboter-Hardware.
Um aber in Choregraphe umfangreiche Programme zu "schreiben" kann der Monitor nicht grosz genug sein.
Ich war aber auch schon schnell an der Stelle, wo die Grenzen der Boxer
Hinweise
Im Projekt kann unter Edit->Preferneces->VirtualRobot auf den NAO, oder einen eigenen Roboter umschalten.
Mit der Upload-Funktion Connection->Advanced->File Transfer landen die Daten per SFTP in /home/<username>, bzw. /data/home/<username>.
Aldebaran ist ein Doppelsternsystem in etwa 67 Lichtjahren (20 Parsec) Entfernung. Der Hauptstern ist ein Roter Riese der Spektralklasse K5 und der Leuchtkraftklasse III.
Aldebaran ist ein Stern im Sternbild Stier. Der Name stammt aus arabisch الدَّبَران, DMG ad-Dabarān und bedeutet der Folgende, weil der Stern den Plejaden am Himmel zu folgen scheint.
Links
- Aldebaran Robot Jumpstarter
- Viele Choregraphe Beispiele
- NAO 3D Modell
- NAO 3D Modell
- NAO 3D Modell
- Teaching Assistent
- [7]
- [8]
Die automatische Aktualisierung der Kommentare aktivieren.