通过python启动参数配置ros参数

在基于python进行ROS程序开发时,往往遇到这样的问题:想要利用pycharm、vscode等工具对代码进行单步调试,但是程序中有很多参数需要通过roslaunch才能加载,配置roslaunch的调试又有点费劲。

因此,我们可以直接将roslaunch中的参数作为python的启动参数传入 ,然后直接通过python xxx.py进行启动,从而避免了配置roslaunch调试的复杂问题。

以如下launch文件为例

bash 复制代码
    <node name="NodeName" pkg="PkgName" type="Node.py" ns="uav1">
        <param name="uav_id" value="1" />
        <param name="uav_sum" value="2" />
    </node>

该launch文件转写为python脚本启动形式为:

bash 复制代码
python Node.py __ns:=uav1 _uav_id:=1 _uav_sum:=2

读者可参考此形式自行转写。

此外,如果python程序中本身就带有一些通过argparse读取的参数,可以混合书写这些参数,例如:

bash 复制代码
python Node.py --trial=317 --epoch=100 --use_tensorrt=1 __ns:=uav1 _uav_id:=1 _uav_sum:=2

不过需要注意的是,argparse是无法区分正常的argparse参数和ros参数的,我们需要将

bash 复制代码
args = parser().parse_args()

替换为

bash 复制代码
args = parser().parse_args(rospy.myargv()[1:])

rospy.myargv()[1:]为ros提供的接口,可以自动过滤掉ros相关的参数,并将其他参数返回

相关推荐
2601_9628857214 小时前
如何用 Python 计算溃疡指数(Ulcer Index)?
开发语言·python
kiracrimson14 小时前
string 容器:从 C 字符串到会自己扩容的类
开发语言·数据结构·c++·stl
benchmark_cc14 小时前
如何为 QuantDash Python SDK 编写一个最小化的连接验证脚本?
python·数据分析·pandas·量化交易·股票数据·quantdash
程序边界14 小时前
顶刊级论文配图全流程:用 Python 复刻 Nature/Science 风格图表
开发语言·python
普通人614 小时前
uniapp模版JS
开发语言·javascript·小程序·uni-app·1024程序员节
BD_Marathon14 小时前
【RAG项目】01、RAG项目案例介绍
python
好焊孙辉14 小时前
螺柱焊机哪家质量好
python·fpga开发
G018_star sky♬15 小时前
nodeJS他是如何用JavaScript封装C++的呢
开发语言·javascript·c++
wyhwust15 小时前
程序设计基础--C语言输入输出单元测试
c语言·开发语言
STLearner15 小时前
KDD 2026 | (2月轮)时空数据(Spatial-Temporal)论文总结时空【下】(人群移动,城市科学(资源调度,)
大数据·人工智能·python·深度学习·机器学习·语言模型·数据挖掘