当前位置: 首页 > Linux

【笔记】MOOC机器人操作系统ROS简介--(三)通信架构(上)【未完】

时间:2023-04-06 05:45:07 Linux

ROS通讯架构(计算图级)PR2机器人管理流程及通讯1.需要一个管家master来管理这些流程,即masternodemanager。每个节点(node)启动,都必须向master注册,管理节点间的连接通信所以,启动ros,首先启动master,在命令行输入roscore启动master,同时启动rosout和参数服务器rosout参数服务器系统。它是pkg文件中可执行文件的示例。这些可执行文件,如:c++.py.sh(shell脚本)运行后加载到内存中,成为node可执行文件,是静态的,而node一般是动态的,比如每个node都是一个启动方法,有特定的功能:rosrun[pkg_name][node_name]其他命令功能rosnodelist列出当前运行节点的信息rosnodeinfo[node_name]显示一个节点的详细信息rosnodekill[node_name]结束一个noderoslaunchstartmaster和多个noderoslaunch[pkg_name][file_name.launch]launch文件的写法:详见官网下面是运行PR2机器人我们在运行的时候只需要运行launch文件即可。roslaunchpr2_bringuppr2.launch以下是我在linux16.04下的操作首先进入官方下载文件夹roslaunchrobot_sim_demorobot_spawn.launch然后会出现模拟环境然后回头看命令框中的内容,上面是参数server,然后是节点robot_state_publisher,它自己的state,spawner,启动机器人模型,cmd_vel_mux,speedselector,gazebobackend,gazebo_gui,前段显示mobile_base_nodelet_manager,控制底盘移动。Urdf_spawner与机器人自身结构有关。每个节点都是一个进程主进程。经常伴随着启动的rosout,我们现在可以通过查看哪些节点在运行rosnodelist来查看某个节点的信息。rosnodeinfo/cmd_vel_mux可以看到它发布的主题。订阅的话,运行rosrunrobot_sim_demorobot_keyboard_teleop.py显示操作按钮i前进l左转r,右转,k停止,然后在另一个命令框中勾选节点。多了一个/robot_teleop,然后我们运行一个noderosrunimage_viewimage_viewimage:=/camera/rgb/image_raw