Chefbot: En DIY autonoma mobil robot för att servera mat på Hotell (1 / 11 steg)

Steg 1: Mekanisk konstruktion av Chefbot



I det här steget kan vi se ett referat av designprocessen Chefbot nämns i boken.

Robot design utgår från en uppsättning krav.

Följande villkor måste uppfyllas av robot design.

Här är kraven

  1. Roboten bör ha en bestämmelse att bära mat och dryck.
  2. Roboten bör kunna bära en maximal nyttolast på 5 kg.
  3. Roboten skulle färdas med en hastighet mellan 0.25 m/s och 1 m/s
  4. Roboten markfrigång bör vara större än 3 cm
  5. Robot måste kunna arbeta 2 timmar kontinuerligt
  6. Roboten ska kunna flytta och levererar mat till alla register genom att undvika hinder
  7. Robot höjden ska vara mellan 40 cm och 1 meter
  8. Roboten ska vara av låg kostnad

Efter att analysera och utforma från kravet kommer vi fram till att följande parametrar bör på roboten.

Motoriska specifikation

  • Robot drive: Differential hjul enhet
  • Krävs varvtal: 80 RPM

  • Hjul diameter: 9 cm
  • Motor vridmoment: 20 Kg-cm
  • Så bör vi utforma ett drivsystem av robot och köpa motorer som är att matcha med dessa specifikationer.

    Nästa steg är att utforma robot chassi.

    Robot chassidesign

    Vi tar 3-plattform skiktad arkitektur i denna robot som liknar Turtlebot 2.

    Jag har använt efter fri programvaruverktyg för att skissa och Visa 2D- och 3D design av roboten

    • LibreCAD: LibreCAD är ett heltäckande 2D CAD-program som du kan ladda ner och installera gratis.
    • Blender: Blender är verktyget fri och öppen källkod 3D-modellering.
    • Meshlab: MeshLab är en öppen källkod, bärbar, och utbyggbara system för bearbetning och redigering av ostrukturerade 3D trekantiga maskor.

    I Ubuntu kan du installera verktyg detta användande följande befalla

    Installera LibreCAD

    $ sudo lämplig-få installera librecad

    Installera Blender

    $ sudo lämplig-få installera blender

    Installera Meshlab

    $ sudo lämplig-få installera meshlab

    Du kan se 2D design av roboten, basplatta, mellersta och övre plåt av roboten modelleras med LibreCAD.

    Måtten på tallrikar och mått för varje hål ges nedan

    Dimensioner

    Här är måtten på varje platta

    Basplatta:

    1. M1 och M2(motors): 5 x 4 cm
    2. C1 och C2(caster wheels) radie : 1,5 cm
    3. S(Screw) radie : 0.15 cm
    4. P1-1, P1-2, P1-3, P1-4 : yttre radie = 0.7 cm, höjd = 3,5 cm
    5. Vänster och höger hjul sektioner : 2,5 x 10 cm
    6. Basplatta radie: 15 cm

    Mellersta och övre plattan har samma dimensioner av bottenplattan med samma skruv storlek och andra dimensioner. Du kan visa dessa plåtar från bildgalleriet.

    Varje plattor är anslutna med ihåliga rören med skruvar. Du kan se dess dimensioner från bilder.

    3D modellering sker med hjälp av Python skript i mixer. Du kan se skärmdump av Blender med robot modell från bilder.

    Python-skript och Blender 3D-modell-fil är bifogad tillsammans med detta steg.

    Vi kan exportera robot modellen till STL det kan visas i 3D-nät som tittar på verktyg som kallas Meshlab som ingår i bilderna.

    Python-skript för att generera robot modell i mixer är nedanstående

    importera bpy < br >

    #This funktion kommer att dra basplatta
    def Draw_Base_Plate():

    #Added två kuber för styckning sidor av bottenplattan
    bpy.OPS.mesh.primitive_cube_add (radie = 0,05, location=(0.175,0,0.09))
    bpy.OPS.mesh.primitive_cube_add (radie = 0,05, location=(-0.175,0,0.09))
    ################################################

    #Adding bottenplatta
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,15, djup = 0,005, location=(0,0,0.09))
    #Adding booleab skillnaden modifier från första kub
    bpy.OPS.Object.modifier_add(Type='BOOLEAN')
    bpy.context.Object.modifiers["Boolean"].operation = "Skillnad"
    bpy.context.Object.modifiers["Boolean"].Object = bpy.data.objects["Cube"]
    bpy.OPS.Object.modifier_apply(modifier="Boolean")
    ################################################

    #Adding booleab skillnaden modifier från andra kub
    bpy.OPS.Object.modifier_add(Type='BOOLEAN')
    bpy.context.Object.modifiers["Boolean"].operation = "Skillnad"
    bpy.context.Object.modifiers["Boolean"].Object = bpy.data.objects["Cube.001"]
    bpy.OPS.Object.modifier_apply(modifier="Boolean")
    ################################################

    #Deselect cylinder och ta bort kuber
    bpy.OPS.Object.select_pattern(Pattern="Cube")
    bpy.OPS.Object.select_pattern(Pattern="Cube.001")
    bpy.data.Objects['Cylinder'].Select = False
    bpy.OPS.Object.Delete(use_global=false)

    #This funktion kommer att dra motorer och hjul
    def Draw_Motors_Wheels():
    #Create första hjul
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0.045, djup = 0,01, location=(0,0,0.07))
    #Rotate
    bpy.context.Object.rotation_euler[1] = 1.5708
    #Transalation
    bpy.context.Object.location[0] = 0.135
    #Create andra hjul
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0.045, djup = 0,01, location=(0,0,0.07))
    #Rotate
    bpy.context.Object.rotation_euler[1] = 1.5708
    #Transalation
    bpy.context.Object.location[0] =-0.135
    #Adding motorer
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,018, djup = 0,06, location=(0.075,0,0.075))
    bpy.context.Object.rotation_euler[1] = 1.5708
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,018, djup = 0,06, location=(-0.075,0,0.075))
    bpy.context.Object.rotation_euler[1] = 1.5708
    #Adding motoraxeln
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,006, djup = 0,04, location=(0.12,0,0.075))
    bpy.context.Object.rotation_euler[1] = 1.5708
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,006, djup = 0,04, location=(-0.12,0,0.075))
    bpy.context.Object.rotation_euler[1] = 1.5708
    ################################################

    #Addubg caster Wheel
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,015, djup = 0,05, location=(0,0.125,0.065))
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,015, djup = 0,05, location=(0,-0.125,0.065))
    #Adding Kinect
    bpy.OPS.mesh.primitive_cube_add (radie = 0,04, location=(0,0,0.26))
    #Draw mellersta plattan
    def Draw_Middle_Plate():
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,15, djup = 0,005, location=(0,0,0.22))
    #Adding övre plattan
    def Draw_Top_Plate():
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,15, djup = 0,005, location=(0,0,0.37))

    #Adding stöd rör
    def Draw_Support_Tubes():
    ####################################################

    #Cylinders
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,007, djup = 0,30, location=(0.09,0.09,0.23))
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,007, djup = 0,30, location=(-0.09,0.09,0.23))
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,007, djup = 0,30, location=(-0.09,-0.09,0.23))
    bpy.OPS.mesh.primitive_cylinder_add (radie = 0,007, djup = 0,30, location=(0.09,-0.09,0.23))

    #Exporting i STL
    def Save_to_STL():
    bpy.OPS.Object.select_all(action='SELECT')
    # bpy.ops.mesh.select_all(action='TOGGLE')
    bpy.OPS.export_mesh.stl (check_existing = sant, filepath="/home/lentin/Desktop/exported.stl", filter_glob = "*.stl", ascii = falskt, use_mesh_modifiers = True axis_forward = 'Y', axis_up = "Z", global_scale = 1,0)

    #Main kod
    om __name__ == "__main__":
    Draw_Base_Plate()
    Draw_Motors_Wheels()
    Draw_Middle_Plate()
    Draw_Top_Plate()
    Draw_Support_Tubes()
    Save_to_STL()

    Se Steg
    Relaterade Ämnen

    Autonoma mobil Robot med ROS clumsybot

    vår inomhus autonoma mobil robot med ROS, Rtabmap, raspberry pi 2, kinect, ubuntu14.04 ltsVårt Examensarbetevår inomhus autonoma mobil robot med ROS, Rtabmap, raspberry pi 2, kinect, ubuntu14.04 lts vi installerar ubuntu 14.04 LTS och ROS indigo på l...

    CleanBOT - din DIY golvrengöring robot

    CleanBOT (Remote kontrollerade autonoma golv rengöring Robot) är utformad för att rena golv på två olika sätt: med vakuum eller aktiva mopp. Den har auto-läget men du kan också styra den manuellt med hjälp av bluetooth-anslutning och android app.De f...

    Hur man gör en låg kostnad Mobile Robot plattform

    Detta Instructable handlar om att bygga en robot bas för att stödja dina experiment.Detta Instructable är avsedd för alla att komma igång på en mobil plattform för låg spänning. Andra läsare kan hitta något intressant här också, din antall Maj varier...

    Swarmscapers: Autonoma mobila 3D-utskrifter robotar

    Swarmscapers är en 2 månad lång forskningsprojekt bedrivs i Kreativ arkitektur maskiner studion, undervisas av Jason Kelly Johnson och Michael Shiloh på Kalifornien College of Arts i Digital Craft Lab. Det är ett samarbete mellan Clayton Muhleman, Al...

    Green Power gratis solenergi Generator hemlagad för El DIY ladda mobil

    Grön el gratis solenergi Generator hemmagjord El DIY ladda mobilMaterial:Solar Panel 5 Watt5 volt Regulator styrelsen krets (du kan DIY eller köpa från Ebay)LED-ljus - USB-DC line...

    $1 Hemlagad DIY baby mobila

    så i en sökning för en DIY baby mobil, var allt jag kunde hitta handgjorda mobiler kan säljas. Dessutom, många av dem på marknaden har elefanter eller fisk eller vad... men hängde som om att vara sedd från sidan, inte från botten!Här är min $1 främja...

    Autonoma Solar Robot steg 1

    bakgrund:Hej, mitt namn är Ben Rawstron och detta är roboten har jag arbetat på, nyligen i min sophomore (tionde klass) året i gymnasiet. Jag skapade detta projekt som en "oberoende studie" på min lokala skola här i Waldoboro Maine eftersom jag...

    Mobil robot kontrollerad med bluetooth

    Denna gång gick jag om att bygga en liten mobil robot som kan styras med min Android-telefoner bluetooth. Roboten använder en Bolutek BC04 bluetooth-modul som kopplats ihop till en Arduino UNO.Steg 1: BC04 Bluetooth-modulenModulen BC04 kan vara koppl...

    RC bil till autonoma Arduino Robot

    Har du någonsin önskat att konstruera en enkel autonoma Arduino robot? Jag blev inspirerad att bygga en grundläggande Arduino robot för att hjälpa min förståelse av Arduino, Arduino IDE och driften av ultraljudssensorer och motor förare. Och så, jag...

    Bygga din egen Max 95 mobil Robot bas

    Syftet med denna handledning är att visa hur den ursprungliga Max ' 95 mobil robot bas konstruerades med mestadels delar från din lokala järnaffär. Max ' 95 är en 12 "x 12" mobil robot bas.Zagros Robotics säljer flera modeller av mobil robot bas...

    Omni hjulet mobil robot - IoT

    I denna anvisning som jag kommer att presentera dig design av omni hjulet mobil robot kontrolleras via wi-fi. Den väsentliga skillnaden jämfört med konventionella kontroll som bluetooth eller radiokontroll är att roboten är ansluten till lokalt nätve...

    DIY Laptop kontrollerade Robot v1.0

    Det skulle vara så bra om skulle kunna styra en robot eller din rc bil använder en bärbar dator precis som du styra en bil i ett spel. Tja, kan man göra det möjligt med hjälp av mångsidiga arduino UNO. Det finns tusentals projekt kan du göra med ardu...

    Billig autonoma Humanoid Robot

    möta Johnny 5.Han är en autonom humanoid robot som är 53 cm lång, väger bara ca 1 kg och har 20 servomotorer varje kan 14 kg * cm vridmoment. Ombord, anpassade kretskort knyta ihop fyra kraftfulla mikroprocessorer: två 500 MHz Blackfin DSP (en för va...

    Parker1 WiFi / 4 G Mobile Robot

    Parker1 är en billig WiFi / 4G mobil robot med vision förmåga. Den körs med två populära öppen källkod, Arduino kompatibel kod för lätt robot programmering och OpenWrt router OS för olika anslutningar över WiFi, 4G etc.Låt användarna få spela på Park...

    Sparky - DIY webbaserade Telepresence Robot

    namnet Sparky är baserad på en akronym för Self porträtt artefakt ambulerande chassi jag en tafatt titel för ett konstprojekt som inleddes i början av 90. Efter den tid Sparky har utvecklats från en överdimensionerad RC toy med ett par baby monitor v...

    MANUELL / AUTONOM kontroll ROBOT (med SENSOR FUSION teknik)

    DTMF eller två tonar flera frekvenser är fiffiga lilla sätt att kontrollera maskiner med din mobiltelefon. Detta instructable visar du, milda läsaren hur man gör en billigare än smuts DTMF kontrollerade robot som kan också fungera SJÄLVSTÄNDIGT, yeh!...

    Autonoma Autonavigation Robot (Arduino)

    Hej,Detta är en steg för steg guide att bygga en autonom navigering robot. Vi använder Arduino mikrokontroller för att styra denna robot. Vi har två olika program för denna robot. Först kan roboten att köra runt och undvika allt som kommer i dess väg...

    Ollie-en DIY autonom robot luftskepp

    Ollie är en öppen källkod luftskepp-baserade autonoma och omgivande robot som bor i människors livsmiljöer. Ollie är uppmärksam, ofta flyger på ett sätt som tyder på nyfikenhet för omvärlden. Ollie reagerar till röster av ivrigt flaxande vingarna, ko...

    DIY autonoma linje spårning med hinder undvika Robot (Rover)

    Varning: gör din dator ljusstyrka låg, eftersom detta projekt avger en hög nivå av AWESOMENESS som kan skada dina ögon :D 3:)Projektet deltog i RoboCup 2015 Egypten lokal tävling och vann "Bästa Design Award" med mitt lag Abdelrahman Alaa, Ahmad...