欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-23 09:12:59
第一部分: 完成该程序的注意事项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...

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

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

具体参见:

http://wiki.ros.org/cn/ROS/Tutorials/UsingRqtconsoleRoslaunch

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

相关标签: ROS 机器学习