This is a students project and is not meant for production use!
First of all you need to install Docker on your platform. Follow the instructions for your platform.
If you successfully installed Docker you can continue with the following steps.
- Clone the repository
git clone https://github.com/PointlessBox/dros- Install
build:
pip install build- Navigate into project directory:
cd dros- Build project:
python -m build- Install project
pip install dist/dros<some stuff>.whl- Test installation:
dros --help- Create a directory where you want to place your workspace in. This folder is just the place where your workspace data will be saved into. It is not your final workspace:
mkdir some_dros_ws- Navigate into this directory
cd some_dros_ws- Create new workspace with an appropriate name. For this example we will create a 'turtlebot' project workspace. By passing the
--pathoption we can tell DROS to use a specific directory where our data should be placed in. In this case we create the directory 'turtle'. We can also specify the ROS version to use by using the--ros-versionoption. In this case it's 'melodic':
dros new turtlebot --path=turtle --ros-version=melodicYou can check if your workspace got created by using dros list.
That's it. You created your first DROS workspace!
To connect to a workspace you need to use the following command:
dros connect <workspace_name | index>You can get a list of all workspaces by using dros list which will give you an output like this:
[0] turtlebot
Now you can connect to your workspace by either passing the workspace name (e.g. 'turtlebot') or the index (e.g. '0') to dros connect:
dros connect turtlebotYou can also use a more comfortable way by using the --select flag without the workspace argument, which gives you a list of workspaces and then prompts you to select one.
Now you got a shell inside your workspace and you can start your project!
-
Open a terminal on your host environment
-
Type
xauth versioninto your terminal to check if it is installed. If it is not installed go ahead and install it. -
List your auth entries with
xauth list. You should get an output similar to this:
myuser/unix:0 MIT-MAGIC-COOKIE-1 158**************************1a8 -
Copy the output from your terminal.
-
Connect to your DROS workspace by using the
connectcommand. -
Type in the following command in the connected terminal:
xauth add <insert copied entry from step 3 and 4> -
Now you should be able to start GUI Applications from inside your workspace.
You will probably need to redo this process after a system or workspace restart.
-
Open a terminal in your host environment and navigate to the folder containing your 'catkin_ws' folder.
-
Type in the following command:
sudo chown <your username>:<your username> -R catkin_ws
This will change the ownership of all folders and files to the given user. -
Now you are able to modify your workspace from your host environment.
After using the reinit command or after using catkin_make you will have to redo this process, because the ownership will be reset to the root user of the workspace environment.
Before yor start this tutorial, be sure to enable GUI Applications in your workspace by following the associated tutorial.
-
Create a new workspace with name 'sick-ws'
-
Connect to workspace 'sick-ws'
-
Create a 'src' folder in your catkin_ws if it does not exists yet.
-
Clone the following repositories into '~/catkin_ws/src':
https://github.com/ros-drivers/sicktoolbox
https://github.com/ros-drivers/sicktoolbox_wrapper -
Run the following command:
catkin_make install
If there is an error about a package named 'diagnostic_update', then run the following command:
sudo apt-get install ros-<your ros distro>-diagnostics
Now runcatkin_make installagain. -
Now make sure you got read/write permissions on the associated USB device by running
sudo chmod a+rw /dev/ttyUSB0 -
Now open two additional terminals and connect them to your DROS workspace 'sick-ws'.
-
In the first terminal tun
roscore
In the second terminal run
rosrun sicktoolbox_wrapper sicklms _port:=/dev/ttyUSB0 _baud:=38400
In the third terminal runrosrun rviz rviz.
You should now have a window running the RViz Visualizer. -
Now configure the visualizer to display the scanner data like so:
