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

相关推荐
山岚的运维笔记1 小时前
SQL Server笔记 -- 第67章:数据库邮件(DBMAIL)
数据库·笔记·sql·microsoft·sqlserver
菩提小狗2 小时前
第15天:信息打点-主机架构&蜜罐识别&WAF识别&端口扫描&协议识别&服务安全_笔记|小迪安全2023-2024|web安全|渗透测试|
笔记·安全·架构
rfidunion4 小时前
ubuntu下使用qemu模拟ARM(二)
linux·arm开发·ubuntu
一个人旅程~4 小时前
windows自带的文本编辑软件notpad太差怎么办?
经验分享·笔记·电脑
Hello_Embed5 小时前
Modbus 传感器开发:从寄存器规划到点表设计
笔记·stm32·单片机·学习·modbus
今儿敲了吗5 小时前
24| 字符串
数据结构·c++·笔记·学习·算法
日更嵌入式的打工仔5 小时前
ARM-中断管理
笔记
乔宕一6 小时前
arm-none-eabi-gcc 工具链自带的 libstdc++ 库会将 throw 的异常对象创建在堆上
arm开发
Rsingstarzengjx6 小时前
【Photoshop从入门到精通】 A20 图层 笔记
笔记·photoshop