Nox: Een DIY SLAM-ingeschakelde Huis-Wandelende Robot Aangedreven door ROS
Nox is een differentieel-aangedreven robot gebouwd op ROS, Raspberry Pi en Arduino, uitgerust met een Kinect 360 voor realtime SLAM en obstakeldetectie.
Oorspronkelijk geconcipiëerd als een modulaire basis, breidde ik het uit tot een volledig autonoom platform dat een kaart van zijn omgeving kan maken (met gmapping), zichzelf kan localiseren, en botsingsvrije paden kan plannen naar elke doellocatie.
Aangedreven door een 11,1V Li-Ion batterij en twee 12V DC-motoren (107 rpm) afkomstig van Banggood, kan de robot snel herbatterijden – het frontpaneel is demontabel en accepteert batterijen van verschillende lengtes. Een batterijniveau-display waarschuwt je wanneer opladen nodig is.
Hoewel de motoren voldoende snelheid bieden, koos ik ervoor om nauwkeurige encoders te prioriteren voor soepelere navigatie.
Het chassis is ontworpen om de Kinect naadloos te integreren. Ik koos voor een strakke, driehoekige vorm geïnspireerd op hedendaags design en de iconische "Deus Ex" esthetiek. Uitgebreide CAD-aanpassingen zorgden voor een professionele afwerking terwijl de bedrading beheersbaar bleef.
Status LED's – gerecycled van een Nieuwjaars gloeistok – bieden visuele cues: een snelle drie-knipper-sequentie signaleert dat de Arduino nog niet verbonden is met de ROS-master; een ademhalingspatroon geeft actieve navigatie aan, met knipperfrequentie geschaald aan robotsnelheid.
Niet verbonden knipperen
Idle knipperen
Structuur
De differentiële aandrijving plaatst beide motoren op een gedeelde as. Een houten basis ondersteunt twee caster-wielen voor stabiliteit; de achterste sectie bevat gestapelde platen voor de Raspberry Pi, Arduino en andere elektronica.
De buitenste behuizing is een handmatig gezwarte plastic plaat, een ontwerp dat in toekomstige builds gestroomlijnd zal worden met 3D-printen.
Hardware
In het hart zit een Raspberry Pi 3B met Ubuntu en ROS, bereikbaar via Wi-Fi en SSH voor remote besturing. ROS behandelt odometrie, navigatieplanning en SLAM met Kinect-data. De Pi stuurt snelheidscommando's naar een Arduino Mega 2560, wat de motoren aanstuurt via een Adafruit Motor Shield met een PID-lus. Encoder-feedback wordt teruggevoerd naar de Pi voor nauwkeurige odometrie.
Ik experimenteerde met een Uno en Leonardo voordat ik uitkwam op de Mega 2560, die voldoende geheugen en interrupt-pinnen biedt voor encoder-uitlezing.
De Kinect 360 is centraal voor het project: een €25 3D-camera die dieptedata levert voor gmapping, en ook visie, een accelerometer en een microfoonarray biedt – waardevol voor toekomstige uitbreidingen.
Energiebeheer gebruikt twee DC-converters: de motoren draaien direct van de 11,1V batterij, de Pi, Arduino en encoders werken op 5V, terwijl de Kinect een gestabiliseerde 12V ontvangt.
Software
Het project draait ROS Kinetic. De enige aangepaste node, nox_controller, berekent odometrie van motorsprongdata. Het kinematische model volgt de aanpak gedetailleerd in "On Differential Drive Robot Odometry with Application to Path Planning." Covariantiematrices worden gepubliceerd voor toekomstige sensorfusie.
Motorbesturing gebruikt momenteel directe PWM-commando's; de PID-lus is uitgeschakeld maar zal gekalibreerd worden voor verbeterde precisie. Encoder-feedback levert al voldoende snelheidsregeling.
Lees Meer Details: Nox – Een Huis Wandelende Robot (ROS)
Productieproces
- Een Arduino-aangedreven Robot Bouwen met Raspberry Pi: Een Stap-voor-Stap Gids
- Bouw een Slimme Robot met de Bridge Shield – Raspberry Pi & Arduino Integratie
- DIY Wall-E Geïnspireerde Raspberry Pi CD-Doos Robot
- ANDY – De Multifunctionele Humanoïde Robot
- Rollende Alarmrobot: Een Slim, Mobiel Wakker-systeem Aangedreven door Raspberry Pi en Google Calendar
- Bouw een gemotoriseerde Minecraft Creeper-robot met Arduino
- JQR Vierpotige Autonome Robot: DIY Looprobot voor Autonome Navigatie en Redding
- Archimedes: De Emotie-Detecterende AI Robot Uil
- EMAR Mini: Een Compacte, Open-Source Noodhulp Robot
- Bouw een Wi-Fi-gecontroleerde Raspberry Pi Robot met Python – Stap-voor-stap Gids
- Intellisaurus – Bouw een Loopende Slimme Dinosaurus Robot