Skip to content

GSO-soslab/jackal_ocg120g

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OCG120G - Jackal

This repository contains configurations and source codes for demos presented in course OCG120G at University of Rhode Island.

Configure for Jackal J3 with Velodyne Lidar

Basic Jackal System setup

Velodyne Lidar ROS driver installation

  • IP set to 192.168.131.93 through the website configuration
  • install driver: sudo apt-get install ros-noetic-velodyne-driver

ocg120g setup

  • go to ROS workspace
  • git clone https://github.com/GSO-soslab/jackal_ocg120g
  • install other dependencies:
cd ~/Develop/ros/jackal_ws/
rosdep install --from-paths src --ignore-src -y
  • catkin build

remote setup

  • install ros noetic
  • go to ROS workspace: cd ~/Your_path/jackal_ws
  • install jackal_ocg120g: git clone https://github.com/GSO-soslab/jackal_ocg120g
  • install other dependencies: sudo apt-get install ros-noetic-jackal-description
  • build: catkin build ocg120g_remote

setup network

  • Add laptop hostname in Jackal:
    • In laptop terminal: get [Laptop_IP] by typing hostname -I; and get [Laptop_Hostname] by typing hostname
    • In jackal terminal: echo '[Laptop_IP] [Laptop_Hostname]' | sudo tee -a /etc/hosts
  • Do the same thing for Jackal hostanme in laptop

Demo1 for Velodyne lidar

  • In Jackal, launch Velodyne Lidar: roslaunch ocg120g_bringup bringup_velodyne.launch
  • In laptop:
cd ~/Develop/ros/jackal_ws/src/jackal_ocg120g/ocg120g_remote/setup/J3_laptop
source setup_J3_Demo1.sh

Configure for Jackal J2 with RealSense

Basic Jackal System setup

RealSense ROS driver installation

  • install librealsense SDK
sudo mkdir -p /etc/apt/keyrings
curl -sSf https://librealsense.intel.com/Debian/librealsense.pgp | sudo tee /etc/apt/keyrings/librealsense.pgp > /dev/null

sudo apt-get install apt-transport-https

echo "deb [signed-by=/etc/apt/keyrings/librealsense.pgp] https://librealsense.intel.com/Debian/apt-repo `lsb_release -cs` main" | \
sudo tee /etc/apt/sources.list.d/librealsense.list
sudo apt-get update

sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

sudo apt-get install librealsense2-dev
sudo apt-get install librealsense2-dbg
  • verify installation: Reconnect the Intel RealSense depth camera and run: realsense-viewer

  • install realsense ros wrap (needs to be from the source)

cd `/Your_Workspace/src
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout ros1-legacy
cd ..

rosdep install --from-paths src --ignore-src -r -y
 
catkin_init_workspace
cd ..
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
  • verify the ros wrapper: roslaunch realsense2_camera rs_camera.launch

ocg120g setup

  • go to ROS workspace
  • git clone https://github.com/GSO-soslab/jackal_ocg120g
  • install other dependencies:
cd ~/Your_Workspace/
rosdep install --from-paths src --ignore-src -y
# point cloud compression setup
sudo apt install ros-noetic-point-cloud-transport ros-noetic-draco-point-cloud-transport
  • catkin_make

remote setup

  • install ros noetic
  • go to ROS workspace: cd ~/Your_path/jackal_ws
  • install jackal_ocg120g: git clone https://github.com/GSO-soslab/jackal_ocg120g
  • install other dependencies: sudo apt-get install ros-noetic-jackal-description
  • build: catkin build ocg120g_remote

setup network

  • Add laptop hostname in Jackal:
    • In laptop terminal: get [Laptop_IP] by typing hostname -I; and get [Laptop_Hostname] by typing hostname
    • In jackal terminal: echo '[Laptop_IP] [Laptop_Hostname]' | sudo tee -a /etc/hosts
  • Do the same thing for Jackal hostanme in laptop

Demo1 for Realsense camera

  • In Jackal, launch Realsense camera: roslaunch ocg120g_bringup bringup_realsense.launch
  • In laptop:
cd ~/Develop/ros/jackal_ws/src/jackal_ocg120g/ocg120g_remote/setup/J2_laptop
source setup_J2_Demo1.sh

Configure for Jackal J1 with Livox Lidar

Basic Jackal System setup

Livox Lidar ROS driver installation

  • follow instruction to install Livox-SDK
  • build ros driver:
cd ~/Your_Workspace/src
git clone https://github.com/Livox-SDK/livox_ros_driver
catkin build

ocg120g setup

cd ~/Your_Workspace/src
git clone https://github.com/GSO-soslab/jackal_ocg120g
cd ~/Your_Workspace/
rosdep install --from-paths src --ignore-src -y
catkin build

remote setup

  • install ros noetic
  • go to ROS workspace: cd ~/Your_path/jackal_ws
  • install jackal_ocg120g: git clone https://github.com/GSO-soslab/jackal_ocg120g
  • install other dependencies: sudo apt-get install ros-noetic-jackal-description
  • build: catkin build ocg120g_remote

setup network

  • Add laptop hostname in Jackal:
    • In laptop terminal: get [Laptop_IP] by typing hostname -I; and get [Laptop_Hostname] by typing hostname
    • In jackal terminal: echo '[Laptop_IP] [Laptop_Hostname]' | sudo tee -a /etc/hosts
  • Do the same thing for Jackal hostanme in laptop

Demo1 for Livox lidar

  • In Jackal:
# launch lidar
roslaunch ocg120g_bringup bringup_livox.launch
# time sync
sudo ptpd -M -i br0 -C
  • In laptop:
cd ~/Develop/ros/jackal_ws/src/jackal_ocg120g/ocg120g_remote/setup/J1_laptop
source setup_J1_Demo1.sh

Setting Jackal up

First, refer to the Jackal documentation to complete the Jackal setup.

Complete ROS installation for

Create a ros workspace in home directory.

mkdir -p ~/ros_ws/src
git clone https://github.com/GSO-soslab/jackal_ocg120g ~/ros_ws/src

Install packages necessary for building packages

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

Install package dependencies

cd ~/ros_ws
rosdep install --from-paths src --ignore-src -y

Build the packages with catkin_make

cd ~/ros_ws
catkin_make

Finally, if hacking the default setup or configuring attachments is desired, add directive for sourcing the top level workspace into robot-upstart configuration and attachments if applicable (see accessories.launch). Keep in mind that this step is not necessary.

sudo nano /etc/ros/setup.bash

To control motors individually, you need to use custom jackal and jackal_robot repositories.

Additional configuration

For additional configuration regarding network and time sync, please refer to Network Setup and Time Sync Setup.

Run demos and attachments

Run attachments

Launch files for running attachiments resides in ocg120g_bringup package.

roslaunch ocg120g_bringup bringup_livox.launch ## or
roslaunch ocg120g_bringup bringup_realsense.launch ## or
roslaunch ocg120g_bringup bringup_velodyne.launch ## or
roslaunch ocg120g_bringup bringup_zed.launch ## or
roslaunch ocg120g_bringup relay_zed.launch

Required repositories

Driver Name Repository URL Working Commit hash Additional information
Livox Laser https://github.com/Livox-SDK/livox_ros_driver.git 880c46a Requires additional configuration. Refer to network setup and time sync setup.
Zed Streo Camera https://github.com/stereolabs/zed-ros-wrapper.git 1299a1c
Velodyne - Refer here
Intel Realsense - Refer here

Run Cartographer demo

Note: This launch file will run move base as well.

Note #2: If you want to change the algorithm for path finding, you need to modify the jackal_navigation/launch/include/move_base.launch file in the jackal repository.

roslaunch ocg120g_mapping cartographer.launch

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •