Directly on Host | Project DAVEWiki/Tutorial Documents for Project DAVEhttps://field-robotics-lab.github.io/dave.doc/contents/installation/Install-Directly-on-Host/

安装依赖:

sudo apt update
sudo apt full-upgradesudo 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# Install required ROS and Gazebo Packagessudo 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

源码安装:

mkdir -p ~/uuv_ws/src
cd ~/uuv_ws/src
git clone https://github.com/Field-Robotics-Lab/dave.gitsudo apt install python3-vcstoolcd ~/uuv_ws/src
vcs import --skip-existing --input dave/extras/repos/dave_sim.repos .# 如果收到错误,请尝试遵循 Git Hub 错误权限被拒绝的公钥并删除克隆失败的空目录,然后重试Could not determine ref type of version: cd ~/uuv_ws/src
rm -rf dockwater ds_msgs ds_sim eca_a9 rexrov2 uuv_manipulators uuv_simulator
vcs import --skip-existing --input dave/extras/repos/dave_sim.repos .

好像还是会报错:

=== ./dave (git) ===
Skipped existing repository with different URL
=== ./dockwater (git) ===
Could not determine ref type of version: git@github.com: Permission denied (publickey).
fatal: 无法读取远程仓库。

请确认您有正确的访问权限并且仓库存在。

【解决方法】

打开文件     ~/dave/extras/repos/dave_sim.repos

将所有的 git@github.com:

改为 https://github.com/

OK!所有依赖项目都可以git下来了!!

编译

cd ~/uuv_ws
catkin_makesource ~/uuv_ws/devel/setup.bash# Optionally, you may wish to add source ~/uuv_ws/devel/setup.bash to your .bashrc file.

报错:主要是uuv_gazebo_plugins里的

【解决】

1、定位到uuv_gazebo_plugins的package,在其目录下的CMakeLists.txt中添加对c++17的支持:

   set(CMAKE_CXX_STANDARD 17)set(CMAKE_CXX_STANDARD_REQUIRED ON)

2、需要在BuoyantObject.hh,BuoyantObject.cc,HydrodynamicModel.cc中做出相应修正

对于BuoyantObject.hh:

改为:

public: void SetBoundingBox(const ignition::math::AxisAlignedBox &_bBox);...protected: ignition::math::AxisAlignedBox boundingBox;

对于BuoyantObject.cc:

改为:

void BuoyantObject::SetBoundingBox(const ignition::math::AxisAlignedBox &_bBox)
{this->boundingBox = ignition::math::AxisAlignedBox(_bBox);gzmsg << "New bounding box for " << this->link->GetName() << "::"<< this->boundingBox << std::endl;
}

对于HydrodynamicModel.cc:修改为:

// FIXME(mam0box) This is a work around the problem of the invalid bounding
// box returned by Gazeboif (_sdf->HasElement("box")){sdf::ElementPtr sdfModel = _sdf->GetElement("box");if (sdfModel->HasElement("width") && sdfModel->HasElement("length") &&sdfModel->HasElement("height")){double width = sdfModel->Get<double>("width");double length = sdfModel->Get<double>("length");double height = sdfModel->Get<double>("height");ignition::math::AxisAlignedBox boundingBox = ignition::math::AxisAlignedBox(ignition::math::Vector3d(-width / 2, -length / 2, -height / 2),ignition::math::Vector3d(width / 2, length / 2, height / 2));// Setting the the bounding box from the given dimensionsthis->SetBoundingBox(boundingBox);}}

编译通过!

[100%] Linking CXX shared library /home/asus/SLAM/uuv_ws/devel/lib/libdsros_ros_depth.so
[100%] Built target dsros_ros_ins
[100%] Built target uuv_gazebo_ros_pose_gt_plugin
[100%] Built target dsros_ros_depth
[100%] Built target dave_ocean_current_model_plugin
[100%] Linking CXX shared library /home/asus/SLAM/uuv_ws/devel/lib/libdsros_ros_dvl.so
[100%] Built target dsros_ros_dvl

【运行测试】

source以下工作空间

然后 :

roslaunch dave_demo_launch dave_demo.launch

就出现仿真的ROV啦!!

Ubuntu20.04 配置安装运行 Dave (水下SLAM 仿真环境)相关推荐

  1. 最新 Ubuntu20.04 配置安装 | 虚拟机配置及各类软件安装(wps,pycharm, mysql,docker等)

    * Ubuntu20.04配置安装 前言 一.使用VMware安装Ubuntu20.04 以及下载软件包 1. 下载镜像 与各类软件包 2. 创建虚拟机 1. 创建新的空白虚拟机 2. 安装Ubunt ...

  2. 35、ubuntu20.04搭建瑞芯微的npu仿真环境和测试rv1126的Debain系统下的yolov5+npu检测功能以及RKNN推理部署以及RTSP视频流解码

    基本思想:手中有一块core-1126/1109-JD4,记录一下其刷机过程和开发人数统计,与树莓派的nanodet 每帧200ms对比一下 第一步:刷机,真的是难,各种各样的小问题,反正成功的方法只 ...

  3. 在Ubuntu20.04上安装二进制ros2 foxy

    在Ubuntu20.04上安装二进制ros2 foxy 设置语言环境的支持,确保支持UTF-8 sudo locale-gen en_US en_US.UTF-8 sudo update-locale ...

  4. 在Ubuntu20.04上安装MySQL8.0及正确配置[已验证]

    在Ubuntu20.04上安装MySQL8.0及正确配置[已验证] 安装MySQL 验证 登陆MySQL 创建db 解决workbench连接的问题 小结 常用操作 如何新增用户 对新增的用户更改加密 ...

  5. DELF: DEep Local Features在Ubuntu20.04下安装配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 DELF: DEep Local Features在Ubuntu20.04下安装配置 一.安装Ubuntu20.04后配置深度学习环境 ...

  6. linux :YOLO5配置(ubuntu 20.04 下安装运行yolov5)

    ubuntu 20.04 下安装运行yolov5 新建文件夹,安装python 安装 python-pip: 克隆YOLOv5Git code 配置YOLO环境 安装yolov5: ubuntu 20 ...

  7. Ubuntu20.04编译并运行imu_utils,并且标定IMU

    Ubuntu20.04编译并运行imu_utils,并且标定IMU 一.编译并运行imu_utils 1 安装依赖项 2 下载imu_utils和code_utils 2.1 code_utils编译 ...

  8. ubuntu20.04 noetic 安装 Astra Pro 驱动

    ubuntu20.04 noetic 安装 Astra Pro 驱动 拿到了一个 Orbbec Astro Pro 的摄像头,具体型号为: LeTMC301 在ubuntu中安装了相应的驱动 参考: ...

  9. Ubuntu20.04解决安装synergy失败问题

    Ubuntu20.04解决安装synergy失败问题 1.安装synergy报错如下 安装命令:sudo dpkg -i synergy_1.8.8-stable+dfsg.1-1build1_amd ...

最新文章

  1. 一种解决启动进程传递参数过长的方法
  2. 如何加入LSGO软件技术团队?
  3. 程序员杂记:兴趣井”与“机遇缝”
  4. LINQ教程二:LINQ操作语法
  5. 机器学习(MACHINE LEARNING)使用ARIMA进行时间序列预测
  6. 攻击链路识别——CAPEC(共享攻击模式的公共标准)、MAEC(恶意软件行为特征)和ATTCK(APT攻击链路上的子场景非常细)...
  7. 错误:pytube.exceptions.RegexMatchError
  8. 在c语言中除法运算符,c – 不需要的除法运算符行为,我该怎么办?
  9. 【Linux】一步一步学Linux——dig命令(160)
  10. Hibernate事实:有利于双向集vs列表
  11. linux 内存占满 top找不到进程_检查Linux内存占用的 5 大命令,你知道几个?
  12. 刷新ImageNet最高分!谷歌发布最强Transformer
  13. Java 集合 Collection、Iterator
  14. 【翻译】PDF格式详解
  15. 基于JavaEE的居民水电费管理系统_JSP网站设计_MySQL数据库设计
  16. CXK, 出来打球!
  17. sprintf函数的详解及sprint与printf结合使用 —————— 开开开山怪
  18. 神经复杂系统前沿:关于认知大脑的两种观念
  19. Linux 下rsync命令详细整理
  20. YOLOX升级 | 阿里巴巴提出YOLOX-PAI,1ms内精度无敌!

热门文章

  1. (转)见鬼十法和防见鬼十招
  2. InstructPix2Pix: 动动嘴皮子,超越PS
  3. vuejs 原生JS 拖拽事件案例
  4. 怎么快速修改图片的尺寸大小?怎么修改图片分辨率?
  5. android+n+xperia+z3,索尼Z3成为首款升级Android 7.0机型
  6. 【檀越剑指大厂—Nginx】Nginx篇
  7. 部队射击场实弹打靶有哪些注意事项?
  8. es 部署(单机)
  9. es - 关于环境配置时limits.conf中nofile和nproc代表的含义
  10. Vue常见问题汇总及解决方案