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}}
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.
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 viawcid-curses
. Make sure the automatic connection is checked in the configuration of Wifi signal. We also choose to setstatic_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
andssh
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, tryrostopic 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
andROS 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
toworkstation:~/catkin_ws
, viascp
. - 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 byinteract
. - copy the customized packages from
Tests related to navigation, mapping and localization, see the navigation folder