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:
Install vcs:
sudo apt-get update
sudo apt-get install python3-vcstool
Create a workspace directory. In terminal, run:
mkdir -p ~/jackal_ws/src
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
Source the ROS2 Foxy installation. In terminal, run:
source /opt/ros/foxy/setup.bash
Install additional dependencies. In terminal, run:
rosdep install --from-paths src --ignore-src --rosdistro=$ROS_DISTRO -y
Build the workspace. In terminal, run:
colcon build
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.
If you don’t yet have a workspace directory, create one. In terminal, run:
mkdir -p ~/jackal_ws/src
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 ..
Source the ROS2 Foxy installation. In terminal, run:
source /opt/ros/foxy/setup.bash
Install additional dependencies. In terminal, run:
sudo apt update && rosdep update
rosdep install --from-paths src --ignore-src -y
Build the workspace. In terminal, run:
colcon build
You can now source your workspace to make use of the packages you just built. In terminal, run:
source install/setup.bash
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