您现在的位置是:首页 >学无止境 >python和ros启动遇到相关问题网站首页学无止境

python和ros启动遇到相关问题

不知语冰 2024-06-17 11:28:01
简介python和ros启动遇到相关问题

如何用roslaunch启动Python文件

在工作空间中新建功能包,并把待执行文件都考进scrips中

catkin_create_pkg yolo
cd yolo
mkdir scripts

chmod +x 自定义文件名.py添加执行权限

修改CmakeList

catkin_install_python(PROGRAMS
  scripts/yolo_node.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

编译就好了

roslaunch ( rosrun 的话没啥好说的,参数跟运行python XXX.py没啥区别直接加在后面就好):

<launch>
    <node name="yolov5" pkg="yolov5" type="yolo_node.py" output="screen" args="--weights /home/zq610/yolov5/runs/train/exp11/weights/last.pt" />
</launch>

1、用rosrun或者roslaunch启动无法使用conda环境

1.0、你的文件第一行添加你的环境路径(可以用which python查看):

#!/home/zq610/miniconda3/envs/yolov8/bin/python

1.1、先把已经编译的catkin clean一下!
1.2、conda activate your_env
1.3、catkin build
然后就可以了,可以试试输出是系统路径还是conda路径

import sys
print(sys.executable)

2、roslaunch arg传参问题:

传入的参数与直接python yolo.py 或rosrun yolo yolo.py相比,多了个__name:=yolov5 __log:=/home/zq610/.ros/log/d074bf70-f7b2-11ed-924c-d991a0067386/yolov5-1.log,导致无法运行

<launch>
    <node name="yolov5" pkg="yolov5" type="yolo_node.py" output="screen" args="--weights /last.pt" />
</launch>

修改:

# opt = parser.parse_args()
opt, unknown = parser.parse_known_args()   
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。