Closed shubang93 closed 6 years ago
I was able to change things around and get it work. After digging into the code, these are some of the assumptions that are made. Please confirm or deny them so that I can understand better how it works:
point_cloud = transform(point_cloud, 0, 0, 0, M_PI/2, -M_PI / 2, 0)
line transforms the point cloud into an approximate frame of the camera. This assumes that we know this rotation matrix before hand. And those numbers are hard coded for the test setup discussed in the README. project()
method. For X, Y it just checks if it is in the FOV of the camera and includes it. @shubang93
Hey, how did you make it work?
Met the same situation now.
It keeps printing Txyz and Rxyz, hanging at -----Moving to next marker----
.
@KleinYuan I don't quite remember. I realized that the printing of those transforms is just a debug statement. So I commented those out. Also go through the list of assumptions I listed above to make sure you meet them. If your setup is in any way different than what this code is setup for, it will fail and you will see a black image. Also, I'm not convinced that the X,Y,Z limits in the config file are actually used (but I may be wrong).
@shubang93 After reading this project line by line, I finally realize where's the problem. Thanks tho.
@KleinYuan Could you please share, how you made it work or what the key points of understanding have been? I am stuck at the same point and I'm displayed a black 'cloud' image. Thanks very much!
I've figured it out. The 'cloud' window displays the markers now. The issue was, that I've changed the transformations in config_file.txt. Changing them back to the default values and assuring that the markers are placed directly in front of the lidar has fixed the problem.
fx 0 cx 0 0 fy cy 0 0 0 1 0 MAX_ITERS initial_rot_x initial_rot_y initial_rot_z
@blutjens I think what blocked me is how to use this program. When two windows poped up, you are supposed to use your mouse to interface, inputting the polygon.
@shubang93 @karnikram @blutjens hello, I am attempting to calibrate lidar and monocular use this pkg, but I am stuck at the same situation as you mentioned, and I still cannot work it out. So can you send me a copy of your custom version of this pkg (email:zhchpan2017@gmail.com)? Thanks very much for your help!
@PanZhichen
- 3.5 1.0 # horizontal (x) ROI to find pointclouds. Relative to camera position and coordinate frame
- 3.0 3.0 # vertical (y), negative direction is top, positive direction is into bottom
0.0 2.5 # depth (z), negative direction is back of camera, positive is front
2.2. The relative rotation of the velodyne to the camera (base node) is off. -> Change parameters in config_file.txt
1.57 1.55 0
The second value rotates parallel to the ground plane. Decrease the value to shift the 'cloud' FOV to the left. Increase to shift to the right.
Hope that helps!
I was able to successfully build the code and followed through some of the solutions that other questions answered. At this point, the program is able to find both AruCo markers on the image. But for some reason, it is just stuck there and does not go past it. It keeps printing the location of both markers to screen continuously. The output from the program is shown below. One thing that concerns me is Failed to find match for field 'intensity'. line. I see that intensity filter is being used for the point cloud. But I'm just running ROS Velodyne package
VLP16_points.launch
file. On Rviz, I am able to see the intensity field under/velodyne_points
.Any help is much appreciated!