# PhantomX Robocontroller using AruCo Marker detection
# PhantomX Robocontroller using AruCo Marker detection
## Description
## Description
This ROS Package combines ros-aruco and ros-arbotix to create a controller that is capable of detecting and locating objects with aruco-markers and subsequently moving them.
This ROS Package combines ros-aruco-opencv and ros-arbotix to create a controller that is capable of detecting and locating objects with aruco-markers and subsequently moving them to a desired destination.
This Project is intended for the Arbotix PhantomX Reactor with connected Joints at the base (see illustration).
This Project is intended for the Arbotix PhantomX Reactor with connected Joints at the base (see illustration).
Note this is untested and unsupported with other PhantomX models.
Note this is NOT tested with the single-joint variant of the Reactor grabber.
## Visuals
## Visuals
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
## Installation
## Installation
To install, please clone this repository and build it using ```colcon build``` from within the folders root
To install, please clone this repository and build it using ```catkin_make install``` from within the folders root.
Afterwards, source the ```install``` directory.
## Preparation
## Usage
## Usage
//rosrun and the options
roslaunch and the options
## Support
## Support
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
For questions and support feel free to reach out to [the Authors](#Authors)
## Roadmap
## Roadmap
If you have ideas for releases in the future, it is a good idea to list them in the README.
If you have ideas for releases in the future, it is a good idea to list them in the README.
- Dynamic Camera Placement
- Fix inaccurate Pose estimation
- Differently Shaped blocks and Objects
- Finalize Pick and Place sequence
## Contributing
State if you are open to contributions and what your requirements are for accepting them.
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.