当前位置: 移动技术网 > IT编程>脚本编程>Python > 基于ROS系统的手部追踪器程序设计

基于ROS系统的手部追踪器程序设计

2020年08月10日  | 移动技术网IT编程  | 我要评论

第一部分: 完成该程序的注意事项

1、ROS默认的python版本为2.7,但是在python2.7环境下,手部追踪程序不能正确运行,其主要原因在于python2与python3的运算规则存在很大差异,比如对于除法即 ‘/’运算符,python2下,int/int = int, 而python3环境下int/int = int=float,而cv.dnn模块以及python脚本程序中涉及到很多'/'运算,因此必须让该程序在ROS系统下以python3环境运行,否则不可能得出想要的效果。

2、如何使ROS调用python3解析器呢?很简单,只要在python脚本程序头部添加如下声明即可。

#!/usr/bin/python3

3、由于本程序需要用到python3版本的rospy,而ROS系统没有基于python3的rospy,因此需要利用pip3进行安装。安装命令为:

pip3 install rospkg -i https://pypi.tuna.tsinghua.edu.cn/simple

详情参考:https://www.cnblogs.com/h46incon/p/6207145.html

第二部分:项目构建全过程概览

一、构建工作空间

1、首先新建一个文件夹,名称为tracing_hands

mkdir tracing_hands

并在该文件夹下新建一个文件夹,名称为src

mkdir src

执行catkin_make,创建出一个空的ROS程序架构(工作空间)

catkin_make

二、构建catkin软件包

1、在前述src文件夹环境下,创建软件包,并取名为tracing_hands

catkin_create_pkg tracing_hands std_msgs rospy

2、创建自定义消息类型,刚刚创建的tracing_hands文件夹下新建一个文件夹,取名msg

mkdir msg

在该文件夹下新建两个自定义消息类型,分别是:

int_list_1d.msg:

#该message存储left,top,right,bottom
int32[] data

int_list_2d.msg:

#该message存储多个[left,top,right,bottom]
int_list_1d[] data

3、在当前文件夹下继续创建一文件夹,取名scripts,用于存放可执行python脚本文件,talker.py,listener.py,执行

chmod +x talker.py
chmod +x listener.py

用以将python脚本定义为可执行文件,使其可以执行。

4、在当前文件夹下新建一文件夹,取名为launch,并在其中新建一文件,取名为tracing_hands.launch,内容如下:

<launch>
 <node name = "talker" pkg = "tracing_hands" type = "talker.py"/>
 <node name = "listener" pkg = "tracing_hands" type = "listener.py"/>
</launch>

用以快速启动tracing_hands软件包下的talker和listener节点

执行

chmod +x tracing_hands.launch

用以将其变为可执行文件。

5、修改当前文件夹下的CmakeList.txt和package.xml文件

6、回到工作空间目录下即~/tracing_hands,执行catkin_make编译程序

!!!至此程序框架已全部构建完成,后面可用rosrun来逐个执行节点或者roslaunch来快速启动所有节点

第三部分:程序使用

1、使用前请注意:修改talker.py 的配置文件路径(就是你自己训练的权重文件)talker.py在/tracing_hands/src/tracing_hands/scripts 文件夹下。修改26,27行即可,其余的不需要修改了。

2、使用roslaunch启动:在我的环境下用到如下语句:

cd ~/tracing_hands 
source ./devel/setup.bash
roslaunch tracing_hands tracing_hands.launch

3、使用rosrun启动:在我的环境下用到如下语句:

roscore

打开一个新终端:依次输入如下:

cd ~/tracing_hands
source ./devel/setup.bash
rosrun tracing_hands talker.py

再打开一个新终端:依次输入如下:

cd ~/tracing_hands
source ./devel/setup.bash
rosrun tracing_hands listener.py

另:要实现可视化效果可在程序运行时,打开一个新终端并执行:

rqt_graph

具体参见:

本文地址:https://blog.csdn.net/weixin_43409736/article/details/107874798

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网