ros的一些常用命令

一.一些ros 的命令
1.rospack :可以找到软件包的路径 # rospack find [包名称] $ rospack find roscpp
2.roscd :它允许你直接切换(cd)工作目录到某个软件包或者软件包集当中,用法:# roscd [本地包名称[/子目录]]
示例:$ roscd roscpp
为了验证我们已经切换到了roscpp软件包目录下,现在我们可以使用Unix命令pwd来输出当前工作目录:$ pwd
你应该会看到:YOUR_INSTALL_PATH/share/roscpp
3.rosls :它允许你直接按软件包的名称而不是绝对路径执行ls命令
例如 :rosls 本地包名称/子目录
$ rosls roscpp_tutorials 应输出: cmake package.xml srv
4.rostopic系列《详见 ROS/Tutorials/UnderstandingTopics/》
4.1:rostopic list能够列出所有当前订阅和发布的话题。让我们查看一下list子命令需要的参数,在一个新终端 运行: $ rostopic list-h 查看子命令 《详见 ROS/Tutorials/UnderstandingTopics/》
4.2 rostopic echo {topic} 可以显示在某个话题上发布的数据
4.3 rostopic pub
5.rosservice系列 r o s s e r v i c e l i s t 查 看 有 多 少 s e r v i c e , rosservice list查看有多少service , rosservicelistservicerosservice call [service] [args(参数)] 来调用服 如果不知道具体参数用 $rosservice type [service]来查看
rosparam 得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据
同样rosparam list 看当前节点的参数服务器上有那些参数,rosparam get [param_name]获取参数的值
rosparam set [param_name] [args]去设定参数的值
6.ros_console 就是一个看输出的框,而且里面可以改输出信息的日志等级,
roslaunch 可以启动定义在 launch文件中的多个节点*****(详细查)
7.rosed 是 rosbash 的一部分。利用它可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径了但是现在还没装vim

8.1.<总结>要找到一个软件包的目录,使用 rospack find命令:rospack find package-name
查看软件包:要查看软件包目录下的文件,使用如下命令:rosls package-name
如果想“访问”某软件包目录,可以将当前目录切换至此软件包目录,使用如下命令:roscd package-name

未完待续

### ROS2 常用命令及使用方法 #### 创建功能包 为了创建一个新的ROS2功能包,可以利用`ros2 pkg create`命令。此命令允许指定编译方式以及依赖项等内容。例如,要创建一个名为`example_package`的功能包,并设置其构建类型为Python,则可执行如下命令[^3]: ```bash ros2 pkg create --build-type ament_python example_package ``` #### 克隆特定分支的仓库 当需要从GitHub克隆某个项目并指定期望获取的具体版本或分支时,可以通过附加`-b`参数给`git clone`命令实现这一目标。比如想要下载`examples`库中的`galactic`分支到本地路径下的`src/examples`目录中,应运行下面这条语句[^2]: ```bash git clone https://github.com/ros2/examples src/examples -b galactic ``` #### 启动节点与查看状态 启动单个节点可以直接通过调用该节点对应的可执行文件完成。而监控当前系统内所有活动节点的状态则需要用到`ros2 node list`命令。这有助于开发者了解哪些进程正在运行以及它们之间的通信情况。 对于更详细的节点信息查询,如订阅的话题、发布的服务等,有专门设计好的子命令可供选用,像这样: ```bash ros2 node info /node_name ``` 上述命令会打印出关于指定名称节点的信息概览[^1]。 #### 发布话题消息 如果希望向某话题发布一条测试消息,那么就可以借助于`ros2 topic pub`这个便捷工具来做这件事。它支持多种数据类型的序列化对象发送操作,只需按照提示输入相应字段即可达成目的。举个例子来说,假设有一个叫作`chatter`的标准字符串型话题,现在打算往里面塞入一段文字内容,那么应该这样做: ```bash ros2 topic pub /chatter std_msgs/msg/String "data: 'hello world'" ``` #### 订阅话题监听器 相反地,在另一端设立接收者来捕获来自选定主题的数据流也是十分必要的。为此提供了`ros2 topic echo`指令帮助我们轻松建立这样的连接关系。只要给出感兴趣的主题名就能实时跟踪最新到达的消息体了。 ```bash ros2 topic echo /chatter ``` #### 查看可用的服务列表 除了常规的消息传递机制之外,ROS还定义了一套完善的服务接口体系用于处理请求响应式的交互逻辑。因此有必要掌握如何罗列现有的远程过程调用选项——即运用`ros2 service list`来进行检索工作。 进一步深入探究每一个单独服务的操作细节同样重要,这时就要依靠`ros2 service type`配合具体的service id才能获得完整的签名描述。 ```bash ros2 service type /add_two_ints ``` 最后还可以尝试实际发起一次RPC呼叫看看效果怎样,这就得靠`ros2 service call`加上完整的目标地址连同所需携带的有效载荷一起构成了整个动作表达式。 ```bash ros2 service call /add_two_ints example_interfaces/srv/AddTwoInts "{a: 1, b: 2}" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值