turtlebot2 使用代码

启动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、打开键盘控制

4、保存地图:

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是移动机器人二维环境下的概率定位系统,根据订阅到的地图数据配合激光扫描特征,使用粒子滤波获取最佳定位点

测试激光雷达gmapping构建地图

  • 上网本新开端口,打开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}}}'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值