c_ros.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. // 1
  16. c_log.GlobalLogger.Info("初始化RosNode - 开始")
  17. for {
  18. time.Sleep(time.Duration(2) * time.Second)
  19. if RosNode, err = goroslib.NewNode(goroslib.NodeConf{Name: "node" + util.GetNowTimeCustom(), MasterAddress: CloudConfig.Ros.MasterAddress}); err != nil {
  20. c_log.GlobalLogger.Info("初始化RosNode - 进行中:", err)
  21. continue
  22. }
  23. break
  24. }
  25. c_log.GlobalLogger.Info("初始化RosNode - 成功:", CloudConfig.Ros.MasterAddress)
  26. // 2 获取 rosbag 命令路径和环境变量
  27. for _, host := range CloudConfig.Hosts {
  28. if host.Name == LocalConfig.Node.Name {
  29. RosbagPath = host.Rosbag.Path
  30. RosbagEnvs = host.Rosbag.Envs
  31. break
  32. }
  33. }
  34. c_log.GlobalLogger.Infof("rosbag 命令路径为:%v,环境变量为:%v", RosbagPath, RosbagEnvs)
  35. }