diff --git a/CustomRobots/amazon_hospital/Readme.md b/CustomRobots/amazon_hospital/Readme.md deleted file mode 100755 index 55a769a38..000000000 --- a/CustomRobots/amazon_hospital/Readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Amazon Hospital - -## Usage: -You should include these lines in **$HOME/.bashrc** -~~~ -export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/models -export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/fuel_models -export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/hospital_world/models -~~~ -where "path_to_amazon_hospital" is the absolute path. - -Then, compile and launch the world with the following command: -~~~ -ros2 launch hospital_world hospital_world.launch.py -~~~ diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable.mtl b/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable.obj b/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable_Col.obj b/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/AdjTable/meshes/AdjTable_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/model.config b/CustomRobots/amazon_hospital/fuel_models/AdjTable/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/model.sdf b/CustomRobots/amazon_hospital/fuel_models/AdjTable/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/AdjTable/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine.mtl b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine.obj b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine.png b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine_Col.obj b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/meshes/AnesthesiaMachine_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/model.config b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/model.sdf b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/AnesthesiaMachine/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW.mtl b/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW.obj b/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_Col.obj b/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_Normal.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_Normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_SpecGloss.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Cart_BMW_SpecGloss.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Carts_Wheels_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/meshes/Carts_Wheels_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/model.config b/CustomRobots/amazon_hospital/fuel_models/BMWCart/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/model.sdf b/CustomRobots/amazon_hospital/fuel_models/BMWCart/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/BMWCart/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/BP_BP_LP_Normal.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/BP_BP_LP_Normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/BP_BP_LP_SpecularGloss.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/BP_BP_LP_SpecularGloss.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP.mtl b/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP.obj b/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP_Col.obj b/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Cart_BP_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Carts_Wheels_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/meshes/Carts_Wheels_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/model.config b/CustomRobots/amazon_hospital/fuel_models/BPCart/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/model.sdf b/CustomRobots/amazon_hospital/fuel_models/BPCart/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/BPCart/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable.mtl b/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable.obj b/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_Col.obj b/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_Normal.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_Normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_SpecGloss.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/meshes/BedTable_SpecGloss.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/model.config b/CustomRobots/amazon_hospital/fuel_models/BedTable/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/model.sdf b/CustomRobots/amazon_hospital/fuel_models/BedTable/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/BedTable/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable.mtl b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable.obj b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_Col.obj b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_Normal.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_Normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_SpecGloss.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/meshes/BedsideTable_SpecGloss.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/model.config b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/model.sdf b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/BedsideTable/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor.mtl b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor.obj b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor.png b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor_Col.obj b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/meshes/BloodPressureMonitor_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/model.config b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/model.sdf b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/BloodPressureMonitor/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/CGMClassic.mtl b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/CGMClassic.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/CGMClassic.obj b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/CGMClassic.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/CGMClassic_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/CGMClassic_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/Carts_Wheels_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/Carts_Wheels_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/Wheels_Normal_Normal_Bump.tga b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/meshes/Wheels_Normal_Normal_Bump.tga old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/model.config b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/model.sdf b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/CGMClassic/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair.mtl b/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair.obj b/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair.png b/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair_Normal.png b/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair_Normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair_SpecGloss.png b/CustomRobots/amazon_hospital/fuel_models/Chair/meshes/Chair_SpecGloss.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/model.config b/CustomRobots/amazon_hospital/fuel_models/Chair/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/model.sdf b/CustomRobots/amazon_hospital/fuel_models/Chair/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/Chair/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/meshes/Drawer.mtl b/CustomRobots/amazon_hospital/fuel_models/Drawer/meshes/Drawer.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/meshes/Drawer.obj b/CustomRobots/amazon_hospital/fuel_models/Drawer/meshes/Drawer.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/meshes/Drawer.png b/CustomRobots/amazon_hospital/fuel_models/Drawer/meshes/Drawer.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/meshes/Drawer_Col.obj b/CustomRobots/amazon_hospital/fuel_models/Drawer/meshes/Drawer_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/model.config b/CustomRobots/amazon_hospital/fuel_models/Drawer/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/model.sdf b/CustomRobots/amazon_hospital/fuel_models/Drawer/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/Drawer/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/CGMVanguard_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/CGMVanguard_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/Carts_Wheels_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/Carts_Wheels_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/ElderFPatient_color.jpg b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/ElderFPatient_color.jpg old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/ElderFemale.mtl b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/ElderFemale.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/ElderFemale.obj b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/meshes/ElderFemale.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/model.config b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/model.sdf b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/ElderLadyPatient/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/CGMVanguard_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/CGMVanguard_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/Carts_Wheels_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/Carts_Wheels_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/ElderMalePatient.mtl b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/ElderMalePatient.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/ElderMalePatient.obj b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/ElderMalePatient.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/ElderMale_color1.jpg b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/ElderMale_color1.jpg old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/towel1.jpg b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/meshes/towel1.jpg old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/model.config b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/model.sdf b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/ElderMalePatient/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor.mtl b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor.obj b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor_Col.obj b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/FemaleVisitor_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/Handbag.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/meshes/Handbag.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/model.config b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/model.sdf b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitor/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit.mtl b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit.obj b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit_Col.obj b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/FemaleVisitorSit_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/HandbagBlack.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/meshes/HandbagBlack.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/model.config b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/model.sdf b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/FemaleVisitorSit/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/meshes/Carts_Wheels_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/IVStand/meshes/Carts_Wheels_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/meshes/IVStand.mtl b/CustomRobots/amazon_hospital/fuel_models/IVStand/meshes/IVStand.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/meshes/IVStand.obj b/CustomRobots/amazon_hospital/fuel_models/IVStand/meshes/IVStand.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/meshes/IVStand_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/IVStand/meshes/IVStand_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/model.config b/CustomRobots/amazon_hospital/fuel_models/IVStand/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/model.sdf b/CustomRobots/amazon_hospital/fuel_models/IVStand/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/IVStand/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/meshes/InstrumentCart1.mtl b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/meshes/InstrumentCart1.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/meshes/InstrumentCart1.obj b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/meshes/InstrumentCart1.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/meshes/texture.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/meshes/texture.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/model.config b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/model.sdf b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart1/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/meshes/InstrumentCart2.mtl b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/meshes/InstrumentCart2.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/meshes/InstrumentCart2.obj b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/meshes/InstrumentCart2.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/meshes/texture.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/meshes/texture.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/model.config b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/model.sdf b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/InstrumentCart2/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/meshes/kitchenSink.mtl b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/meshes/kitchenSink.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/meshes/kitchenSink.obj b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/meshes/kitchenSink.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/model.config b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/model.sdf b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/KitchenSink/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/CGMVanguard_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/CGMVanguard_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/Carts_Wheels_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/Carts_Wheels_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/MalePatientBed.mtl b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/MalePatientBed.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/MalePatientBed.obj b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/MalePatientBed.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/PatientM.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/PatientM.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/texture.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/texture.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/towel1.jpg b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/meshes/towel1.jpg old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/model.config b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/model.sdf b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/MalePatientBed/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitor.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitor.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitorStatic.mtl b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitorStatic.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitorStatic.obj b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitorStatic.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitorStatic_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitorStatic_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitorStatic_Col.obj b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/MaleVisitorStatic_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/Phone.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/meshes/Phone.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/model.config b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/model.sdf b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorOnPhone/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit.mtl b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit.obj b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit_Col.obj b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/MaleVisitorSit_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/Phone.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/meshes/Phone.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/model.config b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/model.sdf b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/MaleVisitorSit/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/meshes/MetalCabinet.mtl b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/meshes/MetalCabinet.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/meshes/MetalCabinet.obj b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/meshes/MetalCabinet.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/meshes/MetalCabinet.png b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/meshes/MetalCabinet.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/model.config b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/model.sdf b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/MetalCabinet/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Blue.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Blue.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Cart.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Cart.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Cloth.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Cloth.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Duster.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Duster.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Glove.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Glove.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Mop.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Mop.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/MopCart3.mtl b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/MopCart3.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/MopCart3.obj b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/MopCart3.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Parcel.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Parcel.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Plastic.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Plastic.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Red.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Red.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Sign.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Sign.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Spray.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/meshes/Spray.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/model.config b/CustomRobots/amazon_hospital/fuel_models/MopCart3/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/model.sdf b/CustomRobots/amazon_hospital/fuel_models/MopCart3/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/MopCart3/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack.mtl b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack.obj b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack_Col.obj b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/meshes/OfficeChairBlack_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/model.config b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/model.sdf b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/1.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/2.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/3.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/4.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/5.png b/CustomRobots/amazon_hospital/fuel_models/OfficeChairBlack/thumbnails/meta/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/meshes/ParkingTrolleyMax.mtl b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/meshes/ParkingTrolleyMax.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/meshes/ParkingTrolleyMax.obj b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/meshes/ParkingTrolleyMax.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/meshes/ParkingTrolleyMax_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/meshes/ParkingTrolleyMax_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/model.config b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/model.sdf b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMax/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/bag.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/bag.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/potato.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/potato.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/texture.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/texture.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/trolleymin.mtl b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/trolleymin.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/trolleymin.obj b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/meshes/trolleymin.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/model.config b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/model.sdf b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/ParkingTrolleyMin/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFPurple.png b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFPurple.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFSit.mtl b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFSit.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFSit.obj b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFSit.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFSit_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFSit_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFSit_Col.obj b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/meshes/PatientFSit_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/model.config b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/model.sdf b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/PatientFSit/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair.mtl b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair.obj b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair_Col.obj b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/meshes/PatientWheelChair_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/model.config b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/model.sdf b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/PatientWheelChair/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/eyebrow001-unmodified.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/eyebrow001-unmodified.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/eyebrow001.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/eyebrow001.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/green_eye.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/green_eye.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/jeans01_normals.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/jeans01_normals.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/jeans_basic_diffuse.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/jeans_basic_diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/male02_diffuse_black-unmodified.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/male02_diffuse_black-unmodified.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/male02_diffuse_black.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/male02_diffuse_black.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/teeth.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/teeth.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/tshirt02_normals.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/tshirt02_normals.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/tshirt02_texture.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/tshirt02_texture.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/young_lightskinned_male_diffuse.png b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/materials/textures/young_lightskinned_male_diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/meshes/standing.dae b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/meshes/standing.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/model.config b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/model.sdf b/CustomRobots/amazon_hospital/fuel_models/PersonToFollow/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChair.mtl b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChair.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChair.obj b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChair.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChairDiffuse.png b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChairDiffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChair_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChair_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChair_Col.obj b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/meshes/PotatoChipChair_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/model.config b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/model.sdf b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/PotatoChipChair/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Readme.md b/CustomRobots/amazon_hospital/fuel_models/Readme.md deleted file mode 100755 index bb0aab3d0..000000000 --- a/CustomRobots/amazon_hospital/fuel_models/Readme.md +++ /dev/null @@ -1 +0,0 @@ -## Source: [aws-robotics/aws-robomaker-hospital-world](https://github.com/aws-robotics/aws-robomaker-hospital-world/tree/ros2) \ No newline at end of file diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/ScrubsFemaleDiffuse.png b/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/ScrubsFemaleDiffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/Scrubs_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/Scrubs_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/Scrubs_Col.obj b/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/Scrubs_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/scrubs.mtl b/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/scrubs.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/scrubs.obj b/CustomRobots/amazon_hospital/fuel_models/Scrubs/meshes/scrubs.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/model.config b/CustomRobots/amazon_hospital/fuel_models/Scrubs/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/model.sdf b/CustomRobots/amazon_hospital/fuel_models/Scrubs/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/Scrubs/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/meshes/Shower.mtl b/CustomRobots/amazon_hospital/fuel_models/Shower/meshes/Shower.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/meshes/Shower.obj b/CustomRobots/amazon_hospital/fuel_models/Shower/meshes/Shower.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/meshes/ShowerDiffuse.png b/CustomRobots/amazon_hospital/fuel_models/Shower/meshes/ShowerDiffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/model.config b/CustomRobots/amazon_hospital/fuel_models/Shower/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/model.sdf b/CustomRobots/amazon_hospital/fuel_models/Shower/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/Shower/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/meshes/StorageRack.mtl b/CustomRobots/amazon_hospital/fuel_models/StorageRack/meshes/StorageRack.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/meshes/StorageRack.obj b/CustomRobots/amazon_hospital/fuel_models/StorageRack/meshes/StorageRack.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/meshes/StorageRack.png b/CustomRobots/amazon_hospital/fuel_models/StorageRack/meshes/StorageRack.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/model.config b/CustomRobots/amazon_hospital/fuel_models/StorageRack/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/model.sdf b/CustomRobots/amazon_hospital/fuel_models/StorageRack/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/StorageRack/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/meshes/StorageRackCoverOpen.mtl b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/meshes/StorageRackCoverOpen.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/meshes/StorageRackCoverOpen.obj b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/meshes/StorageRackCoverOpen.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/meshes/StorageRackCoverOpen.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/meshes/StorageRackCoverOpen.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/model.config b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/model.sdf b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCoverOpen/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/meshes/StorageRackCovered.mtl b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/meshes/StorageRackCovered.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/meshes/StorageRackCovered.obj b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/meshes/StorageRackCovered.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/meshes/StorageRackCovered.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/meshes/StorageRackCovered.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/model.config b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/model.sdf b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/StorageRackCovered/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/meshes/texture.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/meshes/texture.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/meshes/trolley.mtl b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/meshes/trolley.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/meshes/trolley.obj b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/meshes/trolley.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/model.config b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/model.sdf b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolley/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed.mtl b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed.obj b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed_Col.obj b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/meshes/SurgicalTrolleyMed_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/model.config b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/model.sdf b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/SurgicalTrolleyMed/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/meshes/toilet.mtl b/CustomRobots/amazon_hospital/fuel_models/Toilet/meshes/toilet.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/meshes/toilet.obj b/CustomRobots/amazon_hospital/fuel_models/Toilet/meshes/toilet.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/model.config b/CustomRobots/amazon_hospital/fuel_models/Toilet/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/model.sdf b/CustomRobots/amazon_hospital/fuel_models/Toilet/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/Toilet/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/meshes/TrolleyBed.mtl b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/meshes/TrolleyBed.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/meshes/TrolleyBed.obj b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/meshes/TrolleyBed.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/meshes/TrolleyBed_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/meshes/TrolleyBed_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/model.config b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/model.sdf b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBed/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/meshes/PatientF.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/meshes/PatientF.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/meshes/TrolleyBedPatient.mtl b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/meshes/TrolleyBedPatient.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/meshes/TrolleyBedPatient.obj b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/meshes/TrolleyBedPatient.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/meshes/TrolleyBed_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/meshes/TrolleyBed_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/model.config b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/model.sdf b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/TrolleyBedPatient/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/meshes/VendingMachine.mtl b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/meshes/VendingMachine.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/meshes/VendingMachine.obj b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/meshes/VendingMachine.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/meshes/VendingMachine_Diffuse.png b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/meshes/VendingMachine_Diffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/model.config b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/model.sdf b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/VendingMachine/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/Book.png b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/Book.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidGreen.png b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidGreen.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidSit.mtl b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidSit.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidSit.obj b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidSit.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidSit_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidSit_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidSit_Col.obj b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/meshes/VisitorKidSit_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/model.config b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/model.sdf b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/VisitorKidSit/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChair.mtl b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChair.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChair.obj b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChair.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChairDiffuse.png b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChairDiffuse.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChair_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChair_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChair_Col.obj b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/meshes/WhiteChipChair_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/model.config b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/model.sdf b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/WhiteChipChair/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine.mtl b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine.obj b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine.png b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine_Col.mtl b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine_Col.mtl old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine_Col.obj b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/meshes/XRayMachine_Col.obj old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/model.config b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/model.sdf b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/1.png b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/1.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/2.png b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/2.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/3.png b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/3.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/4.png b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/4.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/5.png b/CustomRobots/amazon_hospital/fuel_models/XRayMachine/thumbnails/5.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/fuel_models/database.config b/CustomRobots/amazon_hospital/fuel_models/database.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/hospital_world/CMakeLists.txt b/CustomRobots/amazon_hospital/hospital_world/CMakeLists.txt deleted file mode 100755 index f32729c50..000000000 --- a/CustomRobots/amazon_hospital/hospital_world/CMakeLists.txt +++ /dev/null @@ -1,61 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(hospital_world) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - -# find dependencies -find_package(ament_cmake REQUIRED) -find_package(ament_cmake_ros REQUIRED) -find_package(rclcpp REQUIRED) -find_package(gazebo REQUIRED) -find_package(pluginlib REQUIRED) -find_package(Threads REQUIRED) - -if(CMAKE_USE_PTHREADS_INIT) - set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-pthread") -endif() - -include_directories(${GAZEBO_INCLUDE_DIRS}) - -add_library(personplugin src/person.cpp) -target_include_directories(personplugin PUBLIC - $ - $) -ament_target_dependencies( - personplugin - "rclcpp" - "gazebo" - "pluginlib" -) - -# Causes the visibility macros to use dllexport rather than dllimport, -# which is appropriate when building the dll but not consuming it. -target_compile_definitions(personplugin PRIVATE "PERSONPLUGIN_BUILDING_LIBRARY") - -install( - TARGETS personplugin - EXPORT export_${PROJECT_NAME} - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin -) - -install( - DIRECTORY launch models worlds - DESTINATION share/${PROJECT_NAME}) - -if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - ament_lint_auto_find_test_dependencies() -endif() - -ament_export_libraries( - personplugin -) - -ament_export_targets( - export_${PROJECT_NAME} -) - -ament_package() diff --git a/CustomRobots/amazon_hospital/hospital_world/launch/hospital_world.launch.py b/CustomRobots/amazon_hospital/hospital_world/launch/hospital_world.launch.py deleted file mode 100755 index 7ee5f42a4..000000000 --- a/CustomRobots/amazon_hospital/hospital_world/launch/hospital_world.launch.py +++ /dev/null @@ -1,43 +0,0 @@ -import os -import sys - -import launch -from launch.conditions import IfCondition -from launch.substitutions import PythonExpression -from ament_index_python.packages import get_package_share_directory - - -def generate_launch_description(): - world_file_name = "hospital.world" - world = os.path.join(get_package_share_directory('hospital_world'), 'worlds', world_file_name) - - gazebo_ros = get_package_share_directory('gazebo_ros') - gazebo_client = launch.actions.IncludeLaunchDescription( - launch.launch_description_sources.PythonLaunchDescriptionSource( - os.path.join(gazebo_ros, 'launch', 'gzclient.launch.py')) - ) - - gazebo_server = launch.actions.IncludeLaunchDescription( - launch.launch_description_sources.PythonLaunchDescriptionSource( - os.path.join(gazebo_ros, 'launch', 'gzserver.launch.py')) - ) - - - ld = launch.LaunchDescription([ - launch.actions.DeclareLaunchArgument( - 'world', - default_value=[world, ''], - description='SDF world file'), - launch.actions.DeclareLaunchArgument( - name='gui', - default_value='false' - ), - gazebo_server, - gazebo_client - ]) - - return ld - - -if __name__ == '__main__': - generate_launch_description() \ No newline at end of file diff --git a/CustomRobots/amazon_hospital/hospital_world/package.xml b/CustomRobots/amazon_hospital/hospital_world/package.xml deleted file mode 100755 index 8642283f2..000000000 --- a/CustomRobots/amazon_hospital/hospital_world/package.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - hospital_world - 0.0.0 - Amazon hospital worlds package - Carlosalpha1 - TODO: License declaration - - ament_cmake - - rclpy - - ament_lint_auto - ament_lint_common - - - ament_cmake - - - diff --git a/CustomRobots/amazon_hospital/hospital_world/worlds/follow_person.world b/CustomRobots/amazon_hospital/hospital_world/worlds/follow_person.world deleted file mode 100755 index b5d1c6fc0..000000000 --- a/CustomRobots/amazon_hospital/hospital_world/worlds/follow_person.world +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - model://person - 0 5 0 0 0 3.14 - - - - model://sun - - - - model://ground_plane - - - - - 0 0 -9.8066 - - - quick - 10 - 1.3 - 0 - - - 0 - 0.2 - 100 - 0.001 - - - 0.004 - 1 - 250 - 6.0e-6 2.3e-5 -4.2e-5 - - - - \ No newline at end of file diff --git a/CustomRobots/amazon_hospital/models/Readme.md b/CustomRobots/amazon_hospital/models/Readme.md deleted file mode 100755 index bb0aab3d0..000000000 --- a/CustomRobots/amazon_hospital/models/Readme.md +++ /dev/null @@ -1 +0,0 @@ -## Source: [aws-robotics/aws-robomaker-hospital-world](https://github.com/aws-robotics/aws-robomaker-hospital-world/tree/ros2) \ No newline at end of file diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtain_closed_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtainrail_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtainrail_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtainrail_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtainrail_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtainrail_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtainrail_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtainrail_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/meshes/aws_robomaker_hospital_curtainrail_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_closed_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtain_half_open_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtainrail_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtainrail_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtainrail_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtainrail_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtainrail_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtainrail_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtainrail_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/meshes/aws_robomaker_hospital_curtainrail_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_half_open_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtain_open_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtainrail_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtainrail_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtainrail_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtainrail_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtainrail_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtainrail_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtainrail_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/meshes/aws_robomaker_hospital_curtainrail_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_curtain_open_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_car_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_car_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_car_low.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_car_low.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_car_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_car_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/meshes/aws_robomaker_hospital_elevator_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_car/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_door_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_door_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_door_low.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_door_low.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_door_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_door_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/meshes/aws_robomaker_hospital_elevator_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_door/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_portal_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_portal_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_portal_low.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_portal_low.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_portal_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_portal_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/meshes/aws_robomaker_hospital_elevator_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_elevator_01_portal/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/meshes/aws_robomaker_hospital_floor_01_ceiling.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/meshes/aws_robomaker_hospital_floor_01_ceiling.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/meshes/aws_robomaker_hospital_floor_01_ceiling_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/meshes/aws_robomaker_hospital_floor_01_ceiling_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/meshes/aws_robomaker_hospital_floor_01_ceiling_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/meshes/aws_robomaker_hospital_floor_01_ceiling_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/meshes/aws_robomaker_hospital_floor_01_ceiling_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/meshes/aws_robomaker_hospital_floor_01_ceiling_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_ceiling/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/meshes/aws_robomaker_hospital_floor_01_floor.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/meshes/aws_robomaker_hospital_floor_01_floor.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/meshes/aws_robomaker_hospital_floor_01_floor_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/meshes/aws_robomaker_hospital_floor_01_floor_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/meshes/aws_robomaker_hospital_floor_01_floor_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/meshes/aws_robomaker_hospital_floor_01_floor_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/meshes/aws_robomaker_hospital_floor_01_floor_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/meshes/aws_robomaker_hospital_floor_01_floor_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_floor/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_bumprail.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_bumprail.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_doorframes_big.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_doorframes_big.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_doorframes_small.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_doorframes_small.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_doorsign.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_doorsign.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_handrail.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_handrail.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_stairs.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_stairs.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_walls.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_walls.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_walls_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_walls_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_walls_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_walls_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_windows.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/meshes/aws_robomaker_hospital_floor_01_windows.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_01_walls/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/materials/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/materials/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/meshes/aws_robomaker_hospital_floor_02_ceiling.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/meshes/aws_robomaker_hospital_floor_02_ceiling.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/meshes/aws_robomaker_hospital_floor_02_ceiling_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/meshes/aws_robomaker_hospital_floor_02_ceiling_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/meshes/aws_robomaker_hospital_floor_02_ceiling_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/meshes/aws_robomaker_hospital_floor_02_ceiling_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/meshes/aws_robomaker_hospital_floor_02_ceiling_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/meshes/aws_robomaker_hospital_floor_02_ceiling_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_ceiling/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/meshes/aws_robomaker_hospital_floor_02_floor.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/meshes/aws_robomaker_hospital_floor_02_floor.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/meshes/aws_robomaker_hospital_floor_02_floor_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/meshes/aws_robomaker_hospital_floor_02_floor_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/meshes/aws_robomaker_hospital_floor_02_floor_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/meshes/aws_robomaker_hospital_floor_02_floor_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/meshes/aws_robomaker_hospital_floor_02_floor_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/meshes/aws_robomaker_hospital_floor_02_floor_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_floor/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_bumprail.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_bumprail.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_doorframes_big.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_doorframes_big.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_doorframes_small.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_doorframes_small.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_doorsign.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_doorsign.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_handrail.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_handrail.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_stairs.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_stairs.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_walls.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_walls.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_walls_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_walls_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_walls_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_walls_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_windows.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/meshes/aws_robomaker_hospital_floor_02_windows.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_floor_02_walls/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/meshes/aws_robomaker_hospital_hospitalsign_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/meshes/aws_robomaker_hospital_hospitalsign_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/meshes/aws_robomaker_hospital_hospitalsign_01_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/meshes/aws_robomaker_hospital_hospitalsign_01_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/meshes/aws_robomaker_hospital_hospitalsign_01_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/meshes/aws_robomaker_hospital_hospitalsign_01_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/meshes/aws_robomaker_hospital_hospitalsign_01_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/meshes/aws_robomaker_hospital_hospitalsign_01_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_hospitalsign_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_low.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_low.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_low.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_low.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_low_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_low_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_visual.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_visual.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_visual_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/meshes/aws_robomaker_hospital_nursesstation_01_visual_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_nursesstation_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/meshes/aws_robomaker_hospital_ramp_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/meshes/aws_robomaker_hospital_ramp_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/meshes/aws_robomaker_hospital_ramp_01_collision.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/meshes/aws_robomaker_hospital_ramp_01_collision.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/meshes/aws_robomaker_hospital_ramp_01_normal.png b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/meshes/aws_robomaker_hospital_ramp_01_normal.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/meshes/aws_robomaker_hospital_ramp_01_visual.dae b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/meshes/aws_robomaker_hospital_ramp_01_visual.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_hospital_ramp_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/materials/textures/aws_Carpet_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/materials/textures/aws_Carpet_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/meshes/aws_Carpet_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/meshes/aws_Carpet_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/meshes/aws_Carpet_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/meshes/aws_Carpet_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Carpet_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/materials/textures/aws_CoffeeTable_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/materials/textures/aws_CoffeeTable_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/meshes/aws_CoffeeTable_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/meshes/aws_CoffeeTable_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/meshes/aws_CoffeeTable_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/meshes/aws_CoffeeTable_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_CoffeeTable_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/materials/textures/aws_KitchenCabinet_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/materials/textures/aws_KitchenCabinet_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/meshes/aws_KitchenCabinet_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/meshes/aws_KitchenCabinet_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/meshes/aws_KitchenCabinet_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/meshes/aws_KitchenCabinet_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_KitchenCabinet_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/materials/textures/aws_PortraitA_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/materials/textures/aws_PortraitA_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/materials/textures/aws_PortraitA_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/materials/textures/aws_PortraitA_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/meshes/aws_PortraitA_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/meshes/aws_PortraitA_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/meshes/aws_PortraitA_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/meshes/aws_PortraitA_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/materials/textures/aws_PortraitA_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/materials/textures/aws_PortraitA_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/materials/textures/aws_PortraitA_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/materials/textures/aws_PortraitA_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/meshes/aws_PortraitA_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/meshes/aws_PortraitA_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/meshes/aws_PortraitA_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/meshes/aws_PortraitA_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitA_02/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/materials/textures/aws_PortraitB_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/materials/textures/aws_PortraitB_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/materials/textures/aws_PortraitB_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/materials/textures/aws_PortraitB_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/meshes/aws_PortraitB_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/meshes/aws_PortraitB_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/meshes/aws_PortraitB_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/meshes/aws_PortraitB_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/materials/textures/aws_PortraitB_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/materials/textures/aws_PortraitB_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/materials/textures/aws_PortraitB_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/materials/textures/aws_PortraitB_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/meshes/aws_PortraitB_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/meshes/aws_PortraitB_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/meshes/aws_PortraitB_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/meshes/aws_PortraitB_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_02/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/materials/textures/aws_PortraitB_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/materials/textures/aws_PortraitB_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/materials/textures/aws_PortraitB_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/materials/textures/aws_PortraitB_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/meshes/aws_PortraitB_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/meshes/aws_PortraitB_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/meshes/aws_PortraitB_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/meshes/aws_PortraitB_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitB_03/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/materials/textures/aws_PortraitC_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/materials/textures/aws_PortraitC_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/materials/textures/aws_PortraitC_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/materials/textures/aws_PortraitC_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/meshes/aws_PortraitC_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/meshes/aws_PortraitC_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/meshes/aws_PortraitC_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/meshes/aws_PortraitC_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitC_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/materials/textures/aws_PortraitD_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/materials/textures/aws_PortraitD_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/materials/textures/aws_PortraitD_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/materials/textures/aws_PortraitD_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/meshes/aws_PortraitD_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/meshes/aws_PortraitD_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/meshes/aws_PortraitD_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/meshes/aws_PortraitD_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/materials/textures/aws_PortraitD_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/materials/textures/aws_PortraitD_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/materials/textures/aws_PortraitD_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/materials/textures/aws_PortraitD_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/meshes/aws_PortraitD_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/meshes/aws_PortraitD_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/meshes/aws_PortraitD_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/meshes/aws_PortraitD_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitD_02/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/materials/textures/aws_PortraitE_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/materials/textures/aws_PortraitE_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/materials/textures/aws_PortraitE_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/materials/textures/aws_PortraitE_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/meshes/aws_PortraitE_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/meshes/aws_PortraitE_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/meshes/aws_PortraitE_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/meshes/aws_PortraitE_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/materials/textures/aws_PortraitE_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/materials/textures/aws_PortraitE_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/materials/textures/aws_PortraitE_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/materials/textures/aws_PortraitE_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/meshes/aws_PortraitE_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/meshes/aws_PortraitE_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/meshes/aws_PortraitE_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/meshes/aws_PortraitE_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_PortraitE_02/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/materials/textures/aws_Refrigerator_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/materials/textures/aws_Refrigerator_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/materials/textures/aws_Refrigerator_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/materials/textures/aws_Refrigerator_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/meshes/aws_Refrigerator_01.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/meshes/aws_Refrigerator_01.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/meshes/aws_Refrigerator_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/meshes/aws_Refrigerator_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/meshes/aws_Refrigerator_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/meshes/aws_Refrigerator_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Refrigerator_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/materials/textures/aws_SofaB_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/materials/textures/aws_SofaB_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/meshes/aws_SofaB_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/meshes/aws_SofaB_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/meshes/aws_SofaB_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/meshes/aws_SofaB_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_SofaB_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/materials/textures/aws_Sofa_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/materials/textures/aws_Sofa_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/meshes/aws_Sofa_01.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/meshes/aws_Sofa_01.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/meshes/aws_Sofa_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/meshes/aws_Sofa_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/meshes/aws_Sofa_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/meshes/aws_Sofa_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Sofa_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/materials/textures/aws_TV_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/materials/textures/aws_TV_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/meshes/aws_TV_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/meshes/aws_TV_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/meshes/aws_TV_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/meshes/aws_TV_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_TV_02/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/materials/textures/aws_Trash_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/materials/textures/aws_Trash_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/meshes/aws_Trash_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/meshes/aws_Trash_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/meshes/aws_Trash_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/meshes/aws_Trash_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_residential_Trash_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/materials/textures/aws_BookshelfB_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/materials/textures/aws_BookshelfB_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/materials/textures/aws_BookshelfB_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/materials/textures/aws_BookshelfB_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/meshes/aws_BookshelfB_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/meshes/aws_BookshelfB_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/meshes/aws_BookshelfB_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/meshes/aws_BookshelfB_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_BookshelfB_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/materials/textures/aws_Computer_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/materials/textures/aws_Computer_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/meshes/aws_Computer_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/meshes/aws_Computer_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/meshes/aws_Computer_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/meshes/aws_Computer_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_retail_Computer_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/materials/textures/aws_robomaker_warehouse_ClutteringA_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/materials/textures/aws_robomaker_warehouse_ClutteringA_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/materials/textures/aws_robomaker_warehouse_ClutteringA_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/materials/textures/aws_robomaker_warehouse_ClutteringA_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/materials/textures/aws_robomaker_warehouse_ClutteringA_03.png b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/materials/textures/aws_robomaker_warehouse_ClutteringA_03.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/meshes/aws_robomaker_warehouse_ClutteringA_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/meshes/aws_robomaker_warehouse_ClutteringA_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/meshes/aws_robomaker_warehouse_ClutteringA_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/meshes/aws_robomaker_warehouse_ClutteringA_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringA_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/materials/textures/aws_robomaker_warehouse_ClutteringC_01.png b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/materials/textures/aws_robomaker_warehouse_ClutteringC_01.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/materials/textures/aws_robomaker_warehouse_ClutteringC_02.png b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/materials/textures/aws_robomaker_warehouse_ClutteringC_02.png old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/meshes/aws_robomaker_warehouse_ClutteringC_01_collision.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/meshes/aws_robomaker_warehouse_ClutteringC_01_collision.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/meshes/aws_robomaker_warehouse_ClutteringC_01_visual.DAE b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/meshes/aws_robomaker_warehouse_ClutteringC_01_visual.DAE old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/model.config b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/model.config old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/model.sdf b/CustomRobots/amazon_hospital/models/aws_robomaker_warehouse_ClutteringC_01/model.sdf old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/src/person.cpp b/CustomRobots/amazon_hospital/src/person.cpp old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/worlds/hospital.world b/CustomRobots/amazon_hospital/worlds/hospital.world old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/worlds/hospital_three_floors.world b/CustomRobots/amazon_hospital/worlds/hospital_three_floors.world old mode 100755 new mode 100644 diff --git a/CustomRobots/amazon_hospital/worlds/hospital_two_floors.world b/CustomRobots/amazon_hospital/worlds/hospital_two_floors.world old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/Readme.md b/CustomRobots/turtlebot2/Readme.md old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/.cproject b/CustomRobots/turtlebot2/kobuki_description/.cproject old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/.project b/CustomRobots/turtlebot2/kobuki_description/.project old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/CHANGELOG.rst b/CustomRobots/turtlebot2/kobuki_description/CHANGELOG.rst old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/CMakeLists.txt b/CustomRobots/turtlebot2/kobuki_description/CMakeLists.txt old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/launch/robot_description.launch.py b/CustomRobots/turtlebot2/kobuki_description/launch/robot_description.launch.py old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/meshes/images/main_body.jpg b/CustomRobots/turtlebot2/kobuki_description/meshes/images/main_body.jpg old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/meshes/images/wheel.jpg b/CustomRobots/turtlebot2/kobuki_description/meshes/images/wheel.jpg old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/meshes/main_body.dae b/CustomRobots/turtlebot2/kobuki_description/meshes/main_body.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/meshes/wheel.dae b/CustomRobots/turtlebot2/kobuki_description/meshes/wheel.dae old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/package.xml b/CustomRobots/turtlebot2/kobuki_description/package.xml old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/rviz/model.rviz b/CustomRobots/turtlebot2/kobuki_description/rviz/model.rviz old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/urdf/common_properties.urdf.xacro b/CustomRobots/turtlebot2/kobuki_description/urdf/common_properties.urdf.xacro old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/urdf/kobuki.urdf.xacro b/CustomRobots/turtlebot2/kobuki_description/urdf/kobuki.urdf.xacro old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/urdf/kobuki_gazebo.urdf.xacro b/CustomRobots/turtlebot2/kobuki_description/urdf/kobuki_gazebo.urdf.xacro old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/kobuki_description/urdf/kobuki_standalone.urdf.xacro b/CustomRobots/turtlebot2/kobuki_description/urdf/kobuki_standalone.urdf.xacro old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/CMakeLists.txt b/CustomRobots/turtlebot2/turtlebot2/CMakeLists.txt deleted file mode 100755 index 425d3a9a3..000000000 --- a/CustomRobots/turtlebot2/turtlebot2/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(turtlebot2) - -# Default to C99 -if(NOT CMAKE_C_STANDARD) - set(CMAKE_C_STANDARD 99) -endif() - -# Default to C++14 -if(NOT CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 14) -endif() - -if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_compile_options(-Wall -Wextra -Wpedantic) -endif() - -# find dependencies -find_package(ament_cmake REQUIRED) -find_package(rclcpp REQUIRED) -find_package(urdf REQUIRED) -find_package(xacro REQUIRED) - -install(DIRECTORY urdf launch - DESTINATION share/${PROJECT_NAME}) - - -if(BUILD_TESTING) - find_package(ament_lint_auto REQUIRED) - ament_lint_auto_find_test_dependencies() -endif() - -ament_package() diff --git a/CustomRobots/turtlebot2/turtlebot2/launch/__pycache__/empty_world.launch.cpython-310.pyc b/CustomRobots/turtlebot2/turtlebot2/launch/__pycache__/empty_world.launch.cpython-310.pyc deleted file mode 100755 index 48d92be5f..000000000 Binary files a/CustomRobots/turtlebot2/turtlebot2/launch/__pycache__/empty_world.launch.cpython-310.pyc and /dev/null differ diff --git a/CustomRobots/turtlebot2/turtlebot2/launch/__pycache__/spawn_model.launch.cpython-310.pyc b/CustomRobots/turtlebot2/turtlebot2/launch/__pycache__/spawn_model.launch.cpython-310.pyc deleted file mode 100755 index fc0f8d80a..000000000 Binary files a/CustomRobots/turtlebot2/turtlebot2/launch/__pycache__/spawn_model.launch.cpython-310.pyc and /dev/null differ diff --git a/CustomRobots/turtlebot2/turtlebot2/launch/empty_world.launch.py b/CustomRobots/turtlebot2/turtlebot2/launch/empty_world.launch.py old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/launch/spawn_model.launch.py b/CustomRobots/turtlebot2/turtlebot2/launch/spawn_model.launch.py old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/package.xml b/CustomRobots/turtlebot2/turtlebot2/package.xml deleted file mode 100755 index 507a5b0b3..000000000 --- a/CustomRobots/turtlebot2/turtlebot2/package.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - turtlebot2 - 0.0.0 - Turtlebot2 Simulation - Carlosalpha1 - Apache 2 - - ament_cmake - - rclcpp - urdf - xacro - - ament_lint_auto - ament_lint_common - - - ament_cmake - - diff --git a/CustomRobots/turtlebot2/turtlebot2/rviz/turtlebot2_rviz.rviz b/CustomRobots/turtlebot2/turtlebot2/rviz/turtlebot2_rviz.rviz old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/urdf/colors.urdf.xacro b/CustomRobots/turtlebot2/turtlebot2/urdf/colors.urdf.xacro old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/urdf/sensors/camera.urdf.xacro b/CustomRobots/turtlebot2/turtlebot2/urdf/sensors/camera.urdf.xacro old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/urdf/sensors/lidar.urdf.xacro b/CustomRobots/turtlebot2/turtlebot2/urdf/sensors/lidar.urdf.xacro old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/urdf/structures.urdf.xacro b/CustomRobots/turtlebot2/turtlebot2/urdf/structures.urdf.xacro old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/urdf/turtlebot2.urdf b/CustomRobots/turtlebot2/turtlebot2/urdf/turtlebot2.urdf old mode 100755 new mode 100644 diff --git a/CustomRobots/turtlebot2/turtlebot2/urdf/turtlebot2.urdf.xacro b/CustomRobots/turtlebot2/turtlebot2/urdf/turtlebot2.urdf.xacro old mode 100755 new mode 100644 diff --git a/RoboticsAcademy/exercises/static/exercises/follow_person_newmanager/web-template/interfaces/bounding_boxes.py b/RoboticsAcademy/exercises/static/exercises/follow_person_newmanager/web-template/interfaces/bounding_boxes.py index e1ad6aa61..71f320ce5 100644 --- a/RoboticsAcademy/exercises/static/exercises/follow_person_newmanager/web-template/interfaces/bounding_boxes.py +++ b/RoboticsAcademy/exercises/static/exercises/follow_person_newmanager/web-template/interfaces/bounding_boxes.py @@ -77,7 +77,6 @@ def stop(self): self.sub.unregister() def getBoundingBoxes(self): - print("Get Bouding Boxes") # BORRAR self.lock.acquire() bounding_boxes = self.data self.lock.release() diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/brain.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/brain.py new file mode 100644 index 000000000..ed48c5595 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/brain.py @@ -0,0 +1,155 @@ +import time +import threading +import multiprocessing +import sys +from datetime import datetime +import importlib + +from user_functions import GUIFunctions, HALFunctions +from console import start_console, close_console +from shared.value import SharedValue + +# The brain process class +class BrainProcess(multiprocessing.Process): + def __init__(self, code, exit_signal, stop_signal): + super(BrainProcess, self).__init__() + + # Initialize exit signal + self.exit_signal = exit_signal + self.stop_signal = stop_signal + + # Function definitions for users to use + self.hal = HALFunctions() + self.gui = GUIFunctions() + + # Time variables + self.brain_time_cycle = SharedValue('brain_time_cycle') + self.brain_ideal_cycle = SharedValue('brain_ideal_cycle') + self.iteration_counter = 0 + + # Get the sequential and iterative code + # Something wrong over here! The code is reversing + # Found a solution but could not find the reason for this + self.sequential_code = code[1] + self.iterative_code = code[0] + + # Function to run to start the process + def run(self): + # Two threads for running and measuring + self.measure_thread = threading.Thread(target=self.measure_frequency) + self.thread = threading.Thread(target=self.process_code) + + self.measure_thread.start() + self.thread.start() + + print("Brain Process Started!") + + self.exit_signal.wait() + + # The process function + def process_code(self): + # Redirect information to console + start_console() + + # Reference Environment for the exec() function + iterative_code, sequential_code = self.iterative_code, self.sequential_code + + # Whatever the code is, first step is to just stop! + self.hal.sendV(0) + self.hal.sendW(0) + + # The Python exec function + # Run the sequential part + gui_module, hal_module = self.generate_modules() + reference_environment = {"GUI": gui_module, "HAL": hal_module} + if sequential_code != "": + exec(sequential_code, reference_environment) + + # Run the iterative part inside template + # and keep the check for flag + while not self.exit_signal.is_set(): + while (self.stop_signal.is_set()): + if (self.exit_signal.is_set()): + break + time.sleep(0.1) + + start_time = datetime.now() + + # Execute the iterative portion + if iterative_code != "": + exec(iterative_code, reference_environment) + + # Template specifics to run! + finish_time = datetime.now() + dt = finish_time - start_time + ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000.0 + + # Keep updating the iteration counter + if(iterative_code == ""): + self.iteration_counter = 0 + else: + self.iteration_counter = self.iteration_counter + 1 + + # The code should be run for atleast the target time step + # If it's less put to sleep + # If it's more no problem as such, but we can change it! + brain_time_cycle = self.brain_time_cycle.get() + if(ms < brain_time_cycle): + time.sleep((brain_time_cycle - ms) / 1000.0) + + close_console() + print("Current Thread Joined!", flush=True) + + # Function to generate the modules for use in ACE Editor + def generate_modules(self): + # Define HAL module + hal_module = importlib.util.module_from_spec(importlib.machinery.ModuleSpec("HAL", None)) + hal_module.HAL = importlib.util.module_from_spec(importlib.machinery.ModuleSpec("HAL", None)) + hal_module.HAL.motors = importlib.util.module_from_spec(importlib.machinery.ModuleSpec("motors", None)) + + # Add HAL functions + hal_module.HAL.getImage = self.hal.getImage + hal_module.HAL.setV = self.hal.sendV + hal_module.HAL.setW = self.hal.sendW + hal_module.HAL.getLaserData = self.hal.getLaserData + hal_module.HAL.getBoundingBoxes = self.hal.getBoundingBoxes + hal_module.HAL.getPose3d = self.hal.getPose3d + + # Define GUI module + gui_module = importlib.util.module_from_spec(importlib.machinery.ModuleSpec("GUI", None)) + gui_module.GUI = importlib.util.module_from_spec(importlib.machinery.ModuleSpec("GUI", None)) + + # Add GUI functions + gui_module.GUI.showImage = self.gui.showImage + + # Adding modules to system + # Protip: The names should be different from + # other modules, otherwise some errors + sys.modules["HAL"] = hal_module + sys.modules["GUI"] = gui_module + + return gui_module, hal_module + + # Function to measure the frequency of iterations + def measure_frequency(self): + previous_time = datetime.now() + # An infinite loop + while not self.exit_signal.is_set(): + # Sleep for 2 seconds + time.sleep(2) + + # Measure the current time and subtract from the previous time to get real time interval + current_time = datetime.now() + dt = current_time - previous_time + ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000.0 + previous_time = current_time + + # Get the time period + try: + # Division by zero + self.brain_ideal_cycle.add(ms / self.iteration_counter) + except: + self.brain_ideal_cycle.add(0) + + # Reset the counter + self.iteration_counter = 0 \ No newline at end of file diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/coco_labels.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/coco_labels.py new file mode 100644 index 000000000..a8c3a9c19 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/coco_labels.py @@ -0,0 +1,185 @@ +LABEL_MAP = { + 0: "unlabeled", + 1: "person", + 2: "bicycle", + 3: "car", + 4: "motorcycle", + 5: "airplane", + 6: "bus", + 7: "train", + 8: "truck", + 9: "boat", + 10: "traffic", + 11: "fire", + 12: "street", + 13: "stop", + 14: "parking", + 15: "bench", + 16: "bird", + 17: "cat", + 18: "dog", + 19: "horse", + 20: "sheep", + 21: "cow", + 22: "elephant", + 23: "bear", + 24: "zebra", + 25: "giraffe", + 26: "hat", + 27: "backpack", + 28: "umbrella", + 29: "shoe", + 30: "eye", + 31: "handbag", + 32: "tie", + 33: "suitcase", + 34: "frisbee", + 35: "skis", + 36: "snowboard", + 37: "sports", + 38: "kite", + 39: "baseball", + 40: "baseball", + 41: "skateboard", + 42: "surfboard", + 43: "tennis", + 44: "bottle", + 45: "plate", + 46: "wine", + 47: "cup", + 48: "fork", + 49: "knife", + 50: "spoon", + 51: "bowl", + 52: "banana", + 53: "apple", + 54: "sandwich", + 55: "orange", + 56: "broccoli", + 57: "carrot", + 58: "hot", + 59: "pizza", + 60: "donut", + 61: "cake", + 62: "chair", + 63: "couch", + 64: "potted", + 65: "bed", + 66: "mirror", + 67: "dining", + 68: "window", + 69: "desk", + 70: "toilet", + 71: "door", + 72: "tv", + 73: "laptop", + 74: "mouse", + 75: "remote", + 76: "keyboard", + 77: "cell", + 78: "microwave", + 79: "oven", + 80: "toaster", + 81: "sink", + 82: "refrigerator", + 83: "blender", + 84: "book", + 85: "clock", + 86: "vase", + 87: "scissors", + 88: "teddy", + 89: "hair", + 90: "toothbrush", + 91: "hair", + 92: "banner", + 93: "blanket", + 94: "branch", + 95: "bridge", + 96: "building", + 97: "bush", + 98: "cabinet", + 99: "cage", + 100: "cardboard", + 101: "carpet", + 102: "ceiling", + 103: "ceiling", + 104: "cloth", + 105: "clothes", + 106: "clouds", + 107: "counter", + 108: "cupboard", + 109: "curtain", + 110: "desk", + 111: "dirt", + 112: "door", + 113: "fence", + 114: "floor", + 115: "floor", + 116: "floor", + 117: "floor", + 118: "floor", + 119: "flower", + 120: "fog", + 121: "food", + 122: "fruit", + 123: "furniture", + 124: "grass", + 125: "gravel", + 126: "ground", + 127: "hill", + 128: "house", + 129: "leaves", + 130: "light", + 131: "mat", + 132: "metal", + 133: "mirror", + 134: "moss", + 135: "mountain", + 136: "mud", + 137: "napkin", + 138: "net", + 139: "paper", + 140: "pavement", + 141: "pillow", + 142: "plant", + 143: "plastic", + 144: "platform", + 145: "playingfield", + 146: "railing", + 147: "railroad", + 148: "river", + 149: "road", + 150: "rock", + 151: "roof", + 152: "rug", + 153: "salad", + 154: "sand", + 155: "sea", + 156: "shelf", + 157: "sky", + 158: "skyscraper", + 159: "snow", + 160: "solid", + 161: "stairs", + 162: "stone", + 163: "straw", + 164: "structural", + 165: "table", + 166: "tent", + 167: "textile", + 168: "towel", + 169: "tree", + 170: "vegetable", + 171: "wall", + 172: "wall", + 173: "wall", + 174: "wall", + 175: "wall", + 176: "wall", + 177: "wall", + 178: "water", + 179: "waterdrops", + 180: "window", + 181: "window", + 182: "wood" +} diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/console.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/console.py new file mode 100644 index 000000000..5335016ae --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/console.py @@ -0,0 +1,18 @@ +# Functions to start and close console +import os +import sys + +def start_console(): + # Get all the file descriptors and choose the latest one + fds = os.listdir("/dev/pts/") + fds.sort() + console_fd = fds[-2] + + sys.stderr = open('/dev/pts/' + console_fd, 'w') + sys.stdout = open('/dev/pts/' + console_fd, 'w') + sys.stdin = open('/dev/pts/' + console_fd, 'w') + +def close_console(): + sys.stderr.close() + sys.stdout.close() + sys.stdin.close() diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/entry_point/exercise.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/entry_point/exercise.py new file mode 100644 index 000000000..eeba1dde4 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/entry_point/exercise.py @@ -0,0 +1,13 @@ +import os.path +from typing import Callable + +from src.libs.applications.compatibility.realrobot_exercise_wrapper import CompatibilityExerciseWrapper + + +class Exercise(CompatibilityExerciseWrapper): + def __init__(self, circuit: str, update_callback: Callable): + current_path = os.path.dirname(__file__) + + super(Exercise, self).__init__(exercise_command=f"{current_path}/../exercise.py 0.0.0.0", + gui_command=f"{current_path}/../gui.py 0.0.0.0 {circuit}", + update_callback=update_callback) diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/exercise.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/exercise.py new file mode 100644 index 000000000..8ea98a94c --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/exercise.py @@ -0,0 +1,318 @@ +#!/usr/bin/env python +import os +from websocket_server import WebsocketServer +import time +import threading +import multiprocessing +import subprocess +import sys +import re +import json +import queue + +from shared.value import SharedValue + +from hal import HAL +from brain import BrainProcess + +from teleoperator import TeleopThread + + + +class Template: + # Initialize class variables + # self.time_cycle to run an execution for atleast 1 second + # self.process for the current running process + def __init__(self): + print("Exercise initializing", flush=True) + self.brain_process = None + self.reload = multiprocessing.Event() + self.stop_brain = multiprocessing.Event() + self.user_code = "" + + # Time variables + self.brain_time_cycle = SharedValue('brain_time_cycle') + self.brain_ideal_cycle = SharedValue('brain_ideal_cycle') + self.real_time_factor = 0 + + self.frequency_message = {'brain': '', 'gui': '', 'rtf': ''} + + # GUI variables + self.gui_time_cycle = SharedValue('gui_time_cycle') + self.gui_ideal_cycle = SharedValue('gui_ideal_cycle') + + self.server = None + self.client = None + self.host = sys.argv[1] + + # Initialize the GUI and HAL behind the scenes + self.hal = HAL() + + self.exit_signal_teleop = threading.Event() + self.teleop_q = queue.Queue() + self.teleop = TeleopThread(self.teleop_q,self.exit_signal_teleop,self.hal) + + print("Exercise initialized", flush=True) + + # Function for saving + def save_code(self, source_code): + with open('code/academy.py', 'w') as code_file: + code_file.write(source_code) + + # Function for loading + def load_code(self): + with open('code/academy.py', 'r') as code_file: + source_code = code_file.read() + + return source_code + + # Function to parse the code + # A few assumptions: + # 1. The user always passes sequential and iterative codes + # 2. Only a single infinite loop + def parse_code(self, source_code): + # Check for save/load + if(source_code[:5] == "#save"): + source_code = source_code[5:] + self.save_code(source_code) + return "", "" + + elif(source_code[:5] == "#load"): + source_code = source_code + self.load_code() + self.server.send_message(self.client, source_code) + + return "", "" + + else: + sequential_code, iterative_code = self.seperate_seq_iter(source_code[6:]) + return iterative_code, sequential_code + + # Function to seperate the iterative and sequential code + def seperate_seq_iter(self, source_code): + if source_code == "": + return "", "" + + # Search for an instance of while True + infinite_loop = re.search(r'[^ ]while\s*\(\s*True\s*\)\s*:|[^ ]while\s*True\s*:|[^ ]while\s*1\s*:|[^ ]while\s*\(\s*1\s*\)\s*:', source_code) + + # Seperate the content inside while True and the other + # (Seperating the sequential and iterative part!) + try: + start_index = infinite_loop.start() + iterative_code = source_code[start_index:] + sequential_code = source_code[:start_index] + + # Remove while True: syntax from the code + # And remove the the 4 spaces indentation before each command + iterative_code = re.sub(r'[^ ]while\s*\(\s*True\s*\)\s*:|[^ ]while\s*True\s*:|[^ ]while\s*1\s*:|[^ ]while\s*\(\s*1\s*\)\s*:', '', iterative_code) + # Add newlines to match line on bug report + extra_lines = sequential_code.count('\n') + while (extra_lines >= 0): + iterative_code = '\n' + iterative_code + extra_lines -= 1 + iterative_code = re.sub(r'^[ ]{4}', '', iterative_code, flags=re.M) + + except: + sequential_code = source_code + iterative_code = "" + + return sequential_code, iterative_code + + # Function to maintain thread execution + def execute_thread(self, source_code): + # Keep checking until the thread is alive + # The thread will die when the coming iteration reads the flag + if(self.brain_process != None): + while self.brain_process.is_alive(): + pass + + # Turn the flag down, the iteration has successfully stopped! + + self.reload.clear() + # New thread execution + code = self.parse_code(source_code) + if code[0] == "" and code[1] == "": + return + + self.brain_process = BrainProcess(code, self.reload, self.stop_brain) + self.brain_process.start() + self.send_code_message() + + # Function to read and set frequency from incoming message + def read_frequency_message(self, message): + frequency_message = json.loads(message) + + # Set brain frequency + frequency = float(frequency_message["brain"]) + self.brain_time_cycle.add(1000.0 / frequency) + + # Set gui frequency + frequency = float(frequency_message["gui"]) + self.gui_time_cycle.add(1000.0 / frequency) + + return + + # Function to track the real time factor from Gazebo statistics + # https://stackoverflow.com/a/17698359 + # (For reference, Python3 solution specified in the same answer) + def track_stats(self): + args = ["gz", "stats", "-p"] + # Prints gz statistics. "-p": Output comma-separated values containing- + # real-time factor (percent), simtime (sec), realtime (sec), paused (T or F) + stats_process = subprocess.Popen(args, stdout=subprocess.PIPE, bufsize=0) + # bufsize=1 enables line-bufferred mode (the input buffer is flushed + # automatically on newlines if you would write to process.stdin ) + with stats_process.stdout: + for line in iter(stats_process.stdout.readline, b''): + stats_list = [x.strip() for x in line.split(b',')] + self.real_time_factor = stats_list[0].decode("utf-8") + + # Function to generate and send frequency messages + + def send_frequency_message(self): + # This function generates and sends frequency measures of the brain and gui + brain_frequency = 0 + gui_frequency = 0 + try: + brain_frequency = round(1000 / self.brain_ideal_cycle.get(), 1) + except ZeroDivisionError: + brain_frequency = 0 + + try: + gui_frequency = round(1000 / self.gui_ideal_cycle.get(), 1) + except ZeroDivisionError: + gui_frequency = 0 + + self.frequency_message["brain"] = brain_frequency + self.frequency_message["gui"] = gui_frequency + self.frequency_message["rtf"] = self.real_time_factor + + message = "#freq" + json.dumps(self.frequency_message) + self.server.send_message(self.client, message) + + def send_ping_message(self): + self.server.send_message(self.client, "#ping") + + # Function to notify the front end that the code was received and sent to execution + def send_code_message(self): + self.server.send_message(self.client, "#exec") + + def read_teleop_message(self, teleop_message): + teleop_message = json.loads(teleop_message) + + # Get V and W + v = float(teleop_message["v"]) + w = float(teleop_message["w"]) + + return v, w + + # The websocket function + # Gets called when there is an incoming message from the client + def handle(self, client, server, message): + if(message[:5] == "#freq"): + frequency_message = message[5:] + self.read_frequency_message(frequency_message) + self.send_frequency_message() + return + + elif(message[:5] == "#ping"): + self.send_ping_message() + return + + elif(message[:5] == "#tele"): + # Stop Brain code by sending an empty code + if not self.stop_brain.is_set(): + self.reload.set() + self.stop_brain.set() + + # Parse message + teleop_message = message[5:] + v,w = self.read_teleop_message(teleop_message) + + # crear hebra de interacciones periódicas + # python thread + # Clear exit flag in order to continue executing the thread + # envío última V y W recibida y me pongo a dormir + + # Recupero el flag + self.exit_signal_teleop.clear() + + if not self.teleop.is_alive(): + self.teleop.start() + + self.teleop_q.put({"v":v,"w":w}) + return + + elif (message[:5] == "#code"): + try: + # First pause the teleoperator thread if exists + if self.teleop.is_alive(): + self.exit_signal_teleop.set() + + # Once received turn the reload flag up and send it to execute_thread function + self.user_code = message + self.reload.set() + self.stop_brain.clear() + self.execute_thread(self.user_code) + except: + pass + + elif (message[:5] == "#stop"): + self.stop_brain.set() + self.server.send_message(self.client, "#stpd") + + elif (message[:5] == "#play"): + self.stop_brain.clear() + + elif (message[:5] == "#rest"): + self.reload.set() + self.stop_brain.clear() + self.execute_thread(self.user_code) + + # Function that gets called when the server is connected + def connected(self, client, server): + self.client = client + # Start the HAL update thread + message ="#strt" +json.dumps("Starting HAL thread") + self.server.send_message(self.client, message) + self.hal.start_thread() + + # Start real time factor tracker thread + self.stats_thread = threading.Thread(target=self.track_stats) + self.stats_thread.start() + + # Initialize the ping message + self.send_frequency_message() + + print(client, 'connected') + + # Function that gets called when the connected closes + def handle_close(self, client, server): + print(client, 'closed') + + def run_server(self): + self.server = WebsocketServer(port=1905, host=self.host) + self.server.set_fn_new_client(self.connected) + self.server.set_fn_client_left(self.handle_close) + self.server.set_fn_message_received(self.handle) + + home_dir = os.path.expanduser('~') + + logged = False + while not logged: + try: + f = open(f"{home_dir}/ws_code.log", "w") + f.write("websocket_code=ready") + f.close() + logged = True + except: + print("~/ws_code.log could not be opened for write", flush=True) + time.sleep(0.1) + + self.server.run_forever() + + +# Execute! +if __name__ == "__main__": + server = Template() + server.run_server() diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/gui.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/gui.py new file mode 100644 index 000000000..ebbb9ece2 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/gui.py @@ -0,0 +1,224 @@ +import json +import os + +import rclpy +import cv2 +import sys +import base64 +import threading +import time +import numpy as np +from datetime import datetime +from websocket_server import WebsocketServer +import multiprocessing + +from shared.image import SharedImage +from shared.image import SharedImage +from shared.value import SharedValue + +# Graphical User Interface Class +class GUI: + # Initialization function + # The actual initialization + def __init__(self, host): + rclpy.init() + rclpy.create_node('GUI') + + self.payload = {'image':'', 'v':'','w':''} + self.server = None + self.client = None + + self.host = host + + # Image variable host + self.shared_image = SharedImage("guiimage") + + # Get HAL variables + self.shared_v = SharedValue("velocity") + self.shared_w = SharedValue("angular") + + # Event objects for multiprocessing + self.ack_event = multiprocessing.Event() + self.cli_event = multiprocessing.Event() + + # Start server thread + t = threading.Thread(target=self.run_server) + t.start() + + # Function to prepare image payload + # Encodes the image as a JSON string and sends through the WS + def payloadImage(self): + image = self.shared_image.get() + payload = {'image': '', 'shape': ''} + + shape = image.shape + frame = cv2.imencode('.JPEG', image)[1] + encoded_image = base64.b64encode(frame) + + payload['image'] = encoded_image.decode('utf-8') + payload['shape'] = shape + + return payload + + # Function for student to call + def showImage(self, image): + self.image_show_lock.acquire() + self.image_to_be_shown = image + self.image_to_be_shown_updated = True + self.image_show_lock.release() + + # Function to get the client + # Called when a new client is received + def get_client(self, client, server): + self.client = client + self.cli_event.set() + + print(client, 'connected') + + # Update the gui + def update_gui(self): + # Payload Image Message + payload = self.payloadImage() + self.payload["image"] = json.dumps(payload) + + # Payload V Message + v_message = str(self.shared_v.get()) + self.payload["v"] = v_message + + # Payload W Message + w_message = str(self.shared_w.get()) + self.payload["w"] = w_message + + message = "#gui" + json.dumps(self.payload) + self.server.send_message(self.client, message) + + # Function to read the message from websocket + # Gets called when there is an incoming message from the client + def get_message(self, client, server, message): + # Acknowledge Message for GUI Thread + if(message[:4] == "#ack"): + # Set acknowledgement flag + self.ack_event.set() + # Reset message + elif(message[:5] == "#rest"): + self.reset_gui() + + + # Function that gets called when the connected closes + def handle_close(self, client, server): + print(client, 'closed') + + # Activate the server + def run_server(self): + self.server = WebsocketServer(port=2303, host=self.host) + self.server.set_fn_new_client(self.get_client) + self.server.set_fn_message_received(self.get_message) + self.server.set_fn_client_left(self.handle_close) + + home_dir = os.path.expanduser('~') + + logged = False + while not logged: + try: + f = open(f"{home_dir}/ws_gui.log", "w") + f.write("websocket_gui=ready") + f.close() + logged = True + except: + time.sleep(0.1) + + self.server.run_forever() + + +# This class decouples the user thread +# and the GUI update thread +class ProcessGUI(multiprocessing.Process): + def __init__(self): + super(ProcessGUI, self).__init__() + + self.host = sys.argv[1] + + # Time variables + self.time_cycle = SharedValue("gui_time_cycle") + self.ideal_cycle = SharedValue("gui_ideal_cycle") + self.iteration_counter = 0 + + # Function to initialize events + def initialize_events(self): + # Events + self.ack_event = self.gui.ack_event + self.cli_event = self.gui.cli_event + self.exit_signal = multiprocessing.Event() + + # Function to start the execution of threads + def run(self): + # Initialize GUI + self.gui = GUI(self.host) + self.initialize_events() + + # Wait for client before starting + self.cli_event.wait() + + self.measure_thread = threading.Thread(target=self.measure_thread) + self.thread = threading.Thread(target=self.run_gui) + + self.measure_thread.start() + self.thread.start() + + print("GUI Process Started!") + self.exit_signal.wait() + + # The measuring thread to measure frequency + def measure_thread(self): + previous_time = datetime.now() + while(True): + # Sleep for 2 seconds + time.sleep(2) + + # Measure the current time and subtract from previous time to get real time interval + current_time = datetime.now() + dt = current_time - previous_time + ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000.0 + previous_time = current_time + + # Get the time period + try: + # Division by zero + self.ideal_cycle.add(ms / self.iteration_counter) + except: + self.ideal_cycle.add(0) + + # Reset the counter + self.iteration_counter = 0 + + # The main thread of execution + def run_gui(self): + while(True): + start_time = datetime.now() + # Send update signal + self.gui.update_gui() + + # Wait for acknowldege signal + self.ack_event.wait() + self.ack_event.clear() + + finish_time = datetime.now() + self.iteration_counter = self.iteration_counter + 1 + + dt = finish_time - start_time + ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000.0 + + time_cycle = self.time_cycle.get() + + if(ms < time_cycle): + time.sleep((time_cycle-ms) / 1000.0) + + self.exit_signal.set() + + # Functions to handle auxillary GUI functions + def reset_gui(): + self.gui.reset_gui() + +if __name__ == "__main__": + gui = ProcessGUI() + gui.start() diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/hal.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/hal.py new file mode 100644 index 000000000..4378a48f8 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/hal.py @@ -0,0 +1,139 @@ +import rclpy +import sys + +import numpy as np +import threading +import time +from datetime import datetime + +from interfaces.camera import ListenerCamera +from interfaces.motors import PublisherMotors +from interfaces.laser import ListenerLaser +from interfaces.pose3d import ListenerPose3d + +from shared.image import SharedImage +from shared.value import SharedValue +from shared.laserdata import SharedLaserData +from shared.pose3d import SharedPose3D + +# Hardware Abstraction Layer + +class HAL: + IMG_WIDTH = 320 + IMG_HEIGHT = 240 + + def __init__(self): + print("HAL initializing", flush=True) + rclpy.init(args=sys.argv) + rclpy.create_node('HAL') + + # Shared memory variables + self.shared_image = SharedImage("halimage") + self.shared_v = SharedValue("velocity") + self.shared_w = SharedValue("angular") + self.shared_laserdata = SharedLaserData("laserdata") + self.shared_pose = SharedPose3D("pose") + + # ROS Topics + #self.motors = PublisherMotors("/cmd_vel", 4, 0.3) + self.camera = ListenerCamera("/camera_node/image_raw") + #self.laser = ListenerLaser("/scan") + #self.odometry = ListenerPose3d("/odom") + + self.start_time = 0 + + # Update thread + self.thread = ThreadHAL(self.update_hal) + print("HAL initialized", flush=True) + + # Function to start the update thread + def start_thread(self): + print("HAL thread starting", flush=True) + self.start_time = time.time() + self.thread.start() + + # Get laser data from ROS Driver + def getLaserData(self): + try: + rclpy.spin_once(self.laser) + values = self.laser.getLaserData().values + self.shared_laserdata.add(values) + except Exception as e: + print(f"Exception in hal getLaserData {repr(e)}") + + # Get pose from ROS Driver + def getPose3d(self): + try: + rclpy.spin_once(self.odometry) + pose = self.odometry.getPose3d() + self.shared_pose.add(pose) + except Exception as e: + print(f"Exception in hal getPose3d {repr(e)}") + + # Get Image from ROS Driver Camera + def getImage(self): + try: + rclpy.spin_once(self.camera) + image = self.camera.getImage().data + self.shared_image.add(image) + except Exception as e: + print(f"Exception in hal getImage {repr(e)}") + + # Set the velocity + def setV(self): + velocity = self.shared_v.get() + self.motors.sendV(velocity) + + # Get the velocity + def getV(self): + velocity = self.shared_v.get() + return velocity + + # Get the angular velocity + def getW(self): + angular = self.shared_w.get() + return angular + + # Set the angular velocity + def setW(self): + angular = self.shared_w.get() + self.motors.sendW(angular) + + def update_hal(self): + #self.getLaserData() + self.getImage() + #self.setV() + #self.setW() + #self.getPose3d() + + # Destructor function to close all fds + def __del__(self): + self.shared_image.close() + self.shared_v.close() + self.shared_w.close() + self.shared_laserdata.close() + self.shared_pose.close() + + +class ThreadHAL(threading.Thread): + def __init__(self, update_function): + super(ThreadHAL, self).__init__() + self.time_cycle = 80 + self.update_function = update_function + + def run(self): + print("Starting HAL thread", flush=True) + while (True): + start_time = datetime.now() + + # print(f"Calling update function inside hal thread") + self.update_function() + + finish_time = datetime.now() + + dt = finish_time - start_time + ms = (dt.days * 24 * 60 * 60 + dt.seconds) * \ + 1000 + dt.microseconds / 1000.0 + + if (ms < self.time_cycle): + time.sleep((self.time_cycle - ms) / 1000.0) diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/bounding_boxes.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/bounding_boxes.py new file mode 100644 index 000000000..71f320ce5 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/bounding_boxes.py @@ -0,0 +1,86 @@ +import rclpy +from rclpy.node import Node +import threading +from darknet_ros_msgs.msg import BoundingBoxes + +def debug(cad): + f = open("mydebug", "a") + f.write(cad) + f.close() + +class BoundingBoxData: + + def __init__(self): + self.probability = 0 + self.xmin = 0 + self.ymin = 0 + self.xmax = 0 + self.ymax = 0 + self.id = 0 + self.class_id = "" + + +def BoundingBox2BoundingBoxData(bbox): + bounding_box = BoundingBoxData() + bounding_box.probability = bbox.probability + bounding_box.xmin = bbox.xmin + bounding_box.ymin = bbox.ymin + bounding_box.xmax = bbox.xmax + bounding_box.ymax = bbox.ymax + bounding_box.id = bbox.id + bounding_box.class_id = bbox.class_id + + return bounding_box + + +class BoundingBoxesData: + + def __init__(self): + self.timeStamp = 0 + self.bounding_boxes = [] + + def __str__(self): + s = "TimeStamp: " + str(self.timeStamp) + "\nBoundingBoxes: " + str(self.bounding_boxes) + "\n" + return s + + +def BoundingBoxes2BoundingBoxesData(bboxes): + + bounding_boxes = BoundingBoxesData() + bounding_boxes.bounding_boxes = bboxes.bounding_boxes + bounding_boxes.timeStamp = bboxes.header.stamp.sec + (bboxes.header.stamp.nanosec *1e-9) + return bounding_boxes + +class ListenerBoundingBoxes(Node): + ''' + Bounding Boxes Subscriber + ''' + def __init__(self, topic): + super().__init__("bounding_boxes_subscriber_node") + self.topic = topic + self.data = BoundingBoxesData() + self.sub = None + self.lock = threading.Lock() + self.start() + + def __callback(self, bboxes): + bounding_boxes = BoundingBoxes2BoundingBoxesData(bboxes) + + self.lock.acquire() + self.data = bounding_boxes + self.lock.release() + + def start(self): + self.sub = self.create_subscription(BoundingBoxes, self.topic, self.__callback, 10) + + def stop(self): + self.sub.unregister() + + def getBoundingBoxes(self): + self.lock.acquire() + bounding_boxes = self.data + self.lock.release() + + return bounding_boxes + + diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/camera.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/camera.py new file mode 100644 index 000000000..5272fb600 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/camera.py @@ -0,0 +1,88 @@ +import rclpy +from rclpy.node import Node +import sensor_msgs.msg +import threading +from math import pi as PI +import cv2 +from cv_bridge import CvBridge, CvBridgeError + + +MAXRANGE = 8 #max length received from imageD +MINRANGE = 0 + +def imageMsg2Image(img, bridge): + + image = Image() + + image.width = img.width + image.height = img.height + image.format = "BGR8" + image.timeStamp = img.header.stamp.sec + (img.header.stamp.nanosec *1e-9) + cv_image=0 + if (img.encoding[-2:] == "C1"): + gray_img_buff = bridge.imgmsg_to_cv2(img, img.encoding) + cv_image = depthToRGB8(gray_img_buff, img.encoding) + else: + cv_image = bridge.imgmsg_to_cv2(img, "bgr8") + + image.data = cv_image + return image + +import numpy as np + + +class Image: + + def __init__(self): + + self.height = 480 # Image height [pixels] + self.width = 640 # Image width [pixels] + self.timeStamp = 0 # Time stamp [s] */ + self.format = "" # Image format string (RGB8, BGR,...) + self.data = np.zeros((self.height, self.width, 3), np.uint8) # The image data itself + self.data.shape = self.height, self.width, 3 + + + def __str__(self): + s = "Image: {\n height: " + str(self.height) + "\n width: " + str(self.width) + s = s + "\n format: " + self.format + "\n timeStamp: " + str(self.timeStamp) + s = s + "\n data: " + str(self.data) + "\n}" + return s + + +class ListenerCamera(Node): + + def __init__(self, topic): + super().__init__("camera_subscriber_node") + + self.topic = topic + self.data = Image() + self.sub = None + self.lock = threading.Lock() + + self.bridge = CvBridge() + self.start() + + def __callback (self, msg): + image = imageMsg2Image(msg, self.bridge) + + self.lock.acquire() + self.data = image + self.lock.release() + + def stop(self): + self.sub.unregister() + + def start (self): + self.sub = self.create_subscription(sensor_msgs.msg.Image, self.topic , self.__callback, 10) + + def getImage(self): + + self.lock.acquire() + image = self.data + self.lock.release() + + return image + + def hasproxy (self): + return hasattr(self,"sub") and self.sub diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/laser.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/laser.py new file mode 100644 index 000000000..db9ef0c9c --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/laser.py @@ -0,0 +1,119 @@ +from rclpy.node import Node +import sensor_msgs.msg +import threading +from math import pi as PI + +def debug(cad): + f = open("mydebug", "a") + f.write(cad) + f.close() + +class LaserData (): + + def __init__(self): + + self.values = [] # meters + self.minAngle = 0 # Angle of first value (rads) + self.maxAngle = 0 # Angle of last value (rads) + self.minRange = 0 # Max Range posible (meters) + self.maxRange = 0 #Min Range posible (meters) + self.timeStamp = 0 # seconds + + + def __str__(self): + s = "LaserData: {\n minAngle: " + str(self.minAngle) + "\n maxAngle: " + str(self.maxAngle) + s = s + "\n minRange: " + str(self.minRange) + "\n maxRange: " + str(self.maxRange) + s = s + "\n timeStamp: " + str(self.timeStamp) + "\n values: " + str(self.values) + "\n}" + return s + + +def laserScan2LaserData(scan): + ''' + Translates from ROS LaserScan to JderobotTypes LaserData. + + @param scan: ROS LaserScan to translate + + @type scan: LaserScan + + @return a LaserData translated from scan + + ''' + laser = LaserData() + laser.values = scan.ranges + ''' + ROS Angle Map JdeRobot Angle Map + 0 PI/2 + | | + | | + PI/2 --------- -PI/2 PI --------- 0 + | | + | | + ''' + laser.minAngle = scan.angle_min + PI/2 + laser.maxAngle = scan.angle_max + PI/2 + laser.maxRange = scan.range_max + laser.minRange = scan.range_min + laser.timeStamp = scan.header.stamp.sec + (scan.header.stamp.nanosec *1e-9) + return laser + +class ListenerLaser(Node): + ''' + ROS Laser Subscriber. Laser Client to Receive Laser Scans from ROS nodes. + ''' + def __init__(self, topic): + ''' + ListenerLaser Constructor. + + @param topic: ROS topic to subscribe + + @type topic: String + + ''' + super().__init__("laser_subscriber_node") + self.topic = topic + self.data = LaserData() + self.sub= None + self.lock = threading.Lock() + self.start() + + def __callback (self, scan): + ''' + Callback function to receive and save Laser Scans. + + @param scan: ROS LaserScan received + + @type scan: LaserScan + + ''' + laser = laserScan2LaserData(scan) + + self.lock.acquire() + self.data = laser + self.lock.release() + + def stop(self): + ''' + Stops (Unregisters) the client. + + ''' + self.sub.unregister() + + def start (self): + ''' + Starts (Subscribes) the client. + + ''' + self.sub = self.create_subscription(sensor_msgs.msg.LaserScan, self.topic, self.__callback, 10) + + def getLaserData(self): + ''' + Returns last LaserData. + + @return last JdeRobotTypes LaserData saved + + ''' + self.lock.acquire() + laser = self.data + self.lock.release() + + return laser diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/motors.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/motors.py new file mode 100644 index 000000000..138be49aa --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/motors.py @@ -0,0 +1,124 @@ +import rclpy +from geometry_msgs.msg import Twist +import threading +from math import pi as PI +from .threadPublisher import ThreadPublisher + + + +def cmdvel2Twist(vel): + + tw = Twist() + tw.linear.x = float(vel.vx) + tw.linear.y = float(vel.vy) + tw.linear.z = float(vel.vz) + tw.angular.x = float(vel.ax) + tw.angular.y = float(vel.ay) + tw.angular.z = float(vel.az) + + return tw + + +class CMDVel (): + + def __init__(self): + + self.vx = 0 # vel in x[m/s] (use this for V in wheeled robots) + self.vy = 0 # vel in y[m/s] + self.vz = 0 # vel in z[m/s] + self.ax = 0 # angular vel in X axis [rad/s] + self.ay = 0 # angular vel in X axis [rad/s] + self.az = 0 # angular vel in Z axis [rad/s] (use this for W in wheeled robots) + self.timeStamp = 0 # Time stamp [s] + + + def __str__(self): + s = "CMDVel: {\n vx: " + str(self.vx) + "\n vy: " + str(self.vy) + s = s + "\n vz: " + str(self.vz) + "\n ax: " + str(self.ax) + s = s + "\n ay: " + str(self.ay) + "\n az: " + str(self.az) + s = s + "\n timeStamp: " + str(self.timeStamp) + "\n}" + return s + +class PublisherMotors: + + def __init__(self, topic, maxV, maxW): + + self.maxW = maxW + self.maxV = maxV + + self.node = rclpy.create_node('PublisherMotors') + self.topic = topic + self.data = CMDVel() + self.pub = self.node.create_publisher(Twist, self.topic, 10 ) + + self.lock = threading.Lock() + + self.kill_event = threading.Event() + self.thread = ThreadPublisher(self, self.kill_event) + + self.thread.daemon = True + self.start() + + def publish (self): + + self.lock.acquire() + tw = cmdvel2Twist(self.data) + self.lock.release() + self.pub.publish(tw) + + def stop(self): + + self.kill_event.set() + self.pub.unregister() + + def start (self): + + self.kill_event.clear() + self.thread.start() + + + + def getMaxW(self): + return self.maxW + + def getMaxV(self): + return self.maxV + + + def sendVelocities(self, vel): + + self.lock.acquire() + self.data = vel + self.lock.release() + + def sendV(self, v): + + self.sendVX(v) + + def sendL(self, l): + + self.sendVY(l) + + def sendW(self, w): + + self.sendAZ(w) + + def sendVX(self, vx): + + self.lock.acquire() + self.data.vx = float(vx) + self.lock.release() + + def sendVY(self, vy): + + self.lock.acquire() + self.data.vy = float(vy) + self.lock.release() + + def sendAZ(self, az): + + self.lock.acquire() + self.data.az = float(az) + self.lock.release() + + diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pose3d.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pose3d.py new file mode 100644 index 000000000..4ec38f533 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pose3d.py @@ -0,0 +1,179 @@ +from rclpy.node import Node +import threading +from math import asin, atan2, pi +import nav_msgs.msg + +def quat2Yaw(qw, qx, qy, qz): + ''' + Translates from Quaternion to Yaw. + + @param qw,qx,qy,qz: Quaternion values + + @type qw,qx,qy,qz: float + + @return Yaw value translated from Quaternion + + ''' + rotateZa0=2.0*(qx*qy + qw*qz) + rotateZa1=qw*qw + qx*qx - qy*qy - qz*qz + rotateZ=0.0 + if(rotateZa0 != 0.0 and rotateZa1 != 0.0): + rotateZ=atan2(rotateZa0,rotateZa1) + return rotateZ + +def quat2Pitch(qw, qx, qy, qz): + ''' + Translates from Quaternion to Pitch. + + @param qw,qx,qy,qz: Quaternion values + + @type qw,qx,qy,qz: float + + @return Pitch value translated from Quaternion + + ''' + + rotateYa0=-2.0*(qx*qz - qw*qy) + rotateY=0.0 + if(rotateYa0 >= 1.0): + rotateY = pi/2.0 + elif(rotateYa0 <= -1.0): + rotateY = -pi/2.0 + else: + rotateY = asin(rotateYa0) + + return rotateY + +def quat2Roll (qw, qx, qy, qz): + ''' + Translates from Quaternion to Roll. + + @param qw,qx,qy,qz: Quaternion values + + @type qw,qx,qy,qz: float + + @return Roll value translated from Quaternion + + ''' + rotateXa0=2.0*(qy*qz + qw*qx) + rotateXa1=qw*qw - qx*qx - qy*qy + qz*qz + rotateX=0.0 + + if(rotateXa0 != 0.0 and rotateXa1 != 0.0): + rotateX=atan2(rotateXa0, rotateXa1) + return rotateX + + +def odometry2Pose3D(odom): + ''' + Translates from ROS Odometry to JderobotTypes Pose3d. + + @param odom: ROS Odometry to translate + + @type odom: Odometry + + @return a Pose3d translated from odom + + ''' + pose = Pose3d() + ori = odom.pose.pose.orientation + + pose.x = odom.pose.pose.position.x + pose.y = odom.pose.pose.position.y + pose.z = odom.pose.pose.position.z + #pose.h = odom.pose.pose.position.h + pose.yaw = quat2Yaw(ori.w, ori.x, ori.y, ori.z) + pose.pitch = quat2Pitch(ori.w, ori.x, ori.y, ori.z) + pose.roll = quat2Roll(ori.w, ori.x, ori.y, ori.z) + pose.q = [ori.w, ori.x, ori.y, ori.z] + pose.timeStamp = odom.header.stamp.sec + (odom.header.stamp.nanosec *1e-9) + + return pose + +class Pose3d (): + + def __init__(self): + + self.x = 0 # X coord [meters] + self.y = 0 # Y coord [meters] + self.z = 0 # Z coord [meters] + self.h = 1 # H param + self.yaw = 0 #Yaw angle[rads] + self.pitch = 0 # Pitch angle[rads] + self.roll = 0 # Roll angle[rads] + self.q = [0,0,0,0] # Quaternion + self.timeStamp = 0 # Time stamp [s] + + + def __str__(self): + s = "Pose3D: {\n x: " + str(self.x) + "\n y: " + str(self.y) + s = s + "\n z: " + str(self.z) + "\n H: " + str(self.h) + s = s + "\n Yaw: " + str(self.yaw) + "\n Pitch: " + str(self.pitch) + "\n Roll: " + str(self.roll) + s = s + "\n quaternion: " + str(self.q) + "\n timeStamp: " + str(self.timeStamp) + "\n}" + return s + + +class ListenerPose3d(Node): + ''' + ROS Pose3D Subscriber. Pose3D Client to Receive pose3d from ROS nodes. + ''' + def __init__(self, topic): + ''' + ListenerPose3d Constructor. + + @param topic: ROS topic to subscribe + + @type topic: String + + ''' + super().__init__("pose3d_subscriber_node") + self.topic = topic + self.data = Pose3d() + self.sub = None + self.lock = threading.Lock() + self.start() + + def __callback (self, odom): + ''' + Callback function to receive and save Pose3d. + + @param odom: ROS Odometry received + + @type odom: Odometry + + ''' + pose = odometry2Pose3D(odom) + + + self.lock.acquire() + self.data = pose + self.lock.release() + + def stop(self): + ''' + Stops (Unregisters) the client. + + ''' + self.sub.unregister() + + def start (self): + ''' + Starts (Subscribes) the client. + + ''' + self.sub = self.create_subscription(nav_msgs.msg.Odometry, self.topic, self.__callback, 10) + + + def getPose3d(self): + ''' + Returns last Pose3d. + + @return last JdeRobotTypes Pose3d saved + + ''' + self.lock.acquire() + pose = self.data + self.lock.release() + + return pose + diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/Readme.md b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/Readme.md new file mode 100644 index 000000000..4841ae789 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/Readme.md @@ -0,0 +1 @@ +From Official Tensorflow Object Detection diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/ssd_inception_v2_coco.pb b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/ssd_inception_v2_coco.pb new file mode 100644 index 000000000..92189ed5f Binary files /dev/null and b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/ssd_inception_v2_coco.pb differ diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/ssd_inception_v2_coco.pbtxt b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/ssd_inception_v2_coco.pbtxt new file mode 100644 index 000000000..4430041fb --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/pretrained_model/ssd_inception_v2_coco.pbtxt @@ -0,0 +1,2253 @@ +node { + name: "image_tensor" + op: "Placeholder" + attr { + key: "dtype" + value { + type: DT_UINT8 + } + } + attr { + key: "shape" + value { + shape { + dim { + size: -1 + } + dim { + size: -1 + } + dim { + size: -1 + } + dim { + size: 3 + } + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "image_tensor" + input: "FeatureExtractor/MobilenetV1/Conv2d_0/weights/read/_104__cf__107" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/batchnorm/sub/_103__cf__106" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_0/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_1_depthwise/depthwise_weights/read/_101__cf__104" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm/batchnorm/mul/_99__cf__102" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm/batchnorm/sub/_100__cf__103" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_1_pointwise/weights/read/_98__cf__101" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/BatchNorm/batchnorm/sub/_97__cf__100" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_1_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_2_depthwise/depthwise_weights/read/_95__cf__98" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm/batchnorm/mul/_93__cf__96" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm/batchnorm/sub/_94__cf__97" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_2_pointwise/weights/read/_92__cf__95" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/BatchNorm/batchnorm/sub/_91__cf__94" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_2_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_3_depthwise/depthwise_weights/read/_89__cf__92" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm/batchnorm/mul/_87__cf__90" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm/batchnorm/sub/_88__cf__91" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_3_pointwise/weights/read/_86__cf__89" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/BatchNorm/batchnorm/sub/_85__cf__88" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_3_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_4_depthwise/depthwise_weights/read/_83__cf__86" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm/batchnorm/mul/_81__cf__84" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm/batchnorm/sub/_82__cf__85" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_4_pointwise/weights/read/_80__cf__83" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/BatchNorm/batchnorm/sub/_79__cf__82" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_4_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_5_depthwise/depthwise_weights/read/_77__cf__80" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm/batchnorm/mul/_75__cf__78" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm/batchnorm/sub/_76__cf__79" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_5_pointwise/weights/read/_74__cf__77" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/BatchNorm/batchnorm/sub/_73__cf__76" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_5_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_6_depthwise/depthwise_weights/read/_71__cf__74" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm/batchnorm/mul/_69__cf__72" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm/batchnorm/sub/_70__cf__73" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_6_pointwise/weights/read/_68__cf__71" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/BatchNorm/batchnorm/sub/_67__cf__70" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_6_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_7_depthwise/depthwise_weights/read/_65__cf__68" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm/batchnorm/mul/_63__cf__66" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm/batchnorm/sub/_64__cf__67" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_7_pointwise/weights/read/_62__cf__65" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/BatchNorm/batchnorm/sub/_61__cf__64" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_7_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_8_depthwise/depthwise_weights/read/_59__cf__62" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm/batchnorm/mul/_57__cf__60" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm/batchnorm/sub/_58__cf__61" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_8_pointwise/weights/read/_56__cf__59" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/BatchNorm/batchnorm/sub/_55__cf__58" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_8_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_9_depthwise/depthwise_weights/read/_53__cf__56" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm/batchnorm/mul/_51__cf__54" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm/batchnorm/sub/_52__cf__55" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_9_pointwise/weights/read/_50__cf__53" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/BatchNorm/batchnorm/sub/_49__cf__52" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_9_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_10_depthwise/depthwise_weights/read/_47__cf__50" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm/batchnorm/mul/_45__cf__48" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm/batchnorm/sub/_46__cf__49" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_10_pointwise/weights/read/_44__cf__47" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/BatchNorm/batchnorm/sub/_43__cf__46" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_10_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_11_depthwise/depthwise_weights/read/_41__cf__44" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm/batchnorm/mul/_39__cf__42" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm/batchnorm/sub/_40__cf__43" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_11_pointwise/weights/read/_38__cf__41" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/BatchNorm/batchnorm/sub/_37__cf__40" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_12_depthwise/depthwise_weights/read/_35__cf__38" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm/batchnorm/mul/_33__cf__36" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm/batchnorm/sub/_34__cf__37" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_12_pointwise/weights/read/_32__cf__35" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/BatchNorm/batchnorm/sub/_31__cf__34" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/depthwise" + op: "DepthwiseConv2dNative" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_12_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_depthwise/depthwise_weights/read/_29__cf__32" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm/batchnorm/mul_1" + op: "Mul" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/depthwise" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm/batchnorm/mul/_27__cf__30" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm/batchnorm/sub/_28__cf__31" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_depthwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise/weights/read/_26__cf__29" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/BatchNorm/batchnorm/sub/_25__cf__28" +} +node { + name: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/weights/read/_23__cf__26" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/BatchNorm/batchnorm/sub/_22__cf__25" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_2_1x1_256/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/weights/read/_20__cf__23" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/BatchNorm/batchnorm/sub/_19__cf__22" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/weights/read/_17__cf__20" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/BatchNorm/batchnorm/sub/_16__cf__19" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_3_1x1_128/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/weights/read/_14__cf__17" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/BatchNorm/batchnorm/sub/_13__cf__16" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/weights/read/_11__cf__14" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/BatchNorm/batchnorm/sub/_10__cf__13" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_4_1x1_128/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/weights/read/_8__cf__11" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/BatchNorm/batchnorm/sub/_7__cf__10" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/weights/read/_5__cf__8" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/BatchNorm/batchnorm/sub/_4__cf__7" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/BatchNorm/batchnorm/add_1" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/BatchNorm/batchnorm/mul_1" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_1_Conv2d_5_1x1_64/Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/weights/read/_2__cf__5" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 2 + i: 2 + i: 1 + } + } + } +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/BatchNorm/batchnorm/add_1" + op: "Add" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/BatchNorm/batchnorm/mul_1" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/BatchNorm/batchnorm/sub/_1__cf__4" +} +node { + name: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/Relu6" + op: "Relu6" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/BatchNorm/batchnorm/add_1" +} +node { + name: "BoxPredictor_5/BoxEncodingPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/Relu6" + input: "BoxPredictor_5/BoxEncodingPredictor/weights/read/_106__cf__109" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_5/BoxEncodingPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_5/BoxEncodingPredictor/Conv2D" + input: "BoxPredictor_5/BoxEncodingPredictor/biases/read/_105__cf__108" +} +node { + name: "BoxPredictor_5/ClassPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_5_3x3_s2_128/Relu6" + input: "BoxPredictor_5/ClassPredictor/weights/read/_168__cf__171" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_5/ClassPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_5/ClassPredictor/Conv2D" + input: "BoxPredictor_5/ClassPredictor/biases/read/_167__cf__170" +} +node { + name: "BoxPredictor_4/BoxEncodingPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/Relu6" + input: "BoxPredictor_4/BoxEncodingPredictor/weights/read/_108__cf__111" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_4/BoxEncodingPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_4/BoxEncodingPredictor/Conv2D" + input: "BoxPredictor_4/BoxEncodingPredictor/biases/read/_107__cf__110" +} +node { + name: "BoxPredictor_4/ClassPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_4_3x3_s2_256/Relu6" + input: "BoxPredictor_4/ClassPredictor/weights/read/_170__cf__173" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_4/ClassPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_4/ClassPredictor/Conv2D" + input: "BoxPredictor_4/ClassPredictor/biases/read/_169__cf__172" +} +node { + name: "BoxPredictor_3/BoxEncodingPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/Relu6" + input: "BoxPredictor_3/BoxEncodingPredictor/weights/read/_110__cf__113" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_3/BoxEncodingPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_3/BoxEncodingPredictor/Conv2D" + input: "BoxPredictor_3/BoxEncodingPredictor/biases/read/_109__cf__112" +} +node { + name: "BoxPredictor_3/ClassPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256/Relu6" + input: "BoxPredictor_3/ClassPredictor/weights/read/_172__cf__175" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_3/ClassPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_3/ClassPredictor/Conv2D" + input: "BoxPredictor_3/ClassPredictor/biases/read/_171__cf__174" +} +node { + name: "BoxPredictor_2/BoxEncodingPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/Relu6" + input: "BoxPredictor_2/BoxEncodingPredictor/weights/read/_112__cf__115" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_2/BoxEncodingPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_2/BoxEncodingPredictor/Conv2D" + input: "BoxPredictor_2/BoxEncodingPredictor/biases/read/_111__cf__114" +} +node { + name: "BoxPredictor_2/ClassPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512/Relu6" + input: "BoxPredictor_2/ClassPredictor/weights/read/_174__cf__177" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_2/ClassPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_2/ClassPredictor/Conv2D" + input: "BoxPredictor_2/ClassPredictor/biases/read/_173__cf__176" +} +node { + name: "BoxPredictor_1/BoxEncodingPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Relu6" + input: "BoxPredictor_1/BoxEncodingPredictor/weights/read/_114__cf__117" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_1/BoxEncodingPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_1/BoxEncodingPredictor/Conv2D" + input: "BoxPredictor_1/BoxEncodingPredictor/biases/read/_113__cf__116" +} +node { + name: "BoxPredictor_1/ClassPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_13_pointwise/Relu6" + input: "BoxPredictor_1/ClassPredictor/weights/read/_176__cf__179" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_1/ClassPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_1/ClassPredictor/Conv2D" + input: "BoxPredictor_1/ClassPredictor/biases/read/_175__cf__178" +} +node { + name: "BoxPredictor_0/BoxEncodingPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/Relu6" + input: "BoxPredictor_0/BoxEncodingPredictor/weights/read/_116__cf__119" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_0/BoxEncodingPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_0/BoxEncodingPredictor/Conv2D" + input: "BoxPredictor_0/BoxEncodingPredictor/biases/read/_115__cf__118" +} +node { + name: "BoxPredictor_0/ClassPredictor/Conv2D" + op: "Conv2D" + input: "FeatureExtractor/MobilenetV1/MobilenetV1/Conv2d_11_pointwise/Relu6" + input: "BoxPredictor_0/ClassPredictor/weights/read/_178__cf__181" + attr { + key: "padding" + value { + s: "SAME" + } + } + attr { + key: "strides" + value { + list { + i: 1 + i: 1 + i: 1 + i: 1 + } + } + } +} +node { + name: "BoxPredictor_0/ClassPredictor/BiasAdd" + op: "BiasAdd" + input: "BoxPredictor_0/ClassPredictor/Conv2D" + input: "BoxPredictor_0/ClassPredictor/biases/read/_177__cf__180" +} +node { + name: "concat/axis_flatten" + op: "Const" + attr { + key: "value" + value { + tensor { + dtype: DT_INT32 + tensor_shape { + } + int_val: -1 + } + } + } +} +node { + name: "BoxPredictor_0/ClassPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_0/ClassPredictor/BiasAdd" +} +node { + name: "BoxPredictor_1/ClassPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_1/ClassPredictor/BiasAdd" +} +node { + name: "BoxPredictor_2/ClassPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_2/ClassPredictor/BiasAdd" +} +node { + name: "BoxPredictor_3/ClassPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_3/ClassPredictor/BiasAdd" +} +node { + name: "BoxPredictor_4/ClassPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_4/ClassPredictor/BiasAdd" +} +node { + name: "BoxPredictor_5/ClassPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_5/ClassPredictor/BiasAdd" +} +node { + name: "ClassPredictor/concat" + op: "ConcatV2" + input: "BoxPredictor_0/ClassPredictor/BiasAdd/Flatten" + input: "BoxPredictor_1/ClassPredictor/BiasAdd/Flatten" + input: "BoxPredictor_2/ClassPredictor/BiasAdd/Flatten" + input: "BoxPredictor_3/ClassPredictor/BiasAdd/Flatten" + input: "BoxPredictor_4/ClassPredictor/BiasAdd/Flatten" + input: "BoxPredictor_5/ClassPredictor/BiasAdd/Flatten" + input: "concat/axis_flatten" +} +node { + name: "BoxPredictor_0/BoxEncodingPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_0/BoxEncodingPredictor/BiasAdd" +} +node { + name: "BoxPredictor_1/BoxEncodingPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_1/BoxEncodingPredictor/BiasAdd" +} +node { + name: "BoxPredictor_2/BoxEncodingPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_2/BoxEncodingPredictor/BiasAdd" +} +node { + name: "BoxPredictor_3/BoxEncodingPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_3/BoxEncodingPredictor/BiasAdd" +} +node { + name: "BoxPredictor_4/BoxEncodingPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_4/BoxEncodingPredictor/BiasAdd" +} +node { + name: "BoxPredictor_5/BoxEncodingPredictor/BiasAdd/Flatten" + op: "Flatten" + input: "BoxPredictor_5/BoxEncodingPredictor/BiasAdd" +} +node { + name: "BoxEncodingPredictor/concat" + op: "ConcatV2" + input: "BoxPredictor_0/BoxEncodingPredictor/BiasAdd/Flatten" + input: "BoxPredictor_1/BoxEncodingPredictor/BiasAdd/Flatten" + input: "BoxPredictor_2/BoxEncodingPredictor/BiasAdd/Flatten" + input: "BoxPredictor_3/BoxEncodingPredictor/BiasAdd/Flatten" + input: "BoxPredictor_4/BoxEncodingPredictor/BiasAdd/Flatten" + input: "BoxPredictor_5/BoxEncodingPredictor/BiasAdd/Flatten" + input: "concat/axis_flatten" +} +node { + name: "PriorBox_0" + op: "PriorBox" + input: "BoxPredictor_0/BoxEncodingPredictor/BiasAdd" + input: "image_tensor" + attr { + key: "clip" + value { + b: false + } + } + attr { + key: "flip" + value { + b: false + } + } + attr { + key: "height" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + } + float_val: 30.0 + float_val: 42.4264068604 + float_val: 84.8528137207 + } + } + } + attr { + key: "variance" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 0.10000000149 + float_val: 0.10000000149 + float_val: 0.20000000298 + float_val: 0.20000000298 + } + } + } + attr { + key: "width" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 3 + } + } + float_val: 30.0 + float_val: 84.8528137207 + float_val: 42.4264068604 + } + } + } +} +node { + name: "PriorBox_1" + op: "PriorBox" + input: "BoxPredictor_1/BoxEncodingPredictor/BiasAdd" + input: "image_tensor" + attr { + key: "clip" + value { + b: false + } + } + attr { + key: "flip" + value { + b: false + } + } + attr { + key: "height" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 105.0 + float_val: 74.2462081909 + float_val: 148.492416382 + float_val: 60.6217765808 + float_val: 181.956329346 + float_val: 125.499000549 + } + } + } + attr { + key: "variance" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 0.10000000149 + float_val: 0.10000000149 + float_val: 0.20000000298 + float_val: 0.20000000298 + } + } + } + attr { + key: "width" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 105.0 + float_val: 148.492416382 + float_val: 74.2462081909 + float_val: 181.865341187 + float_val: 60.5914611816 + float_val: 125.499000549 + } + } + } +} +node { + name: "PriorBox_2" + op: "PriorBox" + input: "BoxPredictor_2/BoxEncodingPredictor/BiasAdd" + input: "image_tensor" + attr { + key: "clip" + value { + b: false + } + } + attr { + key: "flip" + value { + b: false + } + } + attr { + key: "height" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 150.0 + float_val: 106.066017151 + float_val: 212.132034302 + float_val: 86.6025390625 + float_val: 259.93762207 + float_val: 171.026321411 + } + } + } + attr { + key: "variance" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 0.10000000149 + float_val: 0.10000000149 + float_val: 0.20000000298 + float_val: 0.20000000298 + } + } + } + attr { + key: "width" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 150.0 + float_val: 212.132034302 + float_val: 106.066017151 + float_val: 259.807617188 + float_val: 86.5592269897 + float_val: 171.026321411 + } + } + } +} +node { + name: "PriorBox_3" + op: "PriorBox" + input: "BoxPredictor_3/BoxEncodingPredictor/BiasAdd" + input: "image_tensor" + attr { + key: "clip" + value { + b: false + } + } + attr { + key: "flip" + value { + b: false + } + } + attr { + key: "height" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 195.0 + float_val: 137.885818481 + float_val: 275.771636963 + float_val: 112.583305359 + float_val: 337.918914795 + float_val: 216.333084106 + } + } + } + attr { + key: "variance" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 0.10000000149 + float_val: 0.10000000149 + float_val: 0.20000000298 + float_val: 0.20000000298 + } + } + } + attr { + key: "width" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 195.0 + float_val: 275.771636963 + float_val: 137.885818481 + float_val: 337.749908447 + float_val: 112.527000427 + float_val: 216.333084106 + } + } + } +} +node { + name: "PriorBox_4" + op: "PriorBox" + input: "BoxPredictor_4/BoxEncodingPredictor/BiasAdd" + input: "image_tensor" + attr { + key: "clip" + value { + b: false + } + } + attr { + key: "flip" + value { + b: false + } + } + attr { + key: "height" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 240.0 + float_val: 169.705627441 + float_val: 339.411254883 + float_val: 138.564071655 + float_val: 415.90020752 + float_val: 261.533935547 + } + } + } + attr { + key: "variance" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 0.10000000149 + float_val: 0.10000000149 + float_val: 0.20000000298 + float_val: 0.20000000298 + } + } + } + attr { + key: "width" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 240.0 + float_val: 339.411254883 + float_val: 169.705627441 + float_val: 415.692199707 + float_val: 138.494766235 + float_val: 261.533935547 + } + } + } +} +node { + name: "PriorBox_5" + op: "PriorBox" + input: "BoxPredictor_5/BoxEncodingPredictor/BiasAdd" + input: "image_tensor" + attr { + key: "clip" + value { + b: false + } + } + attr { + key: "flip" + value { + b: false + } + } + attr { + key: "height" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 285.0 + float_val: 201.525436401 + float_val: 403.050872803 + float_val: 164.544830322 + float_val: 493.881469727 + float_val: 292.403839111 + } + } + } + attr { + key: "variance" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 4 + } + } + float_val: 0.10000000149 + float_val: 0.10000000149 + float_val: 0.20000000298 + float_val: 0.20000000298 + } + } + } + attr { + key: "width" + value { + tensor { + dtype: DT_FLOAT + tensor_shape { + dim { + size: 6 + } + } + float_val: 285.0 + float_val: 403.050872803 + float_val: 201.525436401 + float_val: 493.634490967 + float_val: 164.462539673 + float_val: 292.403839111 + } + } + } +} +node { + name: "PriorBox/concat" + op: "ConcatV2" + input: "PriorBox_0" + input: "PriorBox_1" + input: "PriorBox_2" + input: "PriorBox_3" + input: "PriorBox_4" + input: "PriorBox_5" + input: "concat/axis_flatten" +} +node { + name: "ClassPredictor/concat/sigmoid" + op: "Sigmoid" + input: "ClassPredictor/concat" +} +node { + name: "detection_out" + op: "DetectionOutput" + input: "BoxEncodingPredictor/concat" + input: "ClassPredictor/concat/sigmoid" + input: "PriorBox/concat" + attr { + key: "background_label_id" + value { + i: 0 + } + } + attr { + key: "code_type" + value { + s: "CENTER_SIZE" + } + } + attr { + key: "confidence_threshold" + value { + f: 0.00999999977648 + } + } + attr { + key: "keep_top_k" + value { + i: 100 + } + } + attr { + key: "loc_pred_transposed" + value { + b: true + } + } + attr { + key: "nms_threshold" + value { + f: 0.600000023842 + } + } + attr { + key: "num_classes" + value { + i: 91 + } + } + attr { + key: "share_location" + value { + b: true + } + } + attr { + key: "top_k" + value { + i: 100 + } + } +} +library { +} diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/ssd_detection.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/ssd_detection.py new file mode 100644 index 000000000..5c9c75458 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/ssd_detection.py @@ -0,0 +1,33 @@ +import cv2 + +FROZEN_GRAPH = "/RoboticsAcademy/exercises/static/exercises/follow_person_newmanager/web-template/interfaces/pretrained_model/ssd_inception_v2_coco.pb" +PB_TXT = "/RoboticsAcademy/exercises/static/exercises/follow_person_newmanager/web-template/interfaces/pretrained_model/ssd_inception_v2_coco.pbtxt" +SIZE = 300 + +class BoundingBox: + def __init__(self, identifier, class_id, score, xmin, ymin, xmax, ymax): + self.id = identifier + self.class_id = class_id + self.score = score + self.xmin = xmin + self.ymin = ymin + self.xmax = xmax + self.ymax = ymax + + def __str__(self): + s = "[id:{}\nclass:{}\nscore:{}\nxmin:{}\nymin:{}\nxmax:{}\nymax:{}\n".format( + self.id, self.class_id, self.score, self.xmin, self.ymin, self.xmax, self.ymax) + return s + +class NeuralNetwork: + + def __init__(self): + self.net = cv2.dnn.readNetFromTensorflow(FROZEN_GRAPH, PB_TXT) + + def detect(self, img): + rows = img.shape[0] + cols = img.shape[1] + self.net.setInput(cv2.dnn.blobFromImage(img, 1.0/127.5, (SIZE, SIZE), (127.5, 127.5, 127.5), swapRB=True, crop=False)) + cvOut = self.net.forward() + + return cvOut[0, 0, :, :] diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/threadPublisher.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/threadPublisher.py new file mode 100644 index 000000000..69aa0ad48 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/interfaces/threadPublisher.py @@ -0,0 +1,46 @@ +# +# Copyright (C) 1997-2016 JDE Developers Team +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# Authors : +# Alberto Martin Florido +# Aitor Martinez Fernandez +# +import threading +import time +from datetime import datetime + +time_cycle = 80 + + +class ThreadPublisher(threading.Thread): + + def __init__(self, pub, kill_event): + self.pub = pub + self.kill_event = kill_event + threading.Thread.__init__(self, args=kill_event) + + def run(self): + while (not self.kill_event.is_set()): + start_time = datetime.now() + + self.pub.publish() + + finish_Time = datetime.now() + + dt = finish_Time - start_time + ms = (dt.days * 24 * 60 * 60 + dt.seconds) * 1000 + dt.microseconds / 1000.0 + #print (ms) + if (ms < time_cycle): + time.sleep((time_cycle - ms) / 1000.0) \ No newline at end of file diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/launch/follow_person.launch.py b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/launch/follow_person.launch.py new file mode 100644 index 000000000..be549cd39 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/launch/follow_person.launch.py @@ -0,0 +1,19 @@ +from launch import LaunchDescription +from launch_ros.actions import Node + + +def generate_launch_description(): + + camera_node = Node( + package='usb_cam', + namespace='camera_node', + executable='usb_cam_node_exe', + name='camera' + ) + + # Create the launch description and populate + ld = LaunchDescription() + + ld.add_action(camera_node) + + return ld \ No newline at end of file diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/Test2ExerciseManager.js b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/Test2ExerciseManager.js new file mode 100644 index 000000000..6c43c60a9 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/Test2ExerciseManager.js @@ -0,0 +1,42 @@ +import * as React from 'react'; +import classNames from 'classnames'; + +import './css/TestExerciseManager2.css'; +import {Fragment} from "react"; + +const Test2ExerciseManager = () => { + const [message, setMessage] = React.useState("No responses received"); + const [iserror, setIsError] = React.useState(false); + + const classes = classNames({ + "test-exercise-manager-message": true, + "error": iserror + }); + + React.useEffect(() => { + console.log("Test2ExerciseManager subscribing to ['ack','error'] events"); + const callback = (message) => { + setIsError(message.command === 'error'); + setMessage(message.data.message); + console.log(message.data.message); + }; + + RoboticsExerciseComponents.commsManager.subscribe(['ack', 'error'], + callback); + + return () => { + console.log("Test2ExerciseManager unsubscribing from ['ack','error'] events"); + RoboticsExerciseComponents.commsManager.unsubscribe(['ack', 'error'], + callback); + } + }, []); + + return ( + +
+
{message}
+
+ ) +} + +export default Test2ExerciseManager; \ No newline at end of file diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/Test3ExerciseManager.js b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/Test3ExerciseManager.js new file mode 100644 index 000000000..3f998dc0c --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/Test3ExerciseManager.js @@ -0,0 +1,44 @@ +import * as React from 'react'; +import classNames from 'classnames'; + +import './css/TestExerciseManager3.css'; +import {Fragment} from "react"; + +const Test3ExerciseManager = () => { + const [state, setState] = React.useState("Idle"); + + const classes = classNames({ + "test-exercise-manager-state": true, + }); + + React.useEffect(() => { + console.log("Test3ExerciseManager subscribing to ['state-change'] events"); + + const callback = (message) => { + setState(message.data.state); + console.log(message); + }; + + RoboticsExerciseComponents.commsManager.subscribe([ + RoboticsExerciseComponents.commsManager.events.STATE_CHANGED + ], + callback); + + return () => { + console.log("Test2ExerciseManager unsubscribing from ['state-changed'] events"); + RoboticsExerciseComponents.commsManager.unsubscribe([ + RoboticsExerciseComponents.commsManager.events.STATE_CHANGED + ], + callback); + } + }, []); + + return ( + +
+
CURRENT STATE: {state}
+
+ ) +} + +export default Test3ExerciseManager; \ No newline at end of file diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestExerciseManager.js b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestExerciseManager.js new file mode 100644 index 000000000..adb83294e --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestExerciseManager.js @@ -0,0 +1,50 @@ +import * as React from 'react'; +import {Fragment, useEffect, useState} from 'react'; +import * as log from 'loglevel'; +import classNames from 'classnames'; + +import './css/TestExerciseManager.css'; + +const TestExerciseManager = (props) => { + const [message, setMessage] = useState(""); + const [iserror, setIserror] = useState(false); + const classes = classNames({ + "test-exercise-manager-message": true, + "error": iserror + }); + + const launch = (command) => { + const config = JSON.parse(document.getElementById("exercise-config").textContent); + + RoboticsExerciseComponents.commsManager.launch(config) + .then((message) => { + setMessage("Ready"); + setIserror(false); + }).catch((response) => { + setMessage(`Message not received, reason: ${response.data.message}`); + setIserror(true); + }) + }; + + const connect = (command) => { + RoboticsExerciseComponents.commsManager.connect() + .then((message) => { + setMessage("Connected"); + setIserror(false); + }).catch((response) => { + setMessage(`Message not received, reason: ${response.data.message}`); + setIserror(true); + }) + }; + + return ( + +
Connect
+
Launch
+ +
{message}
+
+ ); +}; + +export default TestExerciseManager; \ No newline at end of file diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestLoader.js b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestLoader.js new file mode 100644 index 000000000..ea14c780e --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestLoader.js @@ -0,0 +1,98 @@ +import {Fragment, useState} from "react"; + +import "./css/TestLoader.css" +import classNames from "classnames"; + +const TestLoader = (props) => { + const [state, setState] = useState("idle"); + const [waiting, setWaiting] = useState(false); + + const classes = classNames({ + "test-loader": true, + "disabled": waiting + }); + + const spinnerClasses = classNames({ + "lds-ring": true, + "hidden": !waiting + }) + + const buttonClick = (event) => { + if (state === 'idle') { + doConnect(); + } else if (state === 'connected') { + doLaunch(); + } else if (state === 'ready') { + doTerminate(); + } + }; + + const doConnect = () => { + setWaiting(true); + + RoboticsExerciseComponents.commsManager.connect() + .then((message) => { + setState('connected'); + }).catch((response) => { + + }).finally(() => { + setWaiting(false); + }); + } + + const doLaunch = () => { + setWaiting(true); + const config = JSON.parse(document.getElementById("exercise-config").textContent); + + // Setting up circuit name into configuration + config.application.params = { circuit: "default" }; + let launch_file = config.launch['0'].launch_file.interpolate({ circuit: 'default' }); + config.launch['0'].launch_file = launch_file; + + RoboticsExerciseComponents.commsManager.launch(config) + .then((message) => { + setState('ready'); + }).catch((response) => { + + }).finally(() => { + setWaiting(false); + }); + } + + const doTerminate = () => { + setWaiting(true); + + RoboticsExerciseComponents.commsManager.terminate() + .then((message) => { + setState('connected'); + }).catch((response) => { + + }).finally(() => { + setWaiting(false) + }); + } + + const buttonText = () => { + if (state === 'idle') { + return "Connect"; + } else if (state === 'connected') { + return "Launch"; + } else if (state === 'ready') { + return "Terminate"; + } + } + + return ( +
+
{buttonText()}
+
+
+
+
+
+
+
+ ); +} + +export default TestLoader; \ No newline at end of file diff --git a/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestShowScreen.js b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestShowScreen.js new file mode 100644 index 000000000..c1b64be47 --- /dev/null +++ b/RoboticsAcademy/exercises/static/exercises/real_follow_person_newmanager/web-template/react-components/TestShowScreen.js @@ -0,0 +1,68 @@ +import React, {Fragment} from "react"; +import './css/TestShowScreen.css'; +import classNames from "classnames"; + +const TestShowScreen = (props) => { + const [image, setImage] = React.useState(null); + const [code, setCode] = React.useState(""); + + const classes = classNames({ + "test-show-screen": true, + }); + + React.useEffect(() => { + console.log("TestShowScreen subscribing to ['update'] events"); + setImage("https://via.placeholder.com/800x600.png?text=No%20image%20received%20from%20exercise"); + + const callback = (message) => { + const update = message.data.update; + if (update.image) { + const image = JSON.parse(update.image); + setImage(`data:image/png;base64,${image.image}`); + } else { + setImage("https://via.placeholder.com/800x600.png?text=No%20image%20received%20from%20exercise"); + } + }; + + RoboticsExerciseComponents.commsManager.subscribe([ + RoboticsExerciseComponents.commsManager.events.UPDATE + ], + callback); + + return () => { + console.log("TestShowScreen unsubscribing from ['state-changed'] events"); + RoboticsExerciseComponents.commsManager.unsubscribe([ + RoboticsExerciseComponents.commsManager.events.UPDATE + ], + callback); + } + }, []); + + const changeCode = (event) => { + setCode(event.target.value); + }; + + const sendCode = (event) => { + RoboticsExerciseComponents.commsManager.send("load", { + code: code + }).then(message => { + console.log("code loaded"); + }).catch(response => { + console.error(response); + }) + }; + + return ( +
+
+