Chefbot: En DIY autonoma mobil robot för att servera mat på Hotell (2 / 11 steg)
Steg 2: Arbeta med Robot simulering med hjälp av R.O.S och lusthus
När du har skapat robot 3D-modellen, är nästa steg att simulera roboten. Jag har beskriva fullständig simulering av denna robot från början i boken. Simuleringen görs med hjälp av R.O.S och lusthus.
Här är den snabb starten att göra roboten simuleringen.
Förutsättningar för simulering:
Den första siffran visar Chefbot simuleringen i lusthuset.
Vi behöver efter R.O.S paket för att köra denna simulering.
Följande kommando installerar nödvändiga beroenden.
$ sudo lämplig-få installera ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interaktioner ros-indigo-turtlebot-simulator ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon
Inställningen R.O.S äter arbetsyta
- Setup en äter arbetsyta med hjälp av följande instruktioner.
- Klon Chefbot arkivet användande den följande befalla
$ git klon https://github.com/qboticslabs/Chefbot_ROS_pkg.git
Från de klonade filerna, kopiera mappen chefbot till äter arbetsyta src mappen och bygga på arbetsytan med hjälp catkin_make kommandot.
Chefbot simulering
Starta simulering med hjälp av följande kommando
$ roslaunch chefbot_gazebo chefbot_hotel_world.launch
Detta öppnar lusthus simulator med ett hotell som miljön som visas i den andra bilden.
Nu försöker vi genomföra autonom navigering i simulering. Första måste vi har att utföra SLAM för att bygga karta av miljön och efter bygga kartan, vi köra AMCL noder för att lokalisera roboten på kartan.
Efter lokalisering, vi kan kommandot robot att gå in i en viss tabell position för att leverera maten och återgår till utgångsläget efter leverera mat.
Utför SLAM med Chefbot
Vi kan se hur man utför SLAM och AMCL med simulerad miljö.
Starta SLAM algoritmen använder du följande kommando
$ roslaunch chefbot_gazebo gmapping_demo.launch
Börja visualisera kartan i Rviz med hjälp av följande kommando
$ roslaunch chefbot_bringup view_navigation.launch
Vi kan börja kartlägga hela hotellet genom att flytta roboten runt miljön.
Vi kan flytta roboten manuellt med teleoperation, följande kommando kan användas för teleoperation för Chefbot
$ roslaunch chefbot_bringup keyboard_teleop.launch
Vi kan generera karta över miljön som visas nedan. När kartläggningen är klar kan vi spara karta till en fil med följande befalla
$ rosrun map_server map_saver -f ~/hotel_world
Denna sparade karta används för nästa steg för att göra AMCL
Utföra AMCL på Chefbot
Efter spara karta, Stäng alla terminal och starta lusthuset och dess noder användande följande befalla
$ roslaunch chefbot_gazebo chefbot_hotel_world.launch
Lansera AMCL noden med hjälp av följande kommando
$ roslaunch chefbot_gazebo amcl_demo.launch map_file:=/home/hotel_world.yaml
Starta Rviz med nödvändiga inställningar för visualisering
$ roslaunch chefbot_bringup view_navigation.launch
Nu kan vi se roboten är lokaliserad på den karta som har samma position i lusthuset.
Vi kan kommandot roboten att gå till en viss position inuti kartan med Rviz 2D Nav målet knapp.
Med 2D Nav mål knappen kan vi ge ett mål utgör till roboten och sedan kan du se roboten kommer att planera en sökväg till den positionen och flytta till sökvägen genom att undvika hinder autonomt.
Vi har utfört simulering av komplett robot, nu är det dags för att utforma hårdvara prototypen av simulerade roboten.