sbgisen / vesc

VESC Interface for ROS
Apache License 2.0
39 stars 32 forks source link

Support for ROS2 Foxy #76

Open AJBuilder opened 1 year ago

AJBuilder commented 1 year ago

Abstract

Porting launch files, nodes, and hardware interfaces to ROS2 Foxy.

Purpose

Seems that development skipped over Foxy. There are implementation differences, specifically in the hardware interface, that are not portable from Humble or ROS1.

Implementation Details

As far as I can tell:

I've started reworking things, starting from #74 , however I am unsure if this is the best branch to start from.

Where would be the ideal commit to start from?

I'd like to include as many developed features as possible, without having to rework more. For instance, Humble ros2_control has Duration arguments for the read() and write() interface functions. I see this is utilized in newer features, but would have to be reworked considering Foxy read() and write() have no arguments.

Tacha-S commented 1 year ago

Thanks for your working.

74 has not migrated all the functions of ROS1 hardware interface.

But if all you are concerned about is the difference in read(), write() specifications and the fact that you want a sample launch/node, I would appreciate it if you could backport #74 and reworking for Foxy.

As for Duration, the same behavior could be implemented by keeping the previous time for each read() and write() operation. If timer events or threads can be run internally as in ROS1, that would be great too.