更新(11 / 09 / 2024): 我们所有产品都有大量库存,也可以在    立即购买

SBC 接口与 uROS 库

在本教程中,我们将学习如何将 uROS 库用于 micropython: https://github.com/mgtm98/uRos

ROS 是一个机器人操作系统,其中不同的“节点”通过 JSON 格式的 TCP 消息与中央服务器通信。

这个库允许我们在我们的 SBC. 它将连接到服务器并能够发送(发布)或接收(订阅)消息。

发布消息的代码如下:

 1 2 3 4 5 6 7 8 9 10 11 12 13 14
进口 网络
from 尿路 进口 *
from uros.std_msgs 进口 std_Bool 局域网 = 网络.局域网()局域网.积极的() 局域网.如果配置(( “10.0.0.1”, “255.255.255.0”, “10.0.0.2”, “8.8.8.8” ))
(兰.地位() != 3 ):
    打印( “。”, 结束="" ) 时间.睡觉(1)
打印( “连接的!” ) uRos = 罗斯( “10.0.0.2”, 9090 )    #创建新的uRos对象
味精 = std_Bool( 数据 =  )     #创建一个Ros字符串msg对象
尿素.发布( “uRos话题”,味精)  #发布消息对象
打印(“完毕”)

在这段代码中,我们首先连接到 LAN 网络,然后连接到 ROS 服务器; 我们定义消息的格式,最后发布。

在 PC 上,我们在 python 中执行一个充当 ROS 服务器的代码。 为简单起见,这段代码只是一个将数据打印到控制台的套接字服务器。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
进口 插座
进口 系统
DEF 套接字服务器(主机,端口):s = 插座.插座(插座.AF_INET,套接字.SOCK_STREAM) s.绑定((主机,端口)).听(1)
     : 连接, 地址 = s.接受()
        打印('连接者', 地址)
         : 数据 = 康恩.收据(1024)
            if 无需 数据:
                打破
            打印(数据)conn.关()
        打印(“关门”) 年代.关()
    打印(“关门了”) socket_server( '10.0.0.2', 9090 )
打印(“完毕”)

结果,显示在服务器上接收到的数据:

如果我们检查数据,我们会看到两个部分:

1.我们的uRosTopic消息的定义。 对于每种新类型的消息,仅发送一次。

2.以及公布的数据。 每次我们发布新值时都会发送此信息。

 

现在您已准备好通过以太网将您的 SBC 连接到任何 ROS 设备,定义自定义消息并仅使用几行 python 代码发送它。

如果你喜欢这个内容,你可以关注我们 Twitter, YouTube, Facebook or LinkedIn 保持更新这样的内容。

有任何问题或要求吗?
联系我们!我们将在 24 小时内回复!

图标
联系我们 ArduSimple
关闭

想了解更多关于 GPS/RTK 的信息吗?

1. 我们的工程团队会联系您解决任何问题
2.我们会及时通知您促销和新产品发布
3.只有当我们有重要新闻时您才会收到我们的消息,我们不会向您发送垃圾邮件