littlebot
Published on 2025-04-10 / 2 Visits
0

【源码】基于Python和ROS2框架的AGV数据交互与调度系统

项目简介

本项目基于Python和ROS2框架开发,以ROS2 NODE形式运行于ROS2(Robot Operating System)基础环境。它是AGV(自动引导车)、机器人调度系统路网编辑及路网规划系统间的关键桥梁,负责将AGV各类数据上传至Mqtt Server,同时接收并传达机器人调度系统路网编辑、路网规划系统的指令,未来还会作为视频、音频、照片、环境等数据的中转站。

项目的主要特性和功能

  1. 数据交互桥梁:连接AGV机器人调度系统路网编辑及路网规划系统,支撑数据传输。
  2. 数据上传:将AGVROS2 NODE Data(如下行指令、任务调度指令、车辆状态数据、任务状态、通用数据等)上传至Mqtt Server
  3. 指令接收与下达:接收并向下传达机器人调度系统路网编辑、路网规划系统的指令。
  4. 待扩展功能:计划作为视频、音频、照片、环境等数据的中转站。

安装使用步骤

前提条件

假设用户已下载本项目的源码文件,且已安装ROS2并正确设置其环境变量。

具体步骤

启动EMQX

di-nano目录下执行: shell docker-compose -f ./deploy/docker-compose-emqx.yml up -d

初始化项目

若为第一次初始化: shell cd nano/nano python3 -m venv .venv source .venv/bin/activate pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt 若不是第一次初始化: shell cd nano/nano source .venv/bin/activate pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

安装新的Py包(可选)

nano/nano目录下执行: shell pip freeze > requirements.txt

构建ros2:emqx基本环境(内部安装)

di-nano目录下执行: shell docker build -t ros2:emqx -f deploy/ros.dockerfile .

启动一个工作区

di-nano目录下执行: shell docker run --name ros2 -v .:/root/workspaces/src -itd ros2:emqx bash

测试ROS2容器是否正常(可选)

开启两个终端分别执行: - 第一个终端(监听node): shell docker exec -it nano_dev ./ros_entrypoint.sh bash ros2 run demo_nodes_cpp listener - 第二个终端(发布node): shell docker exec -it nano_dev ./ros_entrypoint.sh bash ros2 run demo_nodes_cpp talker

傻瓜式调试开发

  • 启动容器:
    • 第一种单独构建镜像然后启动: shell cd di-nano/ docker run --name ros2 -v .:/root/workspaces/src -itd ros2:emqx /bin/bash
    • 第二种用docker-compose启动: shell cd di-nano/devops docker-compose -f ./deploy/docker-compose-ros.yml up -d
  • 后续调试开发步骤: shell docker exec -it nano_dev ./ros_entrypoint.sh bash cd ~/workspaces/ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r src/nano/nano/requirements.txt colcon build source install/setup.bash ros2 run nano nano ros2 run nano nano --ros-args -p conf_file:=/root/workspaces/src/nano/params/nano.yaml ros2 launch nano nano.launch.py start:=true

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】