项目简介
本项目是基于ROS Melodic的无人叉车状态机系统,主要用于控制无人叉车的行为。借助ROS的服务和动作库,实现状态机的切换与行为执行。状态机的设计与实现采用smach库,支持多层次状态机结构,还提供可视化工具smach_viewer来查看状态机结构。
项目的主要特性和功能
- 状态机控制:通过rosservice调用实现状态切换,能从参数服务器读取或设置状态机参数。
- 行为执行:利用actionlib实现状态机行为,支持多层次状态机结构。
- 可视化工具:支持使用smach_viewer可视化状态机结构,方便调试与理解。
- 多层次状态机:项目包含顶层、底层和动作状态机三层状态机。
- 参数管理:状态机参数存储在ROS参数服务器,可通过rosparam命令查看和管理。
安装使用步骤
环境准备
- 安装ROS Melodic:确保已安装ROS Melodic。
- 安装依赖包:
shell sudo apt-get install ros-melodic-executive-smach
- 创建工作空间:
shell mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src
- 下载代码:需用户自行下载项目源码文件。
- 编译代码:
shell cd .. catkin_make
- 加载环境:
shell source devel/setup.bash
运行状态机
- 启动状态机:
shell roslaunch forklift_fsm main.launch
- 测试状态机:
shell roslaunch forklift_fsm test.launch
可视化状态机
- 启动smach_viewer:
shell rosrun smach_viewer smach_viewer.py
- 查看状态机结构:在smach_viewer中查看状态机的结构图。
测试调用状态机
- 运行测试脚本:
shell rosrun forklift_fsm TestAPICall.py
- 通过键盘输入调用状态机:根据提示输入键盘值,调用状态机的API接口。
查看状态机参数
- 列出所有参数:
shell rosparam list
- 查看特定命名空间下的参数:
shell rosparam list /fsm_node
- 获取当前状态:
shell rostopic echo /fsm_node/active_state
通过以上步骤,可成功安装并运行本项目的无人叉车状态机系统,进行相应的测试和调试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】