Git Product home page Git Product logo

briannemsick / radmap_point_clouds Goto Github PK

View Code? Open in Web Editor NEW
28.0 4.0 17.0 17.46 MB

Preprocessing, coordinate frame calibration, configuration files, and launching procedure used to generate point clouds with Google Cartographer for the RadMAP acquisition system. The RadMAP acquisition system consists of two LIDARS, differential GPS, two Ladybug 360 cameras, and an IMU.

CMake 4.00% Python 52.58% C++ 20.16% Lua 23.27%
lidar imu ros pointclouds

radmap_point_clouds's Introduction

Alt text

The radmap_point_clouds packages does the following:

  1. converts velodyne_msgs/VelodyneScan --> sensor_msgs/PointCloud2

  2. merges {sensor_msgs/PointCloud2,sensor_msgs/Imu,sensor_msgs/NavSatFix}

  3. Aligns 2 velodynes in SE3 (rotation and translation)

  4. Provides {.lua,.launch,.urdf} configuration files for cartographer

Notes:

  1. See installation.txt for step by step guide to build this package

  2. The bagfile names are assumed to be {port,starboard,imu}.bag with the appropriate topic names {/novatel_fix,/novatel_imu,/velodyne_packets_port, /velodyne_packets_starboard}

Requirements:

  1. https://github.com/ros-drivers/velodyne

  2. https://github.com/googlecartographer/cartographer_ros

  3. http://www.cloudcompare.org/release/

Recommendations (add to .bashrc):

  1. source /home/[user]/radmap/internal/devel/setup.bash

  2. export RADMAP="/home/[user]/radmap/internal/src/radmap_point_clouds"

  3. export RADBAGS="/home/[user]/radmap/internal/src/radmap_point_clouds/bagfiles"

Merging the bags

  1. Place port.bag, starboard.bag, imu.bag into [folder]
  2. cd [folder]
  3. roslaunch radmap_point_clouds lasers.launch
  4. rosrun radmap_point_clouds lasers
  5. python $RADMAP/src/bag_merging/bag_merge_radmap.py

Run cartographer

  1. copy params/radmap_config to cartographer/[dev branch]/share/cartographer_ros/radmap_config
  2. roslaunch cartographer_ros demo_radmap.launch bag_filename:=${RADBAGS}/[bagfile]
  3. rosservice call /finish_trajectory [name]
  4. roslaunch cartographer_ros assets_writer_radmap.launch bag_filenames:=${RADBAGS}/[bagfile] trajectory_filename:=/home/[user]/.ros/[name].pb
  5. cd /home/[user]/ --> CloudCompare --> visualize points.ply

(Optional) Vizualize aligned scans

  1. roslaunch radmap_point_clouds calibrated_tf.launch
  2. rosbag play [bagfile]
  3. rviz -d $RADMAP/.rviz/aligned_scans.rviz

Alt text Alt text

(Optional) Coordinate frame calibration

  1. velodyne_calib.m
  2. fill in calibrated_tf.launch
  3. roslaunch radmap_point_clouds calibrated_tf.launch
  4. rosrun tf tf_echo imu_link velodyne_port --> radmap.lau - velodyne_port_joint - origin
  5. rosrun tf tf_echo imu_link velodyne_starboard --> radmap.lau - velodyne_starboard_joint - origin

radmap_point_clouds's People

Contributors

briannemsick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

radmap_point_clouds's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.