Closed qiayuanl closed 2 years ago
Because we need release a compiled library, so if not include the LCM, then user need add this related codes themselves. Our goal is to make this SDK have more functions and fewer restrictions.
v3.8.0 has removed LCM.
v3.8.0 has removed LCM.
Awesome! Wating for the compatible versions of A1 and Aliengo.
@TrivasZhang I'm kind of confused about the removal of LCM in v3.8.0. The documentation states that messages sent directly via UDP are not a good practice and LCM is used for its low latency and real-time performance.
Does that mean the unitree_legged_sdk directly sends messages via UDP (without using LCM)? It feels a bit counter-intuitive, am I missing something?
TIA
Yes, you are right. That’s why I add lcm in former sdk version. But, some other users wonder why lcm has to be installed. So I decide to keep this sdk more tightly. The ROS performance related is another issue and can be solved with mount of inter-process communication ways.
发自我的iPhone
在 2023年1月27日,12:35,Bandi Jai Krishna @.***> 写道:
@TrivasZhang I'm kind of confused about the removal of LCM in v3.8.0. The documentation states that messages sent directly via UDP are not a good practice and LCM is used for its low latency and real-time performance.
Does that mean the unitree_legged_sdk directly sends messages via UDP (without using LCM)? It feels a bit counter-intuitive, am I missing something?
TIA
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.
@TrivasZhang thank you for the prompt reply, it looks like even the latest unitree_ros_to_real repo also has stopped using the LCM server. So when we now use ros_to_real it's again direct UDP without LCM?
If so can we get some kind of a feature where we can turn on/off LCM for either the ros_to_real or the legged_sdk?
For example in my use case, I plan to run an RL policy on an external NUC and control the robot, I do not need ROS but I would definitely like LCM in the legged_SDK as there might be some latency issues with just UDP.
If you want to figure out the latency, a time consume collection is suggested. Different part code has different cost. In our former test, direct udp without lcm works fine. So lcm here causes lots of confusion. Remove it will be more clear.
发自我的iPhone
在 2023年1月27日,15:02,Bandi Jai Krishna @.***> 写道:
@TrivasZhang thank you for the prompt reply, it looks like even the latest unitree_ros_to_real repo also has stopped using the LCM server. So when we now use ros_to_real it's again direct UDP without LCM?
If so can we get some kind of a feature where we can turn on/off LCM for either the ros_to_real or the legged_sdk?
For example in my use case, I plan to run an RL policy on an external NUC and control the robot, I do not need ROS but I would definitely like LCM in the legged_SDK as there might be some latency issues with just UDP.
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.
@TrivasZhang If you remove the LCM, please update your Go1 software manual please. It really makes everyone confused !
Since the LCM(
example/lcm_server.cpp
) is a kind of example or high-level interface, it shouldn't link to the SDK. Some users don't need LCM at all. Consider separated it into another Repo like unitree_ros_to_real.