Geonhee-LEE / jinyoung-manipulator-detection-and-grasping

The repository is for developing manipulator which can recognize the objects via image processing. The Jinyoung wants to grasp some objects with Opencv, ROS, MoveIt, and so on.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Requirements

  1. Ubuntu 16.04

  2. ROS Kinetic

  3. MoveIt!

  4. OpenCV ROS Package

  5. Intel® RealSense™ SDK

  6. Realsense ROS Package

  7. ROS Qt Creator

  8. Additional libraries

 
sudo apt-get install ros-kinetic-tf2-geometry-msgs ros-kinetic-find-object-2d ros-kinetic-moveit* ros-kinetic-qt-build ros-kinetic-map-server ros-kinetic-move-base  ros-kinetic-rviz-visual-tools ros-kinetic-interactive-markers   ros-kinetic-qt-ros -y  

How to run the functions for 'manipulator'

  1. Run the moveIt! and RViz

 roslaunch srdf demo.launch 
 

  1. Run the realsense cameras(camera1(D415): world camera, camera2(D435)" End-effector)

Note: Connect the camera to the USB 3.0


roslaunch realsense2_camera rs_multiple_devices.launch serial_no_camera1:=732612061000 serial_no_camera2:=819312073026
 

  1. Run Qt GUI for controlling the manipulator

 rosrun qtros qtros
 

  1. Run image process using OpenCV

 rosrun camera_node camera_node
 


qtros GUI guide

To be more specific, the functions of qtros node is like below:

Control tab

  • ROS Master

    • ROS MasterUrl: ROS MasterUrl
    • ROS IP: ROS IP
    • Connect : To connect for ROS Master with Qt GUI
  • TCP/IP

    • ServerIP: IP of EC-Master
    • Port: Port of EC-Master(Default)
    • Connect : To connect for EC Master with Qt GUI
  • ForwardJoint_value: Get the joint angles in RViz.

  • EndPointJoint_value: Get the 3D position such as x, y, z and angle such as roll, pitch, yaw in RViz.

  • EndToCamera: Move the manitulator to the desired position through inverse kinematics in RViz.

Setting tab

  • Set_JointValue: Set the joint angles for moving according to absolute joint angles .

  • Get_JointValue: Get the joint angles from real manipulator.

  • Robot_Server:

    • SRV_ON: Servo motor on
    • SRV_OFF: Servo motor off
    • Position_Set: init position setting
    • Free_Set: Direct teaching
  • Robot_Pose:

    • Home: Move to the home.
    • Pose_set: Move to the designated position
    • PixelPoint: Track the object using image processing
    • Gripper On/OFF: Gripper On/OFF

Check tab

It is designed for checking repeatability of manipulator.


camera node guide

Drag the desired object area on image window with keeping left button of mouse.

Video

Video Label

About

The repository is for developing manipulator which can recognize the objects via image processing. The Jinyoung wants to grasp some objects with Opencv, ROS, MoveIt, and so on.


Languages

Language:C++ 85.1%Language:CMake 8.1%Language:Python 6.7%