Modelling and Implementation of Cable Driven Parallel Manipulator System with Tension Control

Overview

Modelling and Implementation of Cable Driven Parallel Manipulator System with Tension Control

License: MIT Build Status Coverage Status

Cable Driven Parallel Robots (CDPR) is also known as Cable-Suspended Robots are the emerging and flexible end effector manipulation system. Cable-driven parallel robots (CDPRs) are categorized as a type of parallel manipulators. In CDPRs, flexible cables are used to take the place of rigid links. The particular property of cables provides CDPRs several advantages, including larger workspaces, higher payload-to-weight ratio and lower manufacturing costs rather than rigid-link robots. In this paper, the history of the development of CDPRs is introduced and several successful latest application cases of CDPRs are presented. The theory development of CDPRs is introduced focusing on design, performance analysis and control theory. Research on CDPRs gains wide attention and is highly motivated by the modern engineering demand for large load capacity and workspace. A number of exciting advances in CDPRs are summarized in this paper since it is proposed in the 1980s, which points to a fruitful future both in theory and application. In order to meet the increasing requirements of robot in different areas, future steps foresee more in-depth research and extension applications of CDPRs including intelligent control, composite materials, integrated and reconfigurable design.

The robot geometry is defined in a YAML file (see sdf folder), then generates a SDF file through the call to gen_cdpr.py .yaml.

The same robot can be simulated by calling roslaunch cdpr cdpr.launch model:= where robot model corresponds to the YAML and SDF files.

A very basic PID controller can be tested using rosrun cdpr pid_control. The controller does not take into account the positive-only tensions and is just here to show the use of the CDPR class that interfaces with Gazebo.

It is also possible to run both the simulation and the controller using the lunch files in the cdpr_controllers package for instance roslaunch cdpr_controllers cdpr_pid_qp.launch.

Model generation

An example is given through cdpr/sdf/caroca.yaml. The sim_cables field leads to two behaviors:

  • if True then Gazebo wil simulate the cables as rigid bodies and subscribe for cable tensions
  • if False then Gazebo will simulate a free-floating platform and subscribe for cdpr::Tensions which are the tensions + unit vector of all cables.

Installation

tested with ROS 1 noetic under Ubuntu 20.04

Building from source in a catkin workspace

mkdir catkin_ws
cd catkin_ws
git clone https://github.com/remipannequin/cdpr.git src
source /opt/ros/noetic/setup.bash
catkin_make
source devel/setup.bash

Some works

The improvement with using CTC control algorithm and trajectory generator

The control algorithm is CTC which integrates the quadratic programming optimization method in order to get the feasible tension in cables.

The trajectory parameter is defined by trajectory.yaml in sdf folder.

The SDF file is loaded by the launch file directly when using roslaunch command to launch one controller.

The 5 orders polynomial is implemented to generate one trajectory with updating time 0.01. It is set the same initial pose with initialization of cdpr, and the desired position is [2,2,1].

1. Rx, Ry & Rz Speed Simulation

(I) Rx Speed

rx_gif

(II) Ry Speed

yr_gif

(III) Rz Speed

rz_gif

2. Movement of the Suspended Platform

This robot can move in 3D space and can achieve any 6 degrees of freedom. ezgif com-gif-maker

3. Gripping a Load

grip

Owner
Siddharth U
Research Scholar at SASTRA University | Research Intern at IIT Delhi & RRC IIIT-H | ROS | C++ | Python | SolidWorks | MATLAB | Autonomous Robots
Siddharth U
A prototype COG-based tile server for sparse Mars datasets

Mars tiler Mars Tiler is a prototype web application that serves tiles from cloud-optimized GeoTIFFs, with an emphasis on supporting planetary dataset

Daven Quinn 3 Mar 23, 2022
A complete python calculator with 2 modes Float and Int numbers.

Python Calculator This program is made for learning purpose. Getting started This Program runs using python, install it via terminal or from thier ofi

Felix Sanchez 1 Jan 18, 2022
Semester Project on Signal Processing @CS UCU 2021

Blur Detection with Haar Wavelet Transform Requirements Python3 opencv-python PyWavelets Install these using the following command: $ pip install -r r

ButynetsD 2 Oct 15, 2022
Dotfiles & list of programs

dotfiles & list of programs So I wanted to just backup my most used files. I have a bad habit, sometimes I get tired of a distro and do a wipe and sta

2 Sep 04, 2022
Return-Parity-MDP - Towards Return Parity in Markov Decision Processes

Towards Return Parity in Markov Decision Processes Code for the AISTATS 2022 pap

Jianfeng Chi 3 Nov 27, 2022
A collection of modern themes for Tkinter TTK

ttkbootstrap A collection of modern flat themes inspired by Bootstrap. Also includes TTK Creator which allows you to easily create and use your own th

Israel Dryer 827 Jan 04, 2023
Python - Aprendendo Python na ByLearn

PYTHON Identação Escopo Pai Escopo filho Escopo neto Variaveis

Italo Rafael 3 May 31, 2022
A toy repo illustrating a minimal installable Python package

MyToy: a minimal Python package This repository contains a minimal, toy Python package with a few files as illustration for students of how to lay out

Fernando Perez 19 Apr 24, 2022
Werkzeug has a debug console that requires a pin. It's possible to bypass this with an LFI vulnerability or use it as a local privilege escalation vector.

Werkzeug Debug Console Pin Bypass Werkzeug has a debug console that requires a pin by default. It's possible to bypass this with an LFI vulnerability

Wyatt Dahlenburg 23 Dec 17, 2022
python package to showcase, test and build your own version of Pickhardt Payments

Pickhardt Payments Package The pickhardtpayments package is a collection of classes and interfaces that help you to test and implement your dialect of

Rene Pickhardt 37 Dec 18, 2022
EloGGs 🎮 is a 1v1.LOL Trophy Boosting Program (PATCHED)

EloGGs 🎮 is an old patched 1v1.LOL boosting program I developed months ago, My team made around $1000 total off of this, but now it's been patched by the developers.

doop 1 Jul 22, 2022
A fast python implementation of DTU MVS 2014 evaluation

DTUeval-python A python implementation of DTU MVS 2014 evaluation. It only takes 1min for each mesh evaluation. And the gap between the two implementa

82 Dec 27, 2022
This is where I learn machine learning

This is where I learn machine learning🤷‍ This means that this repo covers no specific topic of machine learning or a project - I work in here when I want to learn/try something

Wilhelm Berghammer 47 Nov 16, 2022
This wishes a mentioned users on their birthdays

BirthdayWisher Requirements: "mysqlserver", "email id and password", "Mysqlconnector" In-Built Modules: "smtplib", "datetime","imghdr" In Mysql: A tab

vellalaharshith 1 Sep 13, 2022
Ml-design-patterns - Source code accompanying O'Reilly book: Machine Learning Design Patterns

This is not an official Google product ml-design-patterns Source code accompanying O'Reilly book: Title: Machine Learning Design Patterns Authors: Val

Google Cloud Platform 1.5k Jan 05, 2023
Student Management System Built With Python

Student-Management-System Group Members 19BCE183 - Patel Sarthak 19BCE195 - Patel Jinil 19BCE220 - Rana Yash Project Description In our project Studen

Sarthak Patel 6 Oct 20, 2022
It's like Forth but in Python

It's like Forth but written in Python. But I don't actually know for sure since I never programmed in Forth, I only heard that it's some sort of stack-based programming language. Porth is also stack-

Tsoding 619 Dec 21, 2022
A script to generate NFT art living on the Solana blockchain.

NFT Generator This script generates NFT art based on its desired traits with their specific rarities. It has been used to generate the full collection

Rude Golems 24 Oct 08, 2022
Jannik Ramrath 1 Feb 05, 2022
A python script developed to process Windows memory images based on triage type.

Overview A python script developed to process Windows memory images based on triage type. Requirements Python3 Bulk Extractor Volatility2 with Communi

CrowdStrike 245 Nov 24, 2022