Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino UNO | 1 |
| Arduino Braccio Robotarm | 1 |
| Odroid XU4 | 1 |
| SparkFun EasyDriver - Stappenmotor Driver | 1 |
| Stappenmotor | 1 |
| L298 Motor Driver | 1 |
| DC motor (generiek) | 4 |
| GY-85 IMU | 1 |
| Mecanum Wielen | 1 set |
| 5V USB Hub | 1 |
| Microsoft Kinect Sensor | 1 |
| OpenBuilds V-Slot Lineaire Rail | 2 |
| OpenBuilds V-Slot Gantry Platen | 1 |
| OpenBuilds Solid V Wiel Set | 4 |
| 0.8m Acme Trap Spindel | 1 |
| 6mm naar 8mm As Koppeling | 1 |
| 8mm Lager Beugel | 1 |
| 1.2m Veer Draad | 1 |
| Eindschakelaar | 1 |
| 5V BEC | 1 |
| Variabele DC-DC Converter | 2 |
| 12V Herlaadbare Batterij 5000 mAh | 1 |
Apps en online diensten
- Amazon Alexa Skills Kit
- Amazon Web Services AWS Lambda
- ROS (Robot Operating System)
- PubNub Publish/Subscribe API
Over dit project
1. Introductie


Ontmoet O'nine! Een persoonlijke thuisrobot die zich verplaatst, objecten oppakt en op je huis let. Dankzij Alexa kan O'nine je horen en programmeerbare taken uitvoeren, zoals vissen voeren.
Dit project breidt Alexa's mogelijkheden uit met een schaalbaar, open robotplatform voor dynamische taken in een slimme huishouding. In plaats van statische oplossingen per kamer, kan een robot mobiel taken overnemen.
Video: O'nine voedt vissen (time-lapse) | Volledige video
O'nine heeft een ingebouwde camera – je kunt hem vragen een foto te maken van de baby of wie er aan de deur staat.
Deze tutorial begeleidt je bij het bouwen van de robot en het maken van een Alexa Skill voor autonoome taken.
2. Hoog-niveau Architectuur

- Amazon Echo Dot luistert naar stemcommando.
- Custom Alexa Skill detecteert Intent.
- AWS Lambda functie ontvangt verzoek en publiceert naar PubNub MQTT broker.
- O'nine ontvangt data via MQTT abonnement.
- O'nine voert taken autonoom uit.
3. Hardware
3.1 Robot Basis

De firmware bevat een PID-controller voor snelheidsregeling via motor encoder feedback. Chassis is een hergebruikte A4-papieren blik. Zie Linorobot project voor uitgebreide handleiding.

3.2 Verticale Lift (Arm Ouder)

Bestuurt de verticale lift van de arm. Open-lus systeem: hoogte berekend uit stappen. Microcontroller doorgeeft data van MoveIt naar robotarm op het bewegende platform.

3.3 Robotarm Controller (Arm Kind)

Communiceert via seriële poort met ouder-circuit. Ontvangt array met gewenste hoeken per gewricht voor servo-actuatie.

3.4 Alle circuits integreren

4. Software
Vereist twee Linux machines (Ubuntu 14.04/16.04): één voor ontwikkeling (MoveIt, Rviz), één ARM-board voor robot navigatie en drivers.
4.1 ROS Installatie
git clone https://github.com/linorobot/rosme
cd rosme
./install
Installer detecteert OS en architectuur automatisch.
4.2 ROS Pakketten Installeren
4.2.1 Ontwikkelmachine:
cd ~/catkin_ws/src
git clone https://github.com/linorobot/lino_pid
git clone https://github.com/linorobot/lino_msgs
git clone https://github.com/linorobot/lino_visualize
cd .. && catkin_make
4.2.2 Robot computer (basis):
git clone https://github.com/linorobot/lino_install
cd lino_install
./install mecanum kinect
4.2.3 O'nine pakket (beide machines):
git clone https://github.com/grassjelly/onine_install
cd onine_install
./install
4.2.4 Alexa Tasker:
cd ~/onine_ws/src
git clone https://github.com/grassjelly/onine_alexa
cd ..
catkin_make
5. Software Setup
5.1 Alexa Skill Instellen
Stap-voor-stap handleiding met screenshots voor: Alexa Developer Account aanmaken, Skill aanmaken (Custom Interaction Model), Intent Schema en Sample Utterances importeren vanuit GitHub, AWS Lambda ARN koppelen, testen.
5.2 AWS Lambda Functie Aanmaken
Node.js 4.3 runtime, bestaande role 'lambda_basic_execution', Alexa Skills Kit trigger toevoegen met Skill ID. Code uploaden als ZIP na PubNub keys in te voeren en npm install && ./zipme te draaien.
5.3 PubNub Account Aanmaken
Nieuwe App aanmaken, Publish/Subscribe keys noteren en in code verwerken.
5.4 Pushover Notificaties
Voor foto's naar telefoon. Account aanmaken, App/API Token maken, keys in O'nine's 'snaptask' plaatsen.
5.5 Firmware Uploaden
uDev Rules: Seriële poorten statisch maken via rosrun lino_udev lino_udev.py. Poorten noemen "linobase" en "oninearm". Rules kopiëren naar /etc/udev/rules.d/ en udev herstarten.
Firmware uploaden via PlatformIO voor: robot basis (Teensy), verticale lift (Teensy), robotarm controller (Arduino Uno).
5.6 Linorobot Code Aanpassen
Wijzigingen in launch-bestanden: rosserial node toevoegen voor oninearm, robot_description laden, statische transform voor Kinect, pointcloud_to_laserscan configureren, base frame van base_link naar base_footprint. Daarna catkin_make.
5.7 Object Detector Instellen
AR-tags (2x2cm) op objecten plakken voor herkenning. Gebruikt ar_track_alvar. Vervangbaar door find_object_2d of tabletop_object_detector.
6. Demo Draaien
6.1 Kaart Maken (SLAM)
Op robot computer: roslaunch linorobot bringup.launch en roslaunch linorobot slam.launch. Op dev machine: rosrun teleop_twist_keyboard teleop_twist_keyboard.py en rviz -d slam.rviz. Robot besturen om kaart te maken. Opslaan met rosrun map_server map_saver -f ~/linorobot_ws/src/linorobot/maps/map.
6.2 Doelcoördinaten Bepalen
Navigatie stack draaien, Rviz openen, rostopic echo move_base_simple/goal, doelpunt in Rviz klikken (1 vak = 1m²). Coördinaten kopiëren naar fishtask.py.
6.3 O'nine Starten
- Dev machine:
roscore - 3 terminals SSH naar robot:
roslaunch linorobot bringup.launch,roslaunch linorobot navigate.launch,roslaunch onine_apps ar_tracker.launch - Dev machine:
roslaunch onine_moveit_config demo.launch(MoveIt + Rviz) - Dev machine:
rosrun onine_alexa alexa_tasker.py(PubNub client) - In Rviz: "2D Pose Estimate" voor localisatie
- Klaar! Commando's geven via Alexa.
7. Toekomstige Uitbreidingen
- Gazebo Simulatiemodel: Zonder hardware testen.
- Betere Rekencapaciteit: Rock64 (4GB RAM) in ogenschouw voor meer gelijktijdige applicaties.
Code Repositories
- O'nine Software: GitHub – Navigatie, Kinematica, Pick & Place scripts
- Alexa-Robot Integratie: GitHub – Lambda App, PubNub Client
- Robot Basis (Linorobot): GitHub – Open Source ROS robots
Schema's
Productieproces
- Bouw een Bluetooth-gecontroleerde Raspberry Pi Robot met Audio Feedback
- JQR Vierpotige Autonome Robot: DIY Looprobot voor Autonome Navigatie en Redding
- Simple Pi Robot – Bouw een 2-WD Autonome Rover met Raspberry Pi
- Bouw je eigen DIY huiswerk-schrijfmachine thuis
- Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
- Bouw Een Autonome Lijnvolgende Robot Met Arduino UNO
- Bouw een Stemgecontroleerde Robot met Arduino Nano
- Uitgebreide Arduino Trainingskit met Mega 2560, Sensoren, Motoren en Custom PCB
- DIY Handgebaren-gestuurde Arduino Robotarm – Stap‑voor‑Stap Bouwhandleiding
- Bouw een 4-Wiel Arduino Robot Bestuurd via Dabble App
- Slim Indoor Navigatie Robot Kit voor Arduino Projecten