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

Removed unneccesary files

parent e071116b
No related branches found
No related tags found
No related merge requests found
Showing
with 0 additions and 1758 deletions
Using docker to setup a development environment
===============================================
//:Author: Andres Montaño
//:Email: <andres.montano@tecnalia.com>
:Date: 08.07.2021
:Revision: 0.1
From an Ubuntu 20.04 system
---------------------------
=== 1.- Follow the instructions to get access to the Tecnalia repositories and artifacts:
https://git.code.tecnalia.com/tecnalia_robotics/documentation/-/blob/master/good_practices/development_environment_setup.adoc
.Summary
- Obtain API key for internal repositories
- Configure the Debian repository
[source,bash]
sudo apt-get install apt-transport-https
sudo sh -c "echo 'deb https://USER.NAME@tecnalia.com:API_TOKEN@artifact.tecnalia.com/artifactory/tecnalia-robotics-debian xenial main' >> /etc/apt/sources.list.d/tecnalia.list"
- Install Docker CE
[source,bash]
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker USER_NAME
- Configure the docker registry
[source,bash]
docker login tecnalia-robotics-docker.artifact.tecnalia.com
- Configure Git LFS
[source,bash]
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
git config --global credential.helper 'cache --timeout=3600'
=== 2.- Build the docker image using the Dockerfile
[source,bash]
docker build -t devenv:melodic <Path_to_Dockerfile> .
for example:
[source,bash]
docker build -t devenv:melodic \
--build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa_TecnaliaUB20)" \
--build-arg USER_API_KEY_ARTIFACTS_TECNALIA="$(cat ~/.ssh/user_api_key_artifacts_tecnalia)" \
-f Dockerfile-devenv .
// docker build -t devenv:melodic --build-arg USER_API_KEY_ARTIFACTS_TECNALIA="$(cat ~/.ssh/user_api_key_artifacts_tecnalia)" -f Devenv.Dockerfile .
// docker build -t devenv:melodic --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_rsa_TecnaliaUB20)" --build-arg USER_API_KEY_ARTIFACTS_TECNALIA="$(cat ~/.ssh/user_api_key_artifacts_tecnalia)" -f ssh.Dockerfile .
=== 3.- Install rocker
https://github.com/osrf/rocker
For Debian systems
[source,bash]
sudo apt-get install python3-rocker
=== 4.- Launch the docker image
[source,bash]
rocker --home --x11 --nvidia --user --git --ssh IMAGE_NAME:IMAGE_TAG <COMAND>
for example:
[source,bash]
rocker --home --x11 --nvidia --user --git --ssh devenv:melodic bash
== Notes and Tricks
=== Windows hosts
NOTE: ON WINDOWS NOT WORKING YET!!! Because Ubuntu installations are not recognized as WSL2 distributions on the Tecnalia laptops.
If you are using Ubuntu 20.04 over a Windows PC with WSL2 you need to install Docker Desktop to have integration between Ubuntu 20.04 and docker
Following this guide:
https://adamtheautomator.com/how-to-set-up-docker-in-wsl-step-by-step/
.Summary
- Download and install Docker Desktop
https://desktop.docker.com/win/stable/amd64/Docker%20Desktop%20Installer.exe
- Add your user to docker-users group
From a PowerShell with admin permissions: net localgroup docker-users DOMAIN\username /add
Where DOMAIN\username = TRI.LAN\Your_CODE
- Configure Docker desktop integration with WSL 2
By default, it should be configured, otherwise, follow the tutorial.
WARNING: Linux version installed from MS-Store must be the one without number, i.e. Numbered version e.g. Ubuntu 20.04 or Ubuntu 18.04 are not supported by WSL2
=== ssh and git
- Check ssh and git permissions to access and download packages from git.code.tecnalia.com
=== useful aliases
- rundoc: Launch a container from the dev image
[source,bash]
function rundoc() {
rocker --home --user --x11 --nvidia --ssh --git --name melodic devenv:melodic bash
}
- dat: Launch a terminal inside the runing container from the dev image
[source,bash]
alias dat="docker exec -it melodic bash"
# IK Plugin MoveIt
kinematics::KinematicsBase
## KinematicsBase
kinematics::KinematicsBase
The KinematicsBase interface enables you, to:
- write your own forward and inverse kinematic solvers
- wrap external kinematic solver libraries
### Interface Description
The well documented interface is located here <https://github.com/ros-planning/moveit/blob/3464e3d27bd8655aa6187ca5d3a031a4f72663e2/moveit_core/kinematics_base/include/moveit/kinematics_base/kinematics_base.h>.
### Concrete Implementations
Examples for implementations of the KinematicsBase are
- the KDL plugin: header <https://github.com/ros-planning/moveit/blob/master/moveit_kinematics/kdl_kinematics_plugin/include/moveit/kdl_kinematics_plugin/kdl_kinematics_plugin.h>, cpp <https://github.com/ros-planning/moveit/blob/master/moveit_kinematics/kdl_kinematics_plugin/src/kdl_kinematics_plugin.cpp>
- the SrvKinematicsPlugin: header <https://github.com/ros-planning/moveit/blob/master/moveit_kinematics/srv_kinematics_plugin/include/moveit/srv_kinematics_plugin/srv_kinematics_plugin.h>, cpp <https://github.com/ros-planning/moveit/blob/master/moveit_kinematics/srv_kinematics_plugin/src/srv_kinematics_plugin.cpp>
Pruebas funcionales
Playas distancias
Inspección optica - folio en blanco
Movimientos
Ojos mecatrónicos
6 dof para el futuro
Aplicación para lanzar pruebas
8 min de pruebas -- muy largos
Enchufar de manera automática
Pruebas visuales - funcionales
-----
No operario
--- Celula robótica que haga las pruebas y solución completa con sw DB
Plazos: Primera propuesta y presupuesto
-- Viabilidad - Financiación ayudas Industria 4.0
-- Implementación 6 meses - 1 año
Problemas de distribuidores
SW aplicacion para elejir la pruebas
Robot coordenadas, se hacen la pruebas
Resultados se envían a sistema para almacenar en base de datos
HMI y aplicacion para pruebas
Movimiento del robot
Guardar resultados
Montaje de todo
Inspección visual y procesamiento
Luces, movimiento
USB, logos, roscado, etiqueta (ok legible, OCR)
La misma célula para los dos tipos de pruebas
Proyecto llave en mano -- Ingeniería vs Centro Tecnológico
Interesante tener soporte, formación, servicio (capacidad)
Tecnalia - prototipo
Ingeniería - Mucho más servicio + soporte
P4Pub a futuro USA
Sistema de control de calidad
# Kawada deploy
Borrar:
- git config
- ssh
# Konexio Fegemu - Fegescan
Pruebas:
Y rotation
mon launch bezier_examples glual_surfacing.launch surfacing_mode:=true mesh_cad:=plane/plane_defect.ply
mon launch bezier_examples glual_surfacing.launch surfacing_mode:=true mesh_cad:=plane/plane.ply
Bezier example:
- Generate trajectory using BezierGrindingSurfacing object
-- reset planner: mesh_cad_path
grinder_width
covering_percentage
extration_radius
angle_value
axis
-- Publish visualization elements:
cad_mesh_pub
dilated_mesh_pub
RvizVisualTools
-- bezier_planner (generateTrajectory):
way_points_vector
is_grinding_pose
Trajectory size: 1587
- Copy the vector of Eigen poses into a vector of ROS poses:
way_points_msg
- Setup Moveit:
moveit::planning_interface::MoveGroupInterface group(move_group_name);
group.setPoseReferenceFrame("base_link");
group.setPlannerId("RRTConnectkConfigDefault");
group.setPlanningTime(2);
- Use moveit to plan
result = group.computeCartesianPath(way_points_msg, 0.05, 15, plan.trajectory_)
- Execute robot planned trajectory
group.execute(plan)
- Return ti first point
Bezier
======
# BezierGrindingSurfacing
BezierGrindingSurfacing::BezierGrindingSurfacing(const std::string input_mesh,
const double grinding_disk_machining_width,
const unsigned covering_percentage,
const double extrication_radius,
const double lean_angle,
const AXIS_OF_ROTATION axis_of_rotation,
const Eigen::Vector3d &slicing_orientation)
- Append input mesh
- GetCenter
- reset param_observer
params_observer_.reset(new BezierParamsObserver());
# generateTrajectory
std::string BezierGrindingSurfacing::generateTrajectory(EigenSTL::vector_Isometry3d &trajectory,
std::vector<bool> &is_grinding_pose,
const bool display_markers)
- Delete previos markers
-- deleteAllMarkers
- Make sure all parameters allows to generate a trajectory:
-- validateParemeters()
- Estimate a slicing orientation if it was not provided, otherwise, use the last/provided slicing orientation
-- estimateSlicingOrientation(input_meshes_[SURFACE_MESH], global_mesh_normal, slicing_orientation_)
- Set observer parameters
-- params_observer_->setCurrentParams(grinding_disk_machining_width_, covering_percentage_, extrication_radius_,
slicing_orientation_, lean_angle_, axis_of_rotation_);
- Dilate mesh
-- params_observer_->mustComputeDilation()
-- Dilate the mesh using the extrication radius
--- dilated_mesh = vtkSmartPointer<vtkPolyData>::New();
--- dilated_mesh->DeepCopy(input_meshes_[SURFACE_MESH]);
--- dilate(dilated_mesh, extrication_radius_)
- Extract upper part of dilated mesh
-- extrication_mesh = vtkSmartPointer<vtkPolyData>::New();
-- keepUpperPartofDilatedMesh(input_meshes_[SURFACE_MESH], dilated_mesh, extrication_mesh)
- Filter isolated triangles in extrication mesh
-- removeIsolatedTrianglesFilter(extrication_mesh, 20)
- Compute normals in extrication mesh
-- computeNormals(extrication_mesh)
- Compute mesh normals
-- computeNormals(input_meshes_[SURFACE_MESH])
- Display meshes
- Compute the vector used to harmonize all the trajectories directions and display it
-- Eigen::Vector3d direction_reference(slicing_orientation_.cross(global_mesh_normal));
- Generate grinding trajectories
-- params_observer_->mustGenerateGrindingTrajectories()
--- Compute the plane equations to slice the mesh
EigenSTL::vector_Vector4d grinding_planes_equations;
estimateSlicingPlanes(input_meshes_[SURFACE_MESH], slicing_orientation_, input_mesh_centroid_,grinding_disk_machining_width_, covering_percentage_, grinding_planes_equations);
---
plane: Global normal position: 0.99419, 0.004576, 0.358988
plane_defect: Global normal position: 0.99328, 0.00395299, 0.395127
Pieza_Surf_no_hole: Global normal position: 0, 0, 0.0623493
Two useful tools:
- Rocker to launch containerds and to develop inside them.
https://github.com/osrf/rocker
Rocker is a small (smart) tool that allows to launch containers with extra options, easier than docker alone, e.g:
rocker --home --user ros:melodic bash
This launches a container from the image ros:melodic, mounting your home folder and seting up an user using your UID/GID (This allows to edit files inside the container, then outside at the host, the files remain edited by yourself)
This is also posible to achieve using only docker, but rocker make the task easier.
An useful idea is ti set up an alias in order to launch other bash instances inside the same container, in order to get more terminals in the same environment.
One drawback using rocker (docker) is, all dependecies of the software and tools must be installed everytime a container is launched for first time, this is time consuming.
In order to solve this issue, there is a second tool: ddeploy
https://git.code.tecnalia.com/tecnalia_robotics/flexbotics/flexbotics_utils/ddeploy
This is a simple script that allows to deploy applications as docker images.
ddeploy take the application sources to be container-ized, and automaticaly build an image with all dependencies installed and the provided sources compiled and installed.
Therefore, in order to work in the project XYZ, the first step is to build a custom image for the project using ddeploy, and then, you can to launch a "working" container from the built imagen using rocker.
Both rocker and ddeploy could be installed in their own Python venvs.
Python venvs is a Python tool to build virtual environments and to allow installing inside them projects with all dependencies solved, without need to modify the Python base set up.
python3 -m venv ddeploy
git clone git@git.code.tecnalia.com:tecnalia_robotics/flexbotics/flexbotics_utils/ddeploy.git
git checkout current-folder-fix
source bin/activate
pip install -e src/ddeploy
deactivate
./bin/ddeploy --name cosa --distro melodic -s git+ssh://github.com/ros/std_msgs.git#kinetic-devel
git clone https://github.com/ros/std_msgs.git
~/.venv/ddeploy/bin/ddeploy --name mensajes --distro melodic -s std_msgs
python3 -m venv ddeploy
rocker --home --user --x11 --nvidia --ssh --git osrf/ros:melodic-desktop-full bash
rocker --home --user --x11 --nvidia --ssh --git ubuntu:bionic bash
Executing command:
docker run -it -v /etc/gitconfig:/etc/gitconfig:ro -v /home/andres/.gitconfig:/home/None/.gitconfig:ro -v /home/andres:/home/andres --gpus all -e SSH_AUTH_SOCK -v /run/user/1000/keyring/ssh:/run/user/1000/keyring/ssh -e DISPLAY -e TERM -e QT_X11_NO_MITSHM=1 -e XAUTHORITY=/tmp/.dockersd81ncol.xauth -v /tmp/.dockersd81ncol.xauth:/tmp/.dockersd81ncol.xauth -v /tmp/.X11-unix:/tmp/.X11-unix -v /etc/localtime:/etc/localtime:ro 5ba9d44fd173 bash
sudo usermod -aG docker USER.NAME
# docker login tecnalia-robotics-docker.artifact.tecnalia.com
git lfs install
# git config --global credential.helper 'cache --timeout=3600'
rosdep update
sudo apt update
// # Lanzar imagen con parámetros básicos de rocker
rocker --home --user --x11 --nvidia --ssh --git devenv:melodic bash
rocker --mp-dev-helpers --mp-dind-host --mp-en-us-locale --x11 --nvidia --home --user --ssh --git devenv:melodic bash
kawada_lab_application.ddeploy.yaml
ddeploy --name dummy:noetic --distro noetic -s git@git.code.tecnalia.com:tecnalia_robotics/flexbotics/flexbotics_test/dummy_application.git#noetic-devel -s dummy_application/.rosinstall -w 1
Repository type 'git@git.code.tecnalia.com' is not supported
# ManuWind - Scan and Plan DEMO
**Note** This project works on Kinetic.
1. Download the [godel_fanuc_config package](https://git.code.tecnalia.com/tecnalia_robotics/rosin/godel_fanuc_config/-/tree/Jon-O-laser-integration):
````
mkdir -p ~/ros/kinetic/scannplan_ws/src
cd ~/ros/kinetic/scannplan_ws/src
git clone git@git.code.tecnalia.com:tecnalia_robotics/rosin/godel_fanuc_config.git
````
2. Checkout the Jon-O-laser-integration branch.
````
cd godel_fanuc_config
git checkout Jon-O-laser-integration
````
3. Install the additional ros packages using .rosinstall:
````
cd ~/ros/kinetic/scannplan_ws/src
wstool init
wstool merge godel_fanuc_config/.rosinstall
wstool update
rosdep install -iy --from-paths .
catkin build
````
**Note** The package quelltech_laser_scanner_driver requires an Internet connection during the building process.
**Note** Zivid camera requires [SDK 1.8.1](https://www.zivid.com/downloads/revisions/1.8.1):
- [zivid 1.8.1+6967bc1b-1](https://www.zivid.com/hubfs/softwarefiles/releases/1.8.1+6967bc1b-1/u16/zivid_1.8.1+6967bc1b-1_amd64.deb)
- [zivid-studio 1.8.1+6967bc1b-1](https://www.zivid.com/hubfs/softwarefiles/releases/1.8.1+6967bc1b-1/u16/zivid-studio_1.8.1+6967bc1b-1_amd64.deb)
- [zivid-tools 1.8.1+6967bc1b-1](https://www.zivid.com/hubfs/softwarefiles/releases/1.8.1+6967bc1b-1/u16/zivid-tools_1.8.1+6967bc1b-1_amd64.deb)
- [zivid-telicam-driver 3.0.1.1-1](https://www.zivid.com/hubfs/softwarefiles/releases/1.8.1+6967bc1b-1/u16/zivid-telicam-driver_3.0.1.1-1_amd64.deb)
- ros-kinetic-zivid-camera 1.0.0-0xenial
## Docker image
Command to build the docker image to work on a host with Ubuntu 20.04:
````
docker build -t scan_and_plan --build-arg USER_API_KEY_ARTIFACTS_TECNALIA="$(cat ~/.ssh/user_api_key_artifacts_tecnalia)" -f ScanNPlan.Dockerfile .
````
<!-- Testing ddeploy
Using [ddeploy](https://git.code.tecnalia.com/tecnalia_robotics/flexbotics/flexbotics_utils/ddeploy)
ddeploy --name scan_and_plan_nvidia --distro kinetic -b tecnalia-robotics-docker.artifact.tecnalia.com/flexbotics-base-nvidia-devel:kinetic -s . --keep-source
Generates: clinfo error
ddeploy --name scan_and_plan_nvidia_cuda --distro kinetic -b nvidia/cuda:11.3.0-base-ubuntu16.04 -s . --keep-sources
Generate: Missing sources etc...
-->
Command to launch the docker image using [rocker](https://github.com/osrf/rocker)
````
rocker --privileged --devices /dev/bus/usb --nvidia --x11 --home --git --ssh scannplan
````
<!-- If --user flag is passed as argument when the container is launched with rocker then sudo privileged is required to access to the Zivid camera. -->
Commands to launch the demo:
````
source /opt/ros/kinetic/setup.bash
source ~/ros/kinetic/scannplan_ws/devel/setup.bash
roslaunch godel_cr7ial_workspace_support cr7ial_blending.launch sim_laser:=false sim_sensor:=false use_sim:=false
````
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<mxfile host="app.diagrams.net" modified="2021-10-01T13:19:12.159Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.31" etag="YBa-CbmehDnKo-kJTPJu" version="15.4.0" type="gitlab"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
<mxfile host="app.diagrams.net" modified="2021-10-06T10:45:53.503Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36" etag="0piMLdMbxMbszjxqlkE5" version="15.4.3" type="google"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
1. Clone from git@git.code.tecnalia.com:tecnalia_robotics/rosin/godel_fanuc_config.git
2. Switch to branch Jon-O-laser-integration
3. Build ws with catkin build --continue-on-failure
Failures:
godel_surface_detection
descartes_moveit
irb2400_ikfast_manipulator_plugin
abb_irb1200_5_90_ikfast_manipulator_plugin
4. Change Affine3 by Isometry3 on:
descartes
cr7ial_descartes_ikfast_adapter
godel_process_planning
godel_robots
5. Add eigen_conversions as dependency in package godel_surface_detection (CMakeList.txt and package.xml)
6. Change boost::shared_ptr and boost::const_pointer_cast by std equivalents on:
irb2400_ikfast_manipulator_plugin
abb_irb1200_5_90_ikfast_manipulator_plugin
7. Deal with abb_irb2400_descartes issues
8. Install zivid-ros v1.1.0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#!/bin/sh
# @(#)downgrade.sh 2007-07-08 A.J.Travis
# Modified 2012-11-05 Jeremy Stephens
# Original post: https://lists.ubuntu.com/archives/ubuntu-uk/2007-October/008513.html
#
# Downgrade versions of packages newer than in archive
#
TMP=/tmp/downgrade.$$
if [ $USER != "root" ]; then
echo "downgrade: Only root can do this"
exit 1
fi
apt-show-versions -i
apt-show-versions |
fgrep 'newer than version in archive' |
cut -d' ' -f 1 >$TMP
if [ -s $TMP ]; then
apt-show-versions -a |
fgrep -f $TMP |
cut -d' ' -f 1-3 |
grep quantal$ |
cut -d' ' -f 1-2 |
sed -e 's/ /=/' |
xargs aptitude -y install
fi
rm $TMP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment