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

相关推荐
handler019 小时前
从零实现自动化构建:Linux Makefile 完全指南
linux·c++·笔记·学习·自动化
Hello_Embed10 小时前
嵌入式上位机开发入门(二十六):将 MQTT 测试程序加入 APP 任务
网络·笔记·网络协议·tcp/ip·嵌入式
不会编程的懒洋洋11 小时前
C# Task async/await CancellationToken
笔记·c#·线程·面向对象·task·同步异步
zhangrelay14 小时前
蓝桥云课五分钟-通关自动控制-octave
笔记·学习
_李小白16 小时前
【AI大模型学习笔记之平台篇】第六篇:安卓开发AI工具介绍(Android CLI、Android Skill和Android Knowledge Base)
人工智能·笔记·学习
YaBingSec16 小时前
玄机靶场:供应链安全-供应链应急-Part2 通关笔记
java·笔记·安全
qeen8716 小时前
【算法笔记】双指针及其经典例题解析
c++·笔记·算法·双指针
China_Yanhy17 小时前
生产笔记:AI 集群的极致成本与数据保命指南
人工智能·笔记
云起SAAS17 小时前
小智笔记APP源码 | 8大广告联盟聚合(穿山甲/优量汇/快手/百度) | 应用市场过审极速版 | uni-app全栈商用项目
笔记·uni-app·广告联盟·笔记app
ouliten18 小时前
cuda编程笔记(41)--异步数据拷贝
笔记·cuda