日韩性视频-久久久蜜桃-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系统 参数的获取和设置的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本一区二区免费在线 | 亚洲国产成人在线观看 | 中文一区视频 | 三男一女吃奶添下面 | 午夜裸体性播放 | 久久中文字幕无码 | 2018av| 国产一级啪啪 | 精品久久久久久久久久久久久 | 久久中文精品 | 三级免费 | 欧美精品久久久久久久自慰 | 午夜黄色网| 国产色一区 | 国产伦理一区二区三区 | 国产一区二区日韩 | 国产一国产二国产三 | 亚洲一区二区三区在线视频观看 | 一区二区三区在线播放视频 | 中文字幕永久 | 黄网址在线观看 | 91精品国产闺蜜国产在线闺蜜 | 日韩精品欧美激情 | 99久久婷婷国产综合精品青牛牛 | 秋霞影院午夜丰满少妇在线视频 | 久久五月网 | 亚洲美女性视频 | 伊人久久大香线蕉综合网站 | 亚洲色图欧洲色图 | 亚洲av熟女高潮一区二区 | 韩日在线视频 | 香蕉国产在线视频 | 最近中文字幕在线观看 | 色婷婷狠 | 亚洲在线观看一区二区 | 久青草影视 | 乌克兰做爰xxxⅹ性视频 | 日韩高清一级 | 日日干天天操 | 91手机视频在线观看 | 国产一区二区不卡视频 | 香蕉黄视频 | 欧美激情另类 | 国产视频黄 | 88av视频| 91精品视频免费观看 | 天天摸天天操 | 卡通动漫精品一区二区三区 | 在线观看日本中文字幕 | 亚洲国产成人va在线观看天堂 | 黑人多p混交群体交乱 | 玩偶姐姐在线观看免费 | www亚洲| 色婷婷亚洲一区二区三区 | 国产一区不卡在线观看 | 国产一二三视频 | 色爽av| 亚洲在线一区二区三区 | 污污网站在线观看视频 | 狠色综合7777夜色撩人 | 青青青国产在线 | 精品香蕉视频 | 天堂久久一区 | 亚洲国产精品99 | 国产91免费在线观看 | 国产熟女精品视频 | 不卡视频在线 | 日韩精品欧美激情 | 亚洲精品欧美日韩 | 青青草免费在线观看 | 欧美在线免费看 | 亚洲精品爱爱 | 国产顶级毛片 | 亚洲一区二区激情 | 免费看欧美黑人毛片 | 先锋影视av | 久久久久久天堂 | 国产精品一区视频 | 国产日韩精品一区二区 | 91文字幕巨乱亚洲香蕉 | 国产草草 | 麻豆小视频| 亚洲精品美女 | 久久禁 | 滋润少妇h高h | 久久精选| 草草影院ccyycom | hs视频在线观看 | 日本午夜啪啪 | www.中文字幕在线观看 | 国语对白 | 日皮视频网站 | 精品三级视频 | 久久久久中文字幕亚洲精品 | 久操视频网站 | 日本女人一区二区三区 | 超薄肉色丝袜一二三 | 亚洲不卡在线观看 | 日本久久一区二区 |