data_preparation.sh 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/bash
  2. # 检查到未定义的变量则停止执行并报错
  3. set -u
  4. # 检查参数数量
  5. if [ "$#" -ne 1 ]; then
  6. echo "Error: Incorrect number of arguments"
  7. echo "Usage: $0 ZIP_FILE_PATH"
  8. exit 1
  9. fi
  10. ZIP_FILE_PATH=$1
  11. SIMULATION_PATH="/home/cicv/work/pji_desktop/simulation"
  12. UNZIP_DATA_PATH="/home/cicv/work/pji_desktop/tmp_download/simulation_zip/data"
  13. # 检查zip文件是否存在
  14. if [ -e "$ZIP_FILE_PATH" ]; then
  15. echo "The file exists: $ZIP_FILE_PATH"
  16. else
  17. echo "The file does not exist: $ZIP_FILE_PATH"
  18. exit 1
  19. fi
  20. # 清除历史文件
  21. ## 检查要删除的目录是否为空
  22. if [[ -z "$UNZIP_DATA_PATH" ]]; then
  23. echo "Error: Variable UPDATE_DATA_PATH is not set or empty"
  24. exit 1
  25. fi
  26. echo "Starting deleting old files: $UNZIP_DATA_PATH..."
  27. ## 删除对应目录
  28. sudo safe-rm -rf "$UNZIP_DATA_PATH"
  29. echo "Old files deleted: $UNZIP_DATA_PATH"
  30. # 解压文件
  31. echo "Starting decompressing zip file: $ZIP_FILE_PATH..."
  32. ## 解压zip文件
  33. unzip -o "$ZIP_FILE_PATH" -d "$UNZIP_DATA_PATH" # -o表示覆盖现有文件
  34. ## 解压data目录
  35. unzip -o "$UNZIP_DATA_PATH/data.zip" -d "$UNZIP_DATA_PATH/data" # -o表示覆盖现有文件
  36. echo "Zip file decompressed: $ZIP_FILE_PATH"
  37. # 复制文件到项目目录
  38. ## data目录
  39. echo "Starting copying directory: $UNZIP_DATA_PATH/data to $SIMULATION_PATH/data/pjirobot..."
  40. sudo safe-rm -rf "$SIMULATION_PATH"/data/pjirobot/data/*
  41. sudo cp -r "$UNZIP_DATA_PATH/data" "$SIMULATION_PATH/data/pjirobot/"
  42. echo "Directory copy successfully"
  43. ## mapBuf
  44. echo "Starting copying directory: $UNZIP_DATA_PATH/data/mapBuf to $SIMULATION_PATH/data..."
  45. sudo safe-rm -rf "$SIMULATION_PATH"/data/mapBuf/*
  46. sudo cp -r "$UNZIP_DATA_PATH/data/mapBuf" "$SIMULATION_PATH/data/"
  47. echo "Directory copy successfully"
  48. ## origin_map.bag
  49. echo "Starting copying file: $UNZIP_DATA_PATH/origin_map.bag to $SIMULATION_PATH/data/map_bag..."
  50. cp "$UNZIP_DATA_PATH/origin_map.bag" "$SIMULATION_PATH/data/map_bag"
  51. echo "File copy successfully"
  52. ## map.bag
  53. echo "Starting copying file: $UNZIP_DATA_PATH/map.bag to $SIMULATION_PATH/data/map_bag..."
  54. cp "$UNZIP_DATA_PATH/map.bag" "$SIMULATION_PATH/data/map_bag"
  55. echo "File copy successfully"
  56. ## map.world
  57. echo "Starting copying file: $UNZIP_DATA_PATH/map.world to $SIMULATION_PATH/catkin_ws/src/SimulationEnvs/worlds..."
  58. cp "$UNZIP_DATA_PATH/map.world" "$SIMULATION_PATH/catkin_ws/src/SimulationEnvs/worlds"
  59. echo "File copy successfully"
  60. ## map.stl - 1
  61. echo "Starting copying file: $UNZIP_DATA_PATH/map.stl to $SIMULATION_PATH/catkin_ws/src/SimulationEnvs/models/map/meshes..."
  62. cp "$UNZIP_DATA_PATH/map.stl" "$SIMULATION_PATH/catkin_ws/src/SimulationEnvs/models/map/meshes"
  63. echo "File copy successfully"
  64. ### map.stl - 2
  65. #echo "Starting copying file: $UNZIP_DATA_PATH/map.stl to $SIMULATION_PATH/catkin_map2gazebo/src/models/map/meshes..."
  66. #cp "$UNZIP_DATA_PATH/map.stl" "$SIMULATION_PATH/catkin_map2gazebo/src/models/map/meshes"
  67. #echo "File copy successfully"
  68. ## merged_obstacles_new.csv
  69. echo "Starting copying file: $UNZIP_DATA_PATH/merged_obstacles_new.csv to $SIMULATION_PATH/merge_obstacles_data..."
  70. cp "$UNZIP_DATA_PATH/merged_obstacles_new.csv" "$SIMULATION_PATH/merge_obstacles_data"
  71. echo "File copy successfully"
  72. ## map.pgm
  73. echo "Starting copying file: $UNZIP_DATA_PATH/map.pgm to $SIMULATION_PATH/catkin_ws/src/Navigation/map..."
  74. cp "$UNZIP_DATA_PATH/map.pgm" "$SIMULATION_PATH/catkin_ws/src/Navigation/map"
  75. echo "File copy successfully"
  76. ## map.yaml
  77. echo "Starting copying file: $UNZIP_DATA_PATH/map.yaml to $SIMULATION_PATH/catkin_ws/src/Navigation/map..."
  78. cp "$UNZIP_DATA_PATH/map.yaml" "$SIMULATION_PATH/catkin_ws/src/Navigation/map"
  79. echo "File copy successfully"
  80. echo "Data preparation done."