Cartographer的安装与测试

Ros版本:ROS-Kinect

工作目录:~/carto_ws

1.RoboSense 16线雷达驱动安装

安装依赖项

sudo apt-get install libpcap-dev

下载源码到工作目录的src/文件夹下

 cd ~/carto_ws/src

git clone https://github.com/RoboSense-LiDAR/ros_rslidar

修改文件权限

cd ~/carto_ws/src/ros_rslidar/rslidar_drvier

chmod 777 cfg/*

cd ~/carto_ws/src/ros_rslidar/rslidar_pointcloud

chmod 777 cfg/*

源码编译

cd ~/carto_ws

catkin_make

设置电脑的静态ip地址

默认 RS-LiDAR-16 固件情况下,配置电脑系统的静态 IP 地址为“192.168.1.102”,子网掩码为“255.255.255.0”,网关不需要配置。配置完成后,可以通过 ifconfig 命令查看静态 IP 是否生效。
我的方法很简单,直接显示器右上角选择有线连接,设置IPV4网络,如下图:

 

连接雷达电源和网线,连接网络

cd carto_ws

source devel/setup.bash

roslaunch rslidar_pointcloud rs_lidar_16.launch

可以在RVIZ中看到点云,注意要设置全局坐标系为rslidar。

2.Cartographer的安装

cartographer的安装主要是ceres、prtobuf和cartographer的安装,cartographer_ros是ROS的功能包,调用cartographer算法。

安装依赖: 

sudo apt-get update

sudo apt-get install -y python-wstool python-rosdep ninja-build

安装Ceres solver

cd  ~/carto_ws/document

git clone https://github.com/BlueWhaleRobot/ceres-solver.git

cd ceres-solver

mkdir build

cd build

cmake ..

make

sudo make install

安装Prtobuf 3.0
 

cd  ~/carto_ws/document

git clone https://github.com/google/protobuf.git

cd protobuf

git checkout v3.6.1

mkdir build

cd build

cmake  -DCMAKE_POSITION_INDEPENDENT_CODE=ON  -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF ../cmake

make

sudo make install

安装Cartographer

cd  ~/carto_ws/document

git clone https://github.com/BlueWhaleRobot/cartographer.git

cd cartographer

mkdir build

cd build

cmake ..

make

sudo make install

安装cartographer_ros

cd ~/carto_ws/src   #请修改路径到自己的ROS catkin工作空间
git clone https://github.com/BlueWhaleRobot/cartographer_ros.git
cd ..
catkin_make_isolated --install --use-ninja

测试

下载文件:https://www.bwbot.org/s/vQ2D9Z

然后运行。根据个人平台计算能力不同,完整运行时间一般为半个小时到1个小时之间

source devel_ioslated/setup.bash
roslaunch cartographer_ros offline_backpack_2d.launch bag_filenames:=${HOME}/Desktop/cartographer_paper_deutsches_museum.bag

##修改到自己保存的路径

提取建立的地图,结束测试

上面步骤会生成一个pbstream文件,用cartographer_ assets_writer可以转换成ROS使用的栅格地图。

roslaunch cartographer_ros assets_writer_ros_map.launch bag_filenames:=${HOME}/Desktop/cartographer_paper_deutsches_museum.bag pose_graph_filename:=${HOME}/Desktop/cartographer_paper_deutsches_museum.bag.pbstream

 

配置文件结构说明

工作目录为carto_ws,src同级目录除了编译产生的,其余都是安装依赖留下的文件夹。

Cartographer配置文件主要存在src/cartographer_ros/cartographer_ros下的urdf文件夹的myself_robot.urdf、configuration文件夹下的myself_rslidar_2(3)d.lua,myself_backpack_2(3)d_localization.lua以及rslidar_2(3)d.rviz、demo_2d.rviz配置文件、launch文件夹下的myself_rslidar_2(3)d.launch、myself_backpack_2(3)d_localization.launch。这里定位由于和后面导航rviz显示冲突,注释了rviz,纯定位时需要取消注释,显示调用rviz。

在3D建图还需要后面进行离线处理,需要assets_writer_myself_3d.launch,其中相关的配置文件为 assets_writer_myself_3d.lua。

利用bag包进行离线3D SLAM建图可以使用offline_myself_rslidar_3d.launch

配置文件详解

URDF文件的配置(这里2D和3D都是使用的同一个urdf):

<?xml version="1.0"?>
<robot name="myfirstrobot">
<!--设置颜色-->

  <material name="orange">

    <color rgba="1.0 0.5 0.2 1"/>

  </material>

  <material name="gray">

    <color rgba="0.2 0.2 0.2 1"/>

  </material>

 <!--设置imu link,长方体,长宽高为0.06 0.04 0.02,这里的单位为米m-->

  <link name="imu">

    <visual>

      <origin xyz="0.0 0.0 0.0"/>

      <geometry>

        <box size="0.06 0.04 0.02"/>

      </geometry>

      <material name="orange"/>

    </visual>

  </link>

 
  <!--设置lidar link,圆柱,半径0.05,高为0.07,这里的单位为米m-->

  <link name="laser">

    <visual>

      <origin xyz="0.0 0.0 0.0"/>

      <geometry>

        <cylinder length="0.07" radius="0.05"/>

      </geometry>

      <material name="gray"/>

    </visual>

  </link>

 

 <!--设置base link,box 0.5x0.5x0.5,可根据实际机器人大小设置-->

  <link name="base_link">

   <visual>

      <origin xyz="0 0 0"/>

      <geometry>

        <box size="0.5 0.5 0.5"/>

      </geometry>

      <material name="Cyan"/>

<color rgba="0 0.4 0.2 0.6"/>

    </visual>

  </link>

 
 <!--设置imu和基座base的关系,imu和base没有偏移和旋转,默认为同一个坐标系,根据实际情况修改,注意子零件在父零件的坐标中的位姿表示,(右手坐标系,车头方向为x正向,车体左侧为y正向,天空为z正向)-->

  <joint name="imu2base" type="fixed">

    <parent link="base_link"/>

    <child link="imu"/>

    <origin xyz="0 0 0" rpy="0 0 0"/>

  </joint>

 

  <!--设置lidar和基座base的关系,在base的x方向上偏移0.25,z方向偏移0.5-->

  <joint name="laser2base" type="fixed">

    <parent link="base_link"/>

    <child link="laser"/>

    <origin xyz="0.25 0.0 0.5" rpy="0. 0. 0."/>

  </joint>
  </robot>

模型图

本文参照合工大实验室的帖子编写,在调试过程中发现了帖子代码有几处小错误,故修改记录。参考链接

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安装Cartographer需要以下步骤: 1. 首先,在Ubuntu 18.04上安装依赖项。打开终端并执行以下命令: ``` sudo apt-get update sudo apt-get install -y cmake g++ git google-mock libboost-all-dev libcairo2-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.3-dev libprotobuf-dev libsuitesparse-dev lsb-release ninja-build python-sphinx protobuf-compiler python3-dev python3-sphinx ros-melodic-tf2-sensor-msgs libceres-dev ``` 2. 安装Google的protobuf: ``` wget https://github.com/google/protobuf/releases/download/v3.8.0/protobuf-all-3.8.0.tar.gz tar -xf protobuf-all-3.8.0.tar.gz cd protobuf-3.8.0/ ./configure make sudo make install ``` 3. 克隆Cartographer存储库: ``` git clone https://github.com/googlecartographer/cartographer.git ``` 4. 创建并进入构建目录: ``` cd cartographer mkdir build cd build ``` 5. 运行CMake编译配置: ``` cmake .. make -j ``` 6. 安装Cartographer: ``` sudo make install ``` 完成安装后,您可以在终端中测试Cartographer: ``` cartographer_rosbag_validate -h ``` 这将显示Cartographer的命令行帮助。 ### 回答2: 在Ubuntu 18.04上安装Cartographer可以按照以下步骤进行操作: 1. 打开终端,使用命令sudo apt-get update来更新软件包。 2. 安装依赖项:sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libceres-dev liblua5.3-dev ninja-build protobuf-compiler python-sphinx libatlas-base-dev 3. 安装CMake:sudo apt-get install -y cmake 4. 进入要安装Cartographer的目录,例如/home/username/Documents。 5. 使用以下命令克隆Cartographer源代码: git clone https://github.com/cartographer-project/cartographer.git cd cartographer git checkout master git fetch --all git reset --hard origin/master git submodule init git submodule update 6. 创建一个用于构建的目录并进入该目录: mkdir build && cd build 7. 运行以下命令配置构建: cmake .. 8. 运行以下命令编译并安装Cartographer: make -j sudo make install 9. 安装完成后,可以使用以下命令验证Cartographer是否正确安装cartographer_assets_writer cartographer_grpc_assets_writer cartographer_info cartographer_pbstream_to_rosbag cartographer_ros cartographer_rosbag cartographer_rosver cartographer_turtlebot_3_localization 通过以上步骤,您应该可以成功在Ubuntu 18.04上安装Cartographer。可能需要一些时间来完成编译和安装过程,请耐心等待。如果遇到任何问题,可以参考Cartographer的官方文档或寻求相关技术支持。 ### 回答3: 在Ubuntu 18.04上安装Cartographer是一个相对繁琐的过程,以下是详细步骤: 1. 首先,你需要确认你的系统已经安装好了一些基本的开发工具。可以在终端中运行以下命令来安装这些工具: ``` sudo apt-get update sudo apt-get install -y build-essential cmake git ``` 2. 接下来,需要安装一些依赖项。运行以下命令进行安装: ``` sudo apt-get install -y google-mock libboost-all-dev libcairo2-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler python-sphinx ``` 3. 安装和配置Java开发环境。Cartographer使用Java来构建文档,所以需要安装Java JDK: ``` sudo apt-get install -y openjdk-8-jdk ``` 然后设置Java环境变量: ``` export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH ``` 4. 现在,你可以从GitHub上克隆Cartographer的源代码库: ``` git clone https://github.com/googlecartographer/cartographer.git ``` 然后进入克隆下来的目录: ``` cd cartographer ``` 并且检出最新的稳定版本: ``` git fetch --all git tag git checkout tags/<tag_name> ``` 5. 创建一个构建目录,并切换到该目录: ``` mkdir build cd build ``` 6. 使用CMake来配置Cartographer的构建: ``` cmake .. ``` 7. 使用ninja构建Cartographer: ``` ninja ``` 8. 最后,运行测试来确保安装成功: ``` ninja test ``` 至此,你已经成功安装Cartographer。记得将Cartographer添加到你的系统路径中,以便在任何目录下都可以使用它: ``` export CARTOGRAPHER_PATH=<path_to_cartographer> export PATH=$CARTOGRAPHER_PATH:$PATH ``` 希望以上步骤对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值