小车操作问题记录

一、键盘控制小车移动

串口插到电脑上,开启小车电源

1、启动操作

1.1 启动初始化节点(wheeltec终端):

source devel/setup.bash
roslaunch turn_on_wheeltec_robot turn_on_wheeltec_robot.launch

1.2 按键控制(wheeltec终端):

roslaunch wheeltec_robot_rc keyboard_teleop.launch

2、补充

2.1 无法打开串口

在功能包[ turn_on_wheeltec_robot ]根目录下执行

sudo ./wheeltec_udev.sh

然后拔插串口,即可添加串口的别名。
如果执行[ sudo ./wheeltec_udev.sh ]失败,则给它赋予执行权限

sudo chmod -R 777 ./wheeltec_udev.sh

如果还是失败,则在turn_on_wheeltec_robot的scripts文件夹下执行该命令。

二、激光雷达建图

1、启动操作

1.1 启动雷达

地址、 掩码、网关:

192.168.1.77
255.255.255.0
192.168.1.1

 打开网页(要退VPN)

192.168.1.201

   Motor  RPM设置为600 

1.2 运行建图 

roslaunch turn_on_wheeltec_robot mapping.launch 

打开新终端,输入以下命令发布 tf 变换 base_link->velodyne((gmapping需要))

rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link velodyne 0

查看建图效果(启动后用设置好的配置文件)

rviz -d /home/shangjia/wheeltec_ws/src/rviz/rviz1.rviz

可以使用键盘控制、APP遥控、PS2遥控、航模遥控进行控制小车运动。

1.3 建图完成,保存地图

一键保存

roslaunch turn_on_wheeltec_robot map_saver.launch 

保存地图

rosrun map_server map_saver -f 地图名 

注:地图文件可以使用PhotoShop进行编辑

2、补充

2.1 对应代码查找

建图 mapping.launch

小车初始化节点 turn_on_wheeltec_robot.launch

 gmapping建图节点 algorithm_gmapping.launch  

三、自主导航 

 把小车放置在地图起点/rviz手动设置起点

1、运行操作 

1.1 运行导航

source devel/setup.bash
roslaunch turn_on_wheeltec_robot navigation.launch

1.2 发布 tf 变换(gmapping需要)

rosrun tf static_transform_publisher 0 0 0 0 0 0 base_link velodyne 0 

1.3 运行rviz

rviz -d /home/shangjia/wheeltec_ws/src/rviz/rviz1.rviz

使用rviz的2DNavGoal功能 

2、补充 

 2.1 对应代码查找

导航启动文件:navigation.launch

整体导航工作原理与参数配置讲解:navigation_stack

全局路径规划算法:astar.cpp dijkstar.cpp

2.1.1 路径规划算法切换

 默认是teb算法,如果需要切换算法的话可以在这里切换

使用teb算法,就注释掉dwa算法,取消注释teb算法。
使用dwa算法,就注释掉teb算法,取消注释dwa算法。 

2.2 问题解决 

 2.2.2  在导航中途使得小车停止运动/导航

 根据【turn_on_wheeltec_robot.launch】内的车型car_mode设置为senior_4wd_dl,找到对应车型的teb算法参数【teb_local_planner_params.yaml】,然后修改导航速度。

2.2.2  在导航中途使得小车停止运动/导航

内容:发布取消导航话题rostopic pub /move_base/cancel(tab补全,补全后注意按tab进行发布)可以实现导航中途停车

如果开启了多点导航,应该在导航进程中按C键可以清空所有目标点,不然多点导航进程会一直循环发布目标点

应该在导航中途发布取消导航话题,如果在导航结束后发布取消导航话题,显然无法体现/看不出取消导航   

四、其他

1. 传感器坐标TF转换

传感器位置方向修改后,在这里对应修改源码设置修改修改功能包【turn_on_wheeltec_robot】下的文件【launch/robot_model_visualization.launch】,修改对应机器人型号的、对应传感器的、相对机器人中心的坐标位置参数。

雷达坐标:base_to_laser,

相机:base_to_camera,

IMU:base_to_gyro。

以雷达为例:

源码:<node pkg="tf" type="static_transform_publisher" name="base_to_laser" args="0.125 0.00 0.15 3.14 0 0  base_footprint laser 100" />
解释:<node pkg="tf" type="static_transform_publisher" name="坐标关系名称" args="X Y Z Y P R机器人中心坐标名称 雷达坐标名称 坐标关系发布频率" />

X(向前)、Y(向左)、Z(向上)是三轴相对位置坐标,单位m;R、P、Y是绕三轴Z、Y、X的相对角度,即欧拉角,单位rad。
机器人型号由文件【launch/turn_on_wheeltec_robot.launch】的参数“car_mode”的default值决定。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值