AGV调试寻找bug,查找问题思路

一、问题背景
三舵轮AGV旋转后起步瞬间加速到(1m/s)车头摆动过大,容易报机器人脱线;
突然加速是不正常因素导致的,这样容易导致撞车

二、以下是寻找问题思路
2.1通过日志形式获取实时的动态数据,绘制成excel表格,最后以折线图的形式呈现出来,直观方便。
补充:打印日志格式
整数形式:id,%d,
小数形式:%.4f,
保留一位小数:theta,%0.1f,

Log_Info("auto,run_arrived1,id,%d,%.4f,%.4f,%.4f",vehicle_forward_ctrl.current_id,vehicle_forward_ctrl.pos_x,vehicle_forward_ctrl.pos_y,vehicle_forward_ctrl.pos_theta);
					InPlaceFlag = 1;//抵达目标点

2.2突然加速,获取行走时刻数据
轨迹跟踪
在这里插入图片描述
查看程序和结合数据得到突变量
在这里插入图片描述
在这里插入图片描述
锁定是目标X变化导致的
在这里插入图片描述
2.3目标X是由这车体坐标系转换更改的
在这里插入图片描述

RobotPos PosGlobalToRobot(RobotPos _current_pos, const RobotPos _target_pos, uint8_t run_mode)
_global_ex = _target_pos.x - _current_pos.x;
	_global_ey = _target_pos.y - _current_pos.y;
	//90-0-1
	//90-1-0
	_result.x = _global_ex * cosf(_current_pos.theta) + _global_ey * sinf(_current_pos.theta);
	_result.y =-_global_ex * sinf(_current_pos.theta) + _global_ey * cosf(_current_pos.theta);

	//***监控坐标转化数据****//
	if(++print_cnt_test1 > 100)
	{
		print_cnt_test1=0;
		Log_Info("PosGlobalToRobot,res.x,%.4f,res.y,%.4f,res.theta,%.4fglobal_ex,%.4f,global_ey,%.4f,target.x%.4f,target.y,%.4f,current.x,%.4f,current.y,%.4f",
				_result.x,
				_result.y,
				_result.theta,
				_global_ex,
				_global_ey,
				_target_pos.x,
				_target_pos.y,
				_current_pos.x,
				_current_pos.y
				);
	}
	//*******************//
    return _result;

由以上代码块可以看出入口参数是SLAM实时获取的X,Y,theta;结果参数获取目标参数,现在计算后的目标参数有问题;
通过打日志分析得出,target_y数值有问题,
在这里插入图片描述
结合小车行驶轨迹,路线
在这里插入图片描述
数据表显示位置变化
在这里插入图片描述
分析到这锁定坐标突然变化导致的

三、由坐标突变怀疑是否是调度下发的路线坐标出现问题,具体抓出调度路径信息
3.1打印出处->更新调度下发的行走命令->关键字sch,road,index搜索获取
在这里插入图片描述
关键字:sch,cmd,type
在这里插入图片描述
3.2继续追查日志发现在一个周期内,起始坐标位置变了
在这里插入图片描述
矛盾处地方
在这里插入图片描述
3.3最后分析得出一个周期内插补的坐标被改掉了
在这里插入图片描述

在这里插入图片描述
得出vehicle_forward_ctrl.pos_y哪个地方改这个变量,
在这里插入图片描述
得出是这里改变的,暂时屏蔽,至此问题找到出处

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值