Add robot_control_bridge plugin for Flowstate-ROS bridge#449
Open
Add robot_control_bridge plugin for Flowstate-ROS bridge#449
Conversation
0ee7258 to
1e48203
Compare
…cript for bundling aic_flowstate_ros_bridge as a flowstate service
…epath parameter value if it is not an absolute path
…n to agentbridge and agentbridgejoint output streams.
…ntroller_state periodically as part of a ROS timer. 3) Add subscription to zenoh pubsub topic icon/**/robot_status to retrieve sensed TCP pose and twist because retrieving them from the controller action output stream is not reliable especially in between changing target modes
…here is a jump backwards on the simulated clock.
…opic from sim. This is so that resets from sim and actual hardware can be detected. Also added a retry mechanism in the form of a timer
…e, the restart is triggered only when use data->connected_to_controller_ is set to true
1e48203 to
63f0ba3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces the
flowstate_ros_bridge::robot_control_bridgeplugin that streams control commands in ROS 2 to Flowstate's robot controller actions:AgentBridgeandAgentBridgeJoint.This bridge enables external ROS 2 nodes to send
MotionUpdateandJointMotionUpdatemessages directly to an active controller session via a stream to the controller server.ROS 2 Interfaces
Services
/aic_controller/change_target_modeaic_control_interfaces/srv/ChangeTargetMode/aic_controller/pose_commandsor/aic_controller/joint_commandsaccordingly. Results in the controller session stopping all actions and then starting the relevant action based on the desired target mode: AgentBridgeJoint for JOINT mode and AgentBridge for CARTESIAN mode./aic_controller/restart_bridgestd_srvs/srv/TriggerPublished Topics
/aic_controller/controller_stateaic_control_interfaces/msg/ControllerStateCommand Topics
The bridge listens to the following topics as motion commands for the controller.
/aic_controller/joint_commandsaic_control_interfaces/msg/JointMotionUpdateMotionUpdateproto and then streamed to theAgentBridgeaction/aic_controller/pose_commandsaic_control_interfaces/msg/MotionUpdateJointMotionUpdateproto and then streamed to theAgentBridgeJointaction