日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

ROS系统 参数的获取和设置

發布時間:2025/5/22 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS系统 参数的获取和设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cd ~/catkin_ws/src catkin_create_pkg learning_parameter roscpp rospy std_srvs

rosparam
  • 列出當前所有參數:rosparam list
  • 顯示某個參數值:rosparam get param_key
  • 設置某個參數值:rosparam set param_key param_value
  • 保存參數到文件:rosparam dump file_name
  • 從文件讀取參數:rosparam load file_name
  • 刪除參數:rosparam delete param_key

啟動ROS Master

roscore

啟動小海龜仿真器

rosrun turtlesim turtlesim_node

列出當前所有參數

rosparam list

  • 背景顏色
    • /turtlesim/background_b
    • /turtlesim/background_g
    • /turtlesim/background_r
  • ros版本號
    • /rosversion
  • 當前進程的id
    • /run_id
  • 管理 ROS分布及其包含的 ROS堆棧的文件格式
    • rosdistro

獲取 /turtlesim/background_b、/turtlesim/background_g、/turtlesim/background_r的參數。

rosparam get /turtlesim/background_b rosparam get /turtlesim/background_g rosparam get /turtlesim/background_r

獲取ROS的發行版

rosparam get /rosdistro


獲取ROS的版本

rosparam get /rosversion

修改小海龜仿真器的背景顏色

rosparam set /turtlesim/background_b 100 rosparam get /turtlesim/background_brosservice call /clear "{}"


使用 rosservice call 發送請求,當rgb的值發生改變會刷新背景顏色。

小海龜仿真器的背景顏色變為白色

rosparam set /turtlesim/background_r 255 rosparam set /turtlesim/background_b 255 rosparam set /turtlesim/background_g 255rosservice call /clear "{}"

將參數的內容保存在文件中

rosparam dump param.yaml


然后可以對通過在文件中去修改一些參數。

從文件讀取參數

rosparam load param.yaml

發送指令刷新讀取的值

rosservice call /clear "{}"

從參數列表中刪除一個參數:

rosparam delete /turtlesim/background_r rosparam listrosservice call /clear "{}"

刪除后,使用 rosparam list 命令,會看到列表中的 /turtlesim/background_r 參數已經消失。

如何通過代碼獲取/設置參數

  • 初始化ROS節點
  • get函數獲取參數
  • set函數設置參數

以下是通過C++代碼實現以上操作參數的增刪改查。

在 learning_parameter 目錄中的src文件夾下創建一個 cpp文件

cd ~/catkin_ws/src/learning_parameter/src touch parameter_config.cpp

在 parameter_config.cpp 文件中寫入以下代碼。
下面代碼實現功能:設置/讀取海龜例程中的參數

#include <string> #include <ros/ros.h> #include <std_srvs/Empty.h>int main(int argc, char **argv) {int red, green, blue;// ROS節點初始化ros::init(argc, argv, "parameter_config");// 創建節點句柄ros::NodeHandle node;// 讀取背景顏色參數ros::param::get("/turtlesim/background_r", red);ros::param::get("/turtlesim/background_g", green);ros::param::get("/turtlesim/background_b", blue);ROS_INFO("Get Backgroud Color[%d, %d, %d]", red, green, blue);// 設置背景顏色參數ros::param::set("/turtlesim/background_r", 255);ros::param::set("/turtlesim/background_g", 255);ros::param::set("/turtlesim/background_b", 255);ROS_INFO("Set Backgroud Color[255, 255, 255]");// 讀取背景顏色參數ros::param::get("/turtlesim/background_r", red);ros::param::get("/turtlesim/background_g", green);ros::param::get("/turtlesim/background_b", blue);ROS_INFO("Re-get Backgroud Color[%d, %d, %d]", red, green, blue);// 調用服務,刷新背景顏色ros::service::waitForService("/clear");ros::ServiceClient clear_background = node.serviceClient<std_srvs::Empty>("/clear");std_srvs::Empty srv;clear_background.call(srv);sleep(1);return 0; }

在CMakeLists.txt中添加以下代碼:

add_executable(parameter_config src/parameter_config.cpp) target_link_libraries(parameter_config ${catkin_LIBRARIES})


編譯項目

cd ~/catkin_ws catkin_make

設置環境變量,讓系統能夠找到該工作空間

source devel/setup.bash

啟動ROS Master

roscore

啟動小海龜仿真器

rosrun turtlesim turtlesim_node

啟動自定義的節點

rosrun learning_parameter parameter_config


用Python代碼實現方式

cd ~/catkin_ws/src/learning_parameter

創建 scripts 文件夾

mkdir scripts cd scripts

創建 parameter_config.py Python文件

touch parameter_config.py

用Python修改參數的代碼:
以下代碼的功能:設置/讀取海龜例程中的參數

#!/usr/bin/env python # -*- coding: utf-8 -*-import sys import rospy from std_srvs.srv import Emptydef parameter_config():# ROS節點初始化rospy.init_node('parameter_config', anonymous=True)# 讀取背景顏色參數red = rospy.get_param('/turtlesim/background_r')green = rospy.get_param('/turtlesim/background_g')blue = rospy.get_param('/turtlesim/background_b')rospy.loginfo("Get Backgroud Color[%d, %d, %d]", red, green, blue)# 設置背景顏色參數rospy.set_param("/turtlesim/background_r", 255);rospy.set_param("/turtlesim/background_g", 192);rospy.set_param("/turtlesim/background_b", 203);rospy.loginfo("Set Backgroud Color[255, 192, 203]");# 讀取背景顏色參數red = rospy.get_param('/turtlesim/background_r')green = rospy.get_param('/turtlesim/background_g')blue = rospy.get_param('/turtlesim/background_b')rospy.loginfo("Get Backgroud Color[%d, %d, %d]", red, green, blue)# 發現/spawn服務后,創建一個服務客戶端,連接名為/spawn的servicerospy.wait_for_service('/clear')try:clear_background = rospy.ServiceProxy('/clear', Empty)# 請求服務調用,輸入請求數據response = clear_background()return responseexcept rospy.ServiceException, e:print "Service call failed: %s"%eif __name__ == "__main__":parameter_config()

注意:需要將Python設置為可執行文件。

Python代碼不需要重新編譯,可以直接執行。

rosrun learning_parameter parameter_config.py


注意:代碼中的路徑要和 rosparam list 命令顯示的路徑要對應。


總結

以上是生活随笔為你收集整理的ROS系统 参数的获取和设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲色图第三页 | 久久合合 | 亚洲大尺度视频 | 亚洲精品乱码久久久久久蜜桃不卡 | 成人免费影视网站 | 久久人人爽人人爽人人片亚洲 | 日本我不卡 | 久久亚洲精品无码va白人极品 | 色 综合 欧美 亚洲 国产 | 99热麻豆 | 国精产品一区二区三区 | 亚洲成人久久久久 | 欧美精品久久久久久久久久 | 久久国产这里只有精品 | 欧美日韩黑人 | www.国产色 | 久久成年人视频 | 久久久久香蕉视频 | 午夜国产在线观看 | 日本欧美一区二区三区不卡视频 | 国产亚洲精品久 | 亚洲第一网站 | 欧美伦理一区 | 丝袜av电影| 草莓视频在线观看入口w | 免费的黄色小视频 | 丁香一区二区 | 久久综合狠狠综合久久综合88 | 亚洲成av人片一区二区梦乃 | 操亚洲| 中文字幕在线2021 | 野外(巨肉高h) | 免费在线观看网址入口 | 午夜香蕉视频 | 假日游船法国满天星 | 国产伦精品视频一区二区三区 | 波多野结衣之潜藏淫欲 | 色8久久| 国产午夜一级片 | 五月婷视频 | 天堂在线观看视频 | 69sex久久精品国产麻豆 | 激情小说亚洲图片 | 亚洲综合五月 | 女生扒开尿口给男生捅 | 一级片视频播放 | 日本xxxxxxxxx| 波多野结衣爱爱 | 日韩伦人妻无码 | 红杏出墙记 | 男人都懂的网站 | 97在线播放免费观看 | 国产精品成人av性教育 | 红桃一区二区三区 | 黄色在线一区 | 另类综合在线 | 日本欧美不卡 | 69精品无码成人久久久久久 | 夜夜噜噜噜 | 国产在线观看一区二区三区 | 久久青青草原亚洲av无码麻豆 | 国产成人主播 | 好好热视频 | 三级av网| av超碰| 麻豆国产在线播放 | 性色综合| 久久另类ts人妖一区二区 | 精品人妻一区二区三区免费 | 97在线观视频免费观看 | 激情啪啪网站 | 久久精品99 | 69精品无码成人久久久久久 | 亚洲乱码一区二区三区 | 91国产丝袜播放在线 | 就要操就要日 | 能看av的网址 | 邵氏电影《金莲外传2》免费观看 | 男女免费毛片 | 男人av的天堂 | 一区二区三区在线观看免费视频 | 丝袜人妖| 超碰h| 婷婷综合在线观看 | 一本到免费视频 | 啪啪视屏 | 亚洲一区二区视频在线观看 | 精品区在线观看 | 中国女人做爰视频 | 大尺度av| 色婷婷av一区二区三区之e本道 | 中文字幕一二区 | av大片免费看 | av高清在线 | www男人的天堂 | 国产精品嫩草影院精东 | 特黄一级大片 | 亚洲欧美日韩国产一区 | 粉嫩av国产一区二区三区 |