origami-arm-sim

This repository contains a ROS package for simulating an origami inspired continuum manipulator.

https://github.com/abhinavgandhi09/origami-arm-sim

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

This repository contains a ROS package for simulating an origami inspired continuum manipulator.

Basic Info
  • Host: GitHub
  • Owner: Abhinavgandhi09
  • Language: Python
  • Default Branch: main
  • Size: 83 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Citation

README.md

origami-arm-sim

This repository contains a ROS package for simulating an origami inspired continuum manipulator and an RGB camera.

Launch the simulator

Use the following launch command to launch the simlator and visualization roslaunch origami_sim sim.launch

sim_FK.py

To get the points on the robot or the "robot shape" in the image, use the following topic: origami_vs/robot_shape

To get the points on the robot in Cartesian space you can write your own rostopic publisher in simFK.py. The object "points3D" can be published for this.

simulationcontrolinterface.py

To command cable lengths or cable velocities to the robot publish to the following ROS topic: origami_vs/d_cable_length

To get the current cable lengths of the robot subscribe to the following ROS topic: origami_vs/cable_lengths

origamisimvis.py

To get the camera image subscribe to the following topic using imageview package in ROS: ```origamivs/camera_image```

config.yaml

motorconversion: lumped parameter for setting a gear ratio and spool diameter on the motor controlrate: frequency of the control loop as well as the camera publisher frequency lam: visual servo gain numofmodules: initializes the number of origami modules to use initcablelengths: the initial cable lengths for each module. Each module should have 3 cable lengths specified. pointspersegment: "Resolution" of the robot curve in the image. Keep it to a low number to prevent the visualization from lagging behind the controller

Simulation setup (details on camera frame and robot frame)

The camera is spawned (as the world frame) and robot is spawned on the camera/world frame.

(Check simulation setup 2 in the image)

The robot frame is translated along camera frame to ensure the robot's workspace is visible in the image 1. -200 along y 2. 200 along z

Two consecutive rotations are performed to the robot frame: 1. -pi/2 rotation along X-axis 2. pi/2 rotation along Z-axis

This makes it so that L1 is on the left and L2, L3 make a line parallel to camera-Z or perpendicular to image frame (similar to how the robot hardware is setup in lab)

Now we have a complete eye-to-hand setup in simulation. cv2().projectpoints is used to project 3D points along the robot's body onto the image frame. Since L2 and L3 on the robot make a linke parallel to camera Z-axis, we can now constrain these two cables (in software) to operate together essentially constraining the robot to 2 Degrees of Freedom and a planar motion in the image.

Owner

  • Name: Abhinav Gandhi
  • Login: Abhinavgandhi09
  • Kind: user

Citation (citation.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Gandhi"
  given-names: "Abhinav"
- family-names: "Chiang"
  given-names: "Shou-Shan"
- family-names: "Onal"
  given-names: "Cagdas D."
- family-names: "Calli"
  given-names: "Berk"
title: "Simulation Package for Origami Arm"
date-released: 2024-03-15
url: "https://github.com/Abhinavgandhi09/origami-arm-sim"

GitHub Events

Total
Last Year

Dependencies

origami_ws/src/origami_sim/setup.py pypi