From bf550934208405a3efb0ca33c092418f4d609e91 Mon Sep 17 00:00:00 2001 From: Derek Witcpalek Date: Fri, 3 Apr 2020 16:50:47 -0400 Subject: [PATCH] Splits project into a docker environment folder and source code folder (for development). This change is mostly just renaming and moving files, but there are some changes to the gazebo Dockerfile to include all dependencies required for final development. --- .gitignore | 26 +++++++++++ {src => docker_env}/docker-compose.yml | 0 docker_env/gazebo/Dockerfile | 43 ++++++++++++++++++ {src => docker_env}/gazebo/build.sh | 0 docker_env/gazebo/run_rrrobot_image.sh | 1 + {src => docker_env}/ros-dev/Dockerfile | 0 {src => docker_env}/ros-dev/build.sh | 0 .../ros-dev/run_rrrobot_image.sh | 0 {src => docker_env}/ros-turtlesim/Dockerfile | 0 {src => docker_env}/ros-turtlesim/build.sh | 0 .../ros-turtlesim/run_rrrobot_image.sh | 0 .../ros-turtlesim/turtlesim.sh | 0 {src => docker_env}/ros/Dockerfile | 0 {src => docker_env}/ros/build.sh | 0 {src => docker_env}/ros/run_rrrobot_image.sh | 0 .../fanuc_robotic_arm/meshes/arm_link_1.STL | Bin .../fanuc_robotic_arm/meshes/arm_link_2.STL | Bin .../fanuc_robotic_arm/meshes/arm_link_3.STL | Bin .../fanuc_robotic_arm/meshes/arm_link_4.STL | Bin .../fanuc_robotic_arm/meshes/arm_link_5.STL | Bin .../fanuc_robotic_arm/meshes/arm_link_6.STL | Bin .../fanuc_robotic_arm/meshes/base_link.STL | Bin .../fanuc_robotic_arm/model.config | 0 .../gazebo_models/fanuc_robotic_arm/model.sdf | 30 ++++++------ ...n_rrrobot_image.sh => run_rrrobot_image.sh | 2 +- src/.env | 3 -- src/gazebo/Dockerfile | 8 ---- src/gazebo/run_rrrobot_image.sh | 7 --- 28 files changed, 87 insertions(+), 33 deletions(-) create mode 100644 .gitignore rename {src => docker_env}/docker-compose.yml (100%) create mode 100644 docker_env/gazebo/Dockerfile rename {src => docker_env}/gazebo/build.sh (100%) create mode 120000 docker_env/gazebo/run_rrrobot_image.sh rename {src => docker_env}/ros-dev/Dockerfile (100%) rename {src => docker_env}/ros-dev/build.sh (100%) rename {src => docker_env}/ros-dev/run_rrrobot_image.sh (100%) rename {src => docker_env}/ros-turtlesim/Dockerfile (100%) rename {src => docker_env}/ros-turtlesim/build.sh (100%) rename {src => docker_env}/ros-turtlesim/run_rrrobot_image.sh (100%) rename {src => docker_env}/ros-turtlesim/turtlesim.sh (100%) rename {src => docker_env}/ros/Dockerfile (100%) rename {src => docker_env}/ros/build.sh (100%) rename {src => docker_env}/ros/run_rrrobot_image.sh (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/model.config (100%) rename {src/gazebo => rrrobot_src/src}/gazebo_models/fanuc_robotic_arm/model.sdf (94%) rename src/run_rrrobot_image.sh => run_rrrobot_image.sh (76%) delete mode 100644 src/.env delete mode 100644 src/gazebo/Dockerfile delete mode 100755 src/gazebo/run_rrrobot_image.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..229c772 --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# Don't track the content of these folders # +############################################ +rrrobot_src/lib/ +rrrobot_src/src/simulation_drivers/build +rrrobot_src/src/simulation_drivers/devel +rrrobot_src/src/simulation_drivers/install +.* +!.gitignore + +# Compiled source # +################### +*.o +*.so + +# Packages # +############ +*.tar +*.gz +*.zip + +# Other # +######### +*.backup +*.old +*.custom +*.run diff --git a/src/docker-compose.yml b/docker_env/docker-compose.yml similarity index 100% rename from src/docker-compose.yml rename to docker_env/docker-compose.yml diff --git a/docker_env/gazebo/Dockerfile b/docker_env/gazebo/Dockerfile new file mode 100644 index 0000000..c1ffdc4 --- /dev/null +++ b/docker_env/gazebo/Dockerfile @@ -0,0 +1,43 @@ +# Gazebo Dockerfile + +# Use official image for Gazebo 9.x +FROM gazebo:gzserver9 + +# COPY $PWD/gazebo_models /root/.gazebo/models + +RUN apt-get update +RUN apt-get install -y libgazebo9-dev +RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' +RUN apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN apt-get install -y curl +RUN curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | apt-key add - +RUN apt-get update +RUN apt-get install -y ros-melodic-desktop-full +RUN echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc +RUN apt install -y python-rosdep +RUN rosdep init +RUN rosdep update +# user id 1000 should be the same as the host user, so that you can access files +# from inside the docker container and also on the host +RUN useradd -u 1000 rrrobot +# set to no password +RUN passwd --delete rrrobot +# add to sudo users +RUN usermod -aG sudo rrrobot +# set the entry point +WORKDIR /home/rrrobot +RUN chown -R rrrobot:rrrobot /home/rrrobot + +#COPY $RRROBOT_HOME/src /home/rrrobot/src +#COPY /home/dwitcpa/eecs467/rrrobot/src /home/rrrobot + +RUN echo "source /opt/ros/melodic/setup.bash" >> /home/rrrobot/.bashrc +RUN echo "source /usr/share/gazebo/setup.sh" >> /home/rrrobot/.bashrc +RUN echo "export GAZEBO_MODEL_PATH=/home/rrrobot/rrrobot_src/src/gazebo_models:\$GAZEBO_MODEL_PATH" >> /home/rrrobot/.bashrc +RUN echo "export GAZEBO_PLUGIN_PATH=/home/rrrobot/rrrobot_src/lib:\$GAZEBO_PLUGIN_PATH" >> /home/rrrobot/.bashrc + +#RUN chown -R rrrobot:rrrobot /home/rrrobot/.gazebo + +USER rrrobot + +CMD ["/bin/bash"] diff --git a/src/gazebo/build.sh b/docker_env/gazebo/build.sh similarity index 100% rename from src/gazebo/build.sh rename to docker_env/gazebo/build.sh diff --git a/docker_env/gazebo/run_rrrobot_image.sh b/docker_env/gazebo/run_rrrobot_image.sh new file mode 120000 index 0000000..a96893e --- /dev/null +++ b/docker_env/gazebo/run_rrrobot_image.sh @@ -0,0 +1 @@ +../../run_rrrobot_image.sh \ No newline at end of file diff --git a/src/ros-dev/Dockerfile b/docker_env/ros-dev/Dockerfile similarity index 100% rename from src/ros-dev/Dockerfile rename to docker_env/ros-dev/Dockerfile diff --git a/src/ros-dev/build.sh b/docker_env/ros-dev/build.sh similarity index 100% rename from src/ros-dev/build.sh rename to docker_env/ros-dev/build.sh diff --git a/src/ros-dev/run_rrrobot_image.sh b/docker_env/ros-dev/run_rrrobot_image.sh similarity index 100% rename from src/ros-dev/run_rrrobot_image.sh rename to docker_env/ros-dev/run_rrrobot_image.sh diff --git a/src/ros-turtlesim/Dockerfile b/docker_env/ros-turtlesim/Dockerfile similarity index 100% rename from src/ros-turtlesim/Dockerfile rename to docker_env/ros-turtlesim/Dockerfile diff --git a/src/ros-turtlesim/build.sh b/docker_env/ros-turtlesim/build.sh similarity index 100% rename from src/ros-turtlesim/build.sh rename to docker_env/ros-turtlesim/build.sh diff --git a/src/ros-turtlesim/run_rrrobot_image.sh b/docker_env/ros-turtlesim/run_rrrobot_image.sh similarity index 100% rename from src/ros-turtlesim/run_rrrobot_image.sh rename to docker_env/ros-turtlesim/run_rrrobot_image.sh diff --git a/src/ros-turtlesim/turtlesim.sh b/docker_env/ros-turtlesim/turtlesim.sh similarity index 100% rename from src/ros-turtlesim/turtlesim.sh rename to docker_env/ros-turtlesim/turtlesim.sh diff --git a/src/ros/Dockerfile b/docker_env/ros/Dockerfile similarity index 100% rename from src/ros/Dockerfile rename to docker_env/ros/Dockerfile diff --git a/src/ros/build.sh b/docker_env/ros/build.sh similarity index 100% rename from src/ros/build.sh rename to docker_env/ros/build.sh diff --git a/src/ros/run_rrrobot_image.sh b/docker_env/ros/run_rrrobot_image.sh similarity index 100% rename from src/ros/run_rrrobot_image.sh rename to docker_env/ros/run_rrrobot_image.sh diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL similarity index 100% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL similarity index 100% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL similarity index 100% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL similarity index 100% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL similarity index 100% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL similarity index 100% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL similarity index 100% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/model.config b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.config similarity index 100% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/model.config rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.config diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/model.sdf b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.sdf similarity index 94% rename from src/gazebo/gazebo_models/fanuc_robotic_arm/model.sdf rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.sdf index ae0a2dd..e127921 100644 --- a/src/gazebo/gazebo_models/fanuc_robotic_arm/model.sdf +++ b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.sdf @@ -22,7 +22,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/base_link.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL 1 1 1 @@ -49,7 +49,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/base_link.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL 1 1 1 @@ -121,7 +121,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_1.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL 1 1 1 @@ -148,7 +148,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_1.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL 1 1 1 @@ -220,7 +220,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_3.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL 1 1 1 @@ -247,7 +247,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_3.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL 1 1 1 @@ -319,7 +319,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_2.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL 1 1 1 @@ -346,7 +346,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_2.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL 1 1 1 @@ -418,7 +418,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_4.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL 1 1 1 @@ -445,7 +445,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_4.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL 1 1 1 @@ -517,7 +517,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_5.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL 1 1 1 @@ -544,7 +544,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_5.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL 1 1 1 @@ -616,7 +616,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_6.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL 1 1 1 @@ -643,7 +643,7 @@ 0 0 0 0 -0 0 - /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_6.STL + /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL 1 1 1 @@ -898,5 +898,7 @@ 0 0 + + diff --git a/src/run_rrrobot_image.sh b/run_rrrobot_image.sh similarity index 76% rename from src/run_rrrobot_image.sh rename to run_rrrobot_image.sh index 03739a6..b9fb3f5 100755 --- a/src/run_rrrobot_image.sh +++ b/run_rrrobot_image.sh @@ -1,5 +1,5 @@ #docker run -i -h rrrobot-env -t eecs467:rrrobot bash xhost +local:docker #rrrobot-env -docker run -it --rm --device=/dev/input/event4 --device=/dev/dri:/dev/dri -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v$PWD/gazebo_models:/root/.gazebo/models -h rrrobot-env eecs467:rrrobot +docker run -it --rm --device=/dev/input/event4 --device=/dev/dri:/dev/dri -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $PWD/rrrobot_src:/home/rrrobot/rrrobot_src -h rrrobot-env eecs467:rrrobot xhost -local:docker #rrrobot-env diff --git a/src/.env b/src/.env deleted file mode 100644 index 48e746e..0000000 --- a/src/.env +++ /dev/null @@ -1,3 +0,0 @@ -# .env for docker-compose - -IP_ADDRESS=192.168.1.14 diff --git a/src/gazebo/Dockerfile b/src/gazebo/Dockerfile deleted file mode 100644 index cfbf4f4..0000000 --- a/src/gazebo/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -# Gazebo Dockerfile - -# Use official image for Gazebo 9.x -FROM gazebo:gzserver9 - -COPY $PWD/gazebo_models /root/.gazebo/models - -CMD ["/bin/bash"] diff --git a/src/gazebo/run_rrrobot_image.sh b/src/gazebo/run_rrrobot_image.sh deleted file mode 100755 index c62c1c7..0000000 --- a/src/gazebo/run_rrrobot_image.sh +++ /dev/null @@ -1,7 +0,0 @@ -#docker run -i -h rrrobot-env -t eecs467:rrrobot bash - -#xhost +local:docker -#docker run -it --privileged --security-opt seccomp=unconfined -v $SSH_AUTH_SOCK:/ssh-agent --env SSH_AUTH_SOCK=/ssh-agent --device=/dev/dri:/dev/dri -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env QT_X11_NO_MITSHM=1 -h rrrobot-env eecs467:rrrobot -#xhost -local:docker - -../run_rrrobot_image.sh