diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index 82e7142f278ac565e17f3390697edb471affce19..0000000000000000000000000000000000000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -FROM osrf/ros:melodic-desktop-full-bionic - -RUN apt-get update && apt-get install -q -y \ - openssh-client - -RUN echo 'source /opt/ros/melodic/setup.bash' >> /root/.bashrc \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 2ea83f82455904851055b7db95043e2690be59a1..0000000000000000000000000000000000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "panda_simulation-dev", - "dockerFile": "Dockerfile", - "extensions": [ - "ms-vscode.cpptools", - "ms-iot.vscode-ros" - ], - "runArgs": [ - "--cap-add=SYS_PTRACE", - "--security-opt", - "seccomp=unconfined", - "-v", - "${env:HOME}${env:USERPROFILE}/.ssh:/root/.ssh" - ], - "settings": { - "terminal.integrated.shell.linux": "/bin/bash" - }, - "postCreateCommand": "bash /catkin_ws/src/panda_simulation/scripts/docker-setup.sh", - "workspaceMount": "src=/Users/pekel/code/ros/panda_simulation,dst=/catkin_ws/src/panda_simulation,type=bind,consistency=cached", - "workspaceFolder": "/catkin_ws" -} \ No newline at end of file diff --git a/README.md b/README.md index 1027e043c071b1a1ea4bae366bea4593aad9e5c0..a2c2c331c3cd44e3009d444041a304e20538035c 100644 --- a/README.md +++ b/README.md @@ -2,60 +2,9 @@  -This package was written for ROS melodic running under Ubuntu 18.04. Run the following commands to make sure that all additional packages are installed: - -``` -mkdir -p catkin_ws/src -cd catkin_ws/src -git clone https://github.com/erdalpekel/panda_simulation.git -git clone https://github.com/erdalpekel/panda_moveit_config.git -git clone --branch simulation https://github.com/erdalpekel/franka_ros.git -cd .. -sudo apt-get install libboost-filesystem-dev -rosdep install --from-paths src --ignore-src -y --skip-keys libfranka -cd .. -``` -It is also important that you build the *libfranka* library from source and pass its directory to *catkin_make* when building this ROS package as described in [this tutorial](https://frankaemika.github.io/docs/installation.html#building-from-source). - -Currently it includes a controller parameter config file and a launch file to launch the [Gazebo](http://gazebosim.org) simulation environment and the Panda robot from FRANKA EMIKA in it with the necessary controllers. - -Build the catkin workspace and run the simulation: -``` -catkin_make -j4 -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/path/to/libfranka/build -source devel/setup.bash -roslaunch panda_simulation simulation.launch -``` - -Depending on your operating systems language you might need to export the numeric type so that rviz can read the floating point numbers in the robot model correctly: +This package was written for ROS melodic running under Ubuntu 18.04. Depending on your operating systems language you might need to export the numeric type so that rviz can read the floating point numbers in the robot model correctly: ``` export LC_NUMERIC="en_US.UTF-8" ``` -Otherwise, the robot will appear in rviz in a collapsed state. - - -You can see the full explanation in my [blog post](https://erdalpekel.de/?p=55). - -## Changelog: - - [_MoveIt!_ constraint-aware planning](https://erdalpekel.de/?p=123) - - This repository was extended with a ROS node that communicates with the _MoveIt!_ Planning Scene API. It makes sure that the motion planning pipeline avoids collision objects in the environment specified by the user in a separate directory (`~/.panda_simulation`) as _json_ files. - - [Publishing a box at Panda's hand in _Gazebo_](https://erdalpekel.de/?p=123) - - This repository was extended with a node that publishes a simple box object in the _Gazebo_ simulation at the hand of the robot. The position of this box will get updated as soon as the robot moves. - - [Visual Studio Code Remote Docker](https://erdalpekel.de/?p=123) - - I have added configuration files and additional setup scripts for developing and using this ROS package within a *Docker* container. Currently user interfaces for Gazebo and RViz are not supported. - - [Position based trajectory execution](https://erdalpekel.de/?p=285) - - The joint specifications in Gazebo were changed from an effort interface to position based interface. Furthermore, the PID controller was substituted with the simple gazebo internal position based control mechanism for a more stable movement profile of the robot. A custom joint position based controller was implemented in order to set the initial joint states of the robot to a valid configuration. - - [Automatic robot state initialization](https://erdalpekel.de/?p=314) - - A separate ROS node was implemented that starts a custom joint position controller and initializes the robot with a specific configuration. It switches back to the default controllers after the robot reaches the desired state. - - \ No newline at end of file +Otherwise, the robot will appear in rviz in a collapsed state. \ No newline at end of file diff --git a/package.xml b/package.xml index d614468f8a79fb242b96b56952b679235fc44af0..340065509051519fd2511b9965941eb9fd212880 100644 --- a/package.xml +++ b/package.xml @@ -7,7 +7,7 @@ <!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> --> - <maintainer email="erdal@todo.todo">erdal</maintainer> + <maintainer email="st@todo.todo">ST-Chair</maintainer> <!-- One license tag required, multiple allowed, one license per tag --> diff --git a/scripts/docker-setup.sh b/scripts/docker-setup.sh deleted file mode 100644 index 75b6ed1ff487e3b5893847d8a3cb2a717c1d00cf..0000000000000000000000000000000000000000 --- a/scripts/docker-setup.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -REPOSITORY_DIR=$(pwd) -WORKSPACE_DIR=/catkin_ws -DEPENDENCIES_DIR=$WORKSPACE_DIR/dependencies -APP_DIR=/root/.panda_simulation - -# Install libfranka -mkdir $DEPENDENCIES_DIR && cd $DEPENDENCIES_DIR -git clone --recursive https://github.com/frankaemika/libfranka -cd libfranka -git checkout 0.5.0 -git submodule update -mkdir build && cd build -cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=0 .. -cmake --build . -- -j$(nproc) - -# Clone the franka_ros and panda_moveit_config repositories for simulating Panda robot -cd $WORKSPACE_DIR/src -git clone https://github.com/erdalpekel/panda_moveit_config.git -git clone --branch simulation https://github.com/erdalpekel/franka_ros.git - -# Install package dependencies with rosdep -cd $WORKSPACE_DIR -rosdep install --from-paths src --ignore-src -y --skip-keys libfranka --skip-keys moveit_perception - -# Clone the Visual-Studio-Code-ROS repository into the workspace directory /catkin_ws -cd $WORKSPACE_DIR -git clone git@github.com:erdalpekel/Visual-Studio-Code-ROS.git -mv Visual-Studio-Code-ROS .vscode - -# create app directory for config files -mkdir $APP_DIR \ No newline at end of file