Installing Jackal Robot Software

Note

The physical Jackal robot comes pre-configured with ROS2 and the necessary Jackal packages already installed; therefore, you will only need to follow the instructions below if re-installing software on the Jackal or updating from ROS1.

Updating firmware

For ROS2 Foxy, Jackal uses new microROS based firmware.

Install the Jackal firmware package on the Jackal:

sudo apt-get update
sudo apt-get install ros-foxy-jackal-firmware

To update the firmware, place the Jackal MCU into bootloader mode by switching the PWR_MODE switch from NORM to ALT, then pressing the M_RST button.

Then, on the Jackal, run:

jackal_firmware_flash.sh

Wait for the firmware to be flashed.

Once the firmware has been flashed, place the Jackal MCU back into normal mode by switching the PWR_MODE switch from ALT to NORM. The robot will power off. Turn the robot back on by pressing the power button.

Installing from Debian Packages

Note

Jackal Debian packages are not yet available. Please install from source.

The preferred way to install Jackal’s packages is using precompiled Debian packages. These packages are available for Ubuntu 20.04.

On the physical robot you need to install the jackal_robot package. In terminal, run:

sudo apt-get install ros-foxy-jackal-robot

Installing from Source

Jackal packages are available on GitHub, and can be compiled and installed from source if desired:

  1. Install vcs:

sudo apt-get update
sudo apt-get install python3-vcstool
  1. Create a workspace directory. In terminal, run:

mkdir -p ~/jackal_ws/src
  1. Clone the Jackal repositories into your workspace directory. In terminal, run:

cd ~/jackal_ws
wget https://raw.githubusercontent.com/jackal/jackal_robot/foxy-devel/dependencies.repos
vcs import src < dependencies.repos
  1. Source the ROS2 Foxy installation. In terminal, run:

source /opt/ros/foxy/setup.bash
  1. Install additional dependencies. In terminal, run:

rosdep install --from-paths src --ignore-src --rosdistro=$ROS_DISTRO -y
  1. Build the workspace. In terminal, run:

colcon build
  1. You can now source your workspace to make use of the packages you just built. In terminal, run:

source install/setup.bash

Installing the microROS agent

The microROS agent is not currently released as a debian package, so we must build it from source.

Note

If you have built the Jackal packages from source, you can skip to step 7.

  1. If you don’t yet have a workspace directory, create one. In terminal, run:

mkdir -p ~/jackal_ws/src
  1. Clone the micro_ros_setup repositories into your workspace directory. In terminal, run:

cd ~/jackal_ws/src
git clone -b foxy https://github.com/micro-ROS/micro_ros_setup.git
cd ..
  1. Source the ROS2 Foxy installation. In terminal, run:

source /opt/ros/foxy/setup.bash
  1. Install additional dependencies. In terminal, run:

sudo apt update && rosdep update
rosdep install --from-paths src --ignore-src -y
  1. Build the workspace. In terminal, run:

colcon build
  1. You can now source your workspace to make use of the packages you just built. In terminal, run:

source install/setup.bash
  1. Create and build the microROS agent. In terminal, run:

ros2 run micro_ros_setup create_agent_ws.sh
ros2 run micro_ros_setup build_agent.sh
source install/setup.bash

Installing the systemd job

If you would like ROS2 to run on boot on the Jackal, first make sure your ROBOT_SETUP environment variable is set to your workspace before installing:

export ROBOT_SETUP=~/jackal_ws/install/setup.bash

Then install the job:

ros2 run jackal_robot install

Launching Jackal software manually

To run the ROS2 software in the terminal, first source the workspace:

source ~/jackal_ws/install/setup.bash

Then launch Jackal bringup. In terminal, run:

ros2 launch jackal_robot bringup.launch.py