Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
yepw authored Mar 5, 2023
1 parent 151edc9 commit 9b087e4
Showing 1 changed file with 32 additions and 11 deletions.
43 changes: 32 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
# RangedIK Core

## Introduction
Implementation of our ICRA'23 paper: *RangedIK: An Optimization-Based Robot Motion Generation Method for Ranged-Goal Tasks*

This solver implements the methods discussed in our paper: [*RangedIK: An Optimization-Based Robot Motion Generation Method for Ranged-Goal Tasks*][Link to appear][Video to appear]
[[Pre-print](https://arxiv.org/pdf/2302.13935.pdf)] [[Video](https://www.youtube.com/watch?v=_QVAetYbpEY)]

## Introduction
[Introduction Plase holder]

## Getting Started
## Getting Started

1. [Install Rust](https://www.rust-lang.org/learn/get-started)
2. Compile:
```bash
cargo build
```
The compiled library is at `/target/debug/librelaxed_ik_lib.so`
3. Run a small demo:
```bash
cargo run --bin relaxed_ik_bin
Expand All @@ -21,14 +23,38 @@ This solver implements the methods discussed in our paper: [*RangedIK: An Optimi
1. Place your robot's URDF under `configs/urdfs/`
2. Make a setting file. Examples are under `configs/example_settings`
### Wrappers
`wrappers/python_wrapper.py` provides a python wrapper.
### Python (ROS) wrapper
`wrappers/python_wrapper.py` provides a python wrapper, which is used by the ROS 1 wrapper: [relaxed-ik-ros1](https://github.com/uwgraphics/relaxed_ik_ros1/tree/ranged-ik)
[`relaxed_ik_ros1/scripts/relaxed_ik_rust.py`](https://github.com/uwgraphics/relaxed_ik_ros1/blob/ranged-ik/scripts/relaxed_ik_rust.py) provides an example of using the python wrapper.
### JavaScript (WebAssembly) wrapper
1. [Install Rust](https://www.rust-lang.org/tools/install)
2. `cargo install wasm-pack`
* if there is a `linker 'cc' not found` error, run `sudo apt install gcc`
* if it complains about openssl, on Ubuntu install it by `sudo apt-get install libssl-dev pkg-config openssl`. For windows, download and install [perl](https://strawberryperl.com/).
3. Compile to WebAssembly
```
wasm-pack build --target web
```
4. [relaxed-ik-web-demo](https://github.com/yepw/relaxed-ik-web-demo) provides an example of running relaxed-ik in browser.
`relaxed_ik_ros1/scripts/relaxed_ik_rust.py` is an example to use the python wrapper.
## Supplementary Video
[YouTube video link](https://www.youtube.com/watch?v=_QVAetYbpEY)
## Citation
If you use RangedIK, please cite our ICRA paper: [*RangedIK: An Optimization-based Robot Motion Generation Method for Ranged-Goal Tasks*](https://arxiv.org/abs/2302.13935)
```
@article{wang2023rangedik,
title={RangedIK: An Optimization-based Robot Motion Generation Method for Ranged-Goal Tasks},
author={Wang, Yeping and Praveena, Pragathi and Rakita, Daniel and Gleicher, Michael},
journal={arXiv preprint arXiv:2302.13935},
year={2023}
}
```
If you use RelaxedIK, please cite our RSS paper: [*RelaxedIK: Real-time Synthesis of Accurate and Feasible Robot Arm Motion*](http://www.roboticsproceedings.org/rss14/p43.html)
```
@INPROCEEDINGS{Rakita-RSS-18,
Expand Down Expand Up @@ -78,8 +104,3 @@ or [*An Autonomous Dynamic Camera Method for Effective Remote Teleoperation*](ht
}
```
### Todo list
- [ ] Add demo that exploit tolerances
- [ ] Support environment collision avoidance
- [ ] Add wrapper for JavaScript

0 comments on commit 9b087e4

Please sign in to comment.