An open API service indexing awesome lists of open source software.

https://github.com/varun0157/image-based-visual-servoing

Image Based Visual Servoing (IBVS) simulation in pybullet
https://github.com/varun0157/image-based-visual-servoing

ibvs robotics robotics-simulation visual-servoing

Last synced: 10 months ago
JSON representation

Image Based Visual Servoing (IBVS) simulation in pybullet

Awesome Lists containing this project

README

          

# Image Based Visual Servoing

A simple IBVS simulation in `pybullet` built as a learning experiment as a part of my undergraduate research.

The initial code was built off of @roadrollerdafjorst's [IBVS sim](https://github.com/roadrollerdafjorst/visual-servoing/tree/main/IBVS) but has deviated since.

## Instructions

- `docs/env.yml` contains the conda environment config file.
Create an environment (here, called `ibvs`) and load it in as usual:

```bash
cd docs
conda env create -f env.yml
conda activate ibvs
```

- run the pybullet sim in `DIRECT` mode, with images saved to `src/img/`.

```bash
cd src
python main.py
```

- if required, convert the images into an MP4 file for later analysis

```bash
bash create_vid.sh
```

## Demo

| | |
| :---------------------------------------: | :---------------------------------------: |
| Target Image | Output GIF |

## TODO

- [ ] port to `airobot` to get rid of view matrix complexity
- [ ] use a better target and scene
- [ ] experiment with more complex dof.
- Currently simply taking the first three points' (x, y) coords as our 6 dof.
- [ ] find out why the obstacles fall slowly in the p.DIRECT sim even though it does not seem to happen in p.GUI.