unitreerobotics / unitree_actuator_sdk

BSD 3-Clause "New" or "Revised" License
37 stars 14 forks source link

与电机通讯的程序在ubuntu中强制每次发送延时至少1ms #18

Open 15210579725 opened 3 months ago

15210579725 commented 3 months ago

用windows上的宇树官方调试助手一个串口可以达到6k,但是ubuntu上只有1k 有没有什么办法取消串口的1ms延时,让通信频率提高

引用网上的介绍: “对于usb转串口设备,它硬件上一般有一个叫做latency_timer的定时器,当这个值设为lt时,表示数据会在设备上至少暂存lt 毫秒后再发送,只有在设备缓存写满的情况下才会忽略这个值而立即发送。latency_timer的取值范围一般为1到255之间,一般由设备驱动设置默认值。 ftdi芯片的串口设备,一般默认值会是16毫秒,这在高实时性的场景是无法忍受的,具体详情请阅读这篇帖子

15210579725 commented 3 months ago

@xiaoliangstd 辛苦您帮忙看看

xiaoliangstd commented 2 months ago

你好,windows上的发送接收是异步的,就是 windows 上它不是一发一收,它是可能发很多命令包出去,然后收很多状态包,这样的不适用于机器人控制。而ubuntu 上是严格按照一发一收的模式进行的,这样就可以适用于机器人控制,所以通信频率就低了。

xiaoliangstd commented 2 months ago

如果你有问题的话,建议联系我们的技术支持部门,邮箱是 support@unitree.com,这样回复得更即时。