https://github.com/aptpod/intdash-ros-bridge-example
https://github.com/aptpod/intdash-ros-bridge-example
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/aptpod/intdash-ros-bridge-example
- Owner: aptpod
- License: apache-2.0
- Created: 2024-05-20T14:19:36.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-11T11:17:22.000Z (about 2 years ago)
- Last Synced: 2025-01-12T08:41:54.333Z (over 1 year ago)
- Language: Python
- Size: 27.3 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# intdash ROS Bridge Example
This is an example docker container environemnt for intdash ROS Bridge.
## Demonstration
### Contents of the demo
This demonstration provice following upstream and downstream with intdash.
- Upstream
- String topic (name: /hello)
- Poingcloud2 topic (name: /cube_points)
- Image topic (name: /compressed_image)
- Downstream
- Joy topic (name: /joy)
ROS 2 and ROS are supported.
A data settings file for Data Visualizer (`assets/intdash-ROS-Example.dat`) is provided for your verification.
### Preparation
#### Precondition
Docker and Docker compose are required.
#### Modify .env
Open and edit .env file.
Set each variables to meet your condition.
### Build Docker image
Run following command.
```
docker compose -f docker-compose-(ros2|ros1).yml build
```
### Execute ROS 2 demo
Run following command.
```
docker compose -f docker-compose-ros2.yml up
```
### Execute ROS demo
Run following command.
```
docker compose -f docker-compose-ros1.yml up
```
## Customize Docker environment for intdash ROS Bridge
### Add custom message types to intdash ROS Bridge
If you want to add custom message which are not included in ROS base Docker image, you need to rebuild Docker images with your custom message definition.
Copy the source code of your message package to `msg_src/`, then run follwoing commands.
```
export PLATFORM=linux/(amd64|arm64)
export ROS_DISTRO=(humble|hoxy|noetic|melodic)
export IMAGE_ARCH=(amd64|arm64v8)
export VERSION=
export MIX_ROS1_PACKAGES=
export MIX_ROS2_PACKAGES=
export MIX_ACTION_PACKAGES=
export TEMPLATE_DOCKERFILE="custom/template.(ros1|ros2).Dockerfile"
export IMAGE_NAME=
docker build --platform ${PLATFORM} \
--build-arg ROS_DISTRO=${ROS_DISTRO} \
--build-arg BASE_IMAGE=public.ecr.aws/aptpod/intdash-ros-bridge \
--build-arg IMAGE_ARCH=${IMAGE_ARCH} \
--build-arg VERSION=${VERSION} \
--build-arg MIX_ROS1_PACKAGES="${MIX_ROS1_PACKAGES}" \
--build-arg MIX_ROS2_PACKAGES="${MIX_ROS2_PACKAGES}" \
--build-arg MIX_ACTION_PACKAGES="${MIX_ACTION_PACKAGES}" \
-f ${TEMPLATE_DOCKERFILE} \
-t ${IMAGE_NAME}:${ROS_DISTRO}-${VERSION}-${IMAGE_ARCH} .
```
### Update the agent.yml for intdash Edge Agent2
If you want to change `service/agent/agent2_config.yml`, edit `makge_agent2_config.sh`, then run following command. `service/agent/agent2_config.yml` will be updated.
```
./make_agent2_config.sh
```
Please refer Aptpod documents how to configure intdash Edge Agent2.