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

Rocky Rover: Robotische Visie met PixyCam en Arduino 101

Onderdelen en Benodigdheden

OnderdeelAantal
Arduino 101 (Intel Curie)1
Adafruit Motor/Stepper Shield V21
SparkFun Dagu DG102 Tank Chassis (4 motoren)1
AA-batterijen (voor motoren)1 set
USB-A naar B kabel1
Adafruit USB-batterijpakket (voor Arduino)1
M2.5 standoffs met bouten en moeren4
JST-batterijconnectoren (man/vrouw)1 paar
Male headers 40-pin1
Jumper wires (man/man)1 set
Pixy (CMUcam5)1
Pixy Pan-Tilt Kit1

Apps & Online Diensten

  • Arduino IDE
  • Blynk (voor Bluetooth-besturing)

Over dit Project

Intel Arduino 101 Rover met PixyCam

Deze rover is gebouwd tijdens een Hackster Live evenement gesponsord door Intel. De basis is een BLE-rover (via Blynk) waarna een PixyCam is toegevoegd voor objectherkenning en -volging. De batterijhouder is naar voren verplaatst om ruimte te maken voor de pan/tilt-camera.

PixyCam

De PixyCam maakt robotvisie eenvoudig. Je leert hem een object door op een knop te drukken. Hij kan honderden objecten tegelijk volgen en stuurt alleen de relevante data door. In dit project volgen we een oranje pompoen.

Montage-instructies voor de pan/tilt-mechanisme en Arduino-integratie vind je op de PixyCam-wiki.

PixyCam Arduino API

De bibliotheek is eenvoudig:

#include <SPI.h>
#include <Pixy.h>
Pixy pixy; // globale instantie

void setup() {
  pixy.init();
}

void loop() {
  uint16_t blocks = pixy.getBlocks();
  if (blocks) {
    // pixy.blocks[i] bevat: signature, x, y, width, height, angle
    // x: 0-319, y: 0-199
    // Voorbeeld: grootste object volgen
    int tracked = 0;
    long maxSize = 0;
    for (int i = 0; i < blocks; i++) {
      long size = pixy.blocks[i].width * pixy.blocks[i].height;
      if (size > maxSize) { maxSize = size; tracked = i; }
    }
    // Stuur servos voor pan/tilt, motoren voor rijden, etc.
  }
}

Rover-code (kern)

De hoofdloop leest Pixy-blokken, berekent fouten voor pan/tilt (PID-regeling), en stuurt de vier motoren aan via de Adafruit Motor Shield. De rover volgt het gedetecteerde object: bij grote afstand rijdt hij ernaartoe, bij te korte afstand rijdt hij achteruit, en op de juiste afstand stopt hij.

De volledige code (inclusief Blynk-integratie) is te vinden op de GitHub-repo (zoals in de bron vermeld).

Belangrijk

  • Zet de lenskap op de PixyCam als je alleen via Blynk wilt rijden zonder camera-interferentie.
  • Gebruik een externe voeding voor de motoren (Arduino 101 kan niet voldoende stroom leveren).
  • Kalibreer de Pixy-kenmerken (signatures) voor jouw specifieke object/omstandigheden.

Productieproces

  1. Arduino POV-klok: Bouw een Persistence-of-Vision LED-display
  2. SERENA: Een Aangepast Arduino Mega 2560 Alarmsysteem Met TFT LCD Touchscreen
  3. Bouw een Functionele, Arduino-aangedreven 3D-geprinte Robotarm – Stap-voor-Stap Handleiding
  4. Geoptimaliseerde Voedingsoplossingen voor Arduino Projecten
  5. Arduino-gebaseerde 6-DoF Robotarm Gestoeerd met Wii Nunchuk
  6. Arduino 101 BLE + Blynk: DIY Bluetooth-gestuurde Tank Robot
  7. Slimme Match-Making Zonnebril Maken met Arduino 101 en tinyTILE BLE
  8. Een draagbaar Persistence-of-Vision-display bouwen met Arduino UNO en ATtiny85
  9. DIY Arduino Smartwatch: Bouw Je Eigen Apple Watch-stijl Tijdwijzer
  10. Slimme Kelder Ventilatiesysteem: Arduino-gestuurde Vochtcontrole
  11. Optimaliseren van Verlichtingsontwerp voor Robotische Chirurgie Visiesystemen