ROS 课堂笔记 2023-10-16

ubantu命令

/ 是根目录

/是根空间,中有namespace(命名空间)

eg:Starting turtlesim with node name /turtlesim

ps                 process status        进程

ps-ef                                          打印进程

top                                               动态打印

UID: 该进程执行的用户id

PID: 进程id

PPID: 该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程被称为僵尸进程

C: cpu的占用率,形式是百分数(%)

STIME: 进程的启动时间

TTY: 终端设备,发起该进程的设备识别符号,如果显示‘ ?’表示该进程并不是由终端发起

TIME: 进程的执行时间

CMD: 该进程的名称或对应的路径
原文链接:https://blog.csdn.net/KevinChen2019/article/details/119697489

netstat -t        显示所有的tcp连接

hostname 用户名

ping 连接显示

URI是什么?                URI(Uniform Resource Identifier)是一种用于标识某个资源的字符串,通常用于指定访问网络资源的方式。

   14:45 c++        ::命名空间的分割符号

隐藏文件添加软件包

为防止source被覆盖,要在后方添加~extend

ROS 计算图(Computation Graph Level)

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

rqt_graph                        rqt是ROS的图形开发平台,是一个基于 Qt 的框架。

Process 进程= Node节点

rqt_graph 查看节点与Topic话题

ROS 课堂笔记 2023-10-16_第1张图片

节点(Nodes)相关的命令:

rosrun
rosnode help
rosnode list
rosnode info
rosnode machine
rosnode ping
rosnode kill
rosnode cleanup

例如:
    rosrun turtlesim turtlesim_node
    rosrun turtlesim turtlesim_node __name:=turtle1
    rosrun turtlesim turtlesim_node __name:=turtle2

话题(Topics)


ROS 节点之间进行数据(消息)传递的通道,称为话题(Topic)。话题名必须唯一。
Topic 的传递机制:
 发布(publish)/订阅(subscribe)
  Publisher和Subscriber完全解耦

Topic 中数据的传递可以基于 TCP 或 UDP。
每一个 Topic 都对应着特定的消息(数据)类型(message type)

(二)话题(Topics)
Topic 相关的命令:
rostopic help
rostopic list
rostopic echo         # eg. /turtle1/pose                  打印具体内容
rostopic hz             # eg. /turtle1/pose                        频率
rostopic bw         # eg. /turtle1/pose                       占用带宽
rostopic info         # eg. /turtle1/cmd_vel
rostopic type         # eg. /turtle1/cmd_vel
rostopic find

(二)话题(Topics)
Topic 相关的命令:
rostopic pub -r 问题

例如:
rostopic pub -r 1 /turtle1/cmd_vel geometry_msgs/Twist '[1,0,0]' '[0,0,0]'        # 直行
rostopic pub -r 1 /turtle1/cmd_vel geometry_msgs/Twist '[0,0,0]' '[0,0,1]'        # 中心转向
rostopic pub -r 1 /turtle1/cmd_vel geometry_msgs/Twist '[1,0,0]' '[0,0,1]'        # 沿圆形轨迹运动

消息(Messages)


Topic 中传递的信息,称为消息(message)。
消息类型(message type)的命名规则:
    package-name/msg-file-name

eg.    turtlesim/Color
           软件包名:turtlesim
           消息文件名:Color.msg 


Message 相关的命令:
rosmsg help
rosmsg list
rosmsg info    # eg. turtlesim/Pose
rosmsg package
# 显示指定软件包中定义的所有消息
rosmsg packages
# 显示定义了消息的所有软件包

(四)服务(Service)


服务是另一种通信方法,它与 Topic 的区别是:
信息传递是双向的、同步的;
一对一通信。

Service的传递机制:
 请求(request)/ 应答(response)
服务传递的数据类型称为服务类型(service type),其命名规则是:
    package-name/srv-file-name

Service 相关的命令:
rosservice help
rosservice list
rosnode info             # eg. /turtlesim
rosservice node     # eg. /clear
rosservice info     # eg. /clear
rossrv info
rosservice call [args …]
eg. rosservice call /clear    # 清除运行轨迹

ROS 课堂笔记 2023-10-16_第2张图片

区分静态命令与动态命令

你可能感兴趣的:(ros课堂,笔记)