创建新的catkin包
catkin_create_pkg
$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
$ 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]
五、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 包名文件名参数名:=值