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

相关推荐
做cv的小昊2 小时前
大语言模型系统:【CMU 11-868】课程学习笔记02——GPU编程基础1(GPU Programming Basics 1)
人工智能·笔记·学习·语言模型·llm·transformer·agent
日更嵌入式的打工仔8 小时前
个人笔记3
笔记
天外来鹿10 小时前
Map/Set/WeakMap/WeakSet学习笔记
前端·javascript·笔记·学习
菩提小狗10 小时前
第23天:安全开发-PHP应用&后台模块&Session&Cookie&Toke_笔记|小迪安全2023-2024|web安全|渗透测试|
笔记·安全·php
HuDie34010 小时前
黑马多模态AIGC课程笔记
笔记·aigc
leixj02510 小时前
SVN学习笔记
笔记·学习·svn
小陈phd11 小时前
多模态大模型学习笔记(十三)——transformer学习之位置编码
人工智能·笔记·transformer
探序基因11 小时前
使用TRUST4分析普通转录组数据的TCR/BCR
经验分享·笔记·学习方法
雾岛听蓝11 小时前
C文件操作与系统IO
linux·c语言·开发语言·经验分享·笔记·算法
跃龙客11 小时前
Visual Studio项目文件配置三方库笔记
ide·笔记·visual studio