World and Map Frame for a real robot

I am trying to develop a robot for mapping purposes. Currently, I have a Velodyne VLP16 lidar and an IMU. I am having a bit of a confusion in stating the transforms of the system. For the lidar and IMU, the transforms are supposed to be static and I have defined them using the following:

static_transform_publisher x y z qx qy qz qw frame_id child_frame_id  period_in_ms


How do I define and publish world and amp frame? How do I define the dynamic transforms between world frame and base link?

As you've figured, static transforms are valid for fixed offsets such as sensor positions. They are the minimal solution the more complete recommended solution is to setup a robot model. There's tutorials on that here.

More directly towards your question on how to define the map to base link. That is generally referred to as localization. You will need to run a localization algorithm to keep track of where your robot is in the map. The most common ones are either done in a predefined map, like amcl or by a simultaneous localization and mapping (SLAM) algorithm.

There are a lot of tutorials for getting setup, but I recommend the core series here: http://wiki.ros.org/navigation/Tutorials

Since you didn't clarify in your question if you're using ROS 2 there's a good entry point here: https://navigation.ros.org/ with a first time robot setup guide.

• As a note for future reference. If you can provide more concrete details about what you're doing and how to reproduce it. It's easier for us to help answer your question. I mostly provided keywords for future research and pointers to resources since your question was very abstract. If you can provide a more complete question you can get a more complete answer. Jan 5 at 2:04
• thank you for your answer. I am working on a cable driven robot which is deployed on a small agricultural farm. I have successfully integrated the static transforms however, I am unsure about how to publish the /odom frame. Which package should I use to publish odometry using IMU and GPS? I dont have encoder motor to estimate wheel odometry. And later, how do you suggest creating a map of the agricultural field? Jan 11 at 6:32
• Your follow up questions are very open ended and are going into shopping questions territory which are in appropriate for this site. Also please don't ask questions in comments. I would recommend that you do some research on wiki.ros.org/agriculture and discourse.ros.org/c/ros-agriculture/63 about what others are doing and when you have a system that you have practical, answerable questions based on actual problems that you face please ask another question. Jan 11 at 18:00