使用手册 - Linux MDCS部署配置和操作说明

来自MDCS wiki
Artheru讨论 | 贡献2024年9月2日 (一) 14:50的版本
跳到导航 跳到搜索

MDCS 环境部署


自行配置 1.配置mono

       注意:不同的cpu对应不同的离线软件包 一定先确定系统版本 输入lscpu  即可查看-建议离线安装比较快
       

根据mono官网要求和系统版本配置mono环境,要求mono版本>=6.12 Download - Stable | Mono (mono-project.com)

  • 联网--需要根据对应的unbutun版本进行下载
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/mono-official.list
sudo apt update
sudo apt install mono-complete
mono --version
  • 不联网
拷贝6.12的安装包至没网的电脑。然后执行以下命令。解压完后将解压目录下对应的文件夹里的内 容拷贝至/usr/local目录下对应的文件夹内。
安装前务必保证硬件空间大于2G
mkdir mono
tar xvf mono-6.12.0.182.tar.xz
cd mono-6.12.0.182
./configure -prefix=/home/local    //如果没有local mkdir /home/local
make -j4
make install

2. 配置. Net 根据. Net官网要求和系统版本配置dotnet环境,要求dotnet版本=6 在 Linux 上手动安装 .NET - .NET | Microsoft Docs

  • 联网
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0
  • 不联网
Download .NET 6.0 (Linux, macOS, and Windows) (microsoft.com) 在有网的电脑上下载对应架 构的二进制文件压缩包,拷贝至没网的电脑。然后
export DOTNET_ROOT=~/.dotnet
mkdir -p "$DOTNET_ROOT" && tar zxf dotnet-sdk-6.0.100-linux-x64.tar.gz -C "$DOTNET_ROOT"
export PATH=$PATH:$DOTNET_ROOT
在/home/usename/MDCS/Detour路径下执行以下命令

前面的 export 命令只会使 .NET CLI 命令对运行它的终端会话可用。 你可以编辑 shell 配置文件,永久地添加这些命令。 Linux 提供了许多不同的 shell,每个都有不同 的配置文件。 例如:

 Bash Shell :~/.bash_profile、~/.bashrc
 Korn Shell :~/.kshrc 或 .profile
 Z Shell :~/.zshrc 或 .zprofile

为 shell 编辑相应的源文件,并将  :$~/.dotnet 添加到现有 PATH 语句的末尾。 如果不包含 PATH 语句,则使用 export PATH=$PATH:$~/.dotnet 添加新行。 另外,将 export DOTNET_ROOT=$~/.dotnet 添加至文件的末尾。

如果打不开Detour可以看下报错 ,可能出现的是,这种情况是libOpenCvSharpExtern.so文件损坏,可以ldd libOpenCvSharpExtern.so看看是否损坏,需要更新或者需要下载对应cpu版本的libOpenCvSharpExtern。

MDCS 配置

路径配置


为了确保以下所有的配置和操作在任意linux系统中都适配,请按照以下要求构建文件夹保存 MDCS文件。 在任意位置创建MDCS文件夹,文件夹下创建Medulla、Clumsy文件夹,每个文件夹下分别存放 对应软件的相关文件。 MDCS文件夹下创建DetouLite文件夹, DetourLite文件下再创建 DetourLite文件夹用以存放相关软件,同时创建lib文件夹用以存放 libOpenCvSharpExtern.so。 以下操作以文件夹创建在home/username为例,若创建在其他路径请自行修改对应路径。


1. Medulla配置 1. 首先Medulla文件夹里至少要有Medulla.exe和plugins文件夹, plugins文件夹里包含 CartActivator.dll和LidarController.dll等dll文件。 2. 将生成编译的Medulla适配程序(例xxx_m.dll)放入同目录下的plugins文件夹,如果适配程 序还引用了其它的库,也一并放入plugins文件夹(例如雷达、 USB摄像头等) 3. 在medulla目录下新建startup.iocmd文件,拷入以下内容

loader = io load plugins/CartActivator.dll cart = loader load plugins/xxx.dll lidar = io load plugins/LidarController.dll frontlidar = lidar init SimulateLidar frontlidar3d = lidar init SimulateLidar3D 4. 运行Medulla.exe,如果打不开出现闪退,可能的原因是MSVC运行库未安装, 官方下载地 址。 2. Detour配置 1. 打开Detour之前要先打开Medulla 2. 首先DetourLite/DetourLite文件夹里至少要有DetourLite.dll , DetourLite/lib文件夹下要有 libOpenCvSharpExtern.so ,没有so文件可能会闪退。 3. Clumsy配置

1. 打开Clumsy之前要先打开Medulla、 Detour。

MDCS操作说明

Medulla 1. 进入ssh,获取root权

2. mono启动Medulla

4. 打开Edge浏览器,输入http://IP:8007/simple.html进入medulla web 界面。(请确保使用Edge打 开页面) ( IP地址查找命令: ifconfig 或 hostname - I)

5. Web界面信息

单击查看点云后会进入点云显示界面,可以用滚轮调整大小,或是按住鼠标中键拖动。

1. 进入ssh,获取root权限,进入 cd MDCS/DetourLite目录

2. 打开detour软件,输入~/.dotnet/dotnet DetourLite.dll

3. 打开Detour软件(自己或服务器电脑桌面上或者MDCS文件夹里),选择概览-使用远程算法核-远程 设备,输入IP 点击连接

4. 如果地图已经建好,请选择 单线激光SlAM-选择图层-下载远程地图即可

5. 如果未建图,选择建图模式-遥控小车进行运行业务路线完成后,锁定图层-上传本机图层到远程图 层即可


Clumsy 1. 进入ssh,获取root权限,进入小车Clumsy目录 cd MDCS/Clumsy




2. 打开Clumsy 输入 mono Clumsy.exe -no_ui

4. 打开浏览器,输入http://IP:8008/simple.html 进入clusmy web界面 ( IP同查找见Medulla第四条)

此处,运动参数和小车状态的具体条目可将鼠标移至每个条目上,会自动显示参数解释

左侧的按钮单击即可执行对应的功能。其中,单击遥控器按钮后会出现遥控器界面

此处的遥控器是一个示例,不同项目的遥控器不同,可以在对应的remoteconfig.json中修改和绑定。


Simple 此处展示在同一局域网下的windows系统电脑中使用simple。 以上3个软件都成功开启后,我们打开simple调度软件 1. 打开SimpleComposer

2. 添加小车,双击修改小车IP以及基础速度

3. 选中小车,点击定位即可看到小车

4. 绘制路径以及其他请参考《MDCS建图和路线绘制》


Q&A 1. Q:为什么mono和dotnet运行软件会出错 A:请确保mono版本>=6.12 , dotnet版本==5 2. Q:出现以下错误是什么原因?

A:请和对接人员确认是否把以上dll拷到RosLIdar.dll目录下了。 3. Q:如果出现Error: Adress Already in use这个报错,无法打开网页怎么办? A:检查有没有监听8007口的mono进程。这个进程不会在 ps -a 的时候显示,但是会在后台一直 监听导致端口占用。可以用 netstat -tunlp | grep 8007 来检查一下,有的话直接把进程杀了就行 了。 4. Q:如果出现以下报错怎么处理?

A:这个报错是缺libOpenCvSharpExtern.so ,和对接人员确认是否已经拷过来了。没有的话拷到 DetourLite.dll相同目录下,执行 ldd命令,然后执行 export LD_LIBRARY_PATH=./ 即可。 5. Q:如何读取bag文件?

A:首先确认已经安装好roscore和rosbridge环境。新开终端执行roslaunch rosbridge_server rosbridge_websocket.launch。新开一个终端执行 rosbag play filename.bag --topic /scan_orig播放medulla中需要接收的topic,如此topic名字是scan_orig