I’m writing my master’s thesis. I’m beginner user of ROS. I use Husarion ROSbot 2.0 (ROS Melodic). I’m trying to run leg_detector (http://wiki.ros.org/leg_detector) on this device. I want to tracking people using LiDAR. I cloned repository (GitHub - wg-perception/people) to my workspace. I added node of LiDAR to launch file (leg_detector.launch). I changed arg scan from scan:=base_scan to scan:=/scan.
leg_detector.launch:
include file=“$(find rplidar_ros)/launch/rplidar.launch”
After the command: roslaunch leg_detector leg_detector.launch, I see following, cyclic error messages in terminal:
[ WARN] [1657705125.709984398]: MessageFilter [target=odom_combined ]: Dropped 100.00% of messages so far. Please turn the [ros.leg_detector.message_filter] rosconsole logger to DEBUG for more information.
and:
[ WARN] [1657707032.581360628]: Transform from imu_link to base_link was unavailable for the time requested. Using latest instead.
rqt_graph looks good, but at graph’s end is not topic with position of people. After command roslaunch people_velocity_tracker tracked_detector.launch, I see relevant topic, but first error message too. Topic is empty.
What am I doing wrong? I would really appreciate if anybody helps me.
My guess is that those errors come from lack of frame odom_combined which is used by the package. Also, you don’t have the frame for laser scan. You could add:
I added mentioned line (exactly) to launch file. I changed .yaml file.
Now I get following error messages:
[ERROR] [1658736936.585785340]: Odometry message frame_id was odom, expected map or odom_combined
and cyclic:
[ WARN] [1658736936.633071226]: MessageFilter [target=odom_combined ]: Dropped 100.00% of messages so far. Please turn the [ros.leg_detector.message_filter] rosconsole logger to DEBUG for more information.
I changed line 55. Leg_detector is working (shows many false positives at this moment). I’m still getting warn messages:
At start:
[ WARN] [1658742930.320837359]: Could not obtain transform from odom to odom_combined. Error was “odom_combined” passed to lookupTransform argument target_frame does not exist.
Later, cyclic:
[ WARN] [1658742932.374362296]: Could not obtain transform from odom to odom_combined. Error was “odom” passed to lookupTransform argument source_frame does not exist.
It’s not the best practice, but it might work. The other option is to either change odom_combined to odom frame in the whole leg detector package.
I forgot that odom frame is hard-coded in some places of our code. It is easier to make changes in the leg detector package or make that transform match rest of the system.