c_ros.go 943 B

123456789101112131415161718192021222324252627282930313233343536
  1. package config
  2. import (
  3. "cicv-data-closedloop/common/config/c_log"
  4. "cicv-data-closedloop/common/util"
  5. "github.com/bluenviron/goroslib/v2"
  6. "time"
  7. )
  8. var (
  9. RosNode *goroslib.Node
  10. RosbagPath string
  11. RosbagEnvs []string
  12. )
  13. func InitRosConfig() {
  14. var err error
  15. c_log.GlobalLogger.Info("初始化RosNode - 开始")
  16. for {
  17. time.Sleep(time.Duration(2) * time.Second)
  18. if RosNode, err = goroslib.NewNode(goroslib.NodeConf{Name: "node" + util.GetNowTimeCustom(), MasterAddress: CloudConfig.Ros.MasterAddress}); err != nil {
  19. c_log.GlobalLogger.Info("初始化RosNode - 进行中:", err)
  20. continue
  21. }
  22. break
  23. }
  24. // 2 获取 rosbag 命令路径和环境变量
  25. for _, host := range CloudConfig.Hosts {
  26. if host.Name == LocalConfig.Node.Name {
  27. RosbagPath = host.Rosbag.Path
  28. RosbagEnvs = host.Rosbag.Envs
  29. break
  30. }
  31. }
  32. c_log.GlobalLogger.Infof("rosbag 命令路径为:%v,环境变量为:%v", RosbagPath, RosbagEnvs)
  33. }