{"id":19966753,"url":"https://github.com/aptpod/intdash-ros2bridge-example","last_synced_at":"2026-05-14T02:36:42.854Z","repository":{"id":253210543,"uuid":"824471558","full_name":"aptpod/intdash-ros2bridge-example","owner":"aptpod","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-02T13:35:17.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-01T17:32:46.251Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aptpod.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-05T07:53:12.000Z","updated_at":"2024-10-02T13:35:22.000Z","dependencies_parsed_at":"2025-01-12T08:41:48.494Z","dependency_job_id":"10f8b8aa-ea2e-4c51-bac0-5ead1fa97565","html_url":"https://github.com/aptpod/intdash-ros2bridge-example","commit_stats":null,"previous_names":["aptpod/intdash-ros2bridge-example"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aptpod/intdash-ros2bridge-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fintdash-ros2bridge-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fintdash-ros2bridge-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fintdash-ros2bridge-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fintdash-ros2bridge-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aptpod","download_url":"https://codeload.github.com/aptpod/intdash-ros2bridge-example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aptpod%2Fintdash-ros2bridge-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33008355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T02:38:06.851Z","updated_at":"2026-05-14T02:36:42.849Z","avatar_url":"https://github.com/aptpod.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# intdash ROS2Bridge Example\n\nThis is an example docker container environemnt for intdash ROS2Bridge.\n\n## Demonstration\n\n### Contents of the demo\n\nThis demonstration provide following upstreams and downstreams for intdash.\n\n- Upstream\n  - String topic (name: /hello)\n  - Poingcloud2 topic (name: /cube_points)\n  - Image topic (name: /compressed_image)\n  - String topic from sample rosbag (name: /rosbag_test)\n- Downstream\n  - Any topic\n    - You can manipulate the center coordinates of /cube_points using the axes[0] and axes[1] of the /joy topic.\n\nROS2 is supported.\n\nA data settings file for Data Visualizer (`assets/intdash-ROS-Example.dat`) is provided for your verification.\n\n### Preparation\n\n#### Precondition\n\nDocker and Docker compose are required.\n\n#### Modify .env\n\nOpen and edit .env file.\n\nSet each variables to meet your condition.\n\n### Build Docker image\n\nRun following command.\n\n```\ndocker compose build\n```\n\n### Execute ROS2 demo\n\nRun following command.\n\n```\ndocker compose up\n```\n\n### Playing rosbag and streaming it upstream\n\nPlace the rosbag directory under the directory where docker-compose.yml is located.\nIn the ros2_bag service configuration in docker-compose.yml, mount the path corresponding to the directory as a Docker volume.\n\nConfiguration example:\n\n```\n  ros2_bag:\n    (omitted)\n    volumes:\n     - ./services/ros2_bag/data/$ROS2_DISTRO/sample:/tmp/rosbag\n    command: |\n      bash -c \"source /opt/ros/$ROS2_DISTRO/setup.bash \u0026\u0026\n               stdbuf -o0 ros2 bag play --loop /tmp/rosbag\"\n```\n\n### About downstream functionality\n\nAn example node that receives downstream joy topics from Data Visualizer's controller parts is provided.\nThe following files contain related configurations and implementations:\n\n- `/services/agent2/agent2_config.yml`\n- `/services/bridge/ros2bridge_config.yml`\n- `services/ros2_demo/docker/src/ros2_demo/ros2_demo/pointcloud2_pub.py`\n\n## Customize Docker environment for intdash ROS Bridge\n\n### Add custom message types to intdash ROS Bridge and use non-standard messages in rosbag\n\nIf you want to add custom message which are not included in ROS base Docker image, there are 2 methods.\n\n#### method 1 : rebuild intdash ROS2Bridge with your custom message definition\n\nRebuild Docker images with your custom message definition based on `public.ecr.aws/aptpod/intdash-ros2bridge`.\n\nDockerfile example : `assets/custom_msg_with_bridge.Dockerfile`\n\n#### method 2 : install intdash ROS2Bridge into your custom Docker image\n\nInstall intdash ROS2Bridge into your custom Docker image by apt tool. Please refer Aptpod official documents how to install intdash ROS2Bridge.\n\nDockerfile example : `assets/your_ros_nodes_with_bridge.Dockerfile`\n\n#### Extending the ros2_bag service\n\nThe Docker image used as the base for ros2_bag only contains standard message definitions. If you want to include non-standard messages, you need to edit `services/ros2_bag/Dockerfile` according to the intdash ROS2Bridge configuration above, and install or build the necessary message packages.\n\n### Update configuration for intdash Edge Agent2\n\nIf you want to change agent config, please edit `service/agent/agent2_config.yml`.\n\nPlease refer Aptpod official documents how to configure intdash Edge Agent2.\n\n## Configuration for developer's guide\n\nAfter editing edge1.env and edge2.env, as well as the src_edge_uuid in service/agent2/agent2_config_edge1.yml and service/agent2/agent2_config_edge2.yml, execute the following commands.\n\nBy executing the command, you can test the ROS2 commands on the intdash ROS2Bridge container.\n\n### Edge device 1\n\n```\n$ docker compose -f docker-compose-edge1.yml --env-file edge1.env -p edge1 up -d\n$ docker exec -it  edge1-intdash_ros2bridge-1 bash\n\n# source /opt/ros/humble/setup.bash \n```\n\n### Edge device 2\n\n```\n$ docker compose -f docker-compose-edge2.yml --env-file edge2.env -p edge2 up -d\n$ docker exec -it  edge2-intdash_ros2bridge-1 bash\n\n# source /opt/ros/humble/setup.bash \n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faptpod%2Fintdash-ros2bridge-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faptpod%2Fintdash-ros2bridge-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faptpod%2Fintdash-ros2bridge-example/lists"}