ANYbotics /elevation_mapping 配置

1.首先安装Grid Map,采用apt命令直接安装到ros环境里

sudo apt-get install ros-melodic-grid-map

2.安装首先安装kindr(安装到anybotics工作空间)

git clone https://github.com/anybotics/kindr.git
mkdir build
cd build
cmake ..
sudo make install

3. 安装pcl点云库

在任意文件进行源码下载和编译,需要提前安装好Eigen库sudo apt-get install libeigen3-dev

git clone https://github.com/PointCloudLibrary/pcl.git

sudo apt-get install cmake
sudo apt-get install g++  
sudo apt-get install libboost1.58-all-dev 
sudo apt-get install libeigen3-dev
sudo apt-get install libflann-dev
sudo apt-get install python
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libudev-dev
sudo apt-get install freeglut3-dev
sudo apt-get install doxygen
sudo apt-get install graphviz
sudo apt-get install libpng12-dev
sudo apt-get install libgtest-dev
sudo apt-get install libxmu-dev
sudo apt-get install libxi-dev
sudo apt-get install libpcap-dev
sudo apt-get install libqhull-dev
sudo apt-get install libvtk5-qt4-dev
sudo apt-get install python-vtk
sudo apt-get install libvtk-java
 

mkdir build
cd build
cmake ..
make 
sudo make install

注:在进行PCL库编译的过程中会出现c++:internal compiler error:killked(program cclplus)错误,这里主要可能是内存不够,我一开始采用4G虚拟机内存编译,在更新为8G后顺利通过,当然也可以多次尝试

4. 建立新的catkin工作空间,下载首先安装kindr_ros和elevation mapping(安装到anybotics工作空间)

git clone https://github.com/ANYbotics/kindr_ros.git
git clone https://github.com/anybotics/elevation_mapping.git

进行catkin_make编译,这过程中可能会遇到如下问题:

(1)error: ‘PCL_MAKE_ALIGNED_OPERATOR_NEW’ does not name a type; did you mean

此时需要找到对应报错位置修改为EIGEN_MAKE_ALIGNED_OPERATOR_NEW

(2)fatal error: filters/filter_chain.hpp

此时需要找到对应保存位置将hpp修改为h

5.message_logger  报错

安装message_logger(安装到anybotics工作空间)

git clone https://github.com/ANYbotics/message_logger.git

6.编译工作空间

catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build

7.turtle3测试

  下载turtlebot3

sudo apt install ros-melodic-turtlebot3*

机器人类型

export TURTLEBOT3_MODEL=waffle

8. 运行Demo,在elevation mapping中有基于turtlebot3和RealSense的Demo

roslaunch elevation_mapping_demos turtlesim3_waffle_demo.launch
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

报错:rospkg等包没有

(1)首先是修改 elevation_mapping_demos /scripts/tf_to_pose_publisher.py

中的#!/usr/bin/env python3为#!/usr/bin/env python2.7这可能和我系统中安装的python版本有关

(2)修改launch载入的地图为

<arg name="world_name" value="$(find turtlebot3_gazebo)/worlds/turtlebot3_stage_2.world"/>

之后重新运行就不会报出tf的错误,同时Rviz中模型会正常显示机器人的渲染模型而不是白色STL,左下角的Realsense会显示正确的点云,在Rviz中勾选map的话题则可以看到正常的高程图数据:

通过键盘遥控可以看到机器人在运动中地图不断建立,因此后续只需要在全局地图中获取到局部高程图,并进一步计算落足点用于控制,但实际系统中可能会存在如下的问题:

(1)运算速度不够,资料中显示不采用GPU下能实现2~3Hz的刷新;

(2)真实传感器噪声比仿真大,地图建立不如上图效果那么好;

(3)需要增加代码提取局部高程图,并通过UDP或共享内存的方式发送给步态控制器;

(4)随着机器人的运动全局地图会越来越大,对于低成本处理器如我采用的Jetson nano可能无法支撑,如何修改这个库直接构建局部地图;

RTAB定位输出Odom,elevation mapping采用深度点云和里程计输出全局高程图

参考链接

grid_map(二):ubuntu16.04安装测试grid_map 1.6.0-1.6.2_biter0088的博客-CSDN博客

四足机器人雷达-视觉导航2:Elevation mapping局部高程图测试 - 知乎

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值