【CMU-自主导航与规划】M-TARE planner 配置与运行

M-TARE docker
M-TARE 源码

一、依赖

Docker, Docker Compose, NVIDIA Container Toolkit, Nvidia GPU Driver(需要至少2个,带Nvidia GPU)

1.1 Docker

docker -v               #查询版本

1.2 Docker Compose

docker compose version

1.3 GPU

docker run --gpus all --rm nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

如果有报错:

docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]

参考:docker gpu报错Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]

安装nvidia-container-runtime,并进行docker的重启:

sudo systemctl restart docker

1.4 其他依赖

sudo apt install tmux tmuxp net-tools

二、安装

拉取指定版本镜像:

docker pull caochao/mtare-open-source:latest

下载工程docker:(推荐将工程放置在主目录下)

 git clone https://github.com/caochao39/mtare_docker.git
  • 在单机上运行多个robot:
    • 网络设置:
      使用ifconfig查找网络名称,后续需要使用
      如果没有网络,使用ip link列出所有网络,并选择想要使用的,使用以下指令进行设置
sudo ip link set <interface-name> up
  • 在文件mtare_docker/docker-compose-network.yml中:
    driver: macvlan进行注释;
    driver: bridge取消注释。

  • 在多机上运行多个robot:
    建议手动为每台计算机分配一个静态ip
    使用以太网电缆将每台计算机连接到同一个本地网络,不要使用无线连接;
    确认每台之间可以互相ping;
    查找每台计算机的网络名称;
    在文件mtare_docker/docker-compose-network.yml中,将driver: macvlan取消注释,将driver: bridge进行注释。

三、启动

在终端通过xhost + 允许docker连接x server,显示GUI,通过 xhost - 取消

如果不成功,可以尝试安装:sudo apt-get install lightdm
并使用 sudo dpkg-reconfigure lightdm 切换显示

启动:

./run_mtare.sh tunnel 30 2 0 wlp0s20f3

指令含义:

Usage: run_mtare.sh <comms_range> <robot_num> <robot_id> <network_interface>
: The environment to explore, which should be one of the following: tunnel, garage, campus, indoor, forest
<comms_range>: Communication range in meters, two robots further than this range cannot communicate with each other
<robot_num>: Total number of robots
<robot_id>: Robot id, ranging from 0 to robot_num - 1
<network_interface>: Name of the network interface to use, e.g. eth0

单机启动效果
多机启动需要开多个终端同时启动,且注意id需要在0到num-1的范围内。

./run_mtare.sh tunnel 30 5 0 eno1
./run_mtare.sh tunnel 30 5 1 eno1
...
./run_mtare.sh tunnel 30 5 4 eno1

在这里插入图片描述

其中:

  • 圆圈颜色表示通信状态,大小表示通信范围
    • 红色表示范围远,无法通信
    • 黄色:当一个机器人确定与另一个机器人会面,传递或请求信息,有利于整体探索效率时,它将暂停当前的探索进度,并追赶其他机器人。指示通信范围的圆圈变为黄色。
      (Representation Granularity Enables Time-Efficient Autonomous Exploration in Large)
    • 绿色:当两个机器人在彼此的通信范围内时,它们可以相互交换有关勘探进展的信息。
  • 所有参与探索的机器人的位置都用小球体表示(红色)
  • rviz的显示设置同:https://github.com/caochao39/tare_planner

四、停止

使用脚本:mtare_docker/stop.sh
停止所有机器人:./stop.sh
停止某个:./stop.sh <robot_id>

五、内容包含

  • M-TARE源码:https://github.com/caochao39/mtare_planner
  • 虚拟环境:https://github.com/HongbiaoZ/autonomous_exploration_development_environment
  • ROS1 bridge:
    • 源码:https://github.com/ros2/ros1_bridge
    • 作者所用改进版:https://drive.google.com/file/d/1ZI4urXESzzBNyuV0ToSgndKDIShpYWko/view
  • ROS2 https://drive.google.com/file/d/1n3NG6eiZeafJGXRxOW_fkhylb-SsHSor/view

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 数据分析实战——社交游戏的用户流失?酒卷隆治_案例2

# 什么样的顾客会选择离开 # 数据集 DAU : 每天至少来访问一次的用户数据 数据内容 数据类型 字段名 访问时间 string&#xff08;字符串&#xff09; log_data 应用名称 string&#xff08;字符串&#xff09; app_name 用户 ID int&#xff08;数值&#xff09; user_id…

时隔3年 | 微软 | Windows Server 2025 重磅发布

最新功能 以下是微软产品团队正在努力的方向&#xff1a; Windows Server 2025 为所有人提供的热补丁下一代 AD 活动目录和 SMB数据与存储Hyper-V 和人工智能还有更多… Ignite 发布视频 Windows Server 2025 Ignite Video 介绍 Windows Server 2022 正式发布日期是2021年…

Linux部署lomp环境,安装typecho、WordPress博客

部署lomp环境&#xff0c;安装typecho、WordPress博客 一、环境要求1.1.版本信息1.2.准备阿里云服务器【新用户免费使用三个月】1.3.准备远程工具【FinalShell】 二、Linux下安装openresty三、Linux下安装Mysql四、安装Apache【此步骤可省略】4.1.安装Apache服务及其扩展包4.2.…

EasyExcel通用导入 | 简单封装

0. 前言&#xff1a;1. 基本思路&#xff1a;2. 调用代码&#xff1a; 0. 前言&#xff1a; 之前做了好几个导入&#xff0c;用EasyExcel每次都要定义监听器去处理&#xff0c;就想能不能做个通用的方式&#xff0c;如下 1. 基本思路&#xff1a; 导入无非主要就是参数校验和数…

人脸识别技术在网络安全中有哪些应用前景?

人脸识别技术在网络安全中有广泛的应用前景。以下是一些主要的应用方向&#xff1a; 1. 身份验证和访问控制&#xff1a;人脸识别可以用作一种更安全和方便的身份验证方法。通过将用户的人脸与事先注册的人脸进行比对&#xff0c;可以实现强大的身份验证&#xff0c;避免了传统…

第九节HarmonyOS 常用基础组件14-DataPanel

1、描述 数据面板组件&#xff0c;用于将多个数据占比情况使用占比图进行展示。 2、接口 DataPanel(options:{values: number[], max?: numner, type?: DataPanelType}) 3、参数 参数名 参数类型 必填 描述 values number[] 是 数据值列表&#xff0c;最多含9条数…

【云原生】docker-compose单机容器集群编排工具

目录 一、docker-compose容器编排的简介 二、docker-compose的使用 1、docker-compose的安装 2、docker-compose的配置模板文件yaml文件的编写 &#xff08;1&#xff09;布尔值类型 &#xff08;2&#xff09;字符串类型 &#xff08;3&#xff09;一个key有多个值 &am…

WebGL 入门:开启三维网页图形的新篇章(下)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

SQL报错注入

君衍. 一、sqllabs第五关报错注入updatexml报错注入原理及思路 二、常见的报错函数三、floor报错注入原理1、概念2、函数回顾2.1 rand函数2.2 floor(rand(0)*2)函数2.3 group by函数2.4 count(*)函数2.5 函数综合报错 3、报错分析4、总结 一、sqllabs第五关报错注入 之前我在这…

spring-bus消息总线的使用

文章目录 依赖bus应用接口用到的封装参数类 接收的应用监听器定义的事件类 使用bus定义bus远程调用A应用数据更新后通过bus数据同步给B应用 依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp…

路由、组件目录存放

文章目录 单页应用程序&#xff1a;SPA- Single Page Application路由的介绍VuePouter的介绍VueRouted 的使用 组件目录存放问题&#xff08;组件分类&#xff09; 单页应用程序&#xff1a;SPA- Single Page Application 单页应用&#xff08;SPA&#xff09;:所有功能在一个…

动手学RAG:汽车知识问答

原文&#xff1a;动手学RAG&#xff1a;汽车知识问答 - 知乎 Part1 内容介绍 在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;如GPT-3、BERT等已经取得了显著的进展&#xff0c;它们能够生成连贯、自然的文本&#xff0c;回答问题&#xff0c;并执行…

Redis 面试题 | 20.精选Redis高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

ctfshow web72

下载源码&#xff1a; 开启环境&#xff1a; 本题设置了 open_basedir()&#xff0c;将php所能打开的文件限制在指定的目录树中&#xff0c;包括文件本身。 因为 ini_set() 也被限制了&#xff0c;所以 open_basedir() 不能用 ini_set() 重新设置绕过。 使用 php 伪协议 glob:…

上海亚商投顾:创业板指创调整新低,全市场超4800只个股下跌

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整&#xff0c;创业板指午后跌超3%&#xff0c;深成指跌超2%&#xff0c;北证50指数跌逾6%。中…

msfconsole实战使用(结合靶场演示)

msfconsole实战使用 前言 MSFconsole&#xff08;Metasploit Framework Console&#xff09;是Metasploit框架的一部分&#xff0c;是一个功能强大的渗透测试工具。Metasploit框架是一个开源的安全工具&#xff0c;旨在开发、测试和执行针对计算机系统的攻击。MSFconsole是Me…

【Java IO 源码详解】: InputStream

本文主要从JDK 11 源码角度分析InputStream。 Java IO - 源码: InputStream InputStream 类实现关系InputStream 抽象类源码实现InputStreamFilterInputStreamByteArrayInputStreamBufferedInputStream 参考文章 InputStream 类实现关系 InputStream是输入字节流&#xff0c;具…

LabVIEW机械臂轨迹跟踪控制

介绍了一个使用LabVIEW开发的机械臂轨迹跟踪控制系统。该系统的主要目标是实现对机械臂运动轨迹的精确控制&#xff0c;使其能够按照预定路径进行精确移动。此系统特别适用于需要高精度位置控制的场合&#xff0c;如自动化装配、精密操作等。 为了实现LabVIEW环境下的机械臂轨迹…

【SpringBoot3】集成Knife4j、springdoc-openapi作为接口文档

一、什么是springdoc-openapi Springdoc-openapi 是一个用于生成 OpenAPI&#xff08;之前称为 Swagger&#xff09;文档的库&#xff0c;专为 Spring Boot 应用程序设计。它可以根据你的 Spring MVC 控制器、REST 控制器和其他 Spring Bean 自动生成 OpenAPI 文档&#xff0c…

ElasticSearch重建/创建/删除索引操作 - 第501篇

历史文章&#xff08;文章累计500&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 E…