3.1 KiB
Executable File
3.1 KiB
Executable File
AGV AutoCharge ROS2 Package
这是一个为ROS2 Humble设计的AGV自动充电系统软件包。
功能特性
- 监听充电桩位置更新
- 持续发布可视化标记
- 键盘交互启动导航功能
- 导航成功后启动串口控制
- 支持充电状态检测和控制
安装依赖
确保您的系统已安装以下依赖:
# ROS2 Humble基础包
sudo apt install ros-humble-rclpy
sudo apt install ros-humble-geometry-msgs
sudo apt install ros-humble-std-msgs
sudo apt install ros-humble-nav-msgs
sudo apt install ros-humble-visualization-msgs
sudo apt install ros-humble-nav2-simple-commander
# Python依赖
pip3 install pyserial
编译安装
# 进入ROS2工作空间
cd /path/to/your/ros2_ws/src
# 复制软件包到工作空间
cp -r agv_autocharge_ros2 .
# 编译软件包
cd ..
colcon build --packages-select agv_autocharge_ros2
# 加载环境变量
source install/setup.bash
使用方法
启动节点
# 启动自动充电控制器节点
ros2 run agv_autocharge_ros2 combined_auto_recharger
节点功能
- 监听
/charger_position_update话题,接收充电桩位置更新 - 发布
/goal_marker话题,在RViz中显示充电桩位置标记 - 发布
/cmd_vel话题,控制机器人运动 - 按键
q启动导航到充电桩 - 导航成功后自动启动串口控制
配置文件
充电桩位置配置文件位于:
config/charger_position.json
文件格式:
{
"p_x": 1.329015495451769,
"p_y": 0.31961151635354823,
"orien_z": 0.4981823289472456,
"orien_w": 0.8670722963655905
}
话题接口
订阅话题
/charger_position_update(geometry_msgs/PoseStamped): 充电桩位置更新
发布话题
/goal_marker(visualization_msgs/MarkerArray): 充电桩位置可视化标记/cmd_vel(geometry_msgs/Twist): 机器人运动控制/chassis_security(std_msgs/Int8): 底盘安全控制
串口配置
默认串口配置:
- 端口:
/dev/ttyCH341USB0 - 波特率: 9600
- 超时: 1秒
可以根据需要修改代码中的串口参数。
操作说明
- 启动节点后,系统会自动加载充电桩位置配置
- 系统会定期发布充电桩标记到RViz进行可视化
- 按下键盘上的
q键启动导航到充电桩 - 导航成功后,系统会自动启动串口控制功能
- 串口控制会根据接收到的数据控制机器人运动
- 按
Ctrl+C退出程序
故障排除
常见问题
-
串口无法打开
- 检查串口设备是否连接
- 确认串口权限设置
- 验证串口设备名称
-
导航失败
- 确认Nav2导航系统正常运行
- 检查充电桩位置配置是否正确
- 验证地图和定位系统状态
-
RViz中看不到标记
- 确认RViz已订阅
/goal_marker话题 - 检查MarkerArray显示设置
- 验证坐标系设置是否为'map'
- 确认RViz已订阅
许可证
MIT License
维护者
请联系维护者获取技术支持。