Pre-requisite Software¶
The ROS driver for the robots is initially supported for the ROS Noetic
.
All of ROS related software should be installed either on remote PC/Rasberry
Pi/Nvidia board on robot. The steps for shown below are for remote PC both
boards usually come with pre-installed ROS distribution.
Note
All the ROS related software should be installed/run on remote PC/Rasberry Pi/Nvidia board, nothing needed to be installed on robots control board.
[Ubuntu 20.04 - ROS NOETIC]¶
The ROS driver for the robots is initially supported for the
ROS Noetic
. All of ROS related software should be installed in a Remote-PC. The
steps for shown below are for Remote-PC or bz1-PC.
Warning
Care should be taken when installing ROS so that it matches with your CPU’s architecture (i.e. armhf, amd64, arm6, etc.)
PC Setup¶
ROS Noetic installation requires Ubutnu 20.04.
Download Ubuntu 20.04
Follow the Ubuntu 20.04 Installation guide
ROS-noetic Installation¶
The ros driver provided can be run either on a remote PC or on board robot computer. Usually, the on-board computer already has pre-installed ROS distribution, so the instructions below will be applicable to a remote computer. You may run the following commands to install ROS noetic or you can simply follow the instructions from the roswiki.
Enter the Ubuntu terminal and typie in the following command:
cd
The next step is setting up the source list:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
After which you will set up the keys:
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
Then, you will install ROS-noetic:
sudo apt update
sudo apt install ros-noetic-desktop-full
Finally, you will add ROS environment to your bash file, what this means is that each time you load up your terminal, it will automatically find the built-in ROS packages.
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Install python dependencies and initialize repo:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo rosdep init
rosdep update
Once the ROS packages are set-up the next step would be to set up a workspace in which you can add pre-built packages to control your robot.
Catkin Workspace¶
The first step is to ensure that you have correctly setup you ROS noetic. It can be checked by:
cd ..
source /opt/ros/noetic/setup.bash
Next, install catkin_tools:
sudo apt install python3-catkin-tools
The next step is to create, your workspace. This is typically created in the home directory following the standard ROS convention, once built, you should see a
build
anddevel
folder next to yoursrc
folder:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin build
To enable the workspace, you must type in:
source devel/setup.bash
To avoid typing this everytime you start a terminal, you’ll add this into the
last line
of the bashrc file:
gedit ~/.bashrc
Add the following line at the end of the bashrc file:
source /home/<your_computer_username>/catkin_ws/devel/setup.bash
Everytime you do a
catkin build
, it is necessary to either restart all your terminals, or source them.To verify that everything is working correctly, type the following into the terminal:
echo $ROS_PACKAGE_PATH
BZ1 Installation¶
Important
To acquire BZ1 package with installation script please email support+bz1@mybotshop.de with
your subject as BZ1 GitHub Access
, your GitHub ID
and your Invoice Name/ID
.
Requirements
Please follow the pre-requisite software section.
This driver requires a system setup with ROS. It is recommended to use Ubuntu 20.04 with ROS Noetic.
To make sure that robot control isn’t affected by system latencies, it is highly recommended to connect the robot via LAN of via 5G connection.
Building
A script can be found below for automatic installation of all the required dependencies mentioned above and the provided software installation. After downloading and changing directory to the downloaded folder, installation script can be run by the following command:
You first have to give the script root permission via:
sudo chmod +x install.bash
./install.bash
Z1 Remote Enable/Disable¶
A final step that is required for control of Z1 via ROS moveit is to disable its startup job from the B1. This can be done by sshing into the B1 and following the provided commands:
ssh unitree@192.168.123.220
cd Unitree/autostart
ls -la
cat .startlist.sh
nano .startlist.sh # Comment or uncomment z1 in case you want to control it remotely or not