collect_map.go 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. package service
  2. import (
  3. "cicv-data-closedloop/aarch64/pji/common/config"
  4. "cicv-data-closedloop/common/config/c_log"
  5. "cicv-data-closedloop/common/util"
  6. "os"
  7. )
  8. func CollectMap() {
  9. // rosbag record -O /root/cicv-data-closedloop/map_data.bag -l 1 /map
  10. ossMapBagObjectKey := config.LocalConfig.OssBasePrefix + config.LocalConfig.EquipmentNo + "/map.bag"
  11. var command []string
  12. command = append(command, "record")
  13. command = append(command, "-O "+config.CloudConfig.MapBagPath)
  14. command = append(command, "-l 1")
  15. _, err := util.ExecuteWithEnvAndDirAsync(config.RosbagEnvs, config.CloudConfig.BagDataDir, config.RosbagPath, command...)
  16. if err != nil {
  17. c_log.GlobalLogger.Error("程序异常退出。采集地图", command, "出错:", err)
  18. os.Exit(-1)
  19. }
  20. config.OssMutex.Lock()
  21. err = config.OssBucket.PutObjectFromFile(ossMapBagObjectKey, config.CloudConfig.MapBagPath)
  22. config.OssMutex.Unlock()
  23. if err != nil {
  24. c_log.GlobalLogger.Error("程序异常退出。上传地图包", ossMapBagObjectKey, "->", ossMapBagObjectKey, "出错:", err)
  25. os.Exit(-1)
  26. }
  27. }