【ROS】多机协同ROS安装使用

    技术2026-01-04  10

    目录

    通信框架ROS

    安装ROS

    测试ROS

    控制协同

    协同感知

    echo " export SVGA_VGPU10=0" >> ~/.bashrc source ~/.bashrc

    通信框架ROS

    ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合,在很多应用场景下,节点可以运行在不同的计算平台上,通过Topic、Service进行通信。但是“一山不容二虎”,ROS只允许存在一个Master,在多机系统中Master只能运行在一个机器上,其他机器需要通过 ssh 的方式和Master取得联系。

    安装ROS

    安装ROS教程:http://wiki.ros.org/melodic/Installation/Ubuntu

    关于以下两行命令出错解决:

    sudo rosdep init rosdep update

    sudo rosdep init 出错解决:

    ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list

    Website may be down.

    sudo apt-get install python-rosdep sudo gedit /etc/resolv.conf 将原有的nameserver这一行注释,并添加以下两行: nameserver 8.8.8.8 #google域名服务器 nameserver 8.8.4.4 #google域名服务器 保存退出,执行 sudo vi /etc/hosts 末尾添加。 151.101.84.133 raw.githubusercontent.com

    成功: 

    检查ROS,执行 roscd 指令、roswtf指令。

     执行roscore指令。

    Ctrl+c退出。

    测试ROS

    以上说明ROS安装成功。 

    小乌龟测试:新开三个终端。

    第一个终端输入:roscore 启动

    第二个终端输入:rosrun turtlesim turtlesim_node  显示小乌龟

    第三个终端输入: rosrun turtlesim turtle_teleop_key  控制小乌龟(键盘上下左右控制)

     

    控制协同

    控制协同多智能体动态系统是通过通信图进行相互联系的动力学问题,通信图表明了各个节点之间的信息流。协同控制的目标是为各个节点设计控制协议,以保证所有节点在某种特定意义上的状态同步行为。在协同系统中,任何控制协议都必须按照其所规定的图拓扑结构进行分布式控制,也就是说,每个节点的控制协议只允许依赖于关于该节点及其在图中的邻居节点的信息拓扑图施加的通信限制可能会严重限制每个节点上的本地分布式控制协议所能完成的工作。

    协同感知

    协同感知另一方面是对目标信息的感知,包括目标的种类、数量、当前及未来的位置和运动信息等。快速准确探测作战环境是协同作战任务成功的关键,而协同数据融合是实现协同感知的核心。由于单架战机对目标信息的感知是不完整和不精准的,每架有人机/无人机上均需要携带多个或多类传感器,这就产生了大量的高维的冗余数据。因此,混合编队协同作战要求分布式多层次的数据融合:首先初步融合单架载机上的传感器数据;然后多机成一级子网络,纵向和横向融合不同无人机上的传感器输出数据;最后融合有人机/无人机协同综合体和作战指挥系统提供的信息。这使得不同传感器性能可以优势互补,提高探测性能及探测信息的可信度、系统的容错能力和抗干扰能力增强。

    简单来说:实现某个设计时,可以用多个设备搭载不同传感器采集信息,多个设备信息互传融合。

     

     

    Processed: 0.025, SQL: 9