Alternation for `call_async()` in service client for ROS2-Ardent
Hi all,
I new to ROS2 and try to follow the ROS2-tutorial about Service. I tried to implement a Client-node in ROS2-Ardent platform. The reference uses call_async()
function, which are not support in ROS-Ardent (https://github.com/ros2/rclpy/blob/018b9fbf1c66f1c1c488510e0caa299fb0223277/rclpy/rclpy/client.py#L71), only call()
method. Follow this link, it is said that not recommeded to work with call()
.
Is there any alternative way to work-around this confliction?
The Thread
syntax too complicate while call_async()
not supported.
Asked by DangTran on 2020-05-30 23:14:05 UTC
Comments
Could you please clarify why you are using Ardent? That ROS 2 release has been EOL for 2 years now.
Asked by gvdhoorn on 2020-05-31 04:18:51 UTC
Thanks for a quick response. I am working with a lab-server that has been developed in ROS-Kinetic in
16.04
for a long time. We want to shift our works to ROS2, the only version I can find compatible with16.04
is Ardent. And I don't have the authority to completely change the OS.Asked by DangTran on 2020-05-31 09:59:17 UTC
I don't know what a "lab server" is specifically, but what about using Docker or some other containerisation technology?
Ardent is really different from the current versions of ROS 2. I would not recommend creating anything new with it.
Asked by gvdhoorn on 2020-05-31 12:08:58 UTC
Definitely a +1 to @gvdhoorn’s comment. You really don’t want to be using a 5-distro old, unmaintained version. Let alone it being the first non-beta release.
Asked by stevemacenski on 2020-05-31 13:11:57 UTC