main.go 929 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package main
  2. import (
  3. "github.com/bluenviron/goroslib/v2"
  4. "github.com/bluenviron/goroslib/v2/pkg/msgs/std_msgs"
  5. "log/slog"
  6. "os"
  7. "time"
  8. )
  9. /*
  10. 2024.5 已经被孙亚伦的队名发送程序替代,此程序仅作为初期测试使用
  11. */
  12. func main() {
  13. RosNode, err := goroslib.NewNode(goroslib.NodeConf{
  14. Name: "competitionNode",
  15. MasterAddress: "127.0.0.1:11311",
  16. })
  17. rosPublisher, err := goroslib.NewPublisher(goroslib.PublisherConf{
  18. Node: RosNode,
  19. Topic: "/cicv_competition",
  20. Msg: &std_msgs.String{}, // msg必须是指针
  21. })
  22. if err != nil {
  23. slog.Error("程序崩溃,创建ros发布者competition失败:", err)
  24. os.Exit(-1)
  25. } else {
  26. slog.Info("创建ros发布者competition成功:")
  27. }
  28. for {
  29. time.Sleep(time.Duration(1) * time.Second)
  30. // 下发数据
  31. rosPublisher.Write(&std_msgs.String{
  32. Data: "cicv测试队名",
  33. })
  34. slog.Info("发送数据 cicv测试队名 成功")
  35. }
  36. }