Skip to content
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

Comms bridge #756

Merged
merged 35 commits into from
Jan 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
fc980a3
first commit to comms_bridge, wip
marinagmoreira Oct 31, 2023
2fdfff5
skip submodules in linter
marinagmoreira Oct 31, 2023
d8f3773
fixing ros ros compile
marinagmoreira Oct 31, 2023
dd2cef7
adding launchfile stuff
marinagmoreira Nov 1, 2023
c486ba6
adding nodelets + config file + slapped in some dds init to see if th…
marinagmoreira Nov 1, 2023
dbb9e01
not compiling unless dds is on
marinagmoreira Nov 1, 2023
81008e0
making sure topics are being passed in + fixing things
marinagmoreira Nov 1, 2023
cea5de5
making style more in line with astrobee + fixing mutex
marinagmoreira Nov 1, 2023
702ffda
Initial generic bridge dds work.
kbrowne15 Nov 10, 2023
daaaa89
Added advertisement info publisher.
kbrowne15 Nov 16, 2023
db2035d
Finished initial comms bridge code.
kbrowne15 Nov 20, 2023
40cc391
Added debug.
kbrowne15 Nov 20, 2023
e9d9d6a
Remove seperate publisher and subscriber nodelet.
kbrowne15 Nov 20, 2023
fcd1054
Fixed comms bridge seg fault.
kbrowne15 Nov 21, 2023
c168a41
Merge branch 'develop' of https://github.com/nasa/astrobee into comms…
marinagmoreira Nov 21, 2023
fa6c92d
More debug output.
kbrowne15 Nov 21, 2023
2e99efc
Merge remote-tracking branch 'marina/comms_bridge' into comms_bridge
kbrowne15 Nov 21, 2023
ec3b633
after testing adding info
marinagmoreira Nov 22, 2023
b9e93fa
fixing docs
marinagmoreira Nov 22, 2023
3897858
Merge branch 'comms_bridge' of https://github.com/marinagmoreira/astr…
marinagmoreira Nov 22, 2023
2b2210b
Progress update where connection both ways works.
kbrowne15 Dec 19, 2023
ff272da
Progress update.
kbrowne15 Dec 27, 2023
43e39f9
Fixed publishing content received before advertisement info.
kbrowne15 Jan 3, 2024
0d1c82b
Added initialize dds to the comms bridge.
kbrowne15 Jan 4, 2024
3543d02
Changed comms bridge config and changed debug output to info.
kbrowne15 Jan 11, 2024
9c7c0c2
Removed astrobee to astrobee bridge from launch file.
kbrowne15 Jan 11, 2024
0584433
Changed printfs to ROS INFO.
kbrowne15 Jan 12, 2024
49d68fb
Added comms bridge documentation.
kbrowne15 Jan 12, 2024
2fb4fc0
Fixed error output.
kbrowne15 Jan 13, 2024
a1e2a3a
Increased DDS reader/writer queue size for the generic messages.
kbrowne15 Jan 13, 2024
d2395e4
Added documentation to comms bridge config file.
kbrowne15 Jan 16, 2024
8210287
Added comms bridge to configs
kbrowne15 Jan 16, 2024
99567a7
Added link to comms bridge config for lab testing
kbrowne15 Jan 16, 2024
161426b
Addressed pr comments.
kbrowne15 Jan 17, 2024
82c2345
Addressed pr comments.
kbrowne15 Jan 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions astrobee/config/communications/comms_bridge.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
-- Copyright (c) 2017, United States Government, as represented by the
-- Administrator of the National Aeronautics and Space Administration.
--
-- All rights reserved.
--
-- The Astrobee platform is licensed under the Apache License, Version 2.0
-- (the "License"); you may not use this file except in compliance with the
-- License. You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-- License for the specific language governing permissions and limitations
-- under the License.

require "context"

-- Enable DDS communications on start --
-- If false, a trigger call will be needed to start communications --
initialize_dds_on_start = false

-- The verbosity is used to control the output of the underlying ros
-- publisher/subscriber. Level 2 is the most verbose and will output all of the
-- output including debug statements. Level 1 will output all output except
-- debug statements and level 0 will only output warnings and errors. Since
-- all output statements go directly to the ros log, it is safest to keep it
-- set to 2.
verbose = 2

-- ad2pub_delay is a time amount in seconds. The bridge publisher must receive
-- the adverttisement info message for a topic before it can publish a content
-- message for that topic. If the bridge publisher receives the content message
-- before the advertisement info, it will save the content message if the
-- ad2pub_delay is greater than 0. If the bridge publisher receives the
-- advertisement info message within the ad2pub_delay time, it will process
-- and publish the content message. If the comms bridge seems to be dropping
-- the first few messages, try increasing this value.
ad2pub_delay = 3.0

links = {
marinagmoreira marked this conversation as resolved.
Show resolved Hide resolved
-- Logically, there could be up to three two-way links between the three robots. In practice, we
-- will probably only have one link.
{
-- A single link entry has required fields "from" and "to" that specify the robot roles involved
-- in the link.
-- This link will only work on the ISS since it uses the names of the
-- robots on the ISS. Please add more links if Queen goes back to the ISS.
from = "Bumble", -- manager
to = "Honey", -- actor

-- The link entry has three optional fields: relay_forward (messages to be relayed only in the
-- `from` to `to` direction), relay_backward (to be relayed only in the `to` to `from` direction),
-- and relay_both (to be relayed in both directions). Providing all three fields gives the user
-- full directional control while minimizing repetition and copy/paste errors.

-- Each topic entry can contain an input topic and an output topic. The
-- in topic is the topic being published on the robot sending the data and
-- must be specified. The optional out topic is the name of the topic a
-- user wants the data published on in the receiving robot. If the
-- out topic is not specified, the comms bridge will set it to be the name
-- of the robot sending the data combined with the in topic name. For
-- instance, if the from robot was Bumble and the to robot was Honey and
-- one of the in topics in the relay forward list was "mgt/ack", then it
-- would be published on Honey on topic "bumble/mgt/ack".
-- Please note that only one unique in topic can exist in the relay forward
-- and relay both lists and the relay backward and relay both lists. It is
-- fine to have the same in topic in the relay forward and relay backward
-- lists.

relay_forward = {
},
relay_backward = {
},
relay_both = {
{in_topic = "gnc/ekf"},
{in_topic = "gs/data"},
},
},
{
kbrowne15 marked this conversation as resolved.
Show resolved Hide resolved
-- This link will only work in the granite lab since it uses the names of
-- the robots in the granite lab.
from = "Bsharp", -- manager
to = "Wannabee", -- actor

relay_forward = {
},
relay_backward = {
},
relay_both = {
{in_topic = "gnc/ekf"},
{in_topic = "gs/data"},
}
}
}
kbrowne15 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
;; NDDS_DISCOVERY_PEERS - Discovery Configuration File
;; This file is used to configure the dds portion of the comms bridge
; EVERY LINE IN THIS FILE MUST END IN A COMMENT. Even blank lines.
;
;; Add the IP addresses of the robots to communicate with
127.0.0.1 ; Local host is added by default
Loading