Skip to content

SeongilHeo/R2R-Handover

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot to Robot Handover

Motion Planning for Robotic Arm Handover Tasks Using Sampling-Based Methods (paper)

Motion-planning experiments for two robotic arms collaborating on a handover task. The project supports a 2D planar environment from envs/env.txt and a CoppeliaSim scene from envs/R2R.ttt.

Overview

Overview

Robots

2D Robot 3D Robot

Setup

conda env create -f environment.yml
conda activate r2r-handover

For --problem vrep, start CoppeliaSim first, open envs/R2R.ttt, and run the scene before launching the Python script.

Usage

python run.py [options]

Common options:

Option Description
--method {rrt,prm} Planner to run. Default: rrt.
--problem PROBLEM Environment file path or vrep. Default: envs/env.txt.
--connect Use RRT-Connect.
--bidirection Use Bidirectional RRT-Connect.
--star Use RRT*.
--num_samples N Number of planner samples. Default: 5000.
--step_length X Planner step length. Default: 0.15.
--connect_prob X Goal bias probability. Default: 0.05.
--local_planner {line,rrt} PRM local planner. Default: line.
--radius X PRM connection radius or RRT* rewiring radius. Default: 2.0.
--start "x y" Override start workspace coordinate. Must be used with --goal.
--goal "x y" Override goal workspace coordinate. Must be used with --start.
--no_draw Skip interactive display.
--no_save Do not save 2D frames or assets/robot_motion.gif.

Examples:

python run.py --help
python run.py --problem envs/env.txt --method rrt --connect
python run.py --problem envs/env.txt --method prm --local_planner line --no_draw --no_save
python run.py --problem vrep --method rrt --bidirection

Benchmarks

The benchmark scripts are import-safe and only run when executed directly.

python experiments/experiment_2d.py --variants rrt connect bidirectional star prm --output_dir results/2d
python experiments/experiment.py --variants rrt connect bidirectional star prm --output_dir results/3d --trace_star --trace_samples 1000

Use --sample_counts 100 for a quick smoke test. experiments/experiment.py requires CoppeliaSim and the remote API scene.

After the CSV files are generated, run plot.ipynb to recreate:

assets/result-2d.png
assets/result-3d.png
assets/result-time component.png
assets/result-test&dist.png

Files

Path Purpose
run.py CLI entry point for RRT/PRM runs.
planners/ RRT, RRT-Connect, Bidirectional RRT-Connect, RRT*, and PRM.
envs/ Environment files, 2D environment code, collision checks, plotting, and CoppeliaSim wrapper/scene.
experiments/ 2D and CoppeliaSim benchmark scripts.
assets/ Generated or reference visual assets.
results/ Generated benchmark CSV files.
environment.yml Conda environment definition.
requirements.txt Pip dependency list kept for fallback installs.

About

Sampling-based motion planning for robotic arm handover tasks.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors