{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lidar Test\n", "\n", "11 May 2019\n", "\n", "ydlidar data collected using gecko. `the_collector` was setup to capture data\n", "using `pickle` so the data is easily readable.\n", "\n", "**Note:** this is messed up a little. The lidar is tethered by USB cables and power \n", "to my desktop, so I cannot really move it nicely and I am constantly in the\n", "way ... but it sort of works given these *terrible* conditions." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline \n", "\n", "import cv2\n", "import numpy as np\n", "from matplotlib import pyplot as plt " ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "import pickle\n", "\n", "# gecko robotics library\n", "from pygecko.messages import lidar_st\n", "\n", "# simple slam library based on breezy slam\n", "from sslam import RMHC_SLAM\n", "from sslam.sensors_models import Laser_Model" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[0m\u001b[01;32mbagit.py\u001b[0m* lidar.2019-05-11-20:08:58.014623.pickle.bag sub.cpp\r\n", "\u001b[01;34mbuild\u001b[0m/ lidar.2019-05-11-21:11:33.853614.pickle.bag\r\n", "CMakeLists.txt pub.cpp\r\n" ] } ], "source": [ "%ls ../../gecko" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "# fname = \"../../gecko/lidar.2019-05-11-20:08:58.014623.pickle.bag\"\n", "fname = \"../../gecko/lidar.2019-05-11-21:11:33.853614.pickle.bag\"\n", "with open(fname, 'rb') as fd:\n", " data = pickle.load(fd)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [], "source": [ "class YDLIDAR_Model(Laser_Model):\n", " '''\n", " A class for\n", " scan_size, scan_rate_hz, detection_angle_degrees, distance_no_detection_mm, detection_margin=0, offset_mm=0\n", " '''\n", " def __init__(self, detectionMargin = 0, offsetMillimeters = 0):\n", " Laser_Model.__init__(self, SCAN_SIZE, 5, 360-8, 120, detectionMargin, offsetMillimeters)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [], "source": [ "SCAN_SIZE = 620\n", "MAP_SIZE_METERS = 8\n", "MAP_SIZE_PIXELS = 500" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [], "source": [ "slam = RMHC_SLAM(YDLIDAR_Model(), MAP_SIZE_PIXELS, MAP_SIZE_METERS)" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [], "source": [ "mapbytes = bytearray(MAP_SIZE_PIXELS * MAP_SIZE_PIXELS)" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "619\n" ] } ], "source": [ "save = []\n", "for p in data['lidar']:\n", " try:\n", " pts = [1000*x[1] for x in p.data[:SCAN_SIZE]]\n", " slam.update(pts)\n", " save.append(slam.getpos())\n", " except:\n", " print(len(pts))\n", " " ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [], "source": [ "slam.getmap(mapbytes)" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mapimg = np.reshape(np.frombuffer(mapbytes, dtype=np.uint8), (MAP_SIZE_PIXELS, MAP_SIZE_PIXELS))\n", "\n", "plt.imshow(mapimg, cmap='gray')\n", "plt.title('This really is a square room');" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "image/png": "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kxRFv91Nc99wwKfxSilp6LGzu6GP3fW97G7oo6bTn8FwVlosX71hFrfOzwz6dOIRhl1eum1OOgeddA066bI5qe208eKeZgadHpbkJfGtm+awanaqcnwrQo4SEEXAue/35TT02DEadHi9kt9vPc6MtFhmpMWwvbaHn286RoHFPKkhz6WUDDo9dFqddA46qGq1sru+j90NfXTbnIA/Om1JXhK3X5bFNbNTA7Yuw+P10TPk8guCtpXXuiizVo6+77b5XwednlOON+gEN8xN58GVBSzMSQiIjQrFRFACogg4P7p9HttquznaYeNIxyBvVbVz0ixaUuNM/O7dWtLiIok2GkYfut02Jz02Fz1D/leH28uQ9it9bARa3nx9XDYlm43MSIvB4fayraab92u7EQjGjqAJIRCj+yC0shE8PonH68Pt9eH2Sjw+Hx6v/OC914fD46PP7jrRVo3YpmZSYk2kxJgoyozz72vvR/djTSRFG8MupIlCAUpAFEFgeaGF5YWW0fet/cNc8//KcLg/iC67o66XHXW9AbOhwGImNc6ElCABpN8v40WOlkntKe/f1+rhfzNS5v/cv6PX6TDqBQadjsgIQYReh0GnvY6W67CcJAgpMSaq95Wz5tpVAbtehSIYKAFRBIxOq4OGXjtNvXYae+009Q6zsbId22mGaYwGHelxkSRER5BsNpIcYyI5xojFbCLJbESvE9hdXuwuD1FGPamxkaTEmkiNNVG5dwerr5laD+NavZolpZj6KAFRBIR/7Gvhy89/EKpECE4YxrluTio3zcsgJyma3KRoUmJME86Md3SCxykUigtDCYgiICwvTOaKgmS21/WQlxzNrPRYNlZ2sCg3gd/edzmpsZGhNlGhUFwgyjOnCAipsZGse2gp3755DvU9djZWdgDwlweXKfFQKC4SlIAoAkZDj53ndzWdUHbPk9s53G4NkUUKhWIyUQKiCAhbjnWx9lfb6LI5WffgUo7/6Cb+96OX0dw3zC2/2Mpjbx/F6fGG2kyFQnEBKB+IYlKRUvL01uP89xvVzEiN5f8+UUJusn9V960LMllRaOEHr1Xxi83HeLOijZ98eD6X5SaG2OrJx+XxMeT0MOTyMOT0YnN6sLs8DDk92Jxe9je4qSqr8ddxekfr2pxe7E4PNu29yaAnKyGKrMQoshOjyEoYeY0mNXbiEw8UislACYhi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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.subplot(2,1,1)\n", "plt.plot([x[0] for x in save], [x[1] for x in save])\n", "plt.grid(True)\n", "\n", "# the angle looks the best, I just basically turned from\n", "# side to side trying to get different data\n", "plt.subplot(2,1,2)\n", "plt.plot([x[2] for x in save])\n", "plt.grid(True)\n", "plt.ylabel('Theta');" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.0b3" } }, "nbformat": 4, "nbformat_minor": 2 }