-
Ubuntu 16.04
-
OpenCV ROS Package
-
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
- Run the moveIt! and RViz
roslaunch srdf demo.launch
- 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
- Run Qt GUI for controlling the manipulator
rosrun qtros qtros
- Run image process using OpenCV
rosrun camera_node camera_node
To be more specific, the functions of qtros node is like below:
-
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.
-
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
It is designed for checking repeatability of manipulator.
Drag the desired object area on image window with keeping left button of mouse.
- Object detection is developed using opencv3, which is implemeted in object-detection-opencv3-ros