Recognize Color Blocks
This case uses the eye-to-hand mode, uses the camera, combines Python+OpenCV, performs color positioning through OpenCV, and frames the color blocks that meet the situation, and calculates the relative position of the blocks through the relevant points. at the spatial coordinate position of the manipulator. Set up a set of related actions for the robotic arm, and place them in different areas according to the color of the identified objects.
1 program compilation
ROS1 Shell icon on the desktop or the corresponding icon in the lower bar of the desktop to open the ROS1 environment terminal:
Then enter the following command:
cd ~/catkin_ws # Go to the src folder in the workspace catkin_make # Build the code in the workspace source devel/setup.bash # Add environment variables
2 Camera Adjustment
First, you need to use python to run OpenVideo.py under the aikit_V2 package. If the enabled camera is a computer camera, cap_num needs to be modified. For details, please refer to: Precautions. Make sure that the camera completely covers the entire recognition area, and the recognition area is square in the video, as shown in the figure below. If the recognition area does not meet the requirements in the video, the camera position needs to be adjusted.
ROS1 Shellicon on the desktop or the corresponding icon in the lower bar of the desktop to open the ROS1 environment terminal, and enter the following command to enter the target folder:
- Enter the following command to open the camera for adjustment
3 Case Reproduction
Raspberry Pi version:
ROS1 Shellicon on the desktop or the corresponding icon in the lower bar of the desktop to open the ROS1 environment terminal, and enter the following command to start the
roslaunch aikit_280_pi vision_pi.launch
- Open another ROS1 environment terminal (the opening method is the same as above), enter the following command to enter the target folder:
- Then enter the following command to start the color recognition program:
- When the command terminal shows ok and the camera window can be opened normally, it means that the program runs successfully. At this time, the identifiable objects can be placed in the recognition area for recognition and capture.
- When the camera does not automatically frame the recognition area correctly, you need to close the program, adjust the position of the camera, and move the camera to the left or right.
- If the command terminal does not show ok, and the color cannot be recognized, you need to move the camera slightly backward or forward, and the program can run normally when the command terminal shows ok.
- OpenCV color recognition will be affected by the environment, and the recognition effect will be greatly reduced in a darker environment.