Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
lrs_doc
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
lrs2
lrs_doc
Commits
3693a4c8
Commit
3693a4c8
authored
3 years ago
by
Tommy Persson
Browse files
Options
Downloads
Patches
Plain Diff
Work on ROS2
parent
446278d9
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
communication.md
+48
-0
48 additions, 0 deletions
communication.md
with
48 additions
and
0 deletions
communication.md
+
48
−
0
View file @
3693a4c8
...
...
@@ -75,6 +75,54 @@ For example:
-
roscombridge/dji0/a/ext/unit_info/ALL
-
roscombridge/dji0/a/ext/tf/op0
## Unreliable Communication
Messages not arriving can in some cases be handled on the application level.
For example to distribute a TST tree to all possible agents we have a service call
TSTDistributeTreeFromUuid.srv:
```
bash
string[] units
# List of units to distribute to.
# If empty distribute to everybody in possible units
string uuid
# Root node node_uuid of the TST to distribute
---
string com_uuid
# Used to check if tree have been distributed.
bool success
int32 error
string reason
```
And GetResponse.srv:
```
bash
string cuuid
# Identifier for the thing we need an response for
---
bool have_response
# True if there is a response
string name
string[] need_response_from
# List of units we need response from
string[] have_response_from
# List of units we have response from
bool success
# If true the thing was OK.
```
So we make a service call to distribute the tree and get com_uuid as
response. We use com_uuid in the GetResponse service call to check if
we have gotten a response from every receiver of the tree.
The actual distribution of the tree is done by sending a TSTDistributeTreeInfo.msg message on a topic:
```
bash
string uuid
# Use this uuid for confirmation that the tree have been distributed
string sender
# Namespace for the sender
string tree_json
# The TST tree to distribute
```
And the message confirming reception Response.msg:
```
bash
string uuid
string cuuid
# uuid for the command this is a response to
string responder
# Namespace for the responder.
bool success
# If true the command was OK.
string fail_reason
# If fail, this is if given the reason.
```
## UNSTRUCTERED MISC
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment