Code Monkey home page Code Monkey logo

camera_2d_lidar_calibration's People

Contributors

ehong-tl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

camera_2d_lidar_calibration's Issues

IndexError: tuple index out of range

Hello, I'm using your code.

The following error occurs in roslaunch camera_2d_lidar_calibration reproduction.launch.

camera_topic : /usb_cam/image_raw/compressed
lidar_topic : /scan

I am attaching the calibration result below and the yaml file as well.

Please reply quickly. Thank you.
error
result
yaml

About your method

@ehong-tl Hi, thank you for your excellent work. Could you please explain the principle of your calibration or the paper you refer to ? I'm a novice and I don't know about this.

Can I get PointCloud2 data from reprojection.py?

Can I produce pointcloud2 data and publish it from the steps taken in the reprojection.py file, especially in the def callback function?

If I understand correctly, pointcloud data is already generated here:
"cloud = lp.projectLaser(scan)
points = pc2.read_points(cloud)" here is PointCloud or PointCloud2?

When I try to publish this "cloud" data myself, I get the following error: "
``[ERROR] [1705042997.159589]: bad callback: <bound method Subscriber.callback of <message_filters.Subscriber object at 0x7fa8a914a400>>
Traceback (most recent call last):
File "/home/gokce/lidar_camera/src/ros_comm/clients/rospy/src/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "", line 76, in callback
File "", line 58, in signalMessage
File "", line 330, in add
File "", line 58, in signalMessage
File "/home/gokce/lidar_camera/src/camera_2d_lidar_calibration/src/reprojection.py", line 230, in callback
pub.publish(cloud) # PointCloud2 mesajını yayınla
File "/home/gokce/lidar_camera/src/ros_comm/clients/rospy/src/rospy/topics.py", line 879, in publish
data = args_kwds_to_message(self.data_class, args, kwds)
File "/home/gokce/lidar_camera/src/ros_comm/clients/rospy/src/rospy/msg.py", line 121, in args_kwds_to_message
raise TypeError("expected [%s] but got [%s]"%(data_class._slot_types[0], arg._type))
TypeError: expected [std_msgs/Header] but got [sensor_msgs/PointCloud2]"

Can you guide me for this?

Approximately how much marking data do I need to collect?

Thanks so much for the work. I hve some questions:
Approximately how much marking data do I need to collect?
After calibrating once on the fixed system, do I need to repeat the same processes for each environment, or is calibrating only once sufficient?
What should be the average RMSE value?
Thank you in advance.

Why is there a negative value

Hi, Thank you for your work.
When I add the following lines in the reprojection.py file
"for i in range(len(img_points)):
try:
cv2.circle(img, (np.int32(round(img_points[i][0])),np.int32(round(img_points[i][1]))), laser_point_radius, (0,255,0), 1)
print((np.int32(round(img_points[i][0]))),np.int32(round(img_points[i][1]))))"

The following values are printed to the terminal:

"
...
(-401, 462)
(-388, 462)
(-374, 463)
(-359, 463)
(-344, 463)
(-327, 464)
(-310, 465)
(-291, 465)
(-272, 466)
(-251, 466)
(-230, 467)
(-207, 468)
(-183, 468)
(-159, 469)
(-132, 470)
(-105, 470)
(-76, 471)
(-45, 472)
(-13, 473)
(20, 474)
(55, 475)
(92, 476)
(130, 477)
(170, 478)
(213, 479)
(257, 480)
(303, 481)
(351, 482)
(401, 483)
(454, 485)
(509, 486)
(567, 487)
(628, 489)
(691, 490)
(757, 492)
(826, 493)
(898, 495)
(974, 497)
(1052, 498)
(1134, 500)
(1220, 502)
(1310, 504)
(1403, 506)
(1501, 508)
(1604, 510)
(1711, 513)
(1822, 515)
(1939, 518)
(2061, 520)
(2188, 523)
(2321, 526)
(2460, 529)
(2605, 532)
(2757, 535)
(2916, 538)
..."
My question is, although the pixel width of the camera is 1280, why do I get values greater than 1280 or why are there negative values?
Thank you in advance for your reply!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.