ROS基础

操作命令行——功能

SourceURL:file:///home/rogen/文档/WPS Cloud Files/595771602/桌面/文字文稿1.docx

pwd                      搜索当前路径

cd (目标路径)             前往该文件夹路径

cd ..                    返回之前路径

ls                       查询当前文件夹内容

mkdir(自定义文件名)          创建文件夹

touch (自定义文档名)        创建文档

mv (文档) (目标路径)        剪切该文档至目标路径

cp (文档)(目标路径)/(新文档名)      拷贝当前文档至新路径内

rm (文档)                删除文档

rm -r (文件名)         删除文件夹  -r是指用递归方式删除文件夹里的文件

rm --help

sudo                     用于提高用户权限

unzip -O CP936 (压缩包名)        解压得用这个,不然会乱码

g++ (c++_for.cpp程序文件名) -o (c++_for)     编译c++文件

./(c++_for编译后文件)               运行c++文件

python (python_for.py 文件名)           解析python文件

rospack   管理、查询和检查ROS软件包(packages)的信息

rosrun   用包名运行软件包内的节点

rqt_graph   查看系统中运行的计算图

rqt_plot     在滚动时间图上显示发布到某个话题上的数据

各种命令行细节

rosnode

rosnode ping                                  test connectivity to node

rosnode list                                    list active nodes

rosnode info /(节点名称)               print information about node

rosnode machine                           list nodes running on a particular machine or list machines

rosnode kill                                      kill a running node

rosnode cleanup                             purge registration information of unreachable nodes

rostopic

rostopic bw                               display bandwidth used by topic

rostopic delay                          display delay of topic from timestamp in header

rostopic echo                           print messages to screen显示在某个话题上发布的数据

rostopic find                             find topics by type

rostopic hz                               display publishing rate of topic  报告数据发布的速率  

rostopic info                             print information about active topic

rostopic list                              list active topics

rostopic pub /话题名              发布指令的内容 publish data to topic  把数据发布到当前某                                        个正在广播的话题上  

rostopic type                             print topic or field type

rosmsg

rosmsg show               Show message description

rosmsg info                  Alias for rosmsg show

rosmsg list                   List all messages

rosmsg md5                 Display message md5sum

rosmsg package          List messages in a package

rosmsg packages        List packages that contain messages

rosservice

rosservice args                 print service arguments

rosservice call                  call the service with the provided args用给定的参数调用服务

rosservice find                  find services by service type按服务的类型查找服务

rosservice info                  print information about service

rosservice list                   list active services 输出活跃服务的信息

rosservice type                 print service type输出服务的类型

rosservice uri                    print service ROSRPC uri输出服务的ROSRPC uri

rosbag

rosbag record -a -o cmd_record               话题记录,保存数据

rosbag play (cmd_record.bag看保存时文件名)          话题复现

rosbag info (  )                                            查看其中内容

roscp

roscp [package_name] [file_to_copy_path] [copy_path]        将文件从一个包复制到另一个包。

rosed

rosed [package_name] [filename]      直接通过软件包名编辑包中的文件,而无需键入完整路径

roswtf

roswtf    检查系统并尝试发现问题

rosdep

rosdep 能够下载并安装ROS packages所需要的系统依赖项的小工具

rosparam

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

创建工作空间

mkdir (catkin_ws文件夹名)     [mkdir -p demo1_ws/src]可这样

cd catkin_ws/

mkdir src

(cd src/

catkin_init_workspace)

编译工作空间(编译后发现没有install文件,通过catkin_make install增加)

cd catkin_ws/

catkin_make     

(catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3)

(code . 跳转vscode       ctrl+shift+b  (catkin_make:build)编译    ctrl+s保存)

创建功能包(一定要放进src中)

catkin_create_pkg (功能包名) (依赖1) (依赖2)

设置环境变量(才能让系统找到工作空间)

source devel/setup.bash

(这步可以用下面操作代替掉:在文档主目录中按ctrl+h找到.bashrc文件,打开后在最后加上source  ~/工作空间/devel/setup.bash保存后退出,打开终端输入 source  .bashrc即可 )

检查环境变量(查找工作空间的路径)

echo  $ROS_PACKAGE_PATH

launch文件

<launch>

<node   pkg="package-name"   type="executable-name" name="node-name"  output =”screen” />

</launch>

(pkg:节点所在的功能包名称   type:节点的可执行文件名称  name:节点运行时的名称  output:将某一信息打印至终端\respawn:某一节点挂掉后重启\required:某一节点是否一定要启动\ns:命名空间\args:给每个节点输入一些参数)

参数设定:

1、<param>/<rosparam>:

设置ros系统运行中的参数,存储在参数服务器中:

<param name="output_frame"value="odom"/> //(name参数名   value参数值)

加载参数文件中的多个参数:

<rosparam file="params.yaml"comand="load"ns="params"/>

2、<arg>:

launch文件内部的局部变量,仅限于launch文件使用:

<launch>
  <arg name="updata_value" default="1"/>
  <param name="calculation_method" type="int" value="$(arg updata_value)" />
  <node pkg="ros_tutorials_service" type="service_server" name="service_server" output="screen"/>
</launch> 

3、重印射<remap>

重印射ros计算图资源的命名

<remap from ="/turtlebot/cmd_vel"to="/cmd_vel"/>

(turtlebot原来的名字 from原命名 to 印射后的命名)

4、<rosparam>加载.yaml的配置文件

在功能包下面建一个config文件夹,放入参数配置文件service.yaml

launch文件内容变为:

<launch>

  <node pkg="ros_tutorials_service" type="service_server" name="service_server" output="screen"/>

  <rosparam command="load" file="$(find ros_tutorials_service)/config/service.yaml"/>
  
</launch>

参数服务器获取参数

演示参数查询:

在 roscpp 中提供了两套 API 实现参数操作

ros::NodeHandle

param(键,默认值)

存在,返回对应结果,否则返回默认值

getParam(键,存储结果的变量)

存在,返回 true,且将值赋值给参数2

若果键不存在,那么返回值为 false,且不为参数2赋值

getParamCached键,存储结果的变量)--提高变量获取效率

存在,返回 true,且将值赋值给参数2

若果键不存在,那么返回值为 false,且不为参数2赋值

getParamNames(std::vector<std::string>)

获取所有的键,并存储在参数 vector 中

hasParam(键)

是否包含某个键,存在返回 true,否则返回 false

searchParam(参数1,参数2)

搜索键,参数1是被搜索的键,参数2存储搜索结果的变量

ros::param ----- 与 NodeHandle 类似

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值