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

Multibeam Sonar Migration Template #291

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
214 commits
Select commit Hold shift + click to select a range
6cd4ec9
clean-up
woensug-choi May 21, 2024
fafe4c2
add ros gazebo installation script
woensug-choi May 30, 2024
7593e59
add ros gazebo installation script
woensug-choi May 30, 2024
adc6f1e
remove ci for now
woensug-choi May 30, 2024
70429e2
change script name
woensug-choi May 30, 2024
ad7aa30
ci set-up
woensug-choi May 31, 2024
9af4f81
ci set-up
woensug-choi May 31, 2024
f6763bc
actions and pre-commits
woensug-choi May 31, 2024
51deda1
add local test script
woensug-choi May 31, 2024
48afa58
fix python version
woensug-choi May 31, 2024
8db8afe
line length
woensug-choi May 31, 2024
c28745c
line length
woensug-choi May 31, 2024
ab20b92
add dockerfile lint
woensug-choi May 31, 2024
034568c
add dockerfile lint
woensug-choi May 31, 2024
a6bd607
add contrib memo
woensug-choi May 31, 2024
6b4c190
lint fix
woensug-choi May 31, 2024
bb3adb8
dockerfile fix
woensug-choi May 31, 2024
f3f8ca1
action fix
woensug-choi May 31, 2024
73c5971
add precommit ci
woensug-choi May 31, 2024
435fb61
add precommit ci with ros2 branch
woensug-choi May 31, 2024
956b866
add precommit ci autoupdate
woensug-choi May 31, 2024
f2d3a24
line width fix
woensug-choi May 31, 2024
16c87d6
pre-commit ci as action
woensug-choi May 31, 2024
5fd3233
remove precommit.ci
woensug-choi May 31, 2024
303ee0f
precommit back to pre
woensug-choi May 31, 2024
43084e9
remove precommit.ci
woensug-choi May 31, 2024
5a7ab44
add osrf key
woensug-choi Jun 3, 2024
f63db13
add some generic packages
woensug-choi Jun 3, 2024
4c4e0f0
modfiy for one-line installation
woensug-choi Jun 5, 2024
d0b4772
modfiy for one-line installation
woensug-choi Jun 5, 2024
8f85656
modfiy for one-line installation
woensug-choi Jun 5, 2024
9b64c85
modfiy for one-line installation
woensug-choi Jun 5, 2024
fc5eb99
modfiy for one-line installation
woensug-choi Jun 5, 2024
c1bce4a
final colorizing
woensug-choi Jun 5, 2024
6f247cc
docker update
woensug-choi Jun 5, 2024
13f54b0
install dave in docker ci image
woensug-choi Jun 5, 2024
3e8c848
support apple silicon
woensug-choi Jun 5, 2024
478ebc5
update
woensug-choi Jun 5, 2024
7131b95
fix docker ci
woensug-choi Jun 5, 2024
a3b21ce
fix docker ci
woensug-choi Jun 5, 2024
c493843
add rdp for apple silicon image
woensug-choi Jun 5, 2024
0eb057e
add rosdep init
woensug-choi Jun 5, 2024
dead9db
set user dave
woensug-choi Jun 5, 2024
57433bf
add dave in repos list
woensug-choi Jun 5, 2024
6436522
docker build error fix attempt
woensug-choi Jun 5, 2024
ed0250c
docker build error fix attempt
woensug-choi Jun 5, 2024
300efb3
docker build error fix attempt
woensug-choi Jun 5, 2024
f42785b
docker build error fix attempt
woensug-choi Jun 5, 2024
dd21d5d
docker build error fix attempt
woensug-choi Jun 5, 2024
d37a686
apple silicon docker tag to be ros2-arm-rdp
woensug-choi Jun 5, 2024
e7d26de
apple silicon docker tag to be ros2-arm-rdp
woensug-choi Jun 5, 2024
f9aafcc
apple silicon docker fix attempt
woensug-choi Jun 5, 2024
8ebae8b
apple silicon docker fix attempt
woensug-choi Jun 5, 2024
2618973
apple silicon docker fix attempt
woensug-choi Jun 5, 2024
5f8e963
shorten compile time and add bashrc
woensug-choi Jun 5, 2024
3d409a2
shorten compile time and add bashrc
woensug-choi Jun 5, 2024
3ade630
faster docker hub image for ci build
woensug-choi Jun 6, 2024
74a353e
faster docker hub image for ci build fix attempt
woensug-choi Jun 6, 2024
3353df3
remove doc for now
woensug-choi Jun 10, 2024
486a61f
changing docker hub repository
woensug-choi Jun 10, 2024
5972ff2
not tagging correctly fix
woensug-choi Jun 11, 2024
e8edbe2
not tagging correctly fix2
woensug-choi Jun 11, 2024
af720f4
not tagging correctly fix3
woensug-choi Jun 11, 2024
757435c
Added examples for launching models from fuel
rakeshv24 Jun 13, 2024
b3fc217
converted yaml to python files and added a hook for setting gazebo va…
rakeshv24 Jun 20, 2024
0bc6b25
universal trial
woensug-choi Jun 20, 2024
ff7746a
nop we need hooks
woensug-choi Jun 20, 2024
1c27b13
typo fix
woensug-choi Jun 20, 2024
8e4df54
updated README and minor code refactoring
rakeshv24 Jun 20, 2024
06b2c3a
Merge pull request #2 from IOES-Lab/fuel-models
rakeshv24 Jun 20, 2024
bfb1138
linting fixes
rakeshv24 Jun 20, 2024
1ee0b98
add special background
woensug-choi Jun 21, 2024
b685391
add background image
woensug-choi Jun 21, 2024
2d66b57
line change fix
woensug-choi Jun 21, 2024
9ce1b99
add env variable and welcome
woensug-choi Jun 21, 2024
1aedcf4
Restructuring of ROS 2 packages to follow the original dave repo
rakeshv24 Jun 24, 2024
13c02f6
package rename
rakeshv24 Jun 24, 2024
50b4752
Merge pull request #3 from IOES-Lab/restructure
rakeshv24 Jun 25, 2024
f4e45d1
add dave worlds and launch files
hmoyen Jun 25, 2024
6b1ac31
remove LICENSE
hmoyen Jun 25, 2024
ca9706b
WIP: added a package for dave_robot_models.
rakeshv24 Jun 25, 2024
7950f6f
add universal launch file and README
hmoyen Jun 26, 2024
42c95bd
rdp opengl error fix
woensug-choi Jun 26, 2024
db639af
move to host directory at start
woensug-choi Jun 26, 2024
d47d52b
clean up and mod
woensug-choi Jun 27, 2024
cb3eebe
added rexrov model with hydrodynamic, buoyancy, and thruster plugins
rakeshv24 Jun 27, 2024
8e96c30
Added Readme and minor fixes
rakeshv24 Jun 27, 2024
585101d
Merge pull request #4 from IOES-Lab/worlds
hmoyen Jun 27, 2024
553a7f0
rdp opengl error fix
woensug-choi Jun 26, 2024
aff413c
move to host directory at start
woensug-choi Jun 26, 2024
de9ac85
add dave worlds and launch files
hmoyen Jun 25, 2024
0bf5e27
remove LICENSE
hmoyen Jun 25, 2024
06f3d88
add universal launch file and README
hmoyen Jun 26, 2024
91d387f
clean up and mod
woensug-choi Jun 27, 2024
77cb4f8
rebased with ros2 branch, removed redudant code, applied pre-commit a…
rakeshv24 Jun 27, 2024
56badf6
Merge branch 'ros2' into robot-models
rakeshv24 Jun 27, 2024
61bf21b
Remove sudo message at beginning
woensug-choi Jun 28, 2024
b265572
pre-commit lint fixes
woensug-choi Jun 28, 2024
2f04a8a
revive pre-commit with fixes
woensug-choi Jun 28, 2024
6aa3b71
xml pre-commit fix
woensug-choi Jun 28, 2024
a65a39c
dockerfile lint remove (temp)
woensug-choi Jun 28, 2024
02817a6
Merge branch 'ros2' into robot-models
rakeshv24 Jun 28, 2024
0ebded4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 28, 2024
4c583f7
Changed added mass values, moved sensor tag within base_link, suppres…
rakeshv24 Jun 28, 2024
8bbf5b7
workflow lint check fix
woensug-choi Jun 28, 2024
7c8baba
yaml lint fix
woensug-choi Jun 28, 2024
045f11f
Merge branch 'ros2' into robot-models
woensug-choi Jun 28, 2024
a5bf461
Merge pull request #5 from IOES-Lab/robot-models
rakeshv24 Jun 28, 2024
fb82008
Moved dvl sensor to a dave_sensor_model package, added model.config f…
rakeshv24 Jun 28, 2024
2ee418e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 28, 2024
fb27cf8
WIP: added glider_slocum model; TODO: fix buoyancy, battery plugin, a…
rakeshv24 Jun 28, 2024
a07a1d7
Merge pull request #6 from IOES-Lab/dave-sensor
rakeshv24 Jun 29, 2024
753d7ce
Added buoyancy plugin to the world files
rakeshv24 Jul 1, 2024
8fbe7d8
changes to battery plugin
rakeshv24 Jul 2, 2024
428846f
Updated:
rakeshv24 Jul 3, 2024
174c238
initial position mod
woensug-choi Jul 6, 2024
9c171b0
Merge pull request #7 from IOES-Lab/buoyancy
rakeshv24 Jul 6, 2024
731e3db
Moved dvl sensor to a dave_sensor_model package, added model.config f…
rakeshv24 Jun 28, 2024
cbd21ed
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 28, 2024
011c831
Added buoyancy plugin to the world files
rakeshv24 Jul 1, 2024
9d64ee7
Merge pull request #8 from IOES-Lab/glider-slocum
rakeshv24 Jul 6, 2024
a9f2309
add usbl plugins
hmoyen Jul 8, 2024
3b77631
remove -testing
woensug-choi Jul 8, 2024
199f6e5
add user argument
woensug-choi Jul 8, 2024
910b053
key conflit avoidance
woensug-choi Jul 8, 2024
5b015fd
usbl transponder working
hmoyen Jul 8, 2024
35cacfc
usbl transceiver working
hmoyen Jul 12, 2024
3861066
usbl transceiver working
hmoyen Jul 12, 2024
fc92e36
fix entity bug
hmoyen Jul 12, 2024
a23edad
corrections
hmoyen Jul 12, 2024
04f10ee
change package name
hmoyen Jul 12, 2024
1e14e88
change package name to sensors
hmoyen Jul 12, 2024
99dd3ab
change cmake minimum
hmoyen Jul 12, 2024
9748c5a
add parameters
hmoyen Jul 13, 2024
4242030
delete install in cmake
hmoyen Jul 15, 2024
f4d2a75
testing
woensug-choi Jul 15, 2024
3d9fc58
ament precommit fix attempt
woensug-choi Jul 15, 2024
40b471f
remove test file
woensug-choi Jul 15, 2024
6598717
add custom location message and mode conditions
hmoyen Jul 15, 2024
1743eb5
new sc branch
hmoyen Jul 17, 2024
ddb5f26
add interfaces
hmoyen Jul 19, 2024
954c965
change launch to add verbose
hmoyen Jul 19, 2024
1cd7702
fix set origin sc
hmoyen Jul 19, 2024
950969d
fix transform from sc to local
hmoyen Jul 19, 2024
b0801ba
fix tabs and set default ping to true
hmoyen Jul 19, 2024
0f1378e
Merge pull request #11 from IOES-Lab/usbl-plugins
hmoyen Jul 19, 2024
b01c36f
add usbl plugins
hmoyen Jul 8, 2024
598ce3f
usbl transponder working
hmoyen Jul 8, 2024
22a5258
usbl transceiver working
hmoyen Jul 12, 2024
bd73bfe
usbl transceiver working
hmoyen Jul 12, 2024
4ea1171
fix entity bug
hmoyen Jul 12, 2024
3db68e4
corrections
hmoyen Jul 12, 2024
3a99656
change package name
hmoyen Jul 12, 2024
effd089
change package name to sensors
hmoyen Jul 12, 2024
7882bec
change cmake minimum
hmoyen Jul 12, 2024
18e1f62
add parameters
hmoyen Jul 13, 2024
6c1ec08
testing
woensug-choi Jul 15, 2024
8b446c6
ament precommit fix attempt
woensug-choi Jul 15, 2024
e109afb
remove test file
woensug-choi Jul 15, 2024
227a97b
add custom location message and mode conditions
hmoyen Jul 15, 2024
1560aad
fix tabs and set default ping to true
hmoyen Jul 19, 2024
010a7d2
usbl transponder working
hmoyen Jul 8, 2024
d287b95
fix entity bug
hmoyen Jul 12, 2024
aab676d
delete old package
hmoyen Jul 19, 2024
2195ea9
linting fix and minor change to installation script
rakeshv24 Jul 19, 2024
06bee06
Removed redundant package installation
rakeshv24 Jul 19, 2024
f02e4fa
add cppzmq-dev
hmoyen Jul 19, 2024
8604b2f
desktop -> desktop-full
rakeshv24 Jul 19, 2024
9f1680f
Merge branch 'ros2' into sc-plugin
hmoyen Jul 19, 2024
79749bd
Merge pull request #12 from IOES-Lab/sc-plugin
hmoyen Jul 19, 2024
edfed6b
Update CMakeLists.txt
hmoyen Jul 19, 2024
cc7a1ef
added sub_sea_pressure_sensor_plugin
GauravKumar9920 Jul 24, 2024
0abb291
added support for proto
GauravKumar9920 Jul 24, 2024
ecee25d
updated cmake for review
GauravKumar9920 Jul 25, 2024
cda34c5
fix include issue
hmoyen Jul 25, 2024
6e871ef
removed duplicates
GauravKumar9920 Jul 26, 2024
3cbe0e3
Successfully compiling code
GauravKumar9920 Jul 27, 2024
a5ab8e2
Pre-Final fixes
GauravKumar9920 Aug 4, 2024
4bdc531
fix material issues
hmoyen Jul 25, 2024
f20510b
Final code for Sea_Pressure_sensor_plugin
GauravKumar9920 Aug 6, 2024
36d1898
minor Update
GauravKumar9920 Aug 6, 2024
3179fd4
source install test
woensug-choi Aug 7, 2024
22941bc
amd
woensug-choi Aug 7, 2024
c4a86a5
clean up
woensug-choi Aug 7, 2024
22864c1
add entry and pythonpath
woensug-choi Aug 7, 2024
4be7c2b
gazebo source install script
woensug-choi Aug 7, 2024
b9dd381
minor fix
woensug-choi Aug 7, 2024
f99c972
finalize
woensug-choi Aug 7, 2024
a4627f9
specify gz-physics version
woensug-choi Aug 7, 2024
13b44aa
specify gz-phyics version
woensug-choi Aug 7, 2024
9c61da3
testing self-hosted runner
woensug-choi Aug 7, 2024
d5ae9af
Update README.md
woensug-choi Aug 8, 2024
550f7d9
arm build takes longer than 6 hours
woensug-choi Aug 8, 2024
33435db
updated code with reccomended changes
GauravKumar9920 Aug 8, 2024
d405d4a
Minor changes
GauravKumar9920 Aug 8, 2024
d28a1f6
Removed Proto
GauravKumar9920 Aug 9, 2024
3df20aa
Merge branch 'dockertest' into ros2
woensug-choi Aug 9, 2024
363a7c7
Merge pull request #13 from IOES-Lab/sea_pressure_plugin
GauravKumar9920 Aug 9, 2024
de0ca62
remove empty file
woensug-choi Aug 9, 2024
f22dad4
add lints and build checks for PR too
woensug-choi Aug 9, 2024
0368e21
template save
woensug-choi Aug 15, 2024
912b984
intermediate save
woensug-choi Aug 15, 2024
7264f6b
rendering not working
woensug-choi Aug 16, 2024
06c3a2b
failing
woensug-choi Aug 16, 2024
bf919e2
dvl_template
woensug-choi Aug 16, 2024
4af0cd1
wrap
woensug-choi Aug 16, 2024
8c64ae5
dvl_template_ready
woensug-choi Aug 16, 2024
9538f40
rename the plugin
woensug-choi Aug 17, 2024
1c90b1e
add description
woensug-choi Aug 17, 2024
4527b4b
add to library path too
woensug-choi Aug 18, 2024
de1d329
ogre not found in target_link_libraries fix
woensug-choi Aug 18, 2024
e7a73a7
somewhat compile success
woensug-choi Aug 18, 2024
9717fe4
launch and upload test
woensug-choi Aug 18, 2024
0a561f3
match variable name for launchs
woensug-choi Aug 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 16 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
Language: Cpp
BasedOnStyle: Google

ColumnLimit: 100
AccessModifierOffset: -2
AlignAfterOpenBracket: AlwaysBreak
BreakBeforeBraces: Allman
ConstructorInitializerIndentWidth: 0
ContinuationIndentWidth: 2
DerivePointerAlignment: false
PointerAlignment: Middle
ReflowComments: true
IncludeBlocks: Preserve
InsertBraces: true
...
30 changes: 30 additions & 0 deletions .docker/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# ROS2 Control Docker Containers

Meant to provide basic docker containers for CI or development purposes. To use them, make sure you have [Docker](https://docs.docker.com/get-docker/) installed. You then can pull the latest source or build image or build any version and run the image by following tag specific commands as described below:

## Source folder and tag
Downloads and builds daves into a workspace for development use exactly as is found [here](https://control.ros.org/master/doc/getting_started/getting_started.html#building-from-source). This is primarily used for development and CI of dave and related packages.

You can pull a prebuilt image with this docker tag: `ghcr.io/ros-controls/dave_source`.

To build and run the container, execute the following code in a terminal:
```
docker build --tag dave:source --file .docker/jazzy.dockerfile .
docker run -it dave:source
```

If you are not familiar with docker, you'll want to consider how you want to maintain persistent data across container sessions. The above commands with start a **new** container and that container will persist as long as you don't remove it. If you want to return to it, you'll have to use the `docker start` command with the container id.

A better way to maintain your code changes across coding sessions is to use docker volumes or bind mounts. Web search those terms for more documentation but a simple example is provided below. First, you must build the container as shown in the first command above, then:

Bind mount example:
```
docker run -it --mount type=bind,source=/local/path/to/repo,destination=/root/ws_dave/src/<path to repo you want replaced> dave:source
```
Note: the above example replaces the containers contents with whatever you mount.

Volume example:
```
docker run -it --mount type=volume,source=name-of-volume,destination=/root/ws_dave/src/ dave:source
```
Note: this is probably the preferred solution as changes persist across rebuilds of container and doesn't require you to pull all repositories that you want to edit as they'll already be in the container.
78 changes: 78 additions & 0 deletions .docker/jazzy.amd64.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
ARG ROS_DISTRO="jazzy"
FROM osrf/ros:$ROS_DISTRO-desktop-full
ARG BRANCH="ros2"

# Install Utilities
# hadolint ignore=DL3008
RUN apt-get update && \
apt-get install -y --no-install-recommends \
sudo xterm init systemd snapd vim net-tools \
curl wget git build-essential cmake cppcheck \
gnupg libeigen3-dev libgles2-mesa-dev \
lsb-release pkg-config protobuf-compiler \
python3-dbg python3-pip python3-venv \
qtbase5-dev ruby dirmngr gnupg2 nano xauth \
software-properties-common htop libtool \
x11-apps mesa-utils bison flex automake && \
rm -rf /var/lib/apt/lists/

# Locale for UTF-8
RUN truncate -s0 /tmp/preseed.cfg && \
(echo "tzdata tzdata/Areas select Etc" >> /tmp/preseed.cfg) && \
(echo "tzdata tzdata/Zones/Etc select UTC" >> /tmp/preseed.cfg) && \
debconf-set-selections /tmp/preseed.cfg && \
rm -f /etc/timezone && \
dpkg-reconfigure -f noninteractive tzdata
# hadolint ignore=DL3008
RUN apt-get update && \
apt-get -y install --no-install-recommends locales tzdata \
&& rm -rf /tmp/*
RUN locale-gen en_US en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
export LANG=en_US.UTF-8

# Make user (assume host user has 1000:1000 permission)
ARG USER=docker
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN adduser --shell /bin/bash --disabled-password --gecos '' $USER \
&& echo "$USER:$USER" | chpasswd && adduser $USER sudo \
&& echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

# Install ROS-Gazebo framework
ADD https://raw.githubusercontent.com/IOES-Lab/dave/$BRANCH/\
extras/ros-jazzy-binary-gz-harmonic-source-install.sh install.sh
RUN bash install.sh

# Set up Dave workspace
ENV DAVE_WS=/opt/ws_dave
WORKDIR $DAVE_WS/src

ADD https://raw.githubusercontent.com/IOES-Lab/dave/$BRANCH/\
extras/repos/dave.$ROS_DISTRO.repos $DAVE_WS/dave.repos
RUN vcs import --shallow --input $DAVE_WS/dave.repos

# Install dave dependencies
RUN apt-get update && rosdep update && \
rosdep install -iy --from-paths . && \
rm -rf /var/lib/apt/lists/

# Compile Dave
WORKDIR $DAVE_WS
RUN . "/opt/ros/${ROS_DISTRO}/setup.sh" && \
colcon build

# source entrypoint setup
RUN touch /ros_entrypoint.sh && sed --in-place --expression \
'$i source "/opt/ws_dave/install/setup.bash"' /ros_entrypoint.sh

# Source ROS and Gazebo
RUN sed --in-place --expression \
'$i source "/opt/ros/jazzy/setup.bash"' /ros_entrypoint.sh && \
sed --in-place --expression \
'$i source "/opt/gazebo/install/setup.bash"' /ros_entrypoint.sh && \
sed --in-place --expression \
'$i export PYTHONPATH=$PYTHONPATH:/opt/gazebo/install/lib/python' /ros_entrypoint.sh

# Set User as user
USER $USER
RUN echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc && \
echo "source /opt/gazebo/install/setup.bash" >> ~/.bashrc
159 changes: 159 additions & 0 deletions .docker/jazzy.arm64v8.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
# FROM arm64v8/ubuntu:24.04
# # Set RDP and SSH environments
# ARG X11Forwarding=true
# # hadolint ignore=DL3008,DL3015,DL3009
# RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
# apt-get install -y ubuntu-desktop-minimal dbus-x11 xrdp sudo; \
# [ $X11Forwarding = 'true' ] && apt-get install -y openssh-server; \
# apt-get autoremove --purge; \
# apt-get clean; \
# rm /run/reboot-required*

# ARG USER=docker
# ARG PASS=docker

# RUN useradd -s /bin/bash -m $USER -p "$(openssl passwd "$PASS")"; \
# usermod -aG sudo $USER; echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers; \
# adduser xrdp ssl-cert; \
# # Setting the required environment variables
# echo 'LANG=en_US.UTF-8' >> /etc/default/locale; \
# echo 'export GNOME_SHELL_SESSION_MODE=ubuntu' > /home/$USER/.xsessionrc; \
# echo 'export XDG_CURRENT_DESKTOP=ubuntu:GNOME' >> /home/$USER/.xsessionrc; \
# echo 'export XDG_SESSION_TYPE=x11' >> /home/$USER/.xsessionrc; \
# # Enabling log to the stdout
# sed -i "s/#EnableConsole=false/EnableConsole=true/g" /etc/xrdp/xrdp.ini; \
# # Disabling system animations and reducing the
# # image quality to improve the performance
# sed -i 's/max_bpp=32/max_bpp=16/g' /etc/xrdp/xrdp.ini; \
# gsettings set org.gnome.desktop.interface enable-animations true; \
# # Listening on wildcard address for X forwarding
# [ $X11Forwarding = 'true' ] && \
# sed -i 's/#X11UseLocalhost yes/X11UseLocalhost no/g' /etc/ssh/sshd_config || \
# sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config || \
# :;

# # Disable initial welcome window
# RUN echo "X-GNOME-Autostart-enabled=false" >> /etc/xdg/autostart/gnome-initial-setup-first-login.desktop

# # Install basics
# ENV DEBIAN_FRONTEND noninteractive
# ENV DEBCONF_NONINTERACTIVE_SEEN=true
# # hadolint ignore=DL3008
# RUN apt-get update && \
# apt-get install -y --no-install-recommends \
# sudo xterm init systemd snapd vim net-tools \
# curl wget git build-essential cmake cppcheck \
# gnupg libeigen3-dev libgles2-mesa-dev \
# lsb-release pkg-config protobuf-compiler \
# python3-dbg python3-pip python3-venv \
# qtbase5-dev ruby dirmngr gnupg2 nano xauth \
# software-properties-common htop libtool \
# x11-apps mesa-utils bison flex automake && \
# rm -rf /var/lib/apt/lists/

# Locale for UTF-8
# RUN truncate -s0 /tmp/preseed.cfg && \
# (echo "tzdata tzdata/Areas select Etc" >> /tmp/preseed.cfg) && \
# (echo "tzdata tzdata/Zones/Etc select UTC" >> /tmp/preseed.cfg) && \
# debconf-set-selections /tmp/preseed.cfg && \
# rm -f /etc/timezone && \
# dpkg-reconfigure -f noninteractive tzdata
# # hadolint ignore=DL3008
# RUN apt-get update && \
# apt-get -y install --no-install-recommends locales tzdata \
# && rm -rf /tmp/*
# RUN locale-gen en_US en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
# export LANG=en_US.UTF-8

# # Run
# EXPOSE 3389/tcp
# EXPOSE 22/tcp
# # hadolint ignore=DL3025
# CMD sudo rm -f /var/run/xrdp/xrdp*.pid >/dev/null 2>&1; \
# sudo service dbus restart >/dev/null 2>&1; \
# sudo /usr/lib/systemd/systemd-logind >/dev/null 2>&1 & \
# [ -f /usr/sbin/sshd ] && sudo /usr/sbin/sshd; \
# sudo xrdp-sesman --config /etc/xrdp/sesman.ini; \
# sudo xrdp --nodaemon --config /etc/xrdp/xrdp.ini

# Using the pre-built image for above commented out dockerfile code lines
# hadolint ignore=DL3007
FROM --platform=linux/arm64 woensugchoi/ubuntu-arm-rdp-base:latest
ARG USER=docker

# ROS-Gazebo arg
ARG BRANCH="ros2"
ARG ROS_DISTRO="jazzy"

# Install ROS-Gazebo framework
ADD https://raw.githubusercontent.com/IOES-Lab/dave/$BRANCH/\
extras/ros-jazzy-binary-gz-harmonic-source-install.sh install.sh
RUN bash install.sh

# Set up Dave workspace
ENV ROS_UNDERLAY=/home/$USER/dave_ws/install
WORKDIR $ROS_UNDERLAY/../src

ADD https://raw.githubusercontent.com/IOES-Lab/dave/$BRANCH/\
extras/repos/dave.$ROS_DISTRO.repos /home/$USER/ws_dave/dave.repos
RUN vcs import --shallow --input "/home/$USER/ws_dave/dave.repos"

RUN rosdep init && \
rosdep update --rosdistro $ROS_DISTRO

# hadolint ignore=DL3027
RUN apt update && apt --fix-broken install && \
rosdep update && rosdep install -iy --from-paths . && \
rm -rf /var/lib/apt/lists/

WORKDIR $ROS_UNDERLAY/..
RUN . "/opt/ros/${ROS_DISTRO}/setup.sh" && \
colcon build

# Download the background image from GitHub raw content URL
# hadolint ignore=DL3047
RUN wget -O /usr/share/backgrounds/custom-background.png -q \
https://raw.githubusercontent.com/IOES-Lab/dave/$BRANCH/\
extras/background.png && \
mv /usr/share/backgrounds/warty-final-ubuntu.png \
/usr/share/backgrounds/warty-final-ubuntu.png.bak && \
mv /usr/share/backgrounds/custom-background.png \
/usr/share/backgrounds/warty-final-ubuntu.png && \
cp /usr/share/backgrounds/warty-final-ubuntu.png \
/usr/share/backgrounds/ubuntu-wallpaper-d.png

# source entrypoint setup
RUN touch /ros_entrypoint.sh && sed --in-place --expression \
'$i source "$ROS_UNDERLAY/setup.bash"' /ros_entrypoint.sh

# Set User as user
USER docker
RUN echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc && \
echo "source /opt/gazebo/install/setup.bash" >> ~/.bashrc && \
echo "export PYTHONPATH=$PYTHONPATH:/opt/gazebo/install/lib/python" >> ~/.bashrc && \
echo "if [ -d ~/HOST ]; then chown docker:docker ~/HOST; fi" \
>> ~/.bashrc

# Other environment variables
RUN echo "export XDG_RUNTIME_DIR=~/.xdg_log" >> ~/.bashrc && \
echo "unset SESSION_MANAGER" >> ~/.bashrc

# Create and write the welcome message to a new file
RUN mkdir -p /home/docker/.config/autostart && \
printf '\033[1;32m\n =====\n\033[0m' >> ~/.hi && \
printf "\\033[1;32m 👋 Hi! This is Docker virtual environment\n\\033[0m" \
>> ~/.hi && \
printf "\\033[1;33m\tROS2 Jazzy - Gazebo Harmonic\n\n\n\\033[0m" \
>> ~/.hi

# Remove sudo message
RUN touch /home/docker/.sudo_as_admin_successful

# Autostart terminal
# hadolint ignore=SC3037
RUN echo "[Desktop Entry]\nType=Application" \
> /home/docker/.config/autostart/terminal.desktop && \
echo "Exec=gnome-terminal -- bash -c 'cat ~/.hi; cd ~/HOST; exec bash'" \
>> /home/docker/.config/autostart/terminal.desktop && \
echo -e "X-GNOME-Autostart-enabled=true" \
>> /home/docker/.config/autostart/terminal.desktop
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment (please complete the following information):**
- Machine [e.g. Mac VMWare, Linux Ubuntu]
- OS Version: [e.g. Ubuntu 24.04]
- Anything that may be unusual about your environment

**Additional context**
Add any other context about the problem here, especially include any modifications to the project that relate to this issue.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/good-first-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
name: Good first issue
about: Create an issue to welcome a new contributor into the community.
title: ''
labels: good-first-issue
assignees: ''

---

## Background

Overview of your issue here.

## Instructions
Hi, this is a `good-first-issue` issue. This means we've worked to make it more legible to people who either **haven't contributed to our codebase before, or even folks who haven't contributed to open source before**.

We're interested in helping you take the first step, and can answer questions and help you out along the way. Note that we're especially interested in contributions from underrepresented groups!

We know that creating a pull request is the biggest barrier for new contributors. This issue is for you 💝

If you have contributed before, **consider leaving this PR for someone new**, and looking through our general issues. Thanks!

### 🤔 What you will need to know.

Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.

### 📋 Step by Step

- [ ] 🙋 **Claim this issue**: Comment below. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!

- [ ] 🗄️ **Create a local workspace** for making your changes and testing [following these instructions](https://docs.ros.org/en/jazzy/Tutorials/Workspace/Creating-A-Workspace.html)

- [ ] 🍴 **Fork the repository** using the handy button at the top of the repository page and **clone** it into `~/ros2_ws/src/dave`, [here is a guide that you can follow](https://guides.github.com/activities/forking/) (You will have to remove or empty the existing `dave` folder before cloning your own fork)

- [ ] **Checkout a new branch** using `git checkout -b <branch_name>`

- [ ] 🤖 **Apply `pre-commit`** auto formatting, by running `pip3 install pre-commit` and running `pre-commit install` in the dave repo.

- [ ] 💾 **Commit and Push** your changes

- [ ] 🔀 **Start a Pull Request** to request to merge your code into `master`. There are two ways that you can start a pull request:
1. If you are not familiar with GitHub or how to create a pull request, [here is a guide you can follow](https://guides.github.com/activities/hello-world/) on how GitHub works.

- [ ] 🏁 **Done** Ask in comments for a review :)

### Is someone else already working on this?

🔗- We encourage contributors to link to the original issue in their pull request so all users can easily see if someone's already started on it.

👥- **If someone seems stuck, offer them some help!**

**Good luck with your first issue!**
Loading
Loading