ROS之命令总结

创建新的catkin包

catkin_create_pkg [depend1] [depend2] [depend3]

$catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

 

解析urdf:

$check_urdf****.urdf

 

rosrun允许您使用包名直接在包中运行一个节点(无需知道包路径)。

$rosrun [package_name] [node_name]

 

发布实时消息

rostopicpub [topic] [msg_type] [args]

$rostopic pub  /turtle1/cmd_velgeometry_msgs/Twist -1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

上面的命令里面的 -1 表示: 只发布一次,维持3秒,然后退出,

“[2.0,0.0,0.0]”成为x=2.0, y=0.0, z=0.0,以及“[0.0,0.0,1.8]”的线性值,为x=0.0, y=0.0, z=1.8的角度值。

$rostopic pub  /turtle1/cmd_velgeometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

上面这句里的 -r 1 指的是:以 1Hz 的速度循环发送 -- 后面的信息

 

rostopichz报告数据发布的速率。

rostopichz [topic]

 

rqt_plot数据转换成波形

$rosrun rqt_plot  rqt_plot

 

实现了将文件从一个package复制到另外一个package的功能。

$roscp [package_name] [file_to_copy_path] [copy_path]

$roscp rospy_tutorials AddTwoInts.srv srv/AddTwoInts.srv

ROS常用命令集锦

http://blog.csdn.net/nnnnnnnnnnnny/article/details/75213524

http://blog.csdn.net/nnnnnnnnnnnny/article/details/75213524

http://blog.csdn.net/qq_36355662/article/details/62424704

一、创建 ROS 工作空间

1、启动 ROS       

$     roscore

2、创建工作环境

$     mkdir -p ~/catkin_ws/src

$     cd ~/catkin_ws/src

$     catkin_init_workspace

3、编译 ROS 程序

$     cd ~/catkin_ws

$     catkin_make

4、添加程序包到全局路径

$     echo "sourcecatkin_ws/devel/setup.bash" >> ~/.bashrc

$     source ~/.bashrc

5、设置工作空间,ROS环境变量,及变量路径

$    gedit ~/.bashrc

$    echo $ROS_PACKAGE_PATH 

二、Package 相关操作

1、创建 Package 并编译

$     cd ~/catkin_ws/src

$     catkin_create_pkg [depend1] [depend2] [depend3]

$     cd ~/catkin_ws

$     catkin_make

2、查找 Package

$     rospack find [package name]

3、查看 Package 依赖

$    rospack depends

$    rospack depends1

三、Node 相关操作

1、查看所有正在运行的 Node

$     rosnode list

2、查看某节点信息

$     rosnode info [node_name]

3、运行 Node

$     rosrun [package_name] [node_name][__name:=new_name]

四、Topic 相关操作

1、查看 rostopic 所有操作

$     rostopic -h

2、查看所有 Topic 列表

$     rostopic list

3、图形化显示 topic

$     rosrun rqt_graph rqt_graph

$     rosrun rqt_plot rqt_plot

4、查看某个 Topic 信息

$     rostopic echo [topic]

5、查看 Topic 消息格式

$     rostopic type [topic]

$     rosmsg show [msg_type]

6、向topic发布消息

$     rostopic pub [-1] [-r 1] -- [args] [args]

五、Service 相关操作

1、查看所以service操作

$     rosservice -h

2、查看 service 列表

$     rosservice list

3、调用 service

$     rosservice call [service] [args]

4、查看 service 格式并显示数据

$     rosservice type [service] | rossrv show

5、设置service parameter

$     rosparam set [parame_name] [args] +rosservice call clear

6、获得parameter

$     rosparam get [parame_name]

7、加载parameter

$     rosparam load [file_name] [namespace]

8、删除parameter

$     rosparam delete

六、Bag 相关操作

1、录制所有topic变化

$     rosbag record -a

2、记录某些topic

$     rosbag record -O subset

3、查看bag信息

$    rosbag info

4、回放

$     rosbag play (-r 2)

 

 

 

1.需要文件修改权限的文件访问时在代码前加:sudo

Linux命令学习笔记之一目录与文件基本操作,,网址:http://blog.51cto.com/indigotang/1748206

目录操作

cd:进入目录

   基本格式:cd 目录名

   例子:

     1)、在当前目录进入子目录a,输入“cd a

      2)、在当前目录进入根目录下的子目录tmp,输入“cd /tmp

 

cd ..:返回上一级目录

   基本格式:cd ..

   例子:当前目录/tmp/sa/eet

      1)、返回上一级目录,输入“cd ..

     2)、返回tmp目录,输入“cd ../..

cd- :返回到上次访问的目录

http://blog.csdn.net/youngpan1101/article/details/61196300

http://blog.sina.com.cn/s/blog_12eb0ce3b0102xhyv.html

ls:显示目录中的文件与子目录

    基本格式:ls[-可选项]

    例子:当前目录/tmp

      1)、显示当前目录内的文件与目录,输入“ls”

      2)、显示/home目录内的文件与目录,输入“ls /home”

 

pwd:显示目录完整路径信息

    基本格式:pwd

 

mkdir:创建新目录

    基本格式:mkdir目录名称

    例子:当前目录/tmp/sa/eet

      1)、在当前目录下创建一个名为abc的目录,输入“mkdir abc”

      2)、在根目录下创建一个名为group1的目录,输入“mkdir /group1”

       3)、在当前目录下创建这样一组目录group/user/id,输入“mkdir-p group/user/id”

       4)、在根目录下创建这样一组目录/ie/temp/hi,输入“mkdir-p /ie/temp/hi”

 

mv:重命名和移动目录

    基本格式:

      重命名:mv旧目录名 新目录名

      移动:mv要移动的目录名 目的路径

    例子:当前目录/home

      1)、将目录aaa重命名为bbb,输入“mv aaa bbb”

      2)、将当前目录下aaa目录移动动到根目录,输入“mv aaa /”

      3)、将根目录下a_1目录移动到当前目录,输入“mv /a_1 /home”

 

cp-r:复制目录

    基本格式:cp-r 要复制的目录名 复制后的目录名

    例子:当前目录/home

      1)、当前目录下名为abc的目录复制一份,并命名为cba,输入“cp -r abc cba”

      2)、将当前目录名为abc的目录复制到/tmp目录下,复制后的名称仍然是abc,

        输入“cp-r abc /tmp”

      3)、将当前目录名为abc的目录复制到/tmp目录下,并重命名为cba,

        输入“cp-r abc /tmp/cba”

      4)、将/tmp目录中的cba目录复制到当前目录下,复制后名称仍然是cba,

        输入“cp-r /tmp/cba /home”

      5)、将/tmp目录下的cba目录复制到当前目录下,并重命名为abc,

        输入“cp-r /tmp/cba /home/abc”

 

rm-r:删除目录

    基本格式:rm-r 要删除的目录名称

    例子:当前目录/home

      1)、删除当前目录下的名为abc的目录,输入“rm -r abc”。

        如果要删除的目录是空目录,则会直接删除;

        如果删除的目录不为空,则会提示“rm: descend into directory `abc'?”,只要

        输入“y”。

      2)、删除/tmp目录下aaa目录,输入“rm -r /tmp/aaa”

 

rm-rf:强制删除目录

    基本格式:rm-rf 要删除的目录名称

    注意:使用该命令时不会有任何提示,在使用前一定要确认路径,以免误删造成损失

 

文件操作

touch:创建新的文件

    基本格式:touch文件名称

    例子:当前目录/home

      1)、当前目录下创建一个名为big的文件,输入“touch big”

      2)、在根目录下创建一个名为small的文件,输入“touch /small”

      3)、在/tmp目录下创建一个名为middle的文件,输入“touch /tmp/middle”

 

cp:复制文件

基本格式:cp-r 要复制的目录名 复制后的目录名

    例子:当前目录/home

      1)、当前目录下将名为big的文件复制一份,并重命名为bigger,输入“cp big bigger”

      2)、将当前目录下名为big的文件复制一份到/tmp目录中,文件名称仍然为big,

        输入“cp–r big ~/tmp/big”

      3)、将当前目录下名为small的文件复制一份到/tmp目录中,并重命名为smaller,

        输入“cp–r small ~/tmp/smaller”

      4)、将/tmp目录下名为middle的文件复制一份到/usr,文件名称仍然为middle,

        输入“cp–r ~/tmp/middle ~/usr/middle”

      5)、将/tmp目录下名为list的文件复制一份到/usr,并重命名为list.bak,

        输入“cp–r ~/tmp/list ~/usr/list.bak”

同意模板:将catkin_ws/src/test_robot下的robot.urdf文件复制到catkin_ws/src/robot_description下,并保持名字不变,

$cp–r ~/catkin_ws/src/test_robot/robot.urdf~/catkin_ws/src/robot-description/robot.urdf

          

rm:删除文件

    基本格式:rm文件名

    例子:当前目录/home

      1)、将当前目录中名为same的文件,输入“rm same”,

        回车后回有提示“rm:remove regular empty file `same'?”,在提示后输入“y”

      2)、删除/tmp目录中名为tnsname.bak的文件,输入“rm /tmp/tnsname.bak”,

        回车后回有提示“rm:remove regular empty file `tnsname.bak'?”,

        在提示后输入“y”

 

rm-rf:强制删除文件

    基本格式:rm-rf 文件名

    注意:使用该命令时不会有任何提示,在使用前一定要确认路径,以免误删造成损失

 

mv:重命名和移动文件

    基本格式:

      重命名:mv旧文件名 新文件名

      移动:mv要移动的文件名 目的路径

    例子:当前目录/home

      1)、重命名当前目录中名为sam的文件为sam.bak,输入“mv sam sam.bak”

      2)、将当前目录中名为sam的文件移动到/tmp目录下,文件名仍然为sam,

        输入“mvsam /tmp”

      3)、将当前目录中名为sam的文件移动到/tmp目录下,并重命名为sam.bak,

        输入“mvsam /tmp/sam.bak”

      4)、将/tmp目录中名为test的文件移动到/usr目录下,文件名仍然为test,

        输入“mv/tmp/test /usr”

      5)、将/usr目录中名为test的文件移动到/tmp目录下,并重命名为test.bak,

        输入“mv/usr/test /tmp/test.bak”

 

cat:查看文件内容

    基本格式:cat文件名

    例子:当前目录/home

      1)、查看当前目录下名为gif的文件,输入“cat gif”

      2)、查看/tmp目录下名为hill的文件,输入“cat hill”

 

head-n:查看文件前n行的内容

    基本格式:head-n 文件名

    例子:当前目录/home

      1)、查看当前目录下名为gif的文件前10行的内容,输入“head -10 gif”

      2)、查看/tmp目录下名为hill的文件前2行的内容,输入“head -2 hill”

 

tail-n:查看文件后n行的内容

    基本格式:tail-n 文件名

    例子:当前目录/home

      1)、查看当前目录下名为gif的文件后10行的内容,输入“tail -10 gif”

      2)、查看/tmp目录下名为hill的文件后2行的内容,输入“tail -2 hill”

 

tail-f:实时监控文件的变化

    基本格式:tail-f 文件名

 

more:向后分页查看文件内容

    基本格式:more文件名

    注意:使用该命令只能向后分页查看文件内容,向后翻页按空格键

 

less:向前向后分页查看文件内容

    基本格式:less文件名

    注意:使用该命令向前向后翻页按上下箭头

 

linux命令之cd,ls,vi进入及退出文件

一、cd用来进入指定的某个目录。

cd -          #回到上次所在目录,感觉还是比较有用,省略了很多输入。

cd !$          #把上个命令的参数作为输入。

cd           #回到主目录

cd ~         #同样也是回到主目录

 

二、ls列出当前目录下的文件。

 

ls命令是我们常用的几个命令,但是其中有一些很有用的参数我们往往不是很清楚,现在介绍如下:

 

  -t-c 按照时间顺序显示

 

  -p-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。

 

  -r对目录反向排序。

 

  -s在每个文件名后输出该文件的大小。

 

  -u以文件上次被访问的时间排序。

 

  -S以文件大小排序。

 

  -d将目录象文件一样显示,而不是显示其下的文件。

 

  -X以文件的扩展名(最后一个. 后的字符)排序。

 

三、vi命令用来打开文件。

 

       vi filename :打开或新建文件,并将光标置于第一行首

 

  vi+n filename :打开文件,并将光标置于第n行首

 

  vi+ filename :打开文件,并将光标置于最后一行首

 

  vi+/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

 

  vi-r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

 

  vifilename....filename :打开多个文件,依次进行编辑

 

四、退出文件

 

       退出Vi

  

  当编辑完文件,准备退出Vi返回到shell时,可以使用以下几种方法之一。

  

  在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,返回到shell。

  

  在末行模式下,输入命令

  

  :wbitsCN.nET中国网管博客

  

  Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。

        在末行模式下,输入命令

  

  :q

  

  系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息:

  

  Nowrite since last change (use! to overrides)

  

  提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令

  

  :q!

  

  Vi放弃所作修改而直接退到shell下。

  

  在末行模式下,输入命令

  

 

Play.bitsCN.com小游戏

 

 

  :wq

  

  Vi将先保存文件,然后退出Vi返回到shell。

 

修改文件的权限:

http://blog.csdn.net/sinat_30071459/article/details/51191693

https://www.cnblogs.com/avril/archive/2010/03/23/1692809.html

Linux修改文件属性和权限

在Linux下,和文件有关的身份有用户组,所有者,others,这三种身份又有三种权限,即r(读)、w(写)、x(执行)。

 

首先,文件权限描述由10个字符组成,例如,“-rwxr-xr--”、"drwxr-xr-x".

其中,第一个字符的含义为:

d:表示目录

-:表示文件

l:表示连接文件

b:表示设备文件里面的可供存储的接口设备

c:表示设备文件里面的串行端口设置,例如键盘、鼠标

 

接下来的9个字符,分为三组,每组三个字符,均为“rwx”的三个参数组合。这三个字符的位置不会改变,如果没有某权限,则出现‘-’号。

这三组字符中,第一组表示文件所有者的权限;第二组表示同用户组的权限;第三组表示others的权限。

 

1、修改文件所属用户组

命令:chgrp

例如,修改文件install.log的所属用户组为users,则输入命令:

[plain] view plain copy

# chgrp users install.log 

2、修改文件所有者

命令:chown

例如,修改install.log的所有者为bin,则输入命令:

[plain] view plain copy

# chown bin install.log 

3.修改权限

命令:chmod

我们知道,Linux文件的基本权限有9个,分别是owenr、group、others三种身份各自有自己的r、w和x。假如文件的权限字符为:“-rwxrwxrwx”,这9个权限是三个三个一组的,我们可以使用数字表示权限:

r->4

w->2

x->1

所以,当文件权限为“-rwxrwx---”时,分数是:

owner->4+2+1=7

group->4+2+1=7

others->0+0+0=0

此时文件的权限数字就是770.

 

假如有一文件bashrc,权限字符为“-rwxrwxrwx”,我们需要修改为“-rwxr-xr--”,计算得权限数字为754,所以,执行命令:

[plain] view plain copy

# chmod 754 bashrc 

 

还有一个改变权限的办法。我们知道文件有9个基本权限,分别是owner、group和others三种身份各自的三个权限,我们用u、g、o代表三种身份,用a(all)代表所有身份,得到下表:

 

例如,我们可以这样设置文件bashrc的权限:

[plain] view plain copy

# chmod u=rwx,go=rx bashrc 

 

即user权限为rwx,group和others的权限均为rx。

如果我们想让每个人都可对文件bashrc写入,则可以:

[plain] view plain copy

# chmod a+w bashrc 

 

而如果要将权限去掉,则用-。例如我们去掉全部人的执行权限:

[plain] view plain copy

# chmod a-x bashrc

 

 

roslaunch的语法为

Usage: roslaunch [options] [package] [arg_name:=value…]

roslaunch 包名文件名参数名:=

 

你可能感兴趣的:(ROS)