collect_map.go 1.1 KB

1234567891011121314151617181920212223242526272829303132
  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. localMapBagPath := "/root/cicv-data-closedloop/map.bag"
  11. ossMapBagObjectKey := config.LocalConfig.OssBasePrefix + config.LocalConfig.EquipmentNo + "/map.bag"
  12. var command []string
  13. command = append(command, "record")
  14. command = append(command, "-O "+localMapBagPath)
  15. command = append(command, "-l 1")
  16. _, err := util.ExecuteWithEnvAndDirAsync(config.RosbagEnvs, config.CloudConfig.BagDataDir, config.RosbagPath, command...)
  17. if err != nil {
  18. c_log.GlobalLogger.Error("程序异常退出。采集地图", command, "出错:", err)
  19. os.Exit(-1)
  20. }
  21. config.OssMutex.Lock()
  22. err = config.OssBucket.PutObjectFromFile(ossMapBagObjectKey, localMapBagPath)
  23. config.OssMutex.Unlock()
  24. if err != nil {
  25. c_log.GlobalLogger.Error("程序异常退出。上传地图包", ossMapBagObjectKey, "->", ossMapBagObjectKey, "出错:", err)
  26. os.Exit(-1)
  27. }
  28. }