All Projects → henry2423 → docker-ros-x11

henry2423 / docker-ros-x11

Licence: Apache-2.0 License
A docker environment with ROS, Gazebo, X11 and Tensorflow

Programming Languages

Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to docker-ros-x11

RoboticsAcademy
Learn Robotics with JdeRobot
Stars: ✭ 160 (+451.72%)
Mutual labels:  ros, gazebo
PROBOT Anno
ROS Packages for PROBOT Anno.
Stars: ✭ 75 (+158.62%)
Mutual labels:  ros, gazebo
ur ws
Universal robot with robotiq hand workspace
Stars: ✭ 21 (-27.59%)
Mutual labels:  ros, gazebo
arm
Robot arm simulation using Gazebo, ROS Control and MoveIt.
Stars: ✭ 79 (+172.41%)
Mutual labels:  ros, gazebo
smart grasping sandbox
A public sandbox for Shadow's Smart Grasping System
Stars: ✭ 69 (+137.93%)
Mutual labels:  ros, gazebo
drl grasping
Deep Reinforcement Learning for Robotic Grasping from Octrees
Stars: ✭ 160 (+451.72%)
Mutual labels:  ros, gazebo
wpr simulation
No description or website provided.
Stars: ✭ 24 (-17.24%)
Mutual labels:  ros, gazebo
gazebo cars
Gazebo Models for different types of cars
Stars: ✭ 31 (+6.9%)
Mutual labels:  ros, gazebo
raspimouse sim
ROS package suite for Raspberry Pi Mouse Simulator
Stars: ✭ 23 (-20.69%)
Mutual labels:  ros, gazebo
katana driver
This stack contains hardware drivers, Gazebo plugins and other basic functionalities for the Neuronics Katana family of robot arms.
Stars: ✭ 16 (-44.83%)
Mutual labels:  ros, gazebo
aws-robomaker-hospital-world
This Gazebo world is well suited for organizations who are building and testing robot applications in hospitals.
Stars: ✭ 114 (+293.1%)
Mutual labels:  ros, gazebo
ar-tu-do
ROS & Gazebo project for 1/10th scale self-driving race cars
Stars: ✭ 65 (+124.14%)
Mutual labels:  ros, gazebo
DDPG
End to End Mobile Robot Navigation using DDPG (Continuous Control with Deep Reinforcement Learning) based on Tensorflow + Gazebo
Stars: ✭ 41 (+41.38%)
Mutual labels:  ros, gazebo
my ROS mobile robot
Differential drive mobile robot using ROS.
Stars: ✭ 123 (+324.14%)
Mutual labels:  ros, gazebo
knime-docker
KNIME Analytics Platform & SDK with Docker Container in X11 desktop
Stars: ✭ 19 (-34.48%)
Mutual labels:  docker-container, x11
conde simulator
Autonomous Driving Simulator for the Portuguese Robotics Open
Stars: ✭ 31 (+6.9%)
Mutual labels:  ros, gazebo
summit xl sim
Packages for the simulation of the Summit XL, Summit XL HL and Summit-X (including X-WAM) robots
Stars: ✭ 32 (+10.34%)
Mutual labels:  ros, gazebo
turtlebot rrt
Rapidly Exploring Random Tree (RRT) global path planning plugin for ROS Kinetic Kame
Stars: ✭ 86 (+196.55%)
Mutual labels:  ros, gazebo
aws-robomaker-robotics-curriculum
Introductory robotics curriculum
Stars: ✭ 78 (+168.97%)
Mutual labels:  ros, gazebo
linorobot2
Autonomous mobile robots (2WD, 4WD, Mecanum Drive)
Stars: ✭ 97 (+234.48%)
Mutual labels:  ros, gazebo

Docker container images with ROS, Gazebo, X11 windows and Tensorflow capability

This repository developed from nvidia/opengl and nvidia/cuda conatiners, combine these two together to create a ROS develope environment in docker

Current Image Build:

  • henry2423/ros-x11-ubuntu:melodic : Ubuntu 16.04 with ROS melodic + Gazebo 9

  • henry2423/ros-x11-ubuntu:kinetic : Ubuntu 16.04 with ROS Kinetic + Gazebo 8

Requirement

  • Docker and Nvidia-docker(docker nvidia runtime) on the host: Check with NVIDIA/nvidia-docker

  • X11 Server install:

    $ apt-get install xauth xorg openbox
    

Usage

  • For the first time before runing up the docker, you should setup X11 socket and X11 auth files by runing command:

    XSOCK=/tmp/.X11-unix
    XAUTH=/tmp/.docker.xauth
    touch $XAUTH
    xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f $XAUTH nmerge -
    
  • Run command with x11 configuration, to set up the display environment:

    nvidia-docker run -it \
      --volume /tmp/.X11-unix:/tmp/.X11-unix:rw \
      --volume /tmp/.docker.xauth:/tmp/.docker.xauth:rw \
      --env "XAUTHORITY=/tmp/.docker.xauth" \
      --env "DISPLAY" \
      --volume /etc/passwd:/etc/passwd \
      --volume /etc/group:/etc/group \
      --user $(id -u):$(id -g) \
      henry2423/ros-x11-ubuntu:kinetic \
      bash
    
  • If you want to connect to tensorboard, run command with mapping to local port 6006:

    nvidia-docker run -it \
      -p 6006:6006 \
      --volume /tmp/.X11-unix:/tmp/.X11-unix:rw \
      --volume /tmp/.docker.xauth:/tmp/.docker.xauth:rw \
      --env "XAUTHORITY=/tmp/.docker.xauth" \
      --env "DISPLAY" \
      --volume /etc/passwd:/etc/passwd \
      --volume /etc/group:/etc/group \
      --volume /etc/shadow:/etc/shadow \
      --user $(id -u):$(id -g) \
      henry2423/ros-x11-ubuntu:kinetic \
      bash
    
  • Build an image from scratch:

    docker build -t henry2423/ros-x11-ubuntu .
    

Detail Environment setting

1) Connecting jupyter notebook within container

  • Run command with mapping to local port 8888 (jupyter protocol) and 8888 (host web access):

    nvidia-docker run -it \
      -p 8888:8888 \
      --volume /tmp/.X11-unix:/tmp/.X11-unix:rw \
      --volume /tmp/.docker.xauth:/tmp/.docker.xauth:rw \
      --env "XAUTHORITY=/tmp/.docker.xauth" \
      --env "DISPLAY" \
      --volume /etc/passwd:/etc/passwd \
      --volume /etc/group:/etc/group \
      --volume /etc/shadow:/etc/shadow \
      --user $(id -u):$(id -g) \
      henry2423/ros-x11-ubuntu:kinetic \
      bash
    
  • Check your container assigned IP using $ifconfig within container, then you can start up jupyter notebook in container with following command:

    jupyter notebook --ip={YOUR CONTAINER IP} --port=8888 --allow-root
    
  • After start up the jupyter kernel, you can access the notebook from host browser through HTTP service.

    http://localhost:8888/
    

Connect & Control

If the container runs up, you can connect to the container throught the following

  • You can open the GUI program directly, such as rviz and gazebo
  • Connect to Tensorboard if you do the tensorboard mapping above: http://localhost:6006
  • Connect to Jupyter if you do the tensorboard mapping above: http://localhost:8888/
  • The username and password in container is same as your host account
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].