https://github.com/bwt2/keep-alive-ros2
ROS2 nodes polling connectivity from base station to remote station
https://github.com/bwt2/keep-alive-ros2
docker docker-compose ros2 ros2-humble
Last synced: over 1 year ago
JSON representation
ROS2 nodes polling connectivity from base station to remote station
- Host: GitHub
- URL: https://github.com/bwt2/keep-alive-ros2
- Owner: bwt2
- Created: 2025-01-28T11:57:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-26T12:15:42.000Z (over 1 year ago)
- Last Synced: 2025-02-26T13:26:08.412Z (over 1 year ago)
- Topics: docker, docker-compose, ros2, ros2-humble
- Language: C++
- Homepage:
- Size: 61.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## About
ROS 2 nodes to poll connectivity between base and remote station. Nodes requests estop service if listener doesn't receive any topic updates from talker after a certain timeout. Beta test for keep-alive estop mechanism for Sydney Interplanetary Rover Initiative (SIRI).

## Manual setup
Assuming `ros-humble-desktop` is installed, run:
```bash
cd keep-alive-test
source /opt/ros/humble/setup.bash
colcon build --packages-select keep_alive_estop estop_interfaces estop --symlink-install --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
source install/setup.bash
```
Run each executable:
```bash
ros2 run estop estop_server
ros2 run keep_alive_estop keep_alive_estop_talker_node
ros2 run keep_alive_estop keep_alive_estop_listener_node
```
Alt:
```bash
colcon build --packages-select keep_alive_estop estop_interfaces estop --symlink-install --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON &&
source install/setup.bash
```
## Docker
Assuming docker is installed, run the following to launch all executables
```bash
docker compose up
```
To run any individual docker compose container (via its service name):
```bash
docker compose run --rm keep-alive-estop-talker
docker compose run --rm keep-alive-estop-listener
docker compose run --rm estop
```
To stop any of the containers (via its service name),
```bash
docker compose stop keep-alive-estop-talker
docker compose stop keep-alive-estop-listener
docker compose stop estop
```
To use the docker container to view the currently running docker nodes (e.g. `rqt_graph`),
```bash
docker compose run --remove-orphans terminal
```
## TODO
- test on different devices
- multi-stage builds