ubuntu20.04安装dave仿真环境+多波束声纳

 Home | Project DAVE仿真项目来源于这个

1 安装ubuntu

首先选择直接在主机上配置,之前安装了ubuntu22.04版本的,因为前面提到最新的测试在ubuntu22.04下进行,本来想直接按照最高要求进行,但是发现在主机上的配置前提是ubuntu20.04,后来重新安装了20.04版本的ubuntu。

安装好Ubuntu20.04后,在桌面的右上方弹出一个错误

未知错误:"<calss 'KeyError'>"("The cache has no package named 'ubuntu-pro-client:amd64'")

这通常意味着您安装的软件包有未满足的依赖关系 

直接安装依赖就可以解决

sudo apt-get install ubuntu-pro-client:amd64

我直接在官网上下载的ubuntu镜像源,不知道为什么还是有这个问题,但是无所谓了,能解决的问题就是小问题 

2 安装ros和gazebo

 这部分应该放在安装CUDA的部分之后再看


【ubuntu】ubuntu20.04安装ros noetic(亲测有效,附操作步骤)-CSDN博客

按照文章步骤进行未弹出错误,在安装ros和gazebo的时候想要测试一下小海龟,roscore未出错,但在第二个终端进行rosrun的时候显示没有rosrun随即在网上找了安装ros的教程,按照上文进行配置,成功测试小海龟。

sudo apt update
sudo apt full-upgrade

sudo apt install -y build-essential cmake cppcheck curl git gnupg libeigen3-dev libgles2-mesa-dev lsb-release pkg-config protobuf-compiler python3-dbg python3-pip python3-venv qtbase5-dev ruby software-properties-common sudo wget

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros1-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt update
DIST=noetic
GAZ=gazebo11
sudo apt install -y ${GAZ} lib${GAZ}-dev python3-catkin-tools python3-rosdep python3-rosinstall python3-rosinstall-generator python3-vcstool ros-${DIST}-gazebo-plugins ros-${DIST}-gazebo-ros ros-${DIST}-gazebo-ros-control ros-${DIST}-gazebo-ros-pkgs ros-${DIST}-effort-controllers ros-${DIST}-geographic-info ros-${DIST}-hector-gazebo-plugins ros-${DIST}-image-view ros-${DIST}-joint-state-controller ros-${DIST}-joint-state-publisher ros-${DIST}-joy ros-${DIST}-joy-teleop ros-${DIST}-kdl-parser-py ros-${DIST}-key-teleop ros-${DIST}-move-base ros-${DIST}-moveit-commander ros-${DIST}-moveit-planners ros-${DIST}-moveit-simple-controller-manager ros-${DIST}-moveit-ros-visualization ros-${DIST}-pcl-ros ros-${DIST}-robot-localization ros-${DIST}-robot-state-publisher ros-${DIST}-ros-base ros-${DIST}-ros-controllers ros-${DIST}-rqt ros-${DIST}-rqt-common-plugins ros-${DIST}-rqt-robot-plugins ros-${DIST}-rviz ros-${DIST}-teleop-tools ros-${DIST}-teleop-twist-joy ros-${DIST}-teleop-twist-keyboard ros-${DIST}-tf2-geometry-msgs ros-${DIST}-tf2-tools ros-${DIST}-urdfdom-py ros-${DIST}-velodyne-gazebo-plugins ros-${DIST}-velodyne-simulator ros-${DIST}-xacro

完成后,进行小海龟的测试,显示没有rosrun命令,所以就运行上面文章中的安装部分

 sudo apt install ros-noetic-desktop-full

//设置&更新环境变量

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc 
source ~/.bashrc 
//安装ros所需工具

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-roslaunch
//进行测试

//第一个终端运行

roscore

//第二个终端运行

rosrun turtlesim turtlesim_node

//第三个终端运行

rosrun turtlesim turtle_teleop_key

//然后将鼠标放在第三个终端里,操控键盘上的方向键就可以控制小海龟移动。

按照原文运行gazebo能够成功现实,且检查gazebo的版本有显示,但同原文中给出的有不同。

 //验证gazebo能否启动

gazebo

//检查gazebo版本

gazebo --version

3 获取源代码 

mkdir -p ~/uuv_ws/src
cd ~/uuv_ws/src
git clone https://github.com/Field-Robotics-Lab/dave.git

sudo pip3 install -U vcstool //不知道这一步是不是必须的,但我感觉如果不用vcs的话可能这一句也并不必要

在获取源代码的这一步,首先是安装vcs有问题,根据文章的显示说vcstool对网络的要求很高,可以自己clone每个包,在之前的虚拟机上运行这个方法是可行的。

NONONO

有问题,应该是进入到~/uuv_ws/src/dave/extras/repos中的dave_sim.repos然后将其中的gist@github.com: 换成 https://github.com/,然后在进行vcs,(但我记得我的vcs很失败),我看到一篇文章中说,如果直接clone可能会出现问题,就是各种问题,所以我决定

1、先更改.repos文件中的内容,然后进行vcs,安装vcs的时候报错了,所以到底是不是网络的问题,就是vcstool里面的(MD这个网站本身都好难打开),我认为如果只是安装的话应该只需要进行如下代码(按照vcstool - ROS Wiki

sudo apt install python3-vcstool

//我直接用的这个

or

sudo pip install -U vcstool

 dave项目中提到的安装代码是:

sudo pip3 install -U vcstool

//之前的实验中执行过这个,都没什么问题

 因为原来安装了python3所以,无所谓用 pip还是pip3,所以这一步应该只需要进行安装就可以,不需要按照vcstool中的进行创建工作区&填充工作区的操作。

2、如果以上方法行不通,那可以再进行git clone

这一部分是我之前使用的,进行catkin build的时候确实报错了,不清楚是clone导致的还是CUDA导致的

git clone https://github.com/Field-Robotics-Lab/dave.git
git clone https://github.com/Field-Robotics-Lab/dockwater.git
git clone https://github.com/Field-Robotics-Lab/ds_msgs.git
git clone https://github.com/Field-Robotics-Lab/ds_sim.git
git clone https://github.com/uuvsimulator/eca_a9.git
git clone https://github.com/uuvsimulator/rexrov2.git
git clone https://github.com/field-robotics-lab/uuv_manipulators
git clone https://github.com/field-robotics-lab/uuv_simulator

git clone 的时候显示问题:

GnuTLS recv error (-110): The TLS connection was non-properly terminated.

在csdn上寻找解决方法中看到有人说是网络的问题,然后直接再运行这句命令即可正常下载(有效!)

因为我的实验需要多波束声纳的部分,所以我这边还运行了

git clone https://github.com/field-robotics-lab/nps_uw_multibeam_sonar
git clone https://github.com/apl-ocean-engineering/hydrographic_msgs.git

4 选择nvidia和安装CUDA

编译过程中出现问题,按照报错应该是由于没有安装CUDA的造成的(我看的自己的情况,Maybe,我也不懂,然后就准备装CUDA,然后就风狂有错误),所以先进入多波束声纳的部分进行这部分的内容,在软件和更新中选择附加驱动,选择535(文中提到用22版本测试成功的),然后安装CUDA部分又有问题,网页没有找到(404not found),现在考虑参考别人的进行安装。

ubuntu20.04安装CUDA-CSDN博客

运行 sudo sh命令的时候显示/tmp空间不足或者包损坏的提示

首先考虑空间不足进行尝试,解决不了问题,准备重装系统优先配置nvidia和cuda

 ubuntu 20.04LTS下安装cuda时提示/tmp空间不足问题的解决方案_cuda因为磁盘空间不够未安装完成咋办-CSDN博客

 5 重装系统

没有解决问题,重装ubuntu,然后将根目录分配了40G的空间(你这个冷漠无情的系统,现在你开心了吧,我是不会原谅你的,你这个冷漠无情的人),就成功了,具体步骤参考上述安装CUDA的进行即可。

在继续进行时,执行

nvcc --version

显示找不到nvcc的命令,建议进行

sudo apt-get install nvidia-cuda-toolkit

 如果按照原文中进行sudo apt-get install cuda-toolkit会显示无法定位软件包cuda-toolkit

然后运行

gedit ~/.bashrc

将添加可执行文件和库的路径,运行文中的代码(这里我没有按照上文安装的要求,不知道会不会有影响,先做尝试),在进行这一步之前运行nvcc都显示的其他版本的(我的是10.1),如果运行nvidia-smi均显示为12.2

使用nvcc --version可以查询到CUDA为12.3,但是如果用nvidia-smi中依然显示为12.2版本,不清楚有没有影响。哦找了一下大概原因在这里,就是说nvcc查到的才对,所以这个没问题咯。 

正确查看自己的CUDA版本(不要再被骗啦)_查看cuda-CSDN博客

接下来再重装ros和gazebo

我要被折磨到崩溃了。)心碎QAQ

重新安装ROS好了,结束了,准备回宿舍结束这痛苦的一天。

明天先不作多波束声纳那一部分,然后看看catkin build 会不会出错。

6 重新获取源代码&运行demo

今天重新进行这一部分,神奇,居然没有之前的错,现在还不敢运行那个多波束声纳的部分,显示是下面的样子,不清楚是不是算成功了

=== ./dockwater (git) ===
正克隆到 '.'...
=== ./ds_msgs (git) ===
正克隆到 '.'...
=== ./ds_sim (git) ===
正克隆到 '.'...
=== ./eca_a9 (git) ===
正克隆到 '.'...
=== ./rexrov2 (git) ===
正克隆到 '.'...
=== ./uuv_manipulators (git) ===
正克隆到 '.'...
=== ./uuv_simulator (git) ===
正克隆到 '.'...

之前会有dave项目中原来显示的permission denied的错误,然后还有文章中显示的skip的错误,但是现在没有显示(因为我之前没有理解正确,直接用的git clone,而不是修改文件中的git地址)

目前没有进行多波束声纳的部分,我想先完成其他部分的配置后在完成,居然成功了,但是其实extras里面有多波束的部分,且我没有进行修改,不知道怎么成功的,反正这样的话运行dave的demo应该是没有问题的(之前虚拟机上也成功运行了)

然后运行demo

有实例的显示(但为什么这么暗???)我记得之前不是这样的啊啊啊啊,而且终端显示了一个错误:

[ERROR] [1716273680.564320913]: Couldn't open joystick /dev/input/js0. Will retry every second.

但是正常显示了,我先不管了)

Couldn’t open joystick /dev/input/js0. Will retry every second.
看到大佬说是因为没有连接手柄这种,非致命错误,可以忽略。

来自Learning High-Speed Flight in the Wild复现遇到的问题记录-CSDN博客中提到的,那应该确实没有影响(我猜的

ctrl+c不能关闭,采用

pkill gzclient && pkill gzserver 强制关闭(虽然确实关闭了gazebo的窗口但是弹了错误先不管了)

7 多波束声纳的部分

(好想开始拖延QAQ阿啊啊啊啊,好担心会出错)

关于多波束声纳的部分,我参考的两个文章中的这部分都采用了下面的链接:

GitHub - apl-ocean-engineering/marine_msgs: Messages for DVLs, multibeams, and imaging sonars.Messages for DVLs, multibeams, and imaging sonars. - apl-ocean-engineering/marine_msgsicon-default.png?t=N7T8https://github.com/apl-ocean-engineering/hydrographic_msgs.git

 但是我在multibeam_sim.repos文件(uuv_ws/src/dave/extras/repos)中看到的如果只是替换gist@github.com为https://github.com/我的代码中应该是GitHub - apl-ocean-engineering/marine_msgs: Messages for DVLs, multibeams, and imaging sonars.Messages for DVLs, multibeams, and imaging sonars. - apl-ocean-engineering/marine_msgsicon-default.png?t=N7T8https://github.com/apl-ocean-engineering/marine_msgs.git

 这两个链接所指向的是同一个网站hh,那就没事了,然后就是执行vcs命令了,啊啊啊啊真的不想做,出错怎么办,我要紫砂啊啊啊)

嘻嘻居然没有出错耶

=== ./marine_msgs (git) ===
正克隆到 '.'...
注意:正在切换到 'tags/v2.0.0'。

您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以在切换
回一个分支时,丢弃在此状态下所做的提交而不对分支造成影响。

如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在 switch 命令
中添加参数 -c 来实现(现在或稍后)。例如:

  git switch -c <新分支名>

或者撤销此操作:

  git switch -

通过将配置变量 advice.detachedHead 设置为 false 来关闭此建议

HEAD 目前位于 c42afbb Feature/rename for release (#37)
=== ./nps_uw_multibeam_sonar (git) ===
正克隆到 '.'...

显示如上,我猜测应该没有问题,不知道这边没有编译是不是不行呢?那现在有两个方法:

1、直接运行,因为dave项目在这一部分没有进行catkin build,而且注意到,之前进行catkin build的时候,也是104个包,这里的104个包和之前已经clone多波束声纳的包数量是一样的

2、运行如果出现问题,在尝试重新进行一次catkin build,看看能否解决问题

nonono 在上面docker中写了要进行编译的,这个时候是106个包,但是出现了一些警告,不知道怎么整,所以是要编译后运行的

要认真看一下原文中关于docker配置之后到启动gazebo的内容,在哪个文件夹中进行编译,在哪个文件夹中进行运行,一定好好来。

成功啦!!!!

牛牛牛!!!

之前在虚拟机中运行能够出现gazebo的图,但是没有声纳的显示,根据显示应该是CUDA的问题,所以才想到在主机上安装双系统,成功!

8 小结

之前一直在虚拟机中运行,因为驱动和cuda的问题一直搞不好,我又是电脑小白,对于文章中提出的option B使用docker进行的方法掌握不好,本来在虚拟机上是要用docker的,但是我又不会用ubuntu又不会docker,一点一点摸索,希望我的这部分经验可以给后面进行这个仿真的家人一点参考,至今已经进行一个月整,还好做出来了。

"failed to connect to 127.0.0.1 port 7890 after 20000 ms: Couldn't connect to server" 这个错误通常是由于无法连接到指定的服务器引起的。根据引用、和的内容,可能的原因可能是以下几种: 1. 系统代理:你可能已经在系统中设置了代理,而代理服务器无法连接到指定的端口。你可以尝试关闭系统代理或者确保代理服务器的设置是正确的。 2. 网络连接问题:可能是由于网络连接不稳定或者防火墙设置导致无法连接到指定的服务器。你可以尝试检查网络连接是否正常,并确保防火墙允许与服务器的通信。 3. 服务器故障:指定的服务器可能暂时不可用或者出现故障。你可以尝试等待一段时间并重新连接,或者联系服务器管理员进行进一步的排查。 综上所述,"failed to connect to 127.0.0.1 port 7890 after 20000 ms: Couldn't connect to server"错误的原因可能是系统代理设置、网络连接问题或者服务器故障。你可以尝试根据具体情况排查并解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [如何解决:Failed to connect to github.com port 443 after 21098 ms: Timed out](https://blog.csdn.net/weixin_43666333/article/details/129904391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [解决 github项目clone报错 Failed connect to github.com:443; Connection](https://download.csdn.net/download/weixin_38714641/14053810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [curl: (7) Failed to connect to 127.0.0.1 port 1081 after 3 ms: Couldn‘t connect to server](https://blog.csdn.net/kdksz/article/details/129739103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值