A ROS-Gazebo based simulation showcasing the motion planning and control framework for a multi-manipulator system for in-orbit operations.
Developed as part of MSc thesis titled "Motion Planning and Control of Multi-Arm Robot for In-Orbit Operations" by Sairaj R Dillikar (MSc Robotics 2022-23, Cranfield University, United Kingdom)
Simulation videos of this project can be accessed by clicking here.
mkdir -p mario_mpcc_ws/src
cd mario_mpcc_ws/src
catkin_init_workspace
git clone https://github.com/sairajdillikar/Motion_Planning_and_Control_of_Multi_Arm_Robot_for_In_Orbit_Operations.git
cd ..
catkin build
- Ubuntu 2020.04
- ROS Noetic Ninjemys 8
- Gazebo v11.11
- Moveit! 1.0 for ROS Neotic
- Python 3.7
- ros_link_attacher Plugin (already included within this repository (/gazebo_ros_link_attacher))
Before launching the gazebo world, navigate through the packages to find the src/simplified_df_bot_description/src/exe_serial_coordmotion_1.cpp
file and make sure to add your PC $USERNAME
within the <uri>
tag. Same goes for the src/exe_serial_coordmotion_2.cpp
, src/exe_parallel_coordmotion_1.cpp
, and src/exe_combined_coordmotion_1.cpp
<uri>/home/ $USERNAME /mario_mpcc_ws/src/srs_modules_description/meshes/base_link.stl</uri>
Before launching a simulation, any new terminal must be always sourced with,
cd mario_mpcc_ws
source devel/setup.bash
Use the above two commands when using a new terminal, as executing simulation for each different locomotion requires only two main commands:
- For launching the simulation (
roslaunch
). - To run the script with its respective control algorithm (
rosrun
).
Terminal-1:
roslaunch simplified_df_bot_description execute_serial_locomotion.launch
Terminal-2:
rosrun simplified_df_bot_description exe_serial_coordmotion_1
Terminal-1:
roslaunch simplified_df_bot_description execute_serial_locomotion.launch
Terminal-2:
rosrun simplified_df_bot_description exe_serial_coordmotion_2
Terminal-1:
roslaunch simplified_df_bot_description execute_parallel_locomotion.launch
Terminal-2:
rosrun simplified_df_bot_description exe_parallel_coordmotion_1
Terminal-1:
roslaunch simplified_df_bot_description execute_combined_locomotion.launch
Terminal-2:
rosrun simplified_df_bot_description exe_combined_coordmotion_1
If you use the Motion Planning architecture as part of a publication or utilise in a project development, please use the Bibtex below as a citation,
@misc{motion_planning_mario_git,
author = {Dillikar, Sairaj.R. and Upadhyay, Saurabh and Felicetti, Leonard and Tang, Gilbert},
booktitle = {GitHub repository},
publisher = {GitHub},
title = {Motion Planning and Control of Multi-Arm Robot for In-Orbit Operations},
month = {Sep},
year = {2023},
url = {https://github.com/sairajdillikar/Motion-Planning-and-Control-of-Multi-Arm-Robot-for-In-Orbit-Operations}
}
For questions, suggestions, or collaborations, feel free to reach out to the project author at [email protected].