Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

Onderdelen en benodigdheden

OnderdeelAantal
Arduino UNO1
Arduino Braccio Robotarm1
Odroid XU41
SparkFun EasyDriver - Stappenmotor Driver1
Stappenmotor1
L298 Motor Driver1
DC motor (generiek)4
GY-85 IMU1
Mecanum Wielen1 set
5V USB Hub1
Microsoft Kinect Sensor1
OpenBuilds V-Slot Lineaire Rail2
OpenBuilds V-Slot Gantry Platen1
OpenBuilds Solid V Wiel Set4
0.8m Acme Trap Spindel1
6mm naar 8mm As Koppeling1
8mm Lager Beugel1
1.2m Veer Draad1
Eindschakelaar1
5V BEC1
Variabele DC-DC Converter2
12V Herlaadbare Batterij 5000 mAh1

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

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids
Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

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

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids
  1. Amazon Echo Dot luistert naar stemcommando.
  2. Custom Alexa Skill detecteert Intent.
  3. AWS Lambda functie ontvangt verzoek en publiceert naar PubNub MQTT broker.
  4. O'nine ontvangt data via MQTT abonnement.
  5. O'nine voert taken autonoom uit.

3. Hardware

3.1 Robot Basis

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

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.

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

3.2 Verticale Lift (Arm Ouder)

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

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.

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

3.3 Robotarm Controller (Arm Kind)

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

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

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

3.4 Alle circuits integreren

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

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

  1. Dev machine: roscore
  2. 3 terminals SSH naar robot: roslaunch linorobot bringup.launch, roslaunch linorobot navigate.launch, roslaunch onine_apps ar_tracker.launch
  3. Dev machine: roslaunch onine_moveit_config demo.launch (MoveIt + Rviz)
  4. Dev machine: rosrun onine_alexa alexa_tasker.py (PubNub client)
  5. In Rviz: "2D Pose Estimate" voor localisatie
  6. 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

Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids Bouw een Autonome Thuisassistent Robot: Complete Onderdelenlijst & Opzetgids

Productieproces

  1. Bouw een Bluetooth-gecontroleerde Raspberry Pi Robot met Audio Feedback
  2. JQR Vierpotige Autonome Robot: DIY Looprobot voor Autonome Navigatie en Redding
  3. Simple Pi Robot – Bouw een 2-WD Autonome Rover met Raspberry Pi
  4. Bouw je eigen DIY huiswerk-schrijfmachine thuis
  5. Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
  6. Bouw Een Autonome Lijnvolgende Robot Met Arduino UNO
  7. Bouw een Stemgecontroleerde Robot met Arduino Nano
  8. Uitgebreide Arduino Trainingskit met Mega 2560, Sensoren, Motoren en Custom PCB
  9. DIY Handgebaren-gestuurde Arduino Robotarm – Stap‑voor‑Stap Bouwhandleiding
  10. Bouw een 4-Wiel Arduino Robot Bestuurd via Dabble App
  11. Slim Indoor Navigatie Robot Kit voor Arduino Projecten