ws_moveit
ws_moveit copied to clipboard
This ROS melodic workspace is created on Ubuntu 18.04. Here I worked on moveit & MTC projects like Pick, Place, Pouring task for multi-manipulator system using MoveIt Task Constructor(MTC).
ROS Melodic Workspace
This ROS melodic workspace is created on Ubuntu 18.04. Here I have worked on several moveit related projects like Pick, Place, Pouring task for multi-manipulator system using MoveIt Task Constructor(MTC).
Table of content
- Installation
- Package description
- Helper scripts
- Team
- Contributing
- FAQ
- Support
- License
- Acknowledgments
Installation
All the
code
required to get started
-
Prerequisite
- You should have ROS melodic on your ubuntu 18.04.
- All ROS dependency is satisfied.
-
Clone
git clone https://github.com/iamrajee/ws_moveit.git
-
Setup
cd ws_moveit/ ./refresh.sh make
Package description
-
moveit_task_constructor
Pick, Place and pouring demos
1. Run default Pick & Place demo of MTC
This is the default Pick & Place demo provided by the MTC.
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace.launch
2. Same as above but with custom formating
Run (Click to expand!)
Terminal 1: roslaunch moveit_task_constructor_demo demo2.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace2.launch
3. Same as above but for two object & two cylider
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo3.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace3.launch
4. Same as above but included abstract function pick place for multiple object
TODO
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo4.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace4.launch
5. Pick & Place for two panda arm
Also commented various ways which didn't worked
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo5.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace5.launch
6. Same as above but clearner
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo6.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace6.launch
7. Serially executing Pick & Place task using two panda arm
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo7.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace7.launch
8. Parallelly(Merger) executing simple task using two panda arm
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo8.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace8.launch
9. Simplest single panda arm pouring demo
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo9.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace9.launch
10. Same as above but keeping glass at ground level
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo10.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace10.launch
11. Same as above but keeping glass at some height from ground
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo11.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace11.launch
12. Cleaned version of two panda arm pouring.
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo12.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace12.launch
13. Pick & Place using two panda arm for differnt object
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo13.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace13.launch
14. Pick & Place using two panda arm for same object
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo14.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace14.launch
15. Pick & Place for two panda arm using seperated tasks
TODO
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo15.launch
Terminal 2: roslaunch moveit_task_constructor_demo pickplace15.launch
Cartesian Demos
1. Run default cartesian demo of MTC
This is the default cartesian demo provided by the MTC.
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo_cartesian.launch/demo.launch
Terminal 2: rosrun moveit_task_constructor_demo cartesian
2. Same as above but with custom formating
Run (Click to expand!)
Terminal 1: roslaunch moveit_task_constructor_demo demo_cartesian2.launch
Terminal 2: rosrun moveit_task_constructor_demo cartesian2
3. Executing two task with differnt node name
task execution not return problem -> resolved by using in built t.execute() and updating with recent PR #136
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo3.launch
Terminal 2: rosrun moveit_task_constructor_demo cartesian2
Terminal 3: rosrun moveit_task_constructor_demo cartesian3
or
Terminal 1: roslaunch moveit_task_constructor_demo demo_cartesian3.launch
Terminal 2: rosrun moveit_task_constructor_demo cartesian3
4. Two arm panda executed simple different task
(Cleaned) could plan but can execute -> resolved by commenting "capabilities" and "disable_capabilities" parameter in move_group.launch
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo_cartesian4.launch
Terminal 2: rosrun moveit_task_constructor_demo cartesian4
5. Trying async spinner to execute two task simontaneously
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo_cartesian5.launch
Terminal 2: rosrun moveit_task_constructor_demo cartesian5
Modular Demos
1. Run default Modular demo of MTC
This is the default Modular demo provided by the MTC.
Run
Terminal 1: roslaunch moveit_task_constructor_demo demo.launch
Terminal 2: rosrun moveit_task_constructor_demo modular
2. Same as above but with custom formating
Run (Click to expand!)
Terminal 1: roslaunch moveit_task_constructor_demo demo.launch
Terminal 2: rosrun moveit_task_constructor_demo modular2
-
panda
panda pkg contain cpp and py interface for moveit.*
Terminal 1:$ roscore $ TODO
Terminal 2:
$ TODO
-
mtc_pour
panda pkg contain cpp and py interface for moveit.*
Terminal 1:$ roscore $ TODO
Terminal 2:
$ TODO
-
VLP16
See full video here. In this pkg TODO
Helper Scripts
-
refresh.sh
#!/bin/bash source /opt/ros/melodic/setup.bash source devel/setup.bash clear
It will source the workspace after buiding workspace or after creating new pkg. Run it as
./refresh.sh
-
makefile
SHELL=/bin/bash all: make run run: catkin_make bash refresh.sh
It will build the workspace . Run it as
make
-
createpkg.sh
#!/bin/bash cd src/ catkin create $1 cd ../ make source refresh.sh
It will create new package . Run it as
./createpkg.sh newpkg_name
-
tftree.sh
#!/bin/bash rosrun rqt_tf_tree rqt_tf_tree
It will launch the gui to visvualise the tf tree. Run it as
./tftree.sh
-
printenv.sh
#!/bin/bash printenv | grep -i ROS
It will print the ROS related environment variable . Run it as
./printenv.sh
-
rosdep.sh
sudo rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
It will install dependencies of all pkg in the workspace. Run it in the workspace as
./rosdep.sh
-
ssh_into_another_computer.sh
#!/bin/bash ssh rajendra@rajendra
It will ssh into another system. Useful when using multiple ros masters. Run it as
./rajendra.sh
Team
Or Contributors/supporters/mentors/guides who helped me out in these projects.
Abhinand A S | Sachin Rustagi | Swami Prasad |
---|---|---|
Contributing
To get started...
Step 1
-
Option 1
- 🍴 Fork this repo!
-
Option 2
- 👯 Clone this repo to your local machine using
https://github.com/iamrajee/ws_moveit.git
- 👯 Clone this repo to your local machine using
Step 2
- HACK AWAY! 🔨🔨🔨
Step 3
- 🔃 Create a new pull request using
https://github.com/iamrajee/ws_moveit/compare/
.
FAQ
-
I ran into some issue while running above package, what to do now?
- Simply contact me!
Support
Reach out to me for any help!
Name : Rajendra Singh Email : [email protected] Web : https://iamrajee.github.io/ LinkedIn : https://www.linkedin.com/in/rajendra-singh-6b0b3a13a/ Twitter: @i_am_rajee |
|
License
- MIT license
- Copyright (c) 2019 Rajendra Singh.
Acknowledgments
- Hat tip to anyone whose code was used and thanks to everyone who inspired and supported me in this project.