Skip to content
Snippets Groups Projects
Commit 866e78ba authored by m-guberina's avatar m-guberina
Browse files

changed something

parent b550fb6a
No related branches found
No related tags found
No related merge requests found
......@@ -2,8 +2,37 @@
---------------
- basically Linux virtual machines
- a virtual machine functions as if you had a different computer sitting on your desk,
but it's emulated
- can be combine with the host (internet access, memory,...) -> VERY fast
- but run just fine on windows via wsl
- images vs containers
**example**: ur_simple_control dockerfile
- go over all the flags used there
### Installing docker on Windows
-------------------------------
1. install wsl with "wsl --install" in powershell administrator, more at [microsoft website](https://learn.microsoft.com/en-us/windows/wsl/install)
2. install docker on windows (with wsl option, should be default), more at [docker website](https://docs.docker.com/desktop/install/windows-install/)
3. create the docker account, some options require it
### slightly more detailed info
--------------------------------
To oversimplify, Docker is virtualisation software which allows
one to programatically set up a Linux virtual machine.
A virtual machine is a emulation of a full computer, and it runs similarly to other
programs on the host machine (your computer and its OS).
By default, the virtual machine has no information about the host machine - it is as if
you had a different computer sitting on your desk. For our purposes, some sharing will be necessary.
This includes things like internet access and sharing of files and folders.
A docker image is specification of a virtual machine,
while a docker container is an instance of that machine (similar to classes and objects
in programming). You can have multiple containers running the same image.
A Dockerfile is a specific kind of file where a Docker image is defined.
The Dockerfile provided in this repository will create an image with all the software
needed to simulate and use the UR robot.
If you want to install additional software within your Docker, you will need to either update
the Dockerfile and re-build the image, or use a persistent container, otherwise
all of the installed software will be deleted when you close the container
(as it happens on university computers).
## basic info
---------------
- pure python
- alternative to ros
......@@ -14,4 +15,33 @@
i.e. people strong in engineering math, but no necessarily software engineering
- currently only has support for UR5e and velocity control, but expensions are comming soon
- will get rewritten to C++ and have python bindings via pybind-11 for the official release
- easy installation with docker (demonstrate)
- easy installation with docker
## note on real time
--------------------------
We will not even attempt to use software with real-time guarantees.
This makes all our programs inherently unpredictable due to the lack
of hard real-time execution guarantees.
However, this has not yet caused a problem for our purposes.
Furthermore, since we are only building experimental set-ups,
not fully autonomous solutions, unpredictable behavior caused by
programming mistakes is what we really need to worry about.
### installation instructions
----------------------------
Here are the steps to get to your container running.
On windows:
1. install wsl with "wsl --install" in powershell administrator, more at https://learn.microsoft.com/en-us/windows/wsl/install
2. install docker on windows (with wsl option, should be default)
3. create the docker accout
4. open docker desktop, navigate to Settings (by user/account button) -> Resources -> Network -> click on enable host networking
5. open wsl (type wsl in powershell) and navigate to git folder (now in wsl) with "cd /mnt/Users/YOURUSERNAME/PATH_TO_GIT_FOLDER"
After docker is installed:
6. build the image with "docker build -t ur_simple_control ."
7. to run the image FIRST RUN "xhost +" EVERY TIME, THEN RUN "docker run --rm -it --net=host -e DISPLAY=$DISPLAY -v /tmp:/tmp ur_simple_control /bin/zsh"
8. verify installation by running an example with --visualize-manipulator and --real-time-plotting arguments
9. if you want to make persistent changes to the code from the docker, you need to use the -v argument in docker run to share the folder
with the code between your native OS (host) and the docker container.
in particular, use -v [path_to_folder_on_host]:[path_to_that_folder_in_docker_container]:rw .
notice the :rw at the end. this allows for both the host and the container to modify the files (otherwise they will be read-only).
## pinocchio
--------------
pinocchio has functions with some advanced math, like Lie groups. while it's
certainly a plus to learn them, you don't need to. you can just use the forward
kinematics and calculating jacobian functions, and do ther rest of the math
with eigen or numpy.
Content:
- look at their documentation, do their tutorials if you want more
- data and model
- load robot as urdf
......@@ -7,3 +14,24 @@
- cheatsheet overview
- forwardKinematics
- just mention dynamics calls
## general documentation
-------------------------------
[pinocchio documentation](https://gepettoweb.laas.fr/doc/stack-of-tasks/pinocchio/master/doxygen-html/index.html)
## native installation procedure
-------------------------------
just follow the steps (copy-paste commands into terminal) listed
[here](https://stack-of-tasks.github.io/pinocchio/download.html) .
NOTE: if using own compilation of pinocchio, make sure you compile with mpi
and whatever else is needed to run algorithms in parallel.
you won't be able to run in 500Hz on a single core. also note that
the compilation required 13GB of RAM on my system.
## tutorials
-------------------------------
- [probably the best introduction to pinocchio](https://github.com/ymontmarin/_tps_robotique)
- [pinocchio with casadi](https://github.com/nmansard/jnrh2023) - use the provided Docker, very difficult to install the exact software version used in the tutorial
- [exercises offered on documentation webstite](https://gepettoweb.laas.fr/doc/stack-of-tasks/pinocchio/master/doxygen-html/md_doc_d-practical-exercises_intro.html)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment