启动turtlebot:
roslaunch turtlebot_bringup minimal.launch
启动键盘控制:
roslaunch turtlebot_teleop keyboard_teleop.launch
Kinect图像:
运行kinect:
roslaunch openni_launch openni.launch roslaunch freenect_launch freenect.launch
显示图像 1、rqt_image_view 启动RGB相机: rosrun image_view image_view image:=/camera/rgb/image_raw 启动mono相机: rosrun image_view image_view image:=/camera/rgb/image_rect_mono 启动深度图像: rosrun image_view image_view image:=/camera/depth/image_rect 2.rviz rosrun rviz rviz
自动充电:
roslaunch kobuki_auto_docking minimal.launch --screen roslaunch kobuki_auto_docking activate.launch --screen
显示turtlebot传感器信息:
rostopic echo /mobile_base/sensors/core
显示在线信息:
rostopic echo /laptop_charge
测试工作站和turtlebot通信是否正常:
工作站:
rostopic pub -r10 /hello std_msgs/String "hello"
turtlebot:
rostopic echo /hello
使用gmapping进行SLAM
1、启动ros,turtlebot,打开gmapping软件包:
roslaunch turtlebot_navigation gmapping_demo.launch
2.打开工作站rviz:
roslaunch turtlebot_rviz_launchers view_navigation.launch
3.打开键盘控制
四、保存地图:
rosrun map_server map_saver -f ~/my_map
rosbag
rosbag记录节点数据:
rosbag record -a -O cmd_record(保存的文件名称)
复现:
rosbag play cmd_record.bag
数据可视化工具
rqt
启动rviz
rosrun rviz rviz
启动gazebo:
roslaunch gazebo_ros 模型
在gazebo仿真里面gmapping建图
启动Gazebo并加载机器人和环境模型
roslaunch turtlebot_gazebo turtlebot_world.launch
运行gmapping
roslaunch turtlebot_gazebo gmapping_demo.launch
开启rviz观察建图过程
roslaunch turtlebot_rviz_launchers view_navigation.launch
保存地图
rosrun map_server map_saver -f map/mygazebo -f可指定地图的存储目录和名称。
关闭所有终端,修改map/mygazebo.yaml文件路径(根据自己的电脑路径修改)
重新启动:
roslaunch turtlebot_gazebo turtlebot_world.launch roslaunch turtlebot_gazebo amcl_demo.launch map_file:=/home/xx/map/mygazebo.yaml roslaunch turtlebot_rviz_launchers view_navigation.launch
利用map_server回放本地地图文件
rosrun map_server map_server mapname.yaml [_frame_id:=frame_id]
其中,mapname.yaml指定的本地地图文件,_frame_id参数(可选)用于设置发布地图的坐标系。 用法示例:
rosrun map_server map_server lidar_map.yaml _frame_id:=map_lidar
可读取本地文件lidar_map.yaml获取地图信息,发布新的/map主题可用于地图显示,同时_frame_id参数指定/map主题中新闻的坐标名称(frame_id)为map_lidar.
QXcbConnection: Could not connect to display
已放弃 (核心已转储)
export DISPLAY=':0.0'
导入已建图
启动turtlebot2:
roslaunch turtlebot_bringup minimal.launch
启动amcl程序:
roslaunch turtlebot_navigation amcl_demo.launch map_file:=/home/daniel/map/turtlebot_test_map.yaml
启动rviz:
roslaunch turtlebot_rviz_launchers view_navigation.launch --screen
-
amcl它是移动机器人二维环境下的概率定位系统。根据订阅的地图数据和激光扫描特性,使用粒子滤波器获得最佳定位点
-
网上新开端口,打开roscore
roscore
-
上网新开端口,启动turtlebot
roslaunch turtlebot_bringup minimal.launch
-
上网新开端口,启动gmapping,构建地图
roslaunch turtlebot_navigation rplidar_gmapping_demo.launch
-
工作机或上网新开端口,启动键盘操作Turtlebot
roslaunch turtlebot_teleop keyboard_teleop.launch
-
工作机或上网新开端口,启动rviz,实时检查建图情况
roslaunch turtlebot_rviz_launchers view_navigation.launch
-
网上新开端口,建立目录,保存地图
mkdir -p ~/map rosrun map_server map_saver -f ~/map/rplidar_gmapping ls ~/map #查看内容,包括rplidar_gmapping.pgm rplidar_gmapping.yaml
-
查看地图,已生成rplidar_gmapping.pgm可以使用图像浏览器(gimp, eog, gthumb, 等等)打开查看。
假如我们不想用Rviz中的2D Nav Goal我们也可以通过按钮直接设置目标点move_base_simple/goal在主题中发布目标点坐标命令:
rostopic pub /move_base_simple/goal geometry_msgs/PoseStamped '{ header: { frame_id: "map" },pose: { position: {x: 9.59, y: 1.36, z: 0.0}, orientation: {x: 0, y: 0, z: 0.68, w: 0.73}}}'