This project involves the development of control algorithms for a 6R robotic manipulator designed to catch a moving ball. The system integrates real-time motion planning to calculate the precise trajectory of the manipulator's arm and catch the ball in a simulated environment. The manipulator's control is implemented using ROS (Robot Operating System) and Gazebo, allowing for simulation and testing before real-world deployment.
- Real-time motion planning for robotic arm control.
- Trajectory estimation and optimization to accurately predict and catch the ball.
- ROS and Gazebo integration for control and simulation.
- Control algorithms designed to enhance the accuracy and efficiency of the catching mechanism.
- ROS (Robot Operating System)
- Gazebo (Robotic Simulator)
- Python (Control algorithms and simulation management)
- C++ (ROS node development and motion planning)
- RViz (Visualization of robot movements)
To run this project on your local machine, follow these steps:
Ensure that you have ROS installed. This project was developed on ROS Noetic (Ubuntu 20.04). You can install ROS by following the official ROS installation guide.
You will need to install Gazebo and other required ROS packages:
sudo apt-get install gazebo11 libgazebo11-dev
sudo apt-get install ros-noetic-ros-control ros-noetic-ros-controllers
sudo apt-get install ros-noetic-trajectory-msgs
Clone the repository to your workspace:
cd ~/catkin_ws/src
git clone https://github.com/kirankigi5/catkin_ws.git
cd ~/catkin_ws
catkin_make
Once everything is set up, you can run the Gazebo simulation with the following command:
roslaunch <your_package> <launch_file>.launch
src/
: Contains the ROS nodes for control algorithms and simulation setup.launch/
: Contains ROS launch files to start various simulations.config/
: Contains configuration files for robot parameters and controllers.urdf/
: Contains the Unified Robot Description Format (URDF) files for the 6R manipulator model.scripts/
: Contains Python scripts for control logic and simulation management.
-
Trajectory Prediction: The ball's trajectory is predicted based on its current velocity and motion. The system uses control algorithms to compute the ideal position and orientation for the manipulator.
-
Motion Planning: Using ROS's MoveIt! and Gazebo, real-time motion planning is performed to calculate the required joint positions for the 6R manipulator to catch the ball.
-
Catching Mechanism: The manipulator adjusts its position to intercept the ball based on continuous feedback from sensors in the Gazebo simulation.
- Implementing feedback from real-world sensors for a physical manipulator.
- Optimizing control algorithms for handling high-speed projectiles.
- Integrating machine learning-based prediction models for improved trajectory forecasting.
This project is licensed under the MIT License - see the LICENSE file for details.