MengGuo / Jackal_Velodyne_Duke

Experiences with Jackal robot (equipped with Velodyne LiDAR) at Duke University

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jackal_Velodyne_Duke

Experiences with Jackal robot (equipped with Velodyne LiDAR) at Duke University.

@INPROCEEDINGS{8264271,
  author={M. {Guo} and M. M. {Zavlanos}},
  booktitle={2017 IEEE 56th Annual Conference on Decision and Control (CDC)}, 
  title={Temporal task planning in wirelessly connected environments with unknown channel quality}, 
  year={2017},
  volume={},
  number={},
  pages={4161-4168},
  doi={10.1109/CDC.2017.8264271}}

Description

This repository contains the memos, logs and packages developed at Duke University, for Jackal robots by Clearpath equipped with standard hardware plus the Velodyne LiDAR.


Jackal Initial Setup

This markdown contains the initial steps we took to set up the Jackal, which involves mainly three steps. Afterwards, you should be able to drive Jackal manually and visualize the pointcloud from Velodyne via Rviz, see example video.

  • Step 1. Read this from Clearpath first.

    Connect Jacakal by wire to your LAN. ssh into the machine and connected your local Wifi via wcid-curses. Make sure the automatic connection is checked in the configuration of Wifi signal. We also choose to set static_IP which works fine for a single Jackal (but not so well when multiple Jackal appears). We also enabled DHCP.

    Unplug the wire and reboot Jackal to make sure that Jackal is connected to your preferred Wifi. We verify this by ping and ssh into Jackal.

    After you are confident that your Jakcal connects automatically to the Wifi with a fixed or known IP (which you can monitor from your Router administer page), move to the next step.

  • Step 2. After you ssh into Jackal, try rostopic list. You will see that there are already many topics being published. The reason is that there is a startup script that runs once Jackal is powered on, see here from Clearpath for details. In other words, a ROS master is up and running at Jackal.

    Now we want to make these messages available to other ROS nodes running within the same LAN. We have a workstation with Ubuntu 14.04 and ROS Indigo. We set up ROS across multiple machines. Since a ROS master starts automatically at Jackal, we decided to put ROS Master at Jackal (which however will be a problem if multiple Jackals are present. Instead, we plan to use a multiple-master scheme ). Basically, we add to Jackal's and workstation's ~/.bashrc the following:

    # at Jackal, ~/.bashrc
    export ROS_IP = x.x.x.x1
    
    # at workstation, ~/.bashrc
    export ROS_IP = x.x.x.x2
    export ROS_MASTER_URI = x.x.x.x1
    

    After the workstation is subscribed to the ROS master on Jackal, you should be able to see all the ROS messages on your workstation.

  • Step 3. Visualize Jackal in Rviz. Before launching Rviz, you need to do these things:

    • copy the customized packages from jackal_name:~/catkin_ws to workstation:~/catkin_ws, via scp.
    • add in workstation's /etc/hosts the computer name and IP of Jackal (critical):
    # at workstation, ~/etc/hosts
    x.x.x.x1	  Jackal_computer_name
    
    • install jackal_viz from ros wiki. Then launch the visualization:
    roslaunch jackal_viz view_robot.launch
    

    You will see the Jackal 3D model as below and you can add sensor data by topic (as shown in the last part of the offcial tutorial). For velodyne, it is /pointcloud2 . Drive the Jackal around by interact.


Following Work

Tests related to navigation, mapping and localization, see the navigation folder

About

Experiences with Jackal robot (equipped with Velodyne LiDAR) at Duke University

License:GNU General Public License v2.0


Languages

Language:Python 99.0%Language:CMake 0.6%Language:Batchfile 0.3%Language:Shell 0.1%