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

feat(docker): add openadkit visualizer container #5742

Open
wants to merge 42 commits into
base: main
Choose a base branch
from

Conversation

oguzkaganozt
Copy link
Contributor

@oguzkaganozt oguzkaganozt commented Feb 6, 2025

Description

To enable full development and deployment with distinct containers, a dedicated visualizer container will be beneficial. This container will include the RViz Plugins, ROS 2 message definitions both from autoware.universe and TierIV scenario simulator

Additionally, it will support VNC and NoVNC so users can visualize the RViz screen remotely.

How was this PR tested?

Same containers are used on two different demos and running well. Demos can be replicated through https://github.com/autowarefoundation/openadkit_demo.autoware/tree/planning-simviz/docker

Notes for reviewers

None.

Effects on system behavior

None.

oguzkaganozt and others added 30 commits February 6, 2025 14:47
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
.
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
Copy link

github-actions bot commented Feb 6, 2025

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

Signed-off-by: Oguz Ozturk <[email protected]>
@oguzkaganozt oguzkaganozt changed the title Openadkit visualizer feat(docker): add openadkit visualizer container Feb 6, 2025
@oguzkaganozt oguzkaganozt added type:containers Docker containers, containerization of components, or container orchestration. component:openadkit Issues or Features related to Open AD Kit tag:run-health-check Run health-check labels Feb 6, 2025
@oguzkaganozt
Copy link
Contributor Author

@youtalk @mitsudome-r Please review

Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
Signed-off-by: Oguz Ozturk <[email protected]>
@youtalk
Copy link
Member

youtalk commented Feb 7, 2025

Could you describe how to use the visualizer container in README.md?

Copy link
Member

@youtalk youtalk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the splitting PRs. It became to be easier to review.


- name: Run vcs import
run: |
vcs import src < autoware.repos
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR only copies src/simulator so that it doesn't need this line.

Suggested change
vcs import src < autoware.repos

# Extract rosdep dependencies for visualizer
# hadolint ignore=SC1091
RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \
&& /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this PR needs only exec_depend dependencies.

Suggested change
&& /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \
&& /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} --dependency-types=exec \

Comment on lines +34 to +61
- name: Restore ccache
uses: actions/cache/restore@v4
with:
path: |
root-ccache
key: ccache-${{ inputs.platform }}-${{ hashFiles('src/**/*.cpp') }}
restore-keys: |
ccache-${{ inputs.platform }}-

- name: Restore apt-get
uses: actions/cache/restore@v4
with:
path: |
var-cache-apt
key: apt-get-${{ inputs.platform }}-${{ hashFiles('src/**/package.xml') }}
restore-keys: |
apt-get-${{ inputs.platform }}-

- name: Inject cache into docker
uses: reproducible-containers/[email protected]
with:
cache-map: |
{
"root-ccache": "/root/.ccache",
"var-cache-apt": "/var/cache/apt"
}
skip-extraction: true

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cache is meant for the Dockerfile, so no cache is effective for Dockerfile.visualizer.

Suggested change
- name: Restore ccache
uses: actions/cache/restore@v4
with:
path: |
root-ccache
key: ccache-${{ inputs.platform }}-${{ hashFiles('src/**/*.cpp') }}
restore-keys: |
ccache-${{ inputs.platform }}-
- name: Restore apt-get
uses: actions/cache/restore@v4
with:
path: |
var-cache-apt
key: apt-get-${{ inputs.platform }}-${{ hashFiles('src/**/package.xml') }}
restore-keys: |
apt-get-${{ inputs.platform }}-
- name: Inject cache into docker
uses: reproducible-containers/[email protected]
with:
cache-map: |
{
"root-ccache": "/root/.ccache",
"var-cache-apt": "/var/cache/apt"
}
skip-extraction: true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:openadkit Issues or Features related to Open AD Kit tag:run-health-check Run health-check type:containers Docker containers, containerization of components, or container orchestration.
Projects
Status: Integration
Development

Successfully merging this pull request may close these issues.

2 participants