Skip to content

walidAmanhoud/force_based_ds_modulation

Repository files navigation

Force-based DS modulation

This ROS package contains the software implementation related to the work about motion and force generation with dynamical systems:

The practical experiments were performed with KUKA LWR IV+ robots.

Installation

First, make sure that your ssh key are correctly set up. This would be needed for installing the dependencies

Go in the src directory of your catkin workspace and clone this package:

git clone https://github.com/walidAmanhoud/force_based_ds_modulation.git

Stay in the src directory and run the script install_dependencies.sh:

source force_based_ds_modulation/install_dependencies.sh

This script should install the package dependencies and compile everything

Dependencies

The main dependencies are the following ones:

  • ROS: Robot operating system
  • CMake: Build system
  • Eigen: A library for linear algebra
  • libsvm: A library for Support Vector Machines (SVM)
  • SVMGrad: A ROS-package to evaluate SVM decision function and its derivatives
  • kuka-lwr-ros: A ROS-package to control the KUKA LWR IV+
  • mocap_optitrack: A ROS-package to work with the NaturalPoint Optitrack motion capture system
  • net-ft-sensor: A ROS-package to work with the ATI 6-axis force torque sensors
  • sg_differentiation: A ROS-package implementing Savitzky-Golay smoothing and differentiation
  • utils: A ROS-package implementing custom functions mainly for robot motion generation

Have a look to the dependencies.rosintall file in the package directory to get the package dependencies' addresses.

File hierarchy

The file system is divided in several subfolders:

  • cfg: contains .cfg files used by dynamic reconfigure
  • config: contains .yaml used by launch files
  • data_grasping: Contains the log files generated by the ObjectGrasping class
  • data_polishing: Contains the log files generated by the SurfacePolishing class
  • data_surface: Contains the log and model files generated by the SurfaceLearning class
  • data_workspace: Contains the workspace model files generated for the KUKA LWR IV+. Please, refer to https://github.com/sinamr66/SCA_data_construction to understand how these files can be generated
  • cmake: CMake FindXXX scripts
  • include: contains class header files
  • launch: contains .launch files
  • src: contains class implentations and source files to instantiate them:
    • SurfaceLearning: A class used to learn the model of a surface
    • SurfacePolishing: A class used to perform a "circular" polishing on a surface with a KUKA LWR IV+ robot
    • Workspace: A class used to evaluate the reachable workspace of the KUKA LWR IV+ robot
    • ObjectGrasping: A class used to reach, grasp and manipulate an object with two KUKA LWR IV+ robots
    • TwoRobotsTransform: A class publishing the TF transform between the two KUKA LWR IV+ robots (used for the object grasping task)

The data_grasping, data_polishing, and data_surface directories are generated automatically during the installation.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published