ROS environment construction
ROS1/ROS2向けのDocker Image
- GPU,CUDA対応
- Ethernet,USB接続のセンサー等も使用可能
- bashスクリプトが自動生成されるのでコマンド1行でコンテナに入れる
git clone https://github.com/hrjp/rosenv
# ROS1 melodic
./rosenv/docker/ros_melodic/run.bash
# ROS1 noetic
./rosenv/docker/ros_noetic/run.bash
# ROS2 foxy
./rosenv/docker/ros2_foxy/run.bash
# ROS2 galactic
./rosenv/docker/ros2_galactic/run.bash
# ROS2 humble
./rosenv/docker/ros2_humble/run.bash
# naviton env
./rosenv/docker/naviton_melodic/run.bash
# Ubuntu 20.04
./rosenv/docker/ubuntu20/run.bash
# LeGO-LOAM and hdl_graph_slam with ROS1 melodic
./rosenv/docker/slam_melodic/run.bash
必要に応じて以下のオプションを指定する
Option | Default | Details |
---|---|---|
-g | GPUを使用する | |
-r | コンテナからexitした際にコンテナを自動消去する | |
-w | --net-host をつけないで実行する(コンテナ外とネットワークを分離する) | |
-n CONTAINER_NAME | コンテナの名前 | |
-s SHARE_FOLDER_PATH | コンテナ内部と共有するディレクトリのパス rosbagをやデータを外部と共有する際に使用 (ex. shareフォルダを作ってから /home/$USER/share ) |
./rosenv/docker/naviton_melodic/run.bash
./rosenv/docker/naviton_melodic/run.bash -g -n naviton -s /home/$USER/share
exitしてコンテナの外に出るとhomeディレクトリにCONTAINER_NAME.bash (CONTAINER_NAMEは自分で作成したコンテナの名前)が生成されている
cd
./CONTAINER_NAME.bash
次回からは上記のスクリプトを実行すると自動でコンテナをスタートしてコンテナ内に入れる
graph TD
subgraph GitHub
subgraph rosenv
docker/ros_melodic/Dockerfile
docker/naviton_melodic/Dockerfile
end
subgraph naviton
docker/main/Dockerfile
docker/develop/Dockerfile
end
end
subgraph dockerhub
subgraph hrjp/ros
hrjp/ros:melodic_cudagl
end
subgraph hrjp/naviton
hrjp/naviton:melodic_cudagl
hrjp/naviton:melodic_main
hrjp/naviton:melodic_develop
end
end
docker/ros_melodic/Dockerfile-->|Auto build and push at 11 P.M.|hrjp/ros:melodic_cudagl
hrjp/ros:melodic_cudagl-->docker/naviton_melodic/Dockerfile
docker/naviton_melodic/Dockerfile-->|Auto build and push at 1 A.M.|hrjp/naviton:melodic_cudagl
hrjp/naviton:melodic_cudagl-->docker/main/Dockerfile
hrjp/naviton:melodic_cudagl-->docker/develop/Dockerfile
docker/main/Dockerfile-->|Auto docker build and push at 3 A.M.|hrjp/naviton:melodic_main
docker/develop/Dockerfile-->|Auto docker build and push at 3 A.M.|hrjp/naviton:melodic_develop
click docker/ros_melodic/Dockerfile https://github.com/hrjp/rosenv/blob/main/docker/ros_melodic/Dockerfile
click docker/naviton_melodic/Dockerfile https://github.com/hrjp/rosenv/blob/main/docker/naviton_melodic/Dockerfile
click docker/main/Dockerfile https://github.com/hrjp/naviton/blob/main/docker/main/Dockerfile
click docker/develop/Dockerfile https://github.com/hrjp/naviton/blob/main/docker/develop/Dockerfile
click hrjp/ros:melodic_cudagl https://hub.docker.com/repository/docker/hrjp/ros
click hrjp/naviton:melodic_cudagl https://hub.docker.com/repository/docker/hrjp/naviton
click hrjp/naviton:melodic_main https://hub.docker.com/repository/docker/hrjp/naviton
click hrjp/naviton:melodic_develop https://hub.docker.com/repository/docker/hrjp/naviton