Skip to content
Snippets Groups Projects
Commit fa5744f8 authored by Montaño Sarria, Andres Felipe's avatar Montaño Sarria, Andres Felipe
Browse files

Finde año, dockerfiles updated

parent 48580f4d
No related branches found
No related tags found
No related merge requests found
......@@ -87,6 +87,7 @@ RUN apt-get update && apt-get install -y \
libqd-dev \
python-zmq \
python3-catkin-pkg-modules \
zsh \
&& rm -rf /var/lib/apt/lists/*
# Update final image
......
......@@ -101,6 +101,7 @@ RUN apt-get install -y \
ros-melodic-joint-trajectory-controller \
ros-melodic-executive-smach-visualization \
ros-melodic-catkin-virtualenv \
ros-melodic-rviz-visual-tools \
python-sqlalchemy \
python-zmq \
ros-melodic-trac-ik-kinematics-plugin \
......@@ -122,6 +123,9 @@ RUN apt-get install -y \
ros-melodic-realsense2-camera \
ros-melodic-eigen-conversions
RUN apt-get install -y \
libdouble-conversion-dev
RUN apt-get update \
&& apt-get upgrade ca-certificates -y
......@@ -143,8 +147,6 @@ RUN apt-get install -y \
xdot \
ros-melodic-image-view
RUN python3 -m pip install xdot
# set the zsh theme
ENV ZSH_THEME agnoster
......
FROM ubuntu:focal
# Avoid warnings by switching to noninteractive
ENV DEBIAN_FRONTEND=noninteractive
# Setup environment
RUN apt-get update && apt-get install -y \
locales \
&& sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# Configure apt and install packages
RUN apt-get -y install --no-install-recommends \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common \
apt-utils dialog 2>&1 \
#
# Verify if git, process tools, lsb-release (common in install instructions for CLIs) are installed
# Install the https transport support package for The Artifactory debian repository
git \
git-lfs \
nano \
iproute2 \
procps \
lsb-release \
curl \
cmake \
openssh-client \
xterm \
terminator \
zsh \
wget \
&& rosdep init || true
# Packages installed as dependecies of tesseract-ignition
RUN sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
RUN wget http://packages.osrfoundation.org/gazebo.key -O - | apt-key add -
RUN apt-get update \
&& apt install -y \
libignition-common3-dev \
libignition-common3-av-dev \
libignition-common3-events-dev \
libignition-common3-profiler-dev \
libignition-msgs5-dev \
libignition-rendering3-dev \
libignition-rendering3-ogre1-dev \
libignition-rendering3-ogre2-dev \
libignition-transport8-dev \
libignition-gui3-dev \
libignition-math6-eigen3-dev
# Update final image
RUN apt-get -y upgrade \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
CMD ["bash"]
# Switch back to dialog for any ad-hoc use of apt-get
ENV DEBIAN_FRONTEND=
\ No newline at end of file
#!/bin/bash
# Setup ros environment
source "/opt/ros/$ROS_DISTRO/setup.bash"
source "/root/dev_ws/devel/setup.bash"
#roslaunch godel_cr7ial_workspace_support cr7ial_blending.launch sim_laser:=false sim_sensor:=false use_sim:=false
exec "$@"
\ No newline at end of file
### FIRST LAYER TO DOWNLOAD GIT REPOS
FROM osrf/ros:melodic-desktop-full as intermediate
RUN apt-get update
#################################
# Add ssh private key
RUN apt-get install -y ssh
ARG SSH_PRIVATE_KEY
RUN mkdir ~/.ssh/
RUN echo "${SSH_PRIVATE_KEY}" > /root/.ssh/id_rsa
RUN chmod 600 ~/.ssh/id_rsa
RUN ssh-keyscan git.code.tecnalia.com >> /root/.ssh/known_hosts && chmod 644 /root/.ssh/known_hosts
#Print SSH_PRIVATE_KEY (for test)
RUN echo "${SSH_PRIVATE_KEY}"
RUN apt-get install -y git
# Create workspace
RUN mkdir -p /root/dev_ws/src
WORKDIR /root/dev_ws/src
# Install python-wstools
RUN apt-get install -y wget
RUN wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
RUN apt-get update
RUN apt-get install -y python-catkin-tools
# Clone main package
WORKDIR /root/dev_ws/src
RUN git clone git@git.code.tecnalia.com:tecnalia_robotics/rosin/godel_fanuc_config.git
RUN cd godel_fanuc_config && git checkout Jon-O-laser-integration
# Populate dependencies with rosinstall
RUN mkdir /root/dev_ws/src/dependencies
WORKDIR /root/dev_ws/src/dependencies
RUN wstool init && wstool merge ../godel_fanuc_config/.rosinstall && wstool update
# Preparing docker
FROM nvidia/cuda:11.3.0-base-ubuntu16.04
WORKDIR /root/ws
ENV ROS_DISTRO kinetic
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
# nvidia-container-runtime
ENV NVIDIA_VISIBLE_DEVICES \
${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES \
${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics
# install basic packages
RUN apt-get update && apt-get install -q -y --no-install-recommends \
dirmngr \
gnupg2 \
lsb-release \
sudo \
ocl-icd-libopencl1 \
clinfo \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /etc/OpenCL/vendors && \
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
# Setup environment
RUN apt-get update && apt-get install -y \
locales \
&& sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# Setup sources.list
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-get -y install --no-install-recommends \
curl
RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
RUN apt-get update && apt-get install -y \
ros-kinetic-desktop-full
# Configure apt and install packages
RUN apt-get -y install --no-install-recommends \
apt-transport-https \
ca-certificates \
software-properties-common \
gnupg-agent \
apt-utils dialog 2>&1 \
git \
#git-lfs \
nano \
less \
iproute2 \
procps \
lsb-release \
curl \
cmake \
openssh-client \
python-catkin-tools \
python-osrf-pycommon \
python-rosdep \
python-rosinstall \
python-rosinstall-generator \
python-wstool \
build-essential \
ros-${ROS_DISTRO}-rosmon \
xterm \
wget \
clinfo \
&& rm -rf /var/lib/apt/lists/*
# Install docker-ce
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
RUN add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
RUN apt-get update && apt-get -y install --no-install-recommends \
docker-ce-cli \
&& rm -rf /var/lib/apt/lists/*
# Configure system to look for debian packages in the Artifactory repository
ARG USER_API_KEY_ARTIFACTS_TECNALIA
RUN sh -c "echo \
'deb https://${USER_API_KEY_ARTIFACTS_TECNALIA}@artifact.tecnalia.com/artifactory/tecnalia-robotics-debian xenial main' \
>> /etc/apt/sources.list.d/tecnalia.list"
# Import the key in order to be able to use the packages from the repository
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 7E72C5B4111A50084C63C9489E7A9B1D990CF897
# Configure rosdep
RUN rosdep init
RUN sh -c "echo 'yaml https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/rosdistro/rosdep_tecnalia.yaml' \
>> /etc/ros/rosdep/sources.list.d/20-default.list"
RUN rosdep update
# Packages installed as dependecies of kawada_lab_aplication
RUN apt-get update && apt-get install -y \
cmake \
ros-kinetic-moveit-planners-ompl \
ros-kinetic-moveit-ros-planning \
ros-kinetic-ompl \
ros-kinetic-moveit-kinematics \
ros-kinetic-moveit-ros-planning-interface \
ros-kinetic-moveit-ros-visualization \
ros-kinetic-catkin-virtualenv \
ros-kinetic-zivid-camera \
ros-kinetic-abb-driver \
ros-kinetic-industrial-robot-simulator \
ros-kinetic-moveit-ros-move-group \
ros-kinetic-moveit-core \
ros-kinetic-srdfdom \
ros-kinetic-urdfdom-py \
ros-kinetic-moveit-ros-manipulation \
ros-kinetic-moveit-simple-controller-manager \
ros-kinetic-moveit-fake-controller-manager \
ros-kinetic-moveit-setup-assistant \
ros-kinetic-trac-ik-kinematics-plugin \
ros-kinetic-swri-profiler \
ros-kinetic-fanuc-cr7ia-support \
ros-kinetic-fanuc-driver \
ros-kinetic-fanuc-resources \
libqd-dev \
python-zmq \
python3-catkin-pkg-modules \
&& rm -rf /var/lib/apt/lists/*
# Update final image
RUN apt-get update && apt-get -y upgrade
RUN wget https://www.zivid.com/hubfs/softwarefiles/releases/1.8.1+6967bc1b-1/u16/zivid-studio_1.8.1+6967bc1b-1_amd64.deb
RUN wget https://www.zivid.com/hubfs/softwarefiles/releases/1.8.1+6967bc1b-1/u16/zivid-tools_1.8.1+6967bc1b-1_amd64.deb
RUN dpkg -i zivid-studio_1.8.1+6967bc1b-1_amd64.deb
RUN dpkg -i zivid-tools_1.8.1+6967bc1b-1_amd64.deb
# Set entrypoint
COPY ./ros_entrypoint.sh /
RUN chmod a+x /ros_entrypoint.sh
# Copy workspace with dependencies created in the previous layer
COPY --from=intermediate /root/dev_ws /root/dev_ws
WORKDIR /root/dev_ws
RUN catkin init && catkin config --extend /opt/ros/kinetic && catkin build
# Add source ros to .bashrc
RUN echo "#ROS\nsource /opt/ros/kinetic/setup.bash\nsource /root/dev_ws/devel/setup.bash" >> /root/.bashrc
ENTRYPOINT ["/ros_entrypoint_SCP.sh"]
#CMD ["roslaunch godel_cr7ial_workspace_support cr7ial_blending.launch sim_laser:=false sim_sensor:=false use_sim:=false"]
# Switch back to dialog for any ad-hoc use of apt-get
ENV DEBIAN_FRONTEND=
\ No newline at end of file
......@@ -107,6 +107,8 @@ setopt no_share_history
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
export ROS_DISTRO="noetic"
export EDITOR="code -r"
export PATH=~/.venv/ddeploy_venv/bin:$PATH
......
......@@ -20,16 +20,16 @@ function dsr() {
docker stop $1;docker rm $1
}
function rdoc() {
rocker --home --user --nvidia --x11 --ssh --git --name melodic --net host devenv:melodic roscore
function runscan() {
rocker --home --user --nvidia --x11 --ssh --git --name scannplan scan_and_plan:latest $1
}
function rundoc() {
rocker --home --user --nvidia --x11 --ssh --git --volume /dev/video0:/dev/video0 --privileged --name melodic devenv:melodic $1
}
function runmelodic() {
rocker --home --user --nvidia --x11 --ssh --git --name melodic devenv:melodic $1
function runbezier() {
rocker --home --user --nvidia --x11 --ssh --git --volume /dev/video0:/dev/video0 --privileged --name bezier devenv:bezier $1
}
function runnoetic() {
......
......@@ -238,3 +238,103 @@ https://ros-planning.github.io/moveit_tutorials/doc/trajopt_planner/trajopt_plan
Moved to MoveIt, to install the planner run: sudo apt install '^ros-noetic-pilz-.*'
To launch a demo run: roslaunch prbt_moveit_config moveit_planning_execution.launch pipeline:=pilz_industrial_motion_planner
# Bezier
This repository is part of the ROS-Industrial program.
This project has been developed by the Institut Maupertuis, a French research institute that is working on robotic industrial processes. This project goal is to create an automatic grinding path generator for 6-axis robots working on diverse/random meshes.
Bezier planner generates robot poses (3D trajectories) in harmony with a grinding process, it is as 6D tool path planner. It is able to create rectilinear trajectories on complex surfaces (3D surfaces) and to dilate them in all directions in order to grind defects with a pass principle.
Examples: https://github.com/ros-industrial-consortium/bezier_examples (3 years)
https://gitlab.com/InstitutMaupertuis/fanuc_grinding (2 years) This project is not maintained
Goals
=====
Design a fully automated robotized grinding application
Functions
- F1: Being able to scan the part with SLS-2
- F2: Ensure a constant material removal rate (CAM)
- F3: Being able to respect the manufacturer's specifications (dimensions, manage tool wear)
Automatically grind defects on a mechanical part thanks to:
- A robot
- 3D vision
Defects types
- Shocks, deformations, welding spatters, weld bead ...
- Surface roughness
How this plugin works
=====================
1. Scanning 3D
--------------
With first 'Browse' button, you can import a CAD file, and visualize it if button 'Import CAD file' is pressed.
With second 'Browse' button, you can import a YAML file which contains a list of joint values for robot.
When 'Start scan' button is pressed, the YAML file will be parsed and the joint values will be executed in order to numerize the piece.
| Parameters | Description
------------- | -----------
`CAD file` | Location of the CAD file in the computer
`YAML file` | Location of the YAML file in the computer
4. Path planning
----------------
# :construction: In Construction! :construction:
The path planning will be generated with Bezier planner.
Both labels on the top are used to indicate with which files we are dealing with ( CAD file and scan 3d )
This tab has to be filled with these Bezier's parameters:
| Parameters | Description
------------- | -----------
`Covering percentage` | Percentage of covering (decimal value)
`Extrication frequency` | New extrication mesh generated each 1/`Extrication frequency` times
`Extrication coefficient` | Extrication depth equal of the percentage of `Depth of path`
`Grind diameter` | Width of the tool which is used
`Depth of path` | Grinding depth
`Axis of rotation` | Rotation axis for the lean angle of the effector
`Angle value` | Value around `Axis of rotation`
When 'Compute trajectories' button is pressed, Bezier algorithm will compute trajectories with parameters given.
Buttons 'Visualize trajectory' and 'Simulate trajectory' are respectivly visualize trajectories in each pass and simulate robot positions during grinding process on each path.
Warning: A warning will appear if parameters given in Qt have been changed! You will have to press again on 'Compute trajectory' button if you want to compute trajectories with the new parameters, otherwise the trajectory will be the old one!
5. Post processor
-----------------
# :construction: In Construction! :construction:
This tab is used to convert path planning generated before in TP/LS Fanuc program.
So we have to fill different parameters to do it:
| Parameters | Description
------------- | -----------
`Program name` | Name for this program
`Location` | Location of the program in the computer
`Comment` | To fill in order to give useful information in program as comment.
`IP adress` | Robot's IP adress
Hardware needed
---------------
Generally speaking, this is what you need to get this package running on a real application case:
- A computer with ROS installed
- A 6 axis robot supported by ROS
- A grinding effector
- A 3D sensor (attached to the robot) supported by ROS
- A part to be grinded (you need the CAD of this part)
In this application case, here is a list of the hardware:
- A computer with ROS installed
- A 6 axis Fanuc R1000iA robot with ROS installed
- A grinding effector
- A David SLS-2 3D sensor (attached to the robot) and a Windows PC acting as David software server
- A part to be grinded and it's CAD
# Reuleaux
Realuex is a basic package for Robot Reachability and Base Placement. It provides tools for creating various types of robot reachability maps and finding optimal base locations for a given task specified by poses through those reachability maps.
# Noether
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment