Skip to content

Demonstration of robot motion control and trajectory planning via ROS using the RVIZ simulation tool.

License

Notifications You must be signed in to change notification settings

rparak/ROS_Industrial_Simple_Motion_Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ROS Industrial (Introduction) - Simple Motion Control

Requirements:

Software:

Robot Operating System (ROS) - Tested on Melodic distribution, Ubuntu 18.04
Software/Package Link
ROS https://www.ros.org
Melodic Install http://wiki.ros.org/melodic/Installation/Ubuntu
Ubuntu 18.04 https://releases.ubuntu.com/18.04/

Project Description:

Simple demonstration of robot motion control and trajectory planning via the ROS system using simulation tool RVIZ (3D visualization tool for ROS). The main idea of the project is to control the motion and other dependencies of multiple industrial robots (ABB, Fanuc, Universal Robots, etc.) using the Python programming language and also the way to work with catkin workspace, ros dependencies (publisher, subscriber, parameters, ...), launch files, etc.

Main challenges of project implementation:

  • RVIZ simulation tool
  • robot motion control (joint, cartesian - different types of control)
  • rosparam, rostopic, rosservice, etc.
  • collision avoidance

The project was created to improve the VRM (Programming for Robots and Manipulators) university course.

The project was realized at the Institute of Automation and Computer Science, Brno University of Technology, Faculty of Mechanical Engineering (NETME Centre - Cybernetics and Robotics Division).

Project Hierarchy:

Repositary [/ROS_Industrial_Simple_Motion_Control/robot_ctrl/]:

[ Configuration file of the robot parameters      ] /config/
[ Main Launch File (demo)                         ] /launch/ 
[ Read joint/cartesian data                       ] /src/data_collection/
[ Service (reset parameters, add object to env.)  ] /src/service/
[ Main control script                             ] /src/main/

Application:

ABB IRB 1200:

Install:

Note 1: replace '$ROS_DISTRO' with the ROS version (e.g. melodic, see 'branches/tags' in the github repository)
Note 2: replace 'workspace_name' with used workspace (e.g. catkin_ws)

$ cd $HOME/workspace_name/src
$ git clone -b $ROS_DISTRO-devel https://github.com/ros-industrial/abb_experimental.git
$ git clone https://github.com/rparak/ROS_Industrial_Simple_Motion_Control.git
$ cd ..
$ rosdep update
$ rosdep install --rosdistro $ROS_DISTRO --ignore-src --from-paths src
$ catkin_make

Link: https://github.com/ros-industrial/abb_experimental

Robot Control:

Terminal 1:
$ roslaunch abb_irb1200_5_90_moveit_config demo.launch

Terminal 2:
$ roslaunch robot_ctrl demo.launch

Terminal 3:
$ rosrun robot_ctrl test.py

Universal Robots UR5:

Install:

Note 1: replace '$ROS_DISTRO' with the ROS version (e.g. melodic, see 'branches/tags' in the github repository)
Note 2: replace 'workspace_name' with used workspace (e.g. catkin_ws)

$ cd $HOME/workspace_name/src
$ git clone -b $ROS_DISTRO-devel https://github.com/ros-industrial/universal_robot.git
$ git clone https://github.com/rparak/ROS_Industrial_Simple_Motion_Control.git
$ cd ..
$ rosdep update
$ rosdep install --rosdistro $ROS_DISTRO --ignore-src --from-paths src
$ catkin_make

Link: https://github.com/ros-industrial/universal_robot

Robot Control:

Terminal 1:
$ roslaunch ur5_moveit_config demo.launch

Terminal 2:
$ roslaunch robot_ctrl demo.launch

Terminal 3:
$ rosrun robot_ctrl test.py

Fanuc CR-7iA:

Note 1: replace '$ROS_DISTRO' with the ROS version (e.g. melodic, see 'branches/tags' in the github repository)
Note 2: replace 'workspace_name' with used workspace (e.g. catkin_ws)

$ cd $HOME/workspace_name/src
$ git clone -b $ROS_DISTRO-devel https://github.com/ros-industrial/fanuc.git
$ git clone https://github.com/rparak/ROS_Industrial_Simple_Motion_Control.git
$ cd ..
$ rosdep update
$ rosdep install --rosdistro $ROS_DISTRO --ignore-src --from-paths src
$ catkin_make

Link: https://github.com/ros-industrial/fanuc

Robot Control:

Terminal 1:
$ roslaunch fanuc_cr7ia_moveit_config demo.launch

Terminal 2:
$ roslaunch robot_ctrl demo.launch

Terminal 3:
$ rosrun robot_ctrl test.py

Useful Commands:

Setup a Catkin Workspace:

Create Catkin Workspace

$ source /opt/ros/melodic/setup.bash
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make
$ source devel/setup.bash
$ echo $ROS_PACKAGE_PATH

Reset Catkin Workspace

$ rm -r build devel
$ rosclean purge

Reload

$ catkin_make

Create Package

$ cd ~/catkin_ws/src
$ catkin_create_pkg robot_ctrl rospy
$ cd robot_ctrl

Create Launch File

$ mkdir launch
$ cd launch
$ touch robot.launch
$ roslaunch robot_ctrl robot.launch

ROS Tutorials: http://wiki.ros.org/ROS/Tutorials

Contact Info:

Roman.Parak@outlook.com

License

MIT

About

Demonstration of robot motion control and trajectory planning via ROS using the RVIZ simulation tool.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published