ROS2机械臂——黑马程序员ROS2课程上课笔记(3)

开发流程

1、创建节点
  • ai提示词
    \home\wind\dev_ws\src 创建一个包,包名叫做arm_pkg,要求使用python语言进行开发,并且同时创建一个节点arm_joint_node
    2、读取关节角
    3、自定义消息
    4、发布消息
    5、测试节点
2、读取关节角度

\home\wind\dev_ws\src\arm_pkg\arm_pkg\arm_joint_node.py 读取的关节角度,定义成自定义的消息格式取名叫做arm_joint_angles,要求放到arm_msg包中,请使用ros2的命令实现创建包和节点,参考ros2 pkg create --build-type ament_python --node-name arm_joint_node arm_pkg

3、添加订阅者功能

帮我为 \home\wind\dev_ws\src\arm_pkg\arm_pkg\arm_joint_node.py 节点添加订阅者的功能,要求订阅的地址是cmd_angles,要求数据类型为 ArmJointAngles

4、节点驱动电机实现
5、录制与回放

需求

  • 实现机械臂动作的录制和回放

背景

  • 逻辑节点调用驱动节点实现

录制流程

  • 1、创建节点
  • 2、订阅机械臂关节角度
  • 3、存储时间信息和角度信息
  • 4、提供启停操作接口
录制
  • 录制功能实现

    提示词
    \home\wind\dev_ws\src\arm_pkg 帮我再这个包中创建一个节点,取名叫做arm_record_node,要求实现机械臂关节角度信息的订阅,可以参考 \home\wind\dev_ws\src\arm_pkg\arm_pkg\arm_joint_node.py 中的publisher发布的主题数据。当订阅到数据后将数据和时间戳进行记录,要求去做机械臂运动轨迹的录制操作。

  • 实现录制的启停操作

    ai提示词
    \home\wind\dev_ws\src\arm_pkg\arm_pkg\arm_record_node.py 中,目前是打开节点就开始录制,我希望通过指令来控制录制或者是停止录制,我也希望在开始录制时可以指定录制的文件名,也希望可以查询当前的录制状态,帮我实现这个功能

回放
  • 开发流程

    1、创建节点

    2、读取和解析文件

    3、播放文件

    4、启停操作

  • ai提示词

    帮我在 \home\wind\dev_ws\src\arm_pkg 中创建一个节点,取名叫做arm_playback_node,提供文件读取和解析功能,要求读取的文件是 \home\wind\dev_ws\src\arm_pkg\arm_pkg\arm_record_node.py 节点录制的文件,并且解析这个文件,解析的结果进行回放,回放的操作需要调用回放的操作需要通过广播调用驱动节点 \home\wind\dev_ws\src\arm_pkg\arm_pkg\arm_joint_node.py 的关节驱动功能

功能整合

1、录制和回放由一个节点提供

2、提供录制启动停止操作

3、提供回放启动停止功能

4、提供状态查询接口

5、录制回放功能不可以冲突

  • ai提示词
    \home\wind\dev_ws\src\arm_pkg\arm_pkg 中创建一个节点,叫做arm_playback_node,参考 \home\wind\dev_ws\src\arm_pkg\arm_pkg\arm_record_node.py\home\wind\dev_ws\src\arm_pkg\arm_pkg\arm_playback_node.py 节点,要求整合这两个节点的功能,提供录制回放启动停止和状态查询功能,要求录制和回放不可以冲突不可以一边录制一边回放
实现GUI操作录制和回放

需求

构建gui交互方式进行录制和回放功能

背景

目前有机械臂驱动节点,有录制回放业务逻辑节点,依赖驱动节点,提供UI交互节点负责UI交互,依赖业务逻辑节点

  • ai提示词
    帮我在 arm_pkg 包中创建一个节点,取名叫做gui_record_playback_node,要求这个节点实现UI交互功能,提供开始录制,停止录制按键,并且提供录制时的输入框,用于设置录制的文件名称,还需提供开始回放,结束回放功能,可以和录制的输入框共用文件名称,录制和回放的按键功能不能产生冲突,可以提供显示状态UI,当前的节点需要调用arm_record_playback_node进行功能的实现。
ROSlaunch一键启动录制回放
  • ROSlaunch一键启动配置

  • ai提示词
    帮我编写roslaunch文件,要求依次启动arm_joint_node,arm_record_playback,gui_record_playback_node三个节点,文件名叫做arm_record_playback.launch.py

    1. 构建工作空间

    cd /home/wind/dev_ws
    colcon build --packages-select arm_msg arm_pkg
    source install/setup.bash

    2. 使用新的 launch 文件启动所有节点

    ros2 launch arm_pkg arm_record_playback_launch.py

相关推荐
LinXunFeng6 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
闪闪发亮的小星星10 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq10 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
阿米亚波10 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.10 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余10 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.10 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央10 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
AndyHeee10 天前
【SVC、PendSV(系统异常) 与 外设 IRQ 、NVIC笔记】
arm开发
中屹指纹浏览器10 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记