Adil Khan 10 months ago
AdiKhanOfficial #FYP Ideas

Enabling industrial robotic arm for complex maneuvers using Robot Operating System

This work aims to build an industrial robotic arm that can perform complex operations by using  Robot Operating System (ROS). A motion planner will handle all the constraints, i.e. collisions among the arm joints and objects. RVIZ simulator provided in ROS environment will be use

Project Title

Enabling industrial robotic arm for complex maneuvers using Robot Operating System

Project Area of Specialization

Mechatronics Engineering

Project Summary


This work aims to build an industrial robotic arm that can perform complex operations by using  Robot Operating System (ROS). A motion planner will handle all the constraints, i.e. collisions among the arm joints and objects. RVIZ simulator provided in ROS environment will be used to visualize the online and offline motion of the arm. To easily interface the 3 degrees of freedom (DOF) arm, it will be initially designed using Solidworks. The output files used to print the arm are simultaneously exported to create the Unified Robot Description Format (URDF) files required for the planner and viewer. The complete ROS ecosystem provides all the tools needed to implement algorithms for robot kinematics, dynamics, motion, simulation and perception. The robot only has revolute joints powered by SG90 low torque and inexpensive hobby servo motors. These motors are position-controlled and need PWM signals for movement. The SG90 servo motors used here have an angular range of 0-200°. The joint angle limits in the URDF file are mentioned as ±90° centred at home. After interfacing an arm with ROS packages actual robotic arm will be able to transport an object from one place to another place in a cluttered environment.

Project Objectives

Our engineering problem is how to interface robotic arm with ros and move it packages they export to ROS to create the Unified Robot Description Format (URDF) files for visualization. Both the motion planning and the arm are visualized in RViz while the physical arm executes the plan.

In this work, to achieve the manipulation of objects, a 3- DOF arm with a cone has been designed and implemented. The arm was designed using FreeCAD. The output files are used to print the arm, and they are exported to ROS to create the Unified Robot Description Format (URDF) files for visualizing. Both the motion planning and the arm are visualized in RViz while the physical arm is executing the plan
 


 

Project Implementation Method

 MoveIt Package in Robotic Operating System (ROS)  is used to enable the Robotic Arm to transport the objects in a cluttered environment. ROS and Moveit use the OMPL library package, which provides various motion planning algorithms to control different robots. OMPL is widely used in the robotics community for solving path problems with many constraints. To achieve object manipulation with the arm and its visualization, the methodology based on the Robot Operating system has been adopted. ROS is an open-source meta operating system designed for robots, which provides features such as hardware abstraction, low-level device control, packages for standard functionalities, a communications framework, and various other libraries and tools. The system is composed of reusable libraries that are designed to work independently. We export urdf model and simulate on gazebo the robot arm control ROS package has this file structure:
cad - All the STL files for the 3D robot model.
CMakeLists.txt - Script for CMake meta build system
robot-arm-control-Arduino - Arduino code that talks to the ROS nodes
launch - Contains launch files for the Rviz simulator
src - Contains the node that publishes the joint instructions to Arduino
urdf - Contains the URDF model of the robot
rviz - Contains the default configurations for the Rvix simulator
The launch file is similar to the one used in the previous article. It launches the robot_state_publisher node and visualizes the URDF model on Rviz. It also launches the joint_state_publisher node, which creates a GUI with sliders to control each servo's joint. These joint instructions are published to the joint_states topic joint used by the robot_state_publisher and the Arduino (to know the use of desired joint angles for the robot) via the serial_node that facilitates the communication to control the real robot.

Benefits of the Project

Interfacing Arduino and ROS for real-world applications is fascinating and opens up the opportunity to explore rigorous software development in ROS. Until this article, we controlled the robot in the joint state for teleoperation, but the real essence of robot arm control lies in using kinematics and the system dynamics. In this work, the design and implementation of a robotic arm were presented, and the integration of several ROS modules to achieve the objective of manipulating an object over a semi-structured environment. With this integration, it was possible to visualize the state of the physical arm in RViz. The Moveit! library was used to plan the trajectory for moving our arm of 3 degrees of freedom, from an initial point to an end-point, visualized in RViz and executed in the robotic arm.
 

Technical Details of Final Deliverable

The final deliverable will be a miniaturized model of the industrial-grade robotic arm which will be programmed to work in complex environments.  The robot will have  revolute joints powered by SG90 low torque and inexpensive hobby servo motors.The SG90 servo motors used here have an angular range of 0-200°. The joint angle limits in the URDF file are mentioned as ±90° centred at home. ROS and moveit use the OMPL library package, which provides a variety of motion planning algorithms to control different robots. We use Arduino uno, rotary sensors, servo motos, and pid controllers for position control in this robotic arm. May we will use other sensors like force or line sensors according to our requirements and necessities. Our task is to innovate the robotic arm by the interference of ros and moveit packages. For different innovations, we will include different broad types of libraries and launch files for our arm movements in different directions. We will need a 3D world for simulation of our robotic arm, and then we will add a plugin in our urdf model and export this model on gazebo after this PID controller is used to control the position/force of a system. The moveit library was used to plan the trajectory of the robotic arm. The robotic arm visualizes objects and is directed towards them for transportation. We will change our launch files and libraries if we want to move the robotic arm in more complex tasks and changes in our rotation. We would use a hybrid PID controller for the accurate transportation of objects without slip.InshAllah in future work, a vision module will be implemented to integrate it into our robotic arm

Final Deliverable of the Project

HW/SW integrated system

Core Industry

Transportation

Other Industries

Medical , Food

Core Technology

Robotics

Other Technologies

Sustainable Development Goals

Industry, Innovation and Infrastructure

Required Resources

Item Name Type No. of Units Per Unit Cost (in Rs) Total (in Rs)
Motors , Drivers, Raspberry PI Board Equipment41500060000
Total in (Rs) 60000
If you need this project, please contact me on contact@adikhanofficial.com
Exoskeleton based Hand Rehabilitation for Post Stroke Motor Recovery

Since past three centuries the advancement of science and technology has enabled us to com...

1675638330.png
Adil Khan
10 months ago
Artificially Intelligent Patient Health Monitoring and Treatment Syste...

The aim of the project is to design an intelligent device that is capable of monitoring th...

1675638330.png
Adil Khan
10 months ago
Modern and Smart Floor Cleaning Robot

We designed Smart Floor Cleaning Robot, as households of today are becoming smarter and mo...

1675638330.png
Adil Khan
10 months ago
A Ubiquitous Freelancing Real-Estate App

In the recent era, the process of buying and selling property has been one of the most hec...

1675638330.png
Adil Khan
10 months ago
video

PHP Tutorial (& MySQL) #24 - Setting Up a MySQL Database

AdiKhanOfficial
Adil Khan
3 years ago