init commit
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
## Build Image
|
||||
|
||||
ROS Jazzy + GZ Harmonic
|
||||
|
||||
```
|
||||
docker buildx build -f gz_harmonic_sim_dev.dockerfile -t sim_dev:gz_harmonic .
|
||||
```
|
||||
|
||||
## NOTICE
|
||||
When you build code in container with error:
|
||||
> fatal: detected dubious ownership in repository at '/code/PX4-Autopilot'
|
||||
> To add an exception for this directory, call:
|
||||
> git config --global --add safe.directory
|
||||
|
||||
you should run this command in container:
|
||||
```
|
||||
git config --global --add safe.directory '*'
|
||||
```
|
||||
|
||||
## Ubuntu With GUI&GPU Support
|
||||
|
||||
1. Install nvidia-container-toolkit
|
||||
```
|
||||
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
|
||||
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
|
||||
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
|
||||
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
||||
|
||||
sudo apt install -y nvidia-container-toolkit
|
||||
sudo systemctl restart docker
|
||||
```
|
||||
|
||||
2. Run container with docker compose
|
||||
```
|
||||
# in host bash
|
||||
# x11 permission
|
||||
xhost +local:root
|
||||
# 修改 docker-compose-ubuntu.yml 中${HOST_WS} 为你主机上的工作空间的目录
|
||||
docker compose -f docker-compose-ubuntu.yml up -d
|
||||
docker exec -it sim_dev_container bash
|
||||
|
||||
# in container bash
|
||||
git config --global --add safe.directory '*'
|
||||
cd /simulation_ws
|
||||
sudo apt update
|
||||
rosdep install --from-paths src/autonomy --ignore-src -r -y
|
||||
/simulation_ws/src/autonomy/drivers/mavros/mavros/scripts/install_geographiclib_datasets.sh
|
||||
colcon build --symlink-install --packages-up-to mavlink mavros px4_bringup
|
||||
```
|
||||
## How to enter container again with bash
|
||||
|
||||
```
|
||||
# get container id
|
||||
docker container ls -a
|
||||
|
||||
# start container if not
|
||||
docker container start [container id]
|
||||
|
||||
docker exec -it [container id] bash
|
||||
```
|
||||
|
||||
|
||||
## WSL2 With GUI&GPU Support
|
||||
|
||||
> NOTICE: replace `~/code` on your host
|
||||
|
||||
```
|
||||
docker run -it \
|
||||
-v ~/code:/code \
|
||||
-v /tmp/.X11-unix:/tmp/.X11-unix \
|
||||
-v /mnt/wslg:/mnt/wslg \
|
||||
-v /usr/lib/wsl:/usr/lib/wsl \
|
||||
-e DISPLAY=$DISPLAY \
|
||||
-e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
|
||||
-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
|
||||
-e PULSE_SERVER=$PULSE_SERVER \
|
||||
--device=/dev/dxg \
|
||||
--device /dev/dri/card0 \
|
||||
--device /dev/dri/renderD128 \
|
||||
--gpus all sim_dev:gz_harmonic
|
||||
```
|
||||
|
||||
docker-compose
|
||||
```
|
||||
docker compose -f docker-compose-wsl.yml up -d
|
||||
docker exec -it sim_dev_container bash
|
||||
cd /simulation_ws
|
||||
sudo apt update
|
||||
rosdep install --from-paths src/autonomy --ignore-src -r -y
|
||||
/simulation_ws/src/autonomy/drivers/mavros/mavros/scripts/install_geographiclib_datasets.sh
|
||||
colcon build --symlink-install --packages-up-to mavlink mavros px4_bringup
|
||||
```
|
||||
|
||||
## Simulation
|
||||
|
||||
### build simulation worksapce
|
||||
|
||||
```bash
|
||||
MAKEFLAGS="-j4" colcon build --symlink-install \
|
||||
--packages-up-to \
|
||||
mavlink mavros mavros_extras px4_bringup vins_estimator usb_cam \
|
||||
--cmake-args \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DCMAKE_CXX_STANDARD=17 \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user