[Solved] Loading Predefined Map in Rosbot for Path Planning

I was working on this PATH PLANNING Tutorilal.

As the is preparing a map and avoiding obstacles while doing path planning using this launch file.

<arg name="use_rosbot" default="true"/>
<arg name="use_gazebo" default="false"/>

<include if="$(arg use_gazebo)" file="$(find rosbot_gazebo)/launch/maze_world.launch"/>
<include if="$(arg use_gazebo)" file="$(find rosbot_gazebo)/launch/rosbot.launch"/>

<param if="$(arg use_gazebo)" name="use_sim_time" value="true"/>

<node if="$(arg use_rosbot)" pkg="rplidar_ros" type="rplidarNode" name="rplidar">
    <param name="angle_compensate" type="bool" value="true"/>
    <param name="serial_baudrate" type="int" value="115200"/><!--model A2 (ROSbot 2.0) -->
    <!--<param name="serial_baudrate" type="int" value="256000"/>--><!-- model A3 (ROSbot 2.0 PRO) -->
</node>

<node if="$(arg use_rosbot)" pkg="tutorial_pkg" type="drive_controller_node" name="drive_controller"/>

<node if="$(arg use_rosbot)" pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 base_link laser_frame 100" />

<node pkg="teleop_twist_keyboard" type="teleop_twist_keyboard.py" name="teleop_twist_keyboard" output="screen"/>

<node pkg="rviz" type="rviz" name="rviz"/>

<node pkg="gmapping" type="slam_gmapping" name="gmapping">
    <param name="base_frame" value="base_link"/>
    <param name="odom_frame" value="odom" />
    <param name="delta" value="0.1" />
</node>

<node pkg="move_base" type="move_base" name="move_base" output="screen">
    <param name="controller_frequency" value="10.0"/>
    <rosparam file="$(find tutorial_pkg)/config/costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find tutorial_pkg)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find tutorial_pkg)/config/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find tutorial_pkg)/config/global_costmap_params.yaml" command="load" />
    <rosparam file="$(find tutorial_pkg)/config/trajectory_planner.yaml" command="load" />
</node>

I am interested in loading a predefined map which I created during gmaping tutorial and I saved using

rosrun map_server map_saver -f ~/path_to_the_directory/test-map

I want run path planning on this map which is already stored.

How to make this work ?

Does using the following command work

rosrun map_server map_server ~/path_to_the_directory/test-map.yaml

Or Do I need to change the launch file in any way ?

Hello Pradeep_BV,

By default, in launch file, there is included gmapping node, which is publishing map with each position or observation update.
The map_server node which you are trying to use, is loading and publishing map only once.

When you use command rosrun map_server map_server ~/path_to_the_directory/test-map.yaml, end effect is that map loaded by map_server gets overridden by gmapping.

To change that behaviour, you need to disable gmapping in launch file. Find lines:

<node pkg="gmapping" type="slam_gmapping" name="gmapping">
    <param name="base_frame" value="base_link"/>
    <param name="odom_frame" value="odom" />
    <param name="delta" value="0.1" />
</node>

and comment them out or delete.

Then you need to add map_server for map publishing:

<arg name="map_file" default="~/path_to_the_directory/test-map.yaml"/>
<node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" />

And amcl for localization:

<node pkg="amcl" type="amcl" name="amcl" output="screen">
    <remap from="scan" to="/scan"/>
    <param name="odom_frame_id" value="odom"/>
    <param name="odom_model_type" value="diff-corrected"/>
    <param name="base_frame_id" value="base_link"/>
    <param name="update_min_d" value="0.5"/>
    <param name="update_min_a" value="1.0"/>
</node>

For AMCL to work properly, starting position of ROSbot should be equal to map origin. Otherwise, it may take some time to determine correct position on the map.

Regards,
Łukasz

Hi Lukasz,

Thank You for the timely Help.

Hi Pradeep.

It looks like we are chasing the same challenge - I have a thread active on the same subject here:

Thread.

I have got the map loading but cant seem to localise in the pre-saved map…

Barry

Hi Lukasz,

Following your suggestion I created a localization.launch file as below.
>

<arg name="use_rosbot" default="true"/>
<arg name="use_gazebo" default="false"/>

<include if="$(arg use_gazebo)" file="$(find rosbot_gazebo)/launch/maze_world.launch"/>
<include if="$(arg use_gazebo)" file="$(find rosbot_gazebo)/launch/rosbot.launch"/>

<param if="$(arg use_gazebo)" name="use_sim_time" value="true"/>

<node if="$(arg use_rosbot)" pkg="rplidar_ros" type="rplidarNode" name="rplidar">
    <param name="angle_compensate" type="bool" value="true"/>
    <!--<param name="serial_baudrate" type="int" value="115200"/>--><!--model A2 (ROSbot 2.0) -->
    <param name="serial_baudrate" type="int" value="256000"/><!-- model A3 (ROSbot 2.0 PRO) -->
</node>

<node if="$(arg use_rosbot)" pkg="tutorial_pkg" type="drive_controller_node" name="drive_controller"/>

<node if="$(arg use_rosbot)" pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 base_link laser_frame 100" />

<node pkg="teleop_twist_keyboard" type="teleop_twist_keyboard.py" name="teleop_twist_keyboard" output="screen"/>

<node pkg="rviz" type="rviz" name="rviz"/>
<arg name="map_file" default="/home/husarion/ros_workspace/src/rosbot_slam/maps/19-07-10-Test-0_2-Teleop-Speed.yaml"/>
<node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" />

<node pkg="amcl" type="amcl" name="amcl" output="screen">
    <remap from="scan" to="/scan"/>
    <param name="odom_frame_id" value="odom"/>
    <param name="odom_model_type" value="diff-corrected"/>
    <param name="base_frame_id" value="base_link"/>
    <param name="update_min_d" value="0.5"/>
    <param name="update_min_a" value="1.0"/>
</node>

<node pkg="move_base" type="move_base" name="move_base" output="screen">
    <param name="controller_frequency" value="10.0"/>
    <rosparam file="$(find rosbot_slam)/config/costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="$(find rosbot_slam)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="$(find rosbot_slam)/config/local_costmap_params.yaml" command="load" />
    <rosparam file="$(find rosbot_slam)/config/global_costmap_params.yaml" command="load" />
    <rosparam file="$(find rosbot_slam)/config/trajectory_planner.yaml" command="load" />
</node>
</launch>

I strated ros serial node as follows

/opt/husarion/tools/rpi-linux/ros-core2-client /dev/ttyCORE2

On starting the localization file using

roslaunch rosbot_slam localization.launch

I get the following error

… logging to /home/husarion/.ros/log/b7bce0a2-a798-11e9-8554-70f11c0553cc/roslaunch-husarion-UP-CHT01-2222.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://husarion-UP-CHT01:45301/

SUMMARY

PARAMETERS

  • /amcl/base_frame_id: base_link
  • /amcl/odom_frame_id: odom
  • /amcl/odom_model_type: diff-corrected
  • /amcl/update_min_a: 1.0
  • /amcl/update_min_d: 0.5
  • /move_base/TrajectoryPlannerROS/acc_lim_Y: 2.5
  • /move_base/TrajectoryPlannerROS/acc_lim_theta: 0.25
  • /move_base/TrajectoryPlannerROS/acc_lim_x: 2.5
  • /move_base/TrajectoryPlannerROS/holonomic_robot: False
  • /move_base/TrajectoryPlannerROS/max_vel_theta: 0.35
  • /move_base/TrajectoryPlannerROS/max_vel_x: 0.2
  • /move_base/TrajectoryPlannerROS/meter_scoring: True
  • /move_base/TrajectoryPlannerROS/min_in_place_vel_theta: 0.25
  • /move_base/TrajectoryPlannerROS/min_vel_theta: -0.35
  • /move_base/TrajectoryPlannerROS/min_vel_x: 0.1
  • /move_base/TrajectoryPlannerROS/xy_goal_tolerance: 0.15
  • /move_base/TrajectoryPlannerROS/yaw_goal_tolerance: 0.25
  • /move_base/controller_frequency: 10.0
  • /move_base/global_costmap/always_send_full_costmap: True
  • /move_base/global_costmap/footprint: [[0.12, 0.14], [0…
  • /move_base/global_costmap/global_frame: map
  • /move_base/global_costmap/height: 15
  • /move_base/global_costmap/inflation_radius: 2.5
  • /move_base/global_costmap/laser_scan_sensor/clearing: True
  • /move_base/global_costmap/laser_scan_sensor/data_type: LaserScan
  • /move_base/global_costmap/laser_scan_sensor/marking: True
  • /move_base/global_costmap/laser_scan_sensor/sensor_frame: laser_frame
  • /move_base/global_costmap/laser_scan_sensor/topic: scan
  • /move_base/global_costmap/map_topic: /map
  • /move_base/global_costmap/observation_sources: laser_scan_sensor
  • /move_base/global_costmap/obstacle_range: 6.0
  • /move_base/global_costmap/origin_x: -7.5
  • /move_base/global_costmap/origin_y: -7.5
  • /move_base/global_costmap/publish_frequency: 2.5
  • /move_base/global_costmap/raytrace_range: 8.5
  • /move_base/global_costmap/resolution: 0.1
  • /move_base/global_costmap/robot_base_frame: base_link
  • /move_base/global_costmap/rolling_window: True
  • /move_base/global_costmap/static_map: True
  • /move_base/global_costmap/subscribe_to_updates: True
  • /move_base/global_costmap/transform_tolerance: 0.5
  • /move_base/global_costmap/update_frequency: 2.5
  • /move_base/global_costmap/width: 15
  • /move_base/local_costmap/always_send_full_costmap: True
  • /move_base/local_costmap/footprint: [[0.12, 0.14], [0…
  • /move_base/local_costmap/global_frame: map
  • /move_base/local_costmap/height: 3
  • /move_base/local_costmap/inflation_radius: 0.6
  • /move_base/local_costmap/laser_scan_sensor/clearing: True
  • /move_base/local_costmap/laser_scan_sensor/data_type: LaserScan
  • /move_base/local_costmap/laser_scan_sensor/marking: True
  • /move_base/local_costmap/laser_scan_sensor/sensor_frame: laser_frame
  • /move_base/local_costmap/laser_scan_sensor/topic: scan
  • /move_base/local_costmap/map_topic: /map
  • /move_base/local_costmap/observation_sources: laser_scan_sensor
  • /move_base/local_costmap/obstacle_range: 6.0
  • /move_base/local_costmap/origin_x: -1.5
  • /move_base/local_costmap/origin_y: -1.5
  • /move_base/local_costmap/publish_frequency: 5
  • /move_base/local_costmap/raytrace_range: 8.5
  • /move_base/local_costmap/resolution: 0.1
  • /move_base/local_costmap/robot_base_frame: base_link
  • /move_base/local_costmap/rolling_window: True
  • /move_base/local_costmap/static_map: False
  • /move_base/local_costmap/subscribe_to_updates: True
  • /move_base/local_costmap/transform_tolerance: 0.25
  • /move_base/local_costmap/update_frequency: 5
  • /move_base/local_costmap/width: 3
  • /rosdistro: kinetic
  • /rosversion: 1.12.14
  • /rplidar/angle_compensate: True
  • /rplidar/serial_baudrate: 256000

NODES
/
amcl (amcl/amcl)
drive_controller (tutorial_pkg/drive_controller_node)
laser_broadcaster (tf/static_transform_publisher)
map_server (map_server/map_server)
move_base (move_base/move_base)
rplidar (rplidar_ros/rplidarNode)
rviz (rviz/rviz)
teleop_twist_keyboard (teleop_twist_keyboard/teleop_twist_keyboard.py)

auto-starting new master
process[master]: started with pid [2233]
ROS_MASTER_URI=http://master:11311

setting /run_id to b7bce0a2-a798-11e9-8554-70f11c0553cc
process[rosout-1]: started with pid [2256]
started core service [/rosout]
process[rplidar-2]: started with pid [2274]
process[drive_controller-3]: started with pid [2275]
process[laser_broadcaster-4]: started with pid [2288]
process[teleop_twist_keyboard-5]: started with pid [2294]
process[rviz-6]: started with pid [2315]
process[map_server-7]: started with pid [2323]
process[amcl-8]: started with pid [2324]
process[move_base-9]: started with pid [2325]
[ERROR] [1563261000.516709656]: failed to open image file “/home/husarion/ros_workspace/src/rosbot_slam/test3.pgm”: Couldn’t open /home/husarion/ros_workspace/src/rosbot_slam/test3.pgm
[ INFO] [1563261000.965074495]: Requesting the map…
[ WARN] [1563261000.967836340]: Request for map failed; trying again…
[map_server-7] process has died [pid 2323, exit code 255, cmd /opt/ros/kinetic/lib/map_server/map_server /home/husarion/ros_workspace/src/rosbot_slam/maps/19-07-10-Test-0_2-Teleop-Speed.yaml __name:=map_server __log:=/home/husarion/.ros/log/b7bce0a2-a798-11e9-8554-70f11c0553cc/map_server-7.log].
log file: /home/husarion/.ros/log/b7bce0a2-a798-11e9-8554-70f11c0553cc/map_server-7*.log
[ WARN] [1563261001.471250906]: Request for map failed; trying again…
[ WARN] [1563261001.974270009]: Request for map failed; trying again…

Reading from the keyboard and Publishing to Twist!

Moving around:
u i o
j k l
m , .

For Holonomic mode (strafing), hold down the shift key:

U I O
J K L
M < >

t : up (+z)
b : down (-z)

anything else : stop

q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%

CTRL-C to quit

currently: speed 0.5 turn 1.0
[ WARN] [1563261002.479030375]: Request for map failed; trying again…
[ WARN] [1563261002.982331106]: Request for map failed; trying again…
[ WARN] [1563261003.486819555]: Request for map failed; trying again…
[ WARN] [1563261003.992947529]: Request for map failed; trying again…
[ WARN] [1563261004.496312584]: Request for map failed; trying again…
[ WARN] [1563261005.000102828]: Request for map failed; trying again…
[ WARN] [1563261005.505055637]: Request for map failed; trying again…
[ WARN] [1563261005.999323771]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist… canTransform returned after 0.100687 timeout was 0.1.
[ WARN] [1563261006.008851044]: Request for map failed; trying again…
[ WARN] [1563261006.513776422]: Request for map failed; trying again…

Hello Pradeep_BV,

The error you are getting:

[ERROR] [1563261000.516709656]: failed to open image file “/home/husarion/ros_workspace/src/rosbot_slam/test3.pgm”: Couldn’t open /home/husarion/ros_workspace/src/rosbot_slam/test3.pgm

Means there is a problem with map file, make sure that there is a map file and it is readable on path /home/husarion/ros_workspace/src/rosbot_slam/test3.pgm

Regards,
Łukasz

Hi Lukasz,

Thank You I thought I edited the file names in the Launch file forgot to edit the names in .yaml file of the map. Should I run the same serial node program on core-2.0 from SLAM tutorial or do I need to make any changes for that C++ program ?

Hello Pradeep_BV,

There is no need to change anything in CORE2 code. You can use the same program.

Regards,
Łukasz

hi Lukasz,

I keep getting serial baud rate error while running

/opt/husarion/tools/rpi-linux/ros-core2-client /dev/ttyCORE2

in the slam.cpp file baud rate is set to
uint32_t baudrate = 230400; // for ROSbot 2.0 PRO

in the localization.launch file baud rate is set to
<param name="serial_baudrate" type="int" value="256000"/><!-- model A3 (ROSbot 2.0 PRO) -->

But the serial baud rate mismatch error keep recurring. What is the source of the error ?

Hello Pradeep_BV,

The parameter in localization.launch refers to RpLidar baudrate, it does not affect communication with CORE2 controller.

Please provide here output of following commands:

/opt/husarion/tools/rpi-linux/ros-core2-client /dev/ttyCORE2
sudo systemctl status husarnet-configurator.service 
ls /dev/tty*

Also, could you specify when did the error started to occur? Serial communication with CORE2 controller is essential for building a map, you were able to create and save the map. Based on that I conclude that there were no problems with serial communication at that time and error started to occur later. Am I right?

Regards,
Łukasz

Hi Lukasz,

I am facing a new issue now with Rosbot Pro 2.0

I was using the windows remote desktop connection with Rosbot to run the tutorials.
Today I when switched on the rosbot is started acting abnormally.
I am not able to connect to rosbot using windows remote desktop connection.
when I connect to HDMI screen the display is unable to find a source.

The rosbot continously sits in a phase where Power LED and L1 LED are continously on. I tried recharging fully and restarting but that did not help.

I am attaching screen shots of the core ros board below

Red LED - Power
Green LED - L1

How to resolve this issue ?

Hi Lukasz,

Following manual you sent me . I was able to reset BIOS Power issues.
Thank you for the manual.

Returning to my previous query, the amcl localaization node has started working but I face the serial rate error as follows when I run

/opt/husarion/tools/rpi-linux/ros-core2-client /dev/ttyCORE2

The output is as follows:

[INFO] [1563854277.271349]: ROS Serial Python Node
[INFO] [1563854277.287174]: Connecting to /dev/ttyCORE2 at 500000 baud
[INFO] [1563854277.288339]: Iffff
[ERROR] [1563854294.397966]: Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino
[ERROR] [1563854309.401172]: Unable to sync with device; possible link problem or link software version mismatch such as hydro rosserial_python with groovy Arduino

I am running this command in terminal 2

roslaunch rosbot_slam localization.launch

The output is

... logging to /home/husarion/.ros/log/0c90f4dc-acfe-11e9-9469-70f11c0553cc/roslaunch-husarion-UP-CHT01-2955.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://husarion-UP-CHT01:33693/

SUMMARY
========

PARAMETERS
 * /amcl/base_frame_id: base_link
 * /amcl/odom_frame_id: odom
 * /amcl/odom_model_type: diff-corrected
 * /amcl/update_min_a: 1.0
 * /amcl/update_min_d: 0.5
 * /move_base/TrajectoryPlannerROS/acc_lim_Y: 2.5
 * /move_base/TrajectoryPlannerROS/acc_lim_theta: 0.25
 * /move_base/TrajectoryPlannerROS/acc_lim_x: 2.5
 * /move_base/TrajectoryPlannerROS/holonomic_robot: False
 * /move_base/TrajectoryPlannerROS/max_vel_theta: 0.35
 * /move_base/TrajectoryPlannerROS/max_vel_x: 0.2
 * /move_base/TrajectoryPlannerROS/meter_scoring: True
 * /move_base/TrajectoryPlannerROS/min_in_place_vel_theta: 0.25
 * /move_base/TrajectoryPlannerROS/min_vel_theta: -0.35
 * /move_base/TrajectoryPlannerROS/min_vel_x: 0.1
 * /move_base/TrajectoryPlannerROS/xy_goal_tolerance: 0.15
 * /move_base/TrajectoryPlannerROS/yaw_goal_tolerance: 0.25
 * /move_base/controller_frequency: 10.0
 * /move_base/global_costmap/always_send_full_costmap: True
 * /move_base/global_costmap/footprint: [[0.12, 0.14], [0...
 * /move_base/global_costmap/global_frame: map
 * /move_base/global_costmap/height: 15
 * /move_base/global_costmap/inflation_radius: 2.5
 * /move_base/global_costmap/laser_scan_sensor/clearing: True
 * /move_base/global_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base/global_costmap/laser_scan_sensor/marking: True
 * /move_base/global_costmap/laser_scan_sensor/sensor_frame: laser_frame
 * /move_base/global_costmap/laser_scan_sensor/topic: scan
 * /move_base/global_costmap/map_topic: /map
 * /move_base/global_costmap/observation_sources: laser_scan_sensor
 * /move_base/global_costmap/obstacle_range: 6.0
 * /move_base/global_costmap/origin_x: -7.5
 * /move_base/global_costmap/origin_y: -7.5
 * /move_base/global_costmap/publish_frequency: 2.5
 * /move_base/global_costmap/raytrace_range: 8.5
 * /move_base/global_costmap/resolution: 0.1
 * /move_base/global_costmap/robot_base_frame: base_link
 * /move_base/global_costmap/rolling_window: True
 * /move_base/global_costmap/static_map: True
 * /move_base/global_costmap/subscribe_to_updates: True
 * /move_base/global_costmap/transform_tolerance: 0.5
 * /move_base/global_costmap/update_frequency: 2.5
 * /move_base/global_costmap/width: 15
 * /move_base/local_costmap/always_send_full_costmap: True
 * /move_base/local_costmap/footprint: [[0.12, 0.14], [0...
 * /move_base/local_costmap/global_frame: map
 * /move_base/local_costmap/height: 3
 * /move_base/local_costmap/inflation_radius: 0.6
 * /move_base/local_costmap/laser_scan_sensor/clearing: True
 * /move_base/local_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base/local_costmap/laser_scan_sensor/marking: True
 * /move_base/local_costmap/laser_scan_sensor/sensor_frame: laser_frame
 * /move_base/local_costmap/laser_scan_sensor/topic: scan
 * /move_base/local_costmap/map_topic: /map
 * /move_base/local_costmap/observation_sources: laser_scan_sensor
 * /move_base/local_costmap/obstacle_range: 6.0
 * /move_base/local_costmap/origin_x: -1.5
 * /move_base/local_costmap/origin_y: -1.5
 * /move_base/local_costmap/publish_frequency: 5
 * /move_base/local_costmap/raytrace_range: 8.5
 * /move_base/local_costmap/resolution: 0.1
 * /move_base/local_costmap/robot_base_frame: base_link
 * /move_base/local_costmap/rolling_window: True
 * /move_base/local_costmap/static_map: False
 * /move_base/local_costmap/subscribe_to_updates: True
 * /move_base/local_costmap/transform_tolerance: 0.25
 * /move_base/local_costmap/update_frequency: 5
 * /move_base/local_costmap/width: 3
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /rplidar/angle_compensate: True
 * /rplidar/serial_baudrate: 256000

NODES
  /
    amcl (amcl/amcl)
    drive_controller (tutorial_pkg/drive_controller_node)
    laser_broadcaster (tf/static_transform_publisher)
    map_server (map_server/map_server)
    move_base (move_base/move_base)
    rplidar (rplidar_ros/rplidarNode)
    rviz (rviz/rviz)
    teleop_twist_keyboard (teleop_twist_keyboard/teleop_twist_keyboard.py)

auto-starting new master
process[master]: started with pid [2966]
ROS_MASTER_URI=http://master:11311

setting /run_id to 0c90f4dc-acfe-11e9-9469-70f11c0553cc
process[rosout-1]: started with pid [2989]
started core service [/rosout]
process[rplidar-2]: started with pid [3007]
process[drive_controller-3]: started with pid [3008]
process[laser_broadcaster-4]: started with pid [3018]
process[teleop_twist_keyboard-5]: started with pid [3025]
process[rviz-6]: started with pid [3041]
process[map_server-7]: started with pid [3047]
process[amcl-8]: started with pid [3051]
process[move_base-9]: started with pid [3058]
[ INFO] [1563854278.450308355]: Requesting the map...
[ INFO] [1563854278.507652684]: Received a 1984 X 1984 map @ 0.100 m/pix

[ INFO] [1563854278.908383638]: Initializing likelihood field model; this can take some time on large maps...
[ INFO] [1563854279.419217789]: Done initializing likelihood field model.

Reading from the keyboard  and Publishing to Twist!
---------------------------
Moving around:
   u    i    o
   j    k    l
   m    ,    .

For Holonomic mode (strafing), hold down the shift key:
---------------------------
   U    I    O
   J    K    L
   M    <    >

t : up (+z)
b : down (-z)

anything else : stop

q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%

CTRL-C to quit

currently:	speed 0.5	turn 1.0 

[ WARN] [1563854283.572098205]: Timed out waiting for transform from base_link to map to  become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100487 timeout was 0.1.
[ WARN] [1563854288.604383130]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100514 timeout was 0.1.
[ WARN][1563854294.943005571]: No laser scan received (and thus no pose updates have been published) for 1563854294.942772 seconds.  Verify that data is being published on the /scan topic.
[ WARN] [1563854294.943311684]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1563854298.674718584]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.101002 timeout was 0.1.
[ WARN] [1563854303.708943435]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100183 timeout was 0.1.