Chefbot: Een DIY autonome mobiele robot voor het serveren van voedsel in de hotels (1 / 11 stap)

Stap 1: Mechanische ontwerp van Chefbot


In deze stap, kunnen we een samenvatting van het ontwerpproces van de Chefbot vermeld in het boek zien.

Het ontwerp van de robot gaat uit van een reeks eisen.

Volgende voorwaarden moeten worden voldaan door het ontwerp van de robot.

Hier zijn de vereisten

  1. De robot moet een bepaling om eten en drinken.
  2. De robot moet zitten kundig voor voeren een maximaal laadvermogen van 5 kg.
  3. De robot moet reizen met een snelheid tussen de 0,25 m/s en 1 m/s
  4. De bodemvrijheid van de robot moet groter zijn dan 3 cm
  5. De robot moet kunnen werken voor 2 uur continu
  6. De robot moet kunnen verplaatsen en het verstrekken van voedsel aan een tabel door het vermijden van hindernissen
  7. De hoogte van de robot moet tussen de 40 cm en 1 meter
  8. De robot moet voor lage kosten

Na het analyseren van en het ontwerpen van de verplichting komen we tot de conclusie dat, op de volgende parameters op de robot worden moet.

Motor specificatie

  • Robot station: Differential wielen rijden
  • Gewenste Motor snelheid: 80 RPM
  • Wieldiameter: 9 cm

  • Motor koppel: 20 Kg-cm
  • We moeten dus een aandrijfsysteem van robot ontwerpen en kopen van motoren die is matching met deze specs.

    Volgende stap is het ontwerpen van de robot chassis.

    Robot-chassisontwerp

    Wij nemen het 3-gelaagde platformarchitectuur in deze robot die vergelijkbaar met Turtlebot 2 is.

    Ik heb gebruikt na free software gereedschappen voor het schetsen en het bekijken van de 2D- en 3D-ontwerp van de robot

    • LibreCAD: LibreCAD is een allesomvattende 2D CAD-toepassing die u kunt downloaden en installeren voor gratis.
    • Blender: Blender is de gratis en open source 3D modeling tool.
    • Meshlab: MeshLab is een open source, draagbare, en uitbreidbaar systeem voor de verwerking en bewerking van ongestructureerde 3D driehoekige netten.

    In Ubuntu, die kunt u hulpmiddel dit met behulp van volgende commando

    Installeren van LibreCAD

     $ sudo apt-get install librecad 

    Installeren van Blender

     $ sudo apt-get install blender 

    Installeren van Meshlab

     $ sudo apt-get install meshlab 

    Hier ziet u het 2D ontwerp van robot, grondplaat, middelste plaat en bovenplaat van de robot gemodelleerd met behulp van LibreCAD.

    De afmetingen van de platen en de afmetingen van elke gaten worden hieronder gegeven.

    Afmetingen

    Hier zijn de afmetingen van elke plaat

    Bodemplaat:

    1. M1 en M2(motors): 5 x 4 cm
    2. C1 en C2(caster wheels) Radius : 1.5 cm
    3. S(Screw) straal : 0,15 cm
    4. P1-1, P1-2, P1-3, P1-4 : buitenste straal = 0.7 cm, hoogte 3,5 cm =
    5. Links en rechts wiel secties : 2.5 x 10 cm
    6. Baseren plaat Radius: 15 cm

    De middelste en top plaat hebben dezelfde afmetingen van basisplaat met dezelfde grootte van de schroef en andere dimensies. U kunt deze platen uit de fotogalerij bekijken.

    Elke platen worden verbonden met holle buizen met schroeven. U kunt de afmetingen van de beelden zien.

    De 3D modeling wordt gedaan met behulp van Python script binnen Blender. U kan screenshot van Blender met robot model uit de beelden zien.

    De Python script en Blender 3D-model-bestand wordt bijgevoegd samen met deze stap.

    Wij kunnen het model robot exporteren naar STL het in 3D mesh tool genaamd Meshlab die is opgenomen in de beelden bekijken kan bekeken.

    Hieronder vindt u de python-script voor het genereren van robot model in de Blender

     import bpy<br> #This function will draw base plate def Draw_Base_Plate(): #Added two cubes for cutting sides of base plate bpy.ops.mesh.primitive_cube_add(radius=0.05, location=(0.175,0,0.09)) bpy.ops.mesh.primitive_cube_add(radius=0.05, location=(-0.175,0,0.09)) ################################################ #Adding base plate bpy.ops.mesh.primitive_cylinder_add(radius=0.15,depth=0.005, location=(0,0,0.09)) #Adding booleab difference modifier from first cube bpy.ops.object.modifier_add(type='BOOLEAN') bpy.context.object.modifiers["Boolean"].operation = 'DIFFERENCE' bpy.context.object.modifiers["Boolean"].object = bpy.data.objects["Cube"] bpy.ops.object.modifier_apply(modifier="Boolean") ################################################ #Adding booleab difference modifier from second cube bpy.ops.object.modifier_add(type='BOOLEAN') bpy.context.object.modifiers["Boolean"].operation = 'DIFFERENCE' bpy.context.object.modifiers["Boolean"].object = bpy.data.objects["Cube.001"] bpy.ops.object.modifier_apply(modifier="Boolean") ################################################ #Deselect cylinder and delete cubes 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 function will draw motors and wheels def Draw_Motors_Wheels(): #Create first Wheel bpy.ops.mesh.primitive_cylinder_add(radius=0.045,depth=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 second wheel bpy.ops.mesh.primitive_cylinder_add(radius=0.045,depth=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 motors bpy.ops.mesh.primitive_cylinder_add(radius=0.018,depth=0.06, location=(0.075,0,0.075)) bpy.context.object.rotation_euler[1] = 1.5708 bpy.ops.mesh.primitive_cylinder_add(radius=0.018,depth=0.06, location=(-0.075,0,0.075)) bpy.context.object.rotation_euler[1] = 1.5708 #Adding motor shaft bpy.ops.mesh.primitive_cylinder_add(radius=0.006,depth=0.04, location=(0.12,0,0.075)) bpy.context.object.rotation_euler[1] = 1.5708 bpy.ops.mesh.primitive_cylinder_add(radius=0.006,depth=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(radius=0.015,depth=0.05, location=(0,0.125,0.065)) bpy.ops.mesh.primitive_cylinder_add(radius=0.015,depth=0.05, location=(0,-0.125,0.065)) #Adding Kinect bpy.ops.mesh.primitive_cube_add(radius=0.04, location=(0,0,0.26)) #Draw middle plate def Draw_Middle_Plate(): bpy.ops.mesh.primitive_cylinder_add(radius=0.15,depth=0.005, location=(0,0,0.22)) #Adding top plate def Draw_Top_Plate(): bpy.ops.mesh.primitive_cylinder_add(radius=0.15,depth=0.005, location=(0,0,0.37)) #Adding support tubes def Draw_Support_Tubes(): #################################################### #Cylinders bpy.ops.mesh.primitive_cylinder_add(radius=0.007,depth=0.30, location=(0.09,0.09,0.23)) bpy.ops.mesh.primitive_cylinder_add(radius=0.007,depth=0.30, location=(-0.09,0.09,0.23)) bpy.ops.mesh.primitive_cylinder_add(radius=0.007,depth=0.30, location=(-0.09,-0.09,0.23)) bpy.ops.mesh.primitive_cylinder_add(radius=0.007,depth=0.30, location=(0.09,-0.09,0.23)) #Exporting into 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=True, filepath="/home/lentin/Desktop/exported.stl", filter_glob="*.stl", ascii=False, use_mesh_modifiers=True, axis_forward='Y', axis_up='Z', global_scale=1.0) #Main code if __name__ == "__main__": Draw_Base_Plate() Draw_Motors_Wheels() Draw_Middle_Plate() Draw_Top_Plate() Draw_Support_Tubes() Save_to_STL() 

    Gerelateerde Artikelen

    Een DIY drukschakelaar plaat gebruiken voor het automatiseren van uw spookhuis

    Een DIY drukschakelaar plaat gebruiken voor het automatiseren van uw spookhuis

    Bij het uitvoeren van een groot spookhuis, gewenste allermeest naar de speciale effecten worden geautomatiseerd. Maar voor dit effectief te zijn, moet je om de juiste timing. De beste manier om dit te doen is het gebruik van sensoren om te ontdekken
    De AnonyBox - een goedkope en makkelijke netwerkapparaat voor het beheren van anonimiteit online

    De AnonyBox - een goedkope en makkelijke netwerkapparaat voor het beheren van anonimiteit online

    met de terugkeer van CISPA, de groeiende kans op toekomstige SOPA-achtige wetten en de drastische hardware vooruitgang die Eschelon en Carnivore geloofwaardig possiilities geboekt, Hoezo internetactiviteit zeer belangrijk voor het behoud van de vrije
    Wijzigen van een Mini-B USB-kabel voor het aandrijven van een ingesloten GoPro Hero3 (met skelet achterdeur)

    Wijzigen van een Mini-B USB-kabel voor het aandrijven van een ingesloten GoPro Hero3 (met skelet achterdeur)

    ik heb mijn GoPro Hero3 voor Kerstmis, het is een fantastische camera.  De levensduur van de batterij laat echter te wensen overlaat.  Zeker, u kunt kopen een heleboel reserve batterijen en ze uit regelmatig wijzigen, maar als u een time-lapse - neem
    ServerBot - voor het serveren van eten en drinken

    ServerBot - voor het serveren van eten en drinken

    ik denk dat ik heb gemaakt een robot die is functioneel, handig, entertaining, grillig en gewoon geweldig.De ServerBot. Gebouwd op een iRobot Create.Een robot met de mogelijkheid om op betrouwbare wijze verplaatsen tussen elke kamer van het huis terw
    Het gebruik van een CO2-laser macht sonde voor het meten van laser uitgangsvermogen te vinden van een slechte spiegel

    Het gebruik van een CO2-laser macht sonde voor het meten van laser uitgangsvermogen te vinden van een slechte spiegel

    deze video laat zien hoe u de Mahoney CO2 sonde voor de macht van de laser.  De CO2 sonde voor de macht van de laser is een algemeen gebruikte en noodzakelijk apparaat te:1. maatregel laser vermogen voor laser instellingen na verloop van tijd. Of u e
    Met behulp van een DC-DC Verstelbare regulator voor het aandrijven van een lading

    Met behulp van een DC-DC Verstelbare regulator voor het aandrijven van een lading

    Vandaag zal ik je laten zien hoe met een DC-DC regulator.Stap 1: Dingen die nodig zijnHet ding dat u zult moeten zijn:een DC-DC regulatorIk kocht de mijne van amazon.comhttp://www.Amazon.com/DROK-Converter-regulator-tra...Een multimeter om te control
    Maak een veer geladen 'touch blok' voor het instellen van het hulpmiddel hoogte (z-as) op een CNC Mill of de Router.

    Maak een veer geladen 'touch blok' voor het instellen van het hulpmiddel hoogte (z-as) op een CNC Mill of de Router.

    Om het hulpprogramma hoogte instellen op uw CNC router/molen, kun je gemakkelijk een veer geladen touch plaat gebaseerd op een 'mini' pulsdrukker mechanisme waarmee de lente-actie nodig. In plaats van met behulp van de standaard 'gage blok en papier'
    DIY Camera stabilisator Perfect voor het filmen van bewegende objecten

    DIY Camera stabilisator Perfect voor het filmen van bewegende objecten

    Een camera-stabilisator kan maken zo veel makkelijker te filmen, maar het is altijd duur om te kopen. Hier is hoe te DIY een stabilisator van de camera met behulp van een papieren zak.Stap 1: Certificaat en cadeauzakje die is groot genoeg voor uw cam
    Knex mobiele standaard voor het filmen van de instructies!

    Knex mobiele standaard voor het filmen van de instructies!

    Hier zijn instructies voor mijn eigen mobiele houder! Geniet van! :)Stap 1: Basis 1 Bouwen ditStap 2: Basis 2 4 van deze gebouwdStap 3: Bevestig Hechten van deze stukken aan de baseStap 4: de kleine toren bouwen Bouwen ditStap 5: Bouwen dit Bouwen di
    Versnellingsmeter gebaseerd gebaar erkenning voor het beheersen van een LED

    Versnellingsmeter gebaseerd gebaar erkenning voor het beheersen van een LED

    Deze materialen en de informatie in dit instructable zijn geboden door studenten die zijn ingeschreven bij de Software of Places (www.softwareofplaces.com)Klasse PUC-Rio Universiteit. De inhoud hier vertegenwoordigd is de laatste project van de stude
    Een andere methode voor het hacken van de Cuisinart SupremeGrind voor Espresso

    Een andere methode voor het hacken van de Cuisinart SupremeGrind voor Espresso

    dit instructable zal detail een andere methode om te wijzigen uw Cuisinart SupremeGrind voor espresso. Dit is een alternatieve methode aan geboden door 'sehrgut' recht 'Hacken van de Cuisineart SupremeGrind voor Espresso'. I recommend highly lezing d
    Foto's van kunst te gebruiken voor het verfraaien van ambachten en maken patronen

    Foto's van kunst te gebruiken voor het verfraaien van ambachten en maken patronen

    Dit instructable was geïnspireerd vanwege de geest voor de prijsvraag. Om voor mij te delen iets moest ik leren hoe een digitale programma moet gebruiken voor het maken van een ontwerp voor een project. Ik ben blij dat Hp Sprout een programma heeft o
    GSM BEHEERSTE broeikasgassen voor het platteland van Afrika

    GSM BEHEERSTE broeikasgassen voor het platteland van Afrika

    ONTWERP EN FABRICAGE VAN EEN GSM GECONTROLEERD BROEIKASGASSEN SYSTEEMINTRODUCTIETechnologie heeft geherdefiniëerd communicatie en meer nog in vele voordelige manieren. Mobiele technologie heeft geleid tot de munten van de term "global village",
    Met behulp van Punnett pleinen voor het berekenen van waarschijnlijkheden fenotypische

    Met behulp van Punnett pleinen voor het berekenen van waarschijnlijkheden fenotypische

    IntroductieAchtergrondPunnett pleinen zijn een diagram die biologen gebruiken om de waarschijnlijkheid van een nakomelingen hebben een bijzondere eigenschap te bepalen. Een vierkant van Punnett maken en gebruiken om te bepalen kenmerken van nakomelin