Znn3bq.jpeg
²é¿´: 523  |  »Ø¸´: 1

yadan33

гæ (³õÈëÎÄ̳)

[½»Á÷] ROS-service & parameter

ÕâÊÇÒ»ÖÖµ¥¶Ôµ¥µÄÐÎʽ£¬²»ÓÃÓë֮ǰµÄ·¢²¼ºÍ¶©ÔÄ
rosservice list         print information about active services
rosservice call         call the service with the provided args
rosservice type         print service type
rosservice find         find services by service type
rosservice uri          print service ROSRPC uri

¿´¿´µ±Ç°nodeµÄ·þÎñ
$ rosservice list

²é¿´ÀàÐÍrosservice type [service]
$ rosservice type clear
std_srvs/Empty
£­£­±íʾµ±·þÎñcallʱ£¬Ã»ÓÐÈκβÎÊý£¨·¢ËÍÇëÇóÊÇûÓÐÊý¾Ý£¬½ÓÊÜÏìӦʱҲûÓÐÊý¾Ý

µ÷ÓÃ
rosservice call [service] [args]
$ rosservice call /clear
Çå³ýÁË֮ǰµÄ¹ì¼£

$ rosservice type spawn | rossrv show
£­£­ÏÔʾ·þÎñÃèÊö

$ rosservice call spawn 2 2 0.2 ""
£­£­£­´´½¨ÐµÄСº£¹ê£¬¸ø¶¨²ÎÊýx,y,theta,name£¨ÕâÀïnameΪ¿Õ£©Ëû×Ô¶¯·µ»Øname:
turtle2

²ÎÊý
rosparam set            set parameter
rosparam get            get parameter
rosparam load           load parameters from file
rosparam dump           dump parameters to file
rosparam delete         delete parameter
rosparam list           list parameter names


rosparam set [param_name]
rosparam get [param_name]

$ rosparam get /
Here we write all the parameters to the file params.yaml

$ rosparam dump params.yaml
You can even load these yaml files into new namespaces, e.g. copy:

$ rosparam load params.yaml copy
$ rosparam get copy/background_b





Using rqt_console and roslaunch

Èç¹ûûװrqt»òÕßturtlesim
$ sudo apt-get install ros-<distro>-rqt ros-<distro>-rqt-common-plugins ros-<distro>-turtlesim

rxconsole ÊÇÁ¬½ÓROS ÈÕÖ¾Îĵµ£¬²¢½«½ÚµãµÄÕâЩÐÅÏ¢ÏÔʾÔÚ´°ÌåÄÚ¡£
rxloggerlevel ¿ÉÒÔÏÔʾÔËÐÐÖнڵãµÄDEBUG£¬WARN£¬INFO ºÍERRORÐÅÏ¢

ÓÃÀ´ÏÔʾ½ø³ÌÔËÐйý³ÌÖгöÏֵĴíÎ󾯸æÖ®Àà
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'
»á±¨´í
ÈÕÖ¾(logger)²ã ÐÅÏ¢°üÀ¨£ºFatal, Error, Warn, Info, Debug£¬ËûÃÇÉèÖÃÒÀ´Î´Ó¸ßµ½µÍ£¬±ÈÈçÉèÖÃWarn,ÎÒÃDZØÐëÖªµÀInfo, DebugÐÅÏ¢£¬ÎÒÃÇ¿ÉÒÔ×ö»¹ÔÚÉèÖÃÖªµÀwarnning



roslaunch

$ roslaunch [package] [filename.launch]

´ò¿ª°ü
$ roscd beginner_tutorials
Èç¹û³öÏÖÀàËÆÕâÖÖ´íÎóNo such package/stack 'beginner_tutorials' £¬ÒªÏÈsourceһϻ·¾³
$ cd ~/catkin_ws
$ source devel/setup.bash
$ roscd beginner_tutorials
ÔÙÀ´½¨Ò»¸ölaunchÎļþ¼Ð
$ mkdir launch
$ cd launch
ÆäʵҲ¿ÉÒÔ²»Óý¨£¬roslauchÃüÁî»á×Ô¼ºÈ¥Ñ°ÕÒ.launchÎļþ
½¨Ò»¸öturtlemimic.launchÎļþ£¬ÄÚÈÝÈçÏÂ
   1 <launch>
   2
   3   <group ns="turtlesim1">
   4     <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
   5   </group>
   6
   7   <group ns="turtlesim2">
   8     <node pkg="turtlesim" name="sim" type="turtlesim_node"/>
   9   </group>
  10
  11   <node pkg="turtlesim" name="mimic" type="mimic">
  12     <remap from="input" to="turtlesim1/turtle1"/>
  13     <remap from="output" to="turtlesim2/turtle1"/>
  14   </node>
  15
  16 </launch>

launchÎļþÚ¹ÊÍ£º



1
<launch>£­£­£­£­ÒÔlaunch×÷ΪlaunchÎļþ¿ªÍ·


23
<group

ns="turtlesim1">
£­£­£­£­ÒÔturlesim1ΪÃûµÄÎļþ¼Ð»òÕßÃüÃû¿Õ¼äµÄ½Úµã

4
<node

pkg="turtlesim"

name="sim"

type="turtlesim_node"/>


5
</group>6


7
<group

ns="turtlesim2">£­£­£­£­ÒÔturlesim2ΪÃûµÄÎļþ¼Ð»òÕßÃüÃû¿Õ¼äµÄ½Úµã


8
<node

pkg="turtlesim"

name="sim"

type="turtlesim_node"/>


9
</group>



10



11
<node

pkg="turtlesim"

name="mimic"

type="mimic">£­£­£­ÔÚÖ÷ÌâÉÏÄ£·Â½ÚµãµÄÊäÈëºÍÊä³ö£¬²¢ÖØÃüÃûturlesim1,turlesim2,±ÈÈ磺turlesim1±ä³Émimicturtlesim1


12
<remap

from="input"

to="turtlesim1/turtle1"/>


13
<remap

from="output"

to="turtlesim2/turtle1"/>



14
</node>



15



16
</launch>
£­£­£­£­¹Ø±ÕlaunchÎļþ

¿ÉÒÔÔËÐÐÒ»ÏÂ
$ roslaunch beginner_tutorials turtlemimic.launch
»á³öÀ´Á½¸öÎÚ¹ê
$ rostopic pub /turtlesim1/turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'
Á½¸öÎÚ¹êÒ»Æð»­Ô²
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

yadan33

гæ (³õÈëÎÄ̳)

Using rosed to edit files in ROS

$ rosed [package_name] [filename]
¿ÉÒÔÖ±½Ó±à¼­°üÀïÃæÎļþ£¬²»ÐèÒªÖªµÀλÖÃ
$ rosed roscpp Logger.msg
This example demonstrates how you would edit the Logger.msg file within the roscpp package

ѧ»áÓÃtab¼ü£¬¾Í²»ÐèÒªÖªµÀÎļþµÄÃû×Ö
$ rosed [package_name] <tab><tab>
Example:

$ rosed roscpp <tab><tab>
»á³öÀ´Ò»¶Ñ
Empty.srv                   package.xml
GetLoggers.srv              roscpp-msg-extras.cmake
Logger.msg                  roscpp-msg-paths.cmake
SetLoggerLevel.srv          roscpp.cmake
genmsg_cpp.py               roscppConfig-version.cmake
gensrv_cpp.py               roscppConfig.cmake
msg_gen.py      

vim²»ÊÇros×Ô´øµÄ£¬¸ÄĬÈϱ༭Æ÷Ϊros×Ô´øµÄnano
You can use it by editing your ~/.bashrc file to include:
export EDITOR='nano -w'
export EDITOR='emacs -nw'

NOTE: changes in .bashrc will only take effect for new terminals. Terminals that are already open will not see the new environmental variable


¿´Ò»Ï¸ijÉûÓÐ
Open a new terminal and see if EDITOR is defined:


$ echo $EDITOR
nano -w
or
emacs -nw
2Â¥2016-08-10 17:44:53
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ yadan33 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 366Çóµ÷¼Á +9 ²»ÖªÃûµÄСئ 2026-04-11 9/450 2026-04-13 01:19 by ÐÒÃâ ..
[¿¼ÑÐ] 279ѧ˶ʳƷרҵÇóµ÷¼ÁԺУ 20+4 ¹Â¶ÀµÄÀǰ®³ÔÑò 2026-04-12 18/900 2026-04-13 01:17 by ÐÒÃâ ..
[¿¼ÑÐ] ¿¼ÑÐÇóµ÷¼Á +3 ban°àСÆß 2026-04-11 3/150 2026-04-11 20:48 by may_ÐÂÓî
[¿¼ÑÐ] 343Çóµ÷¼Á +9 Íõ¹ú˧ 2026-04-10 9/450 2026-04-11 20:31 by dongdian1
[¿¼ÑÐ] 359Çóµ÷¼Á +5 θ¾·ÂÎÀÛÁË 2026-04-11 5/250 2026-04-11 19:55 by lbsjt
[¿¼ÑÐ] 283Çóµ÷¼Á +22 ÄǸöàà×Ó 2026-04-09 22/1100 2026-04-11 10:41 by ÄæË®³Ë·ç
[¿¼ÑÐ] ÉúÎïѧ308Çóµ÷¼Á£¨Ò»Ö¾Ô¸»ª¶«Ê¦´ó£© +6 ÏàÐűػá¹ââÍòÕ 2026-04-10 6/300 2026-04-11 05:23 by zhuwenxu
[¿¼ÑÐ] 284Çóµ÷¼Á +19 èó@@ 2026-04-06 21/1050 2026-04-10 21:12 by zhouxiaoyu
[¿¼ÑÐ] 314Çóµ÷¼Á +18 xhhdjdjsjks 2026-04-09 19/950 2026-04-10 18:53 by HPUCZ
[¿¼ÑÐ] Ò»Ö¾Ô¸»ª¶«Ê¦·¶ÉúÎïѧ326·Ö£¬Çóµ÷¼Á +8 Áõīī 2026-04-09 8/400 2026-04-10 12:00 by pengliang8036
[¿¼ÑÐ] һ־Ը³¶«´óѧ071000ÉúÎïѧѧ˶³õÊÔ·ÖÊý276Çóµ÷¼Á +20 Ľ¾øcc 2026-04-09 24/1200 2026-04-10 10:22 by xujun0624
[¿¼ÑÐ] ²ÄÁÏ299ר˶Çóµ÷¼Á +10 +21 2026-04-09 10/500 2026-04-09 17:34 by 1753564080
[¿¼ÑÐ] ²ÄÁϹ¤³Ìµ÷¼Á +12 СÁõͬѧ߹߹ 2026-04-06 13/650 2026-04-09 17:07 by luoyongfeng
[¿¼ÑÐ] Çóµ÷¼Á²ÄÁÏ¿ÆÑ§Ó빤³ÌÒ»Ö¾Ô¸985³õÊÔ365·Ö +5 ²Ä»¯Àî¿É 2026-04-08 5/250 2026-04-09 17:00 by Lilly_Li
[¿¼ÑÐ] ¸´ÊÔµ÷¼Á£¬Ò»Ö¾Ô¸Ö£ÖÝ´óѧ²ÄÁÏÓ뻯¹¤289·Ö +31 ˶ÐǸ° 2026-04-08 31/1550 2026-04-09 16:54 by Delta2012
[¿¼ÑÐ] 274Çóµ÷¼Á +5 ɽ°¢Âû 2026-04-07 5/250 2026-04-09 15:28 by 18828373951
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤×¨Ë¶306·ÖÕÒºÏÊʵ÷¼Á +27 ²×º£ÇáÖÛe 2026-04-06 28/1400 2026-04-08 22:06 by wdyheheeh
[¿¼ÑÐ] 305Çóµ÷¼Á +4 77Qi 2026-04-06 4/200 2026-04-07 20:06 by shanqishi
[¿¼ÑÐ] 0854Çóµ÷¼Á +9 ºàÊÏ·¬ÇÑɳ˾ 2026-04-06 10/500 2026-04-07 14:37 by shdgaomin
[¿¼ÑÐ] 307Çóµ÷¼Á +3 ËùÄî¼°ËùÍû 2026-04-06 3/150 2026-04-06 17:30 by ÍÁľ˶ʿÕÐÉú
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û