ROS 動態調參 基礎教學

2021-10-14 03:06:25 字數 2441 閱讀 8282

#建立工作空間

mkdir catkin_ws

mkdir catkin_ws/src

cd catkin_ws/src

catkin_init_workspace

#建立功能包

cd catkin_ws/src

catkin_create_pkg --rosdistro rosdistro ros_test1 rospy roscpp dynamic_reconfigure

touch ros_test1_cfg.cfg

#!/usr/bin/env python

package = "ros_test1"

from dynamic_reconfigure.parameter_generator_catkin import *

gen = parametergenerator()

gen.add("int_param", int_t, 0, "int parameter", 1, 0, 10);

gen.add("double_param", double_t, 0, "double parameter", .1, 0.0, 1.0);

gen.add("bool_param", bool_t, 0, "bool parameter", true);

gen.add("str_param", str_t, 0, "string parameter", "ros_test1");

size_enum = gen.enum([ gen.const("low", int_t, 0, "low is 0"),

gen.const("medium", int_t, 1, "medium is 1"),

gen.const("high", int_t, 2, "hight is 2")],

"select from the list")

gen.add("size", int_t, 0, "select from the list", 1, 0, 3, edit_method=size_enum)

exit(gen.generate(package, "ros_test1", "test1_"))

touch node_e.cpp

#include "ros/ros.h"

#include #include void callback(ros_test1::test1_config &config, uint32_t level)

int main(int argc, char **ar**)

在cmakelist中新增一下幾句,其中cfg檔名和.cpp檔案可自由更改

generate_dynamic_reconfigure_options(

cfg/ros_test1_cfg.cfg

)add_executable(node_e src/node_e.cpp)

add_dependencies(node_e $_gencfg)

target_link_libraries(node_e $)

改完後編譯

roscoe

#其結點

rosrun ros_test1 node_e

#起rqt

rosrun rqt_reconfigure rqt_reconfigure

可通過rqt調節

可通過命令列調節

$ rosparam list

/node_e_dynamic_reconfigure/bool_param

/node_e_dynamic_reconfigure/double_param

/node_e_dynamic_reconfigure/int_param

/node_e_dynamic_reconfigure/size

/node_e_dynamic_reconfigure/str_param

/rosdistro

/roslaunch/uris/host_172_20_10_4__42553

/rosversion

/run_id

$ rosparam get /node_e_dynamic_reconfigure/double_param

0.1$ rosparam set /node_e_dynamic_reconfigure/double_param 0.3

$ rosparam get /node_e_dynamic_reconfigure/double_param

0.3

python 隨機森林調參 隨機森林調參

前兩天寫了個scikit learn初步學習,今天沒事又照著寫了個rf模型的,剛開始還不懂這個python列表推導式,想了想還是挺好用的。然後用了gridsearchcv這個引數優化類,遍歷多種引數組合 也就是暴搜最優引數組合 通過交叉驗證確定最佳效果引數。所以優化完可能對訓練資料擬合更差,泛化能力...

RNN 調參經驗

調了快1年的rnn,深刻的感受到,深度學習是一門實驗科學,下面是一些煉丹心得.後面會不斷補充.有問題的地方,也請大家指正.引數初始化,下面幾種方式,隨便選乙個,結果基本都差不多.uniform w np.random.uniform low scale,high scale,size shape g...

機器學習 調參

在實際調整引數之前,我們先要搞清楚兩個事情 1.調參的目的是什麼?2.調參調的東西具體是什麼?第乙個問題 調參的目的是什麼?調參的最終目的是要使訓練之後的模型檢測物體更精確,向程式的方向更靠近一步的話,就是使得損失函式 例如ssd中的loss 盡量小 因為利用訓練集訓練出來的模型質量在訓練過程中只能...