Znn3bq.jpeg
²é¿´: 524  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ²ÄÁϹ¤³Ì085601£¬270Çóµ÷¼Á +35 @ASDF1234 2026-04-08 37/1850 2026-04-13 01:18 by ÐÒÃâ ..
[¿¼ÑÐ] ²ÄÁÏ085601µ÷¼Á +27 ºÎÈó²É123 2026-04-10 29/1450 2026-04-12 22:31 by fqwang
[¿¼ÑÐ] µ÷¼Á +25 ²»·ê´º 2026-04-07 26/1300 2026-04-12 11:53 by ´óÁ¦Ë®ÊÖÁ¦´óÎÞÇ
[¿¼ÑÐ] 335Çóµ÷¼Á +13 ÏëÉϰ¶Ñ½£¡£¡ 2026-04-12 13/650 2026-04-12 11:37 by ²ñС°×
[¿¼ÑÐ] µ÷¼Á +10 ÔÂ@163.com 2026-04-11 10/500 2026-04-12 09:14 by zhouyuwinner
[¿¼ÑÐ] 331Çóµ÷¼Á +5 Íõ¹ú˧ 2026-04-11 5/250 2026-04-11 22:56 by Ϫ½§Á÷Ë®
[¿¼ÑÐ] 296Çóµ÷¼Á +14 Íô£¡£¿£¡ 2026-04-08 15/750 2026-04-11 20:28 by dongdian1
[¿¼ÑÐ] Çóµ÷¼Á +11 ôæôæÒ»ÊéÉú 2026-04-09 11/550 2026-04-11 19:57 by ÄæË®³Ë·ç
[¿¼ÑÐ] µ÷¼Á +5 ÎĵÀÐÇ̨ 2026-04-11 5/250 2026-04-11 15:01 by ¿­¿­Òª±ä˧
[¿¼ÑÐ] 085404 298·ÖÇóµ÷¼Á +10 ºôÀ²ºôÀ²ºôºôºô 2026-04-10 11/550 2026-04-10 16:44 by wangy0907
[¿¼ÑÐ] ³õÊÔ261 +3 AshtÉÙ 2026-04-10 6/300 2026-04-10 16:38 by AshtÉÙ
[¿¼ÑÐ] Ò»Ö¾Ô¸0703»¯Ñ§ÕÐ61×îÖÕÅÅÃû62»¯Ñ§Çóµ÷¼Á +24 ÕÐ61ÅÅÃû62 2026-04-07 28/1400 2026-04-10 16:15 by yx54321
[»ù½ðÉêÇë] Óб¬ÁÏ£¬Ò»¸öÇàÄê½ÌʦÂô·¿µÃ400Íò£¬È»ºó»»ÁËÒ»¸öËÄÇàñ×Ó +9 babu2015 2026-04-08 9/450 2026-04-10 11:43 by ËÕ¶«ÆÂ¶þÊÀ
[¿¼ÑÐ] 292Çóµ÷¼Á +9 ЦЦԬ 2026-04-09 9/450 2026-04-10 10:05 by LHGeng
[¿¼ÑÐ] 086000ÉúÎïÓëÒ½Ò©µ÷¼Á +7 awwwwwooooo 2026-04-09 7/350 2026-04-09 13:31 by ±±¼«159263
[¿¼ÑÐ] ÉúÎïѧ328·ÖÇóµ÷¼Á +9 ÉÁµçkkl 2026-04-08 10/500 2026-04-08 21:42 by liuhuiying09
[¿¼ÑÐ] µç×ÓÐÅÏ¢346 +4 zuoshaodian 2026-04-08 4/200 2026-04-08 11:54 by zzucheup
[¿¼ÑÐ] µ÷¼ÁÇóÖú£¨ÉúÎïÓëÒ½Ò©£© +6 @6952 2026-04-06 6/300 2026-04-07 23:52 by lys0704
[¿¼ÑÐ] Ò»Ö¾Ô¸Î÷µç085401Çóµ÷¼Á +4 sunw1306 2026-04-07 4/200 2026-04-07 16:40 by à£à£à£0119
[¿¼ÑÐ] µ÷¼Á +4 mcbbc 2026-04-06 5/250 2026-04-07 12:33 by upczlm1989
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û