AGVPRO自动回充导航功能使用手册

1.概述

AGVPRO的自动回充功能采用远距离NAV2导航+近距离基于红外线收发传感器的串口控制实现AGVPRO自动导航至充电桩目标点并对接入充电桩充电口实现充电。

2.充电桩位置管理,NAV2导航相对位置设置

  • 充电桩位置管理:充电桩位置保存至软件包目录的config/charger_position.json文件中,位置更新通过订阅/charger_position_update话题实现。

json文件中保存的位置信息为充电桩位置,最新的charger位置会持续发布到/goal_marker话题中并可视化,位置信息采用四元数表示如下:

{
  "p_x": -0.04373347759246826,
  "p_y": -4.024151802062988,
  "orien_z": 0.09378381732290733,
  "orien_w": 0.9955925851513477
}
  • NAV2导航位置设置:可以调整nav2导航的目标点相对于充电桩的位置及姿态,使小车到达目标位置及姿态后再转为串口控制。

  • 导航点与充电桩的相对位置参数设置可以在config/nav_goal_params.yaml文件中进行配置,默认值如下:

# 导航参数配置
forward_distance: 1  # 距离充电桩前方1米
yaw_offset_deg: 10.0   # 顺时针旋转10度

2

3.功能使用

  • 1.打开第一个终端,运行如下指令启动小车底盘驱动
ros2 launch agv_pro_bringup agv_pro_bringup.launch.py

1

  • 2.打开第二个终端,运行如下指令驱动3D激光雷达
ros2 launch unitree_lidar_ros2 launch.py

1

  • 3.打开第三个终端,运行如下指令转雷达点云信息为nav2导航所需的/laser_scan
ros2 launch pointcloud_to_laserscan pointcloud_to_laserscan.launch.py

1

  • 4.打开第四个终端,运行如下指令启动导航节点
ros2 launch agv_pro_navigation2 navigation2_active.launch.py

1

运行此指令会打开rviz2,首先使用2D Pose Estimate调整小车rviz2中的初始位置至实际位置。

1

  • 5.打开第五个终端,运行如下指令自动回充控制节点
ros2 run agv_pro_autocharge combined_auto_recharger

1

运行此指令后会看到充电桩的默认位置已经可视化到rviz2中。

1

注意:rviz2中会显示默认的充电桩位置,需要根据实际情况调整rviz2中的充电桩位置。具体操作方法如下:

首先在rviz2菜单栏找到2D Goal Pose工具,鼠标右键打开下拉菜单,选择Tool Properties打开自定义界面

1

在打开的自定义界面下,找到2D Goal Pose发布的Topic,默认发布话题为/goal_pose

1

  • 通过修改此话题,手动输入/charger_position_update,再在rviz2地图中按2D Goal Pose布置箭头来发布话题(方法同2D Pose Estimate更新小车初始位置类似),这样便可以更新充电桩位置。

1

  • 之后charger位置会更新至2D Goal Pose发布的位置,最新的充电桩位置charger会持续发布到/goal_marker话题中,rviz2会自动更新显示。

1

  • 最新的充电桩位置会自动保存至json文件下,下次运行此程序会默认加载最后一次设置的位置。

再确定好充电桩位置及需要导航的相对位置后,就可以按下q开始自动回充。按下q键后小车会开始导航。

1

自动回充会经历两个过程:

  1. 导航到充电桩位置。
  2. 到达充电桩位置后,切换到串口控制对接充电桩。

同时终端输出如下:

1

小车完成自动回充,即车后方充电口与充电桩对接成功后,回充程序会自动退出。

← 上一页

results matching ""

    No results matching ""