1认识 ROS

这篇博客介绍了ROS的基本应用,包括启动ROS Master的`roscore`命令,使用`rosnode`的各种操作,以及话题(topics)的查看、监听和发布。还提到了`rqt_graph`用于节点可视化,`rqt_plot`用于数据可视化,以及`rosservice`服务的简单使用,例如创建小海龟节点。通过这些实例,读者可以对ROS有一个初步的认识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. ROS应用:
Oregon State University
Interaction Lab,University of Southern California
Savioke
MyzharBot by Walter "Myzhar" Lucetti
University of Tubingen  (车跟人)
Robotnik
  1. ROS常用命令
    在这里插入图片描述
  • roscore : 启动ROS Master
  • ctrl+c :强制结束当前进程
  • ros+Tab:显示所有ros命令
  • rosnode +Tab : rosnode 搭配方法(使用不灵活?????)
  • rosnode --help : rosnode 搭配使用技巧
  1. ROS例程
    1. roscore
    2. 新建一个终端
      rosrun turtlesim turtlesim_node
      (rosrun +节点所在功能包 +节点名:启动节点)
    3. 新建一个终端
      rosrun turtlesim turtle_teleop_key
      选中第三个终端才能键盘控制海归

在这里插入图片描述
4.

  • 新建一个终端
    rqt_graph (计算图:节点可视化)
    rosn
03-08
### ROS1 入门教程特性安装使用手册 #### 一、ROS1简介 Robot Operating System (ROS),即机器人操作系统,是一个用于编写机器人软件程序的灵活框架。尽管名称中有“Operating System”,但实际上它并不是一个真正的操作系统,而是一套基于Linux的服务和工具集[^4]。 #### 二、ROS1的主要特点 - **分布式计算架构**:支持多台计算机上的进程间通信。 - **丰富的库函数和支持工具**:提供了大量现成可用的功能包以及开发调试工具。 - **活跃社区贡献**:拥有庞大的开发者群体提供持续更新和技术支持。 - **跨平台兼容性**:能够在多种硬件平台上运行,并且可以与其他编程语言集成。 #### 三、安装指南 对于Ubuntu系统而言,官方推荐通过apt-get命令来安装ROS Melodic Morenia版本(适用于18.04 LTS)。具体操作如下所示: ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt update sudo apt install ros-melodic-desktop-full source /opt/ros/melodic/setup.bash ``` 完成上述步骤之后,还需要设置环境变量以便每次启动终端都能自动加载ROS配置信息。可以通过编辑`~/.bashrc`文件并添加下面这行代码实现这一目的: ```bash echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` #### 四、基本概念与术语解释 为了更好地理解ROS的工作原理及其生态系统,在此列举了一些常用的概念: - **Node(节点)**:执行特定任务的小型应用程序单元; - **Topic(主题)**:发布/订阅模式下的数据传输通道; - **Message(消息)**:在不同节点之间传递的数据结构体; - **Service(服务)**:请求响应式的交互方式; - **Parameter Server(参数服务器)**:集中管理全局共享参数的地方; #### 五、创建第一个ROS Package 要开始构建自己的项目,则需要先建立一个新的工作空间并且初始化catkin编译系统。以下是具体的实践过程: ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make source devel/setup.bash cd src catkin_create_pkg my_package rospy std_msgs ``` 这里创建了一个名为`my_package`的新包,其中包含了两个依赖项——rospy 和std_msgs 。前者允许我们用Python 编写ROS 节点 ,后者定义了一系列标准的消息类型供其他组件使用。 #### 六、编写简单的Publisher和Subscriber 接下来展示怎样利用Python 来快速搭建一对Pub/Sub 结构 的节点实例 : ```python #!/usr/bin/env python import rospy from std_msgs.msg import String def talker(): pub = rospy.Publisher('chatter', String, queue_size=10) rospy.init_node('talker', anonymous=True) rate = rospy.Rate(10) # 10hz while not rospy.is_shutdown(): hello_str = "hello world %s" % rospy.get_time() rospy.loginfo(hello_str) pub.publish(hello_str) rate.sleep() if __name__ == '__main__': try: talker() except rospy.ROSInterruptException: pass ``` 这是发布者部分(`talker.py`),负责定期向指定的主题发送字符串形式的信息流。对应的接收端则相对简单得多: ```python #!/usr/bin/env python import rospy from std_msgs.msg import String def callback(data): rospy.loginfo(rospy.get_caller_id() + "I heard %s", data.data) def listener(): rospy.init_node('listener', anonymous=True) rospy.Subscriber("chatter", String, callback) # spin() simply keeps python from exiting until this node is stopped rospy.spin() if __name__ == '__main__': listener() ``` 以上就是关于ROS1的基础入门指导,涵盖了从理论到实际编码练习等多个方面。希望这些资料能够帮助读者建立起初步的认识并为进一步深入学习打下坚实基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值