Hi,
You may extend the CameraRealSense driver by reading the lidar at the same time and filling laser scan stuff in returned SensorData. The difficulty is to get camera and lidar synchronized. For example
here, we could pass lidar scan matrix and a LaserScanInfo (see refereed
SensorData constructor). The transform between the base_link frame and the lidar would be hard-coded.
For the IMU, you may add the ekf at the
output of visual odometry, doing the fusion yourself (similar to
robot_localization on ROS).
cheers,
Mathieu