-
Notifications
You must be signed in to change notification settings - Fork 16.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AP_DDS: update dds profile, eliminate need for integration service #24880
AP_DDS: update dds profile, eliminate need for integration service #24880
Conversation
- Use type and topic name mapping rules in the arm_motors service profile. - Remove the integration service configuration file. - Update the service section in the README and document the topic and service mapping rules. Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried testing, ran into incomplete build instructions. I ran the waf build, but should I have instread run a colcon build?
Opened up #24885 as a fix for ardupilot_sitl not declaring a runtime dependency on micro_ros_agent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@srmainwaring I have tested the changes on my system and the services are running perfectly..Some minor changes but otherwise looking great
Thanks
.req_profile_label = "", | ||
.rep_profile_label = "ArmMotors_Replier", | ||
.rep_profile_label = "arm_motors__replier", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets rename this to arm_motors__rr
or something similar.Quite similar to how we do it the topic and data reader/writer profiler names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@arshPratap - I'll make these changes in a follow up PR. Also would like to standardise the node name to lowercase and rename to /ardupilot_dds
. There are a few other house-keeping changes as well, so may sweep them up in a PR other stylistic / non-functional edits.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use type and service name mapping rules to ensure
AP_DDS
service calls are automatically mapped between DDS and ROS 2. This eliminates the need to run the eProsima Integration Service to access AP_DDS services from the ROS 2 CLI.Additionally the
arm_motors
service has been placed in theap
namespace to be consistent with other topics.Details
Figure: arm_motors service request/response pair with types and names in eProsima
fastddsmonitor
.Testing
./waf configure --board sitl --enable-dds
./waf build
$ ros2 service call /ap/arm_motors ardupilot_msgs/srv/ArmMotors "{arm: True}" requester: making request: ardupilot_msgs.srv.ArmMotors_Request(arm=True) response: ardupilot_msgs.srv.ArmMotors_Response(result=True)