c_ros.go 978 B

12345678910111213141516171819202122232425262728293031323334353637
  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. "os"
  7. )
  8. var (
  9. RosNode *goroslib.Node
  10. RosbagPath string
  11. RosbagEnvs []string
  12. )
  13. func InitRosConfig() {
  14. c_log.GlobalLogger.Info("初始化RosNode - 开始")
  15. var err error
  16. RosNode, err = goroslib.NewNode(goroslib.NodeConf{
  17. Name: "node" + util.GetNowTimeCustom(),
  18. MasterAddress: CloudConfig.Ros.MasterAddress,
  19. })
  20. if err != nil {
  21. c_log.GlobalLogger.Error("初始化RosNode - 失败:", err)
  22. os.Exit(-1)
  23. }
  24. c_log.GlobalLogger.Info("初始化RosNode - 成功:", CloudConfig.Ros.MasterAddress)
  25. // 获取 rosbag 命令路径和环境变量
  26. for _, host := range CloudConfig.Hosts {
  27. if host.Name == LocalConfig.Node.Name {
  28. RosbagPath = host.Rosbag.Path
  29. RosbagEnvs = host.Rosbag.Envs
  30. break
  31. }
  32. }
  33. c_log.GlobalLogger.Infof("rosbag 命令路径为:%v,环境变量为:%v", RosbagPath, RosbagEnvs)
  34. }