An open API service indexing awesome lists of open source software.

https://github.com/aptpod/intdash-ros-bridge-example


https://github.com/aptpod/intdash-ros-bridge-example

Last synced: about 1 month ago
JSON representation

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.