Robot rotating non stop when running navigation stack
I am using Raspbeery Pi3B+ with ubuntu os to run ROS. Sick_tim571 LiDAR sensor the moving base is self-build moving robot with DC motors. The problem is when i trying to use the 2D Nav Goal, the robot will move around 50% of the path shown in rviz but it will start to rotate when its around halfway through the path.
When i run my launch file this error appears(SOLVED):
[ WARN] [1544687487.798549003]: MessageFilter [target=map LaserScan ]: Dropped 100.00% of messages so far. Please turn the [ros.costmap_2d.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1544687487.798549003]: MessageFilter [target=odom LaserScan ]: Dropped 100.00% of messages so far. Please turn the [ros.costmap_2d.message_notifier] rosconsole logger to DEBUG for more information.
My launch file is as the following:
<launch>
<include file="$(find sick_tim)/launch/sick_tim571_2050101.launch"/>
<include file="$(find laser_scan_matcher)/demo/demo.launch"/>
<include file="$(find amcl)/examples/amcl_.launch"/>
<include file="$(find move_base)/launch/move_base.launch"/>
<include file="$(find simple_drive)/launch/cmd_vel_mux.launch"/>
<include file="$(find simple_drive)/launch/simple_drive.launch"/>
<node pkg="rviz" type="rviz" name="rviz" args="$find(rviz)/default.rviz"/>
<node pkg="teleop_twist_keyboard" type="teleop_twist_keyboard.py" name="teleop" output="screen"/>
</launch>
So everything is working fine without the move_base, but when i trying to perform navigation by including move_base, the warning stated above appears. If I use the 2D Nav Goal function in rviz the path willl be drawn on the map, but the robot will not be moving and the error below will appear.(SOLVED)
[ WARN] [1544687754.149898641]: Control loop missed its desired rate of 20.0000Hz... the loop actually took 0.1006 seconds
My tf frame: World -> Map -> Odom -> Base_link -> Laser
When i rostopic echo scan
:
---
header:
seq: 4199
stamp:
secs: 1544687555
nsecs: 162579592
frame_id: "laser"
angle_min: -2.35619449615
angle_max: 2.35572338104
angle_increment: 0.00581718236208
time_increment: 6.17283949396e-05
scan_time: 0.0666666701436
range_min: 0.0500000007451
range_max: 25.0
ranges: [...]
intensities: [...]
---
When i change rqt_logger_level
to Debug
, this is what it shows(SOLVED):
[DEBUG] [1544689027.853988728]: MessageFilter [target=map LaserScan ]: Removed oldest message because buffer is full, count now 50 (frame_id=laser, stamp=1544689024.459589)
[DEBUG] [1544689027.854872894]: MessageFilter [target=map LaserScan ]: Added message in frame laser at time 1544689027.793, count now 50
[DEBUG] [1544689027.857701592]: MessageFilter [target=odom LaserScan ]: Removed oldest message because buffer is full, count now 50 (frame_id=laser, stamp=1544689024.459589)
[DEBUG] [1544689027.858688207]: MessageFilter [target=odom LaserScan ]: Added message in frame laser at time 1544689027.793, count now 50
Edit 1:
I have change the sensor_frame
in costmap_common_params.yaml
from LaserScan
to laser
.
The MessageFilter
error does not exsit anymore, but the Control loop
error still exist.
Edit 2:
I have changed the controller_frequency' to 2Hz and it solved the
control loop` error.