Simon Birrell的 如何构建基于Python的ROS软件包 的中英文对照机翻
在询问ChatGPT如何组织一个python的ros包的过程中,它的回复中提到了一篇Simon Birrell写的文章 How to structure a Python-based ROS package,去拜读了一下感觉受益匪浅。
由于文章篇幅略微有点长,每次打开加载翻译都要挺久,所以将原文和机翻搬运过来,方便自己之后的查阅。
在询问ChatGPT如何组织一个python的ros包的过程中,它的回复中提到了一篇Simon Birrell写的文章 How to structure a Python-based ROS package,去拜读了一下感觉受益匪浅。
由于文章篇幅略微有点长,每次打开加载翻译都要挺久,所以将原文和机翻搬运过来,方便自己之后的查阅。
由于想要在编写的代码中声明类型(方便在使用自己编写的函数时,查看返回的类型),于是开始查看pyrealsense2包中的代码,然后发现只有一个 __init__.py
# py libs (pyd/so) should be copied to pyrealsense2 folder
from .pyrealsense2 import *
而 __init__.py
路径下是 pyrealsense2.cp310-win_amd64.pyd
文件,就意识到这是一个使用c++编写的库(而python只是将其进行了封装),所以无法直接从源代码中查看库中的类和函数。
由于同学需要摄像头的焦距等参数来将深度帧的数据转换成3维坐标系中的坐标,所以开始在网上搜索相应的方法
一开始找到了这篇文章,
Azure Kinect 获取相机内参 - BuckyI - 博客园 (cnblogs.com)
但是安装了pykinect_azure包后,运行文章中的代码出现了报错,就放弃参考这篇文章了
由于mediapipe官方的文档以及python的代码示例中,
没有给出摄像头视频流检测的代码,代码示例中只提供了对4张示例图片进行检测的代码,于是开始参考代码示例进行代码的编写。
由于以前的视觉部分的代码看起来很💩(感觉代码文件的结构很混乱,不够易读),于是打算重新编写新的。
我先是分别询问了chatgpt和copilot关于如何在摄像头一直保持开启的状态下,切换使用不同的功能
由于比赛需要机器人走到志愿者的正面后,再向志愿者询问,所以打算通过检测人脸朝向相对于相机的偏移程度(人脸正对相机认为不偏移),来判断机器人是否到达志愿者的正面
于是通过询问Microsoft Copilot,找到了一个比较好用的github的仓库
由于这个项目需要识别出手指向物体👉的手势,所以就在网上查找实现了相关功能的现成的库,
16日
于是查到谷歌的MediaPipe库中有手势识别的功能,