ROS进二阶学习笔记(8)-- 关于rospy 和 parameters
来源:互联网 发布:淘宝直播镜像怎么下载 编辑:程序博客网 时间:2024/06/05 06:14
ref:
http://wiki.ros.org/Parameter Server -- 总领阐述parameter的一些概念。比如namespace
http://wiki.ros.org/rospy/Overview/Parameter Server -- 如何使用Python操作params
http://wiki.ros.org/rospy_tutorials/Tutorials/Parameters -- 如何使用Python操作params
http://wiki.ros.org/roslaunch/XML -- 使用launchfile操作 param
http://wiki.ros.org/roslaunch/XML/param -- 使用launchfile 操作param
http://wiki.ros.org/rosparam -- ROS Tool之rosparam用法
ros进阶学习笔记(24)-- 关于rospy 和 parameters
进行rospy编程时,需要用到parameter,但如何灵活用好它,还需进一步学习总结。
- 节点程序如何声明parameter,是global, relative or private?
- 声明完了如何通过外部为rosparam赋值?rosrun命令行怎么赋?launch文件怎么赋?yaml怎么赋?
参数Parameters - 概念
一个简单的 python 代码 - 使用params
rosparam工具
arguments 赋值 mynode.py
http://answers.ros.org/question/64552/how-to-pass-arguments-to-python-node/
#!/usr/bin/env pythonimport sys class MyNodeClass(): #Setup the node: def __init__(self):... rospy.set_param('~n_naviLoop', sys.argv[1]) rospy.set_param('~layoverSecs', sys.argv[2]) print rospy.get_param("~n_naviLoop") print rospy.get_param("~layoverSecs")if __name__ == '__main__': if len(sys.argv)<3 : print "Usage: mynode.py arg1 arg2" else: try: MyNodeClass() rospy.spin() except rospy.ROSInterruptException: rospy.loginfo("my_node finished.")
命令行赋值上面代码中的 n_naviLoop:
$ rosrun mypkg my_node.py 3 5 //n_naviLoop = 3; layoverSecs = 5;
另一例:
Launch File + Arguments + CommandLine 赋值方式:
命令行赋值 neato_laser_publisher
源码片:
std::string port; int baud_rate; std::string frame_id; int firmware_number; std_msgs::UInt16 rpms; priv_nh.param("port", port, std::string("/dev/ttyUSB0")); priv_nh.param("baud_rate", baud_rate, 115200); priv_nh.param("frame_id", frame_id, std::string("neato_laser"));priv_nh.param("firmware_version", firmware_number, 1);
赋值命令:
rosrun xv_11_laser_driver neato_laser_publisher _port:=/dev/ttyUSB0 _firmware_version:=2
rosrun mypkg mynode.py _savepath:=/home/usrname/catkin_ws/src/mypkg/save_mm_dir
命名空间与params
综合赋值问题实例 - Usage
>> global_name params : python节点代码、yaml赋值param、launchFile赋值param、命令行赋值param、rosparam工具赋值param
>> relative_name params : python节点代码、yaml赋值param、launchFile赋值param、命令行赋值param、rosparam工具赋值param
>> private_name params : python节点代码、yaml赋值param、launchFile赋值param、命令行赋值param、rosparam工具赋值param
------
Private_name params + PythonCode + LaunchFile_Envalue:
- ROS进二阶学习笔记(8)-- 关于rospy 和 parameters
- ROS进二阶学习笔记(10) -- rospy.Publisher() 之 queue_size
- ROS 进阶学习笔记(18):ROS导航3:关于 ROS ActionLib 包
- ROS进二阶学习笔记(4) - ROS and Multithread
- ROS进二阶学习笔记(6) -- ROS Bag
- ROS进二阶学习笔记(7) -- Metapackage
- ROS学习笔记(四):ROS主题
- ROS 进阶学习笔记(16):ROS导航1:关于Costmap_2d Package (代价地图包)
- ROS 进阶学习笔记(17):ROS导航2:关于 move_base Package(底盘移动包)
- ROS进二阶学习笔记(9)-- 关于Overlay:重名 package 在不同catkin workspace 中,
- ROS学习笔记:tf的学习和使用(二)
- ROS笔记:(7)创建ROS消息和ROS服务
- ROS学习笔记(二)ROS by Example 学习笔记
- ROS学习笔记(一)
- ROS学习笔记(1)
- ROS学习笔记(未完成)
- ROS学习笔记(一)
- ROS学习笔记(一)
- selenium借助AutoIt识别上传(下载)详解
- Android实现延迟的几种方法小结
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
- 提高 Java 代码性能的各种技巧
- No module named 'html.entities'; 'html' is not a package
- ROS进二阶学习笔记(8)-- 关于rospy 和 parameters
- MFC中函数GetWindowRect()和GetClientRect()的区别
- 公安大数据应用之情报分析与关联挖掘
- Handler系列之原理分析
- 高级查询 复杂练习
- linux虚拟机挂载本地window系统盘
- Setup Factory打包时实现第三方DLL文件的注册
- 【Git 教程(9)】 Git 服务器搭建
- linux中nginx挂载php-fpm