著者: Herman Ye @Galbot @Auromix
バージョン: V1.0
テスト環境: Ubuntu20.04 VMWARE
更新日: 2023/08/04
注1 :この記事のハードウェアは @Galbot によってサポートされています。
注2 : @Auromix は、ロボット工学愛好家のためのオープンソース組織です。
注3 :この記事はテストされ、更新日時点で有効であることが確認されています。
Unitree Z1 ロボットアームの使い方チュートリアル
以下の内容は Yushu の公式Z1 ドキュメントを参照しています。
U-Tree公式素材で提供されている画像や文章の著作権はU-Treeに帰属します。
一部の概略図写真はインターネットからのものであり、削除されています。
1. ロボットアーム通信を確立する
1. PCのIPを設定する
システム ネットワーク設定の次のインターフェイスで直接変更します: [設定] -> [ネットワーク] -> [PCI/USB イーサネット] (使用するネットワーク ポートの後ろにある歯車アイコンをクリックします) 写真は Unitree Z1 ロボット アームのドキュメントからのものです
。
2. ネットワークケーブルを接続します
注: Z1 ロボット アームには 2 つのネットワーク ポートがあり、図に示すように、接続されたネットワーク ポートがメイン ネットワーク ポートである必要があります。
3. ロボットアームに ping を試みます
ping 192.168.123.110
2. 基本操作デモ
注: Z1 ハードウェア機能では、電源を入れる前に機械アームを手動でゼロ位置に戻します。
1. 依存関係をインストールする
# Install libboost-dev libeigen3-dev
sudo apt install -y libboost-dev libeigen3-dev
sudo ln -s /usr/include/eigen3/Eigen /usr/local/include/Eigen
sudo ln -s /usr/include/eigen3/unsupported /usr/local/include/unsupported
# Install pybind11
git clone https://github.com/pybind/pybind11.git
cd pybind11
mkdir build && cd build
cmake .. -DPYBIND11_TEST=OFF
make -j
sudo make install
2.z1_controllerの設定
- z1_controllerをダウンロード
cd ~
mkdir -p test_ws/src
cd test_ws/src
git clone https://github.com/unitreerobotics/z1_controller.git
- z1_controllerをコンパイルする
cd z1_controller
mkdir build & cd build
cmake ..
make
3. z1_sdkをダウンロードする
- z1_sdkをダウンロード
git clone https://github.com/unitreerobotics/z1_sdk.git
- z1_sdkをコンパイルする
cd z1_sdk
mkdir build & cd build
cmake ..
make
4. デモを実行する
警告:デモを実行する前に、ロボット アームの現在の作業空間環境に注意を払い、安全上のリスクに注意してください。
# Terminal 1
cd z1_controller/build
./z1_ctrl
# Terminal 2
cd z1_sdk/build
./highcmd_basic
3. ROS Gazebo シミュレーション デモ
0.環境を設定する
注:以下の他のパッケージz1_controller
によるコンパイルの失敗を避けるために、別のワークスペースを作成してください。z1_sdk
cd ~
mkdir -p unitree_ws/src
cd unitree_ws/src
1.unitree_legged_msgsをダウンロードする
untree_ros_to_realに移動してダウンロードするunitree_legged_msgs
か、直接 git clone します。
git clone https://github.com/unitreerobotics/unitree_ros_to_real.git
2.unitree_legged_msgs を取得する
フォルダーを手動で抽出して配置しますtest_ws/src
3.unitree_rosをダウンロードする
git clone https://github.com/unitreerobotics/unitree_ros.git
4.コンパイル
注: z1_controller と z1_sdk は同じワークスペースに配置できないため、catkin_make を使用して正しくコンパイルできません。
cd ~/unitree_ws #打开该文件夹
catkin_make #初始化ROS工作空间
echo "source ~/unitree_ws/devel/setup.bash">>~/.bashrc #将ros路径添加到环境变量,可由pwd命令获取当前路径替换该路径
source ~/.bashrc #更新环境变量
5. デモを実行する
警告:デモを実行する前に、ロボット アームの現在の作業空間環境に注意を払い、安全上のリスクに注意してください。
- デモを実行する
# Try demo with gripper
roslaunch unitree_gazebo z1.launch
# Try demo without gripper
roslaunch unitree_gazebo z1.launch UnitreeGripperYN:=false
- 仮想コントローラーを実行する
cd ~/test_ws/src
cd z1_controller/build
./sim_ctrl
- SDKを実行する
cd ~/test_ws/src
cd z1_sdk/build
./highcmd_basic
注:仮想マシン環境ではグラフィックス ドライバーの問題が発生する可能性があります
4. キーボード制御デモ
1. z1_ctrl k を実行します。
具体的な制御方法については、 Unitree Z1 Keyboardデモをご参照ください。
cd ~/test_ws/src
cd z1_controller/build
./z1_ctrl k # Keyboard control mode
州 | キースイッチ | 切り替え可能 |
---|---|---|
戻ってスタート | ~ | 1 2 |
受け身 | 1 | ~2 3 |
ジョイントコントロール | 2 | ~ 1 3 4 5 6 7 8 9 0 - |
デカルト座標 | 3 | ~ 1 2 4 5 6 9 |
ムーブジェイ | 4 | ~ 1 2 3 5 6 9 |
携帯 | 5 | ~ 1 2 3 4 6 9 |
ムーブC | 6 | ~ 1 2 3 4 5 9 |
教える | 7 | ~ 1 2 |
ティーチリピート | 8 | 自動的に2に切り替わります |
セーブステート | 9 | 自動的に2に切り替わります |
トーストした | 0 | 自動的に2に切り替わります |
較正 | = | 自動的に1に切り替わります |
5. ハンドル制御デモ
ハンドルの電源が切れています。予期せぬ事態が発生しています。Unitree Z1 ジョイパッドのデモを参照してください。
6. moveitの実際のロボットアームのデモ
Yushu のz1_rosパッケージは moveit を使用するためのデモを提供していますが、このパッケージは互換性が低く、歴史的な問題があります。
注:
z1_ros
パッケージに含まれているものは、パッケージに含まれているz1_controller
ものとは異なり、パッケージに含まれているものとは互換性がありません。https://github.com/unitreerobotics/z1_controller
z1_controller
https://github.com/unitreerobotics/z1_sdk
z1_ros
1. 依存関係のインストール
sudo apt install -y libboost-all-dev libeigen3-dev liburdfdom-dev
sudo ln -s /usr/include/eigen3/Eigen /usr/local/include/Eigen
sudo ln -s /usr/include/eigen3/unsupported /usr/local/include/unsupported
2. moveit およびその他の関連パッケージをインストールします
ワンクリック インストール moveit スクリプトを使用してインストールしてテストし、次のコマンドを実行します。
sudo apt install -y ros-noetic-moveit-*
sudo apt install -y ros-noetic-joint-trajectory-controller ros-noetic-trac-ik-kinematics-plugin
3. 他の依存関係をインストールする
- ピノキオをインストールする
# Install pinocchio
cd ~
git clone --recursive https://github.com/stack-of-tasks/pinocchio
cd pinocchio && mkdir build && cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_PYTHON_INTERFACE=OFF \
-DBUILD_TESTING=OFF
make
sudo make install
- 構成パス
注:に追加する必要があります。~/.bashrc
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export CMAKE_PREFIX_PATH=/usr/local:$CMAKE_PREFIX_PATH
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
LD_LIBRARY_PATH:
LD_LIBRARY_PATH
共有ライブラリ (ダイナミック リンク ライブラリ) の検索パスを指定するために使用されます。- 実行可能ファイルを実行すると、オペレーティング システムは、
LD_LIBRARY_PATH
で指定されたパスを検索して、実行可能ファイルに必要な共有ライブラリ ファイルを見つけます。 - この環境変数は通常、プログラムの実行時に共有ライブラリが見つからない問題を解決するために使用されます。共有ライブラリへのパスを に追加すると
LD_LIBRARY_PATH
、プログラムが必要な共有ライブラリを正しく見つけてロードできるようになります。
CMAKE_PREFIX_PATH:
CMAKE_PREFIX_PATH
これは、CMake が依存するライブラリとパッケージを検索するための基本パスを指定するために使用されます。- CMake でプロジェクトをビルドするときは、通常、依存するライブラリとパッケージの場所を見つける必要があります。settings を通じて
CMAKE_PREFIX_PATH
、これらのパスの下で依存関係を検索するように CMake に指示できます。 - この環境変数は通常、CMake が非標準のインストール パスにある依存ライブラリやパッケージを見つけやすくするために使用されます。
PKG_CONFIG_PATH:
-
PKG_CONFIG_PATH
pkg-config
ツールが .pc ファイルを検索するパスを指定するために使用されます。 -
pkg-config
これは、依存ライブラリの情報を確認および取得するために使用されるツールであり、通常は、コンパイル中に依存ライブラリのヘッダー ファイルやリンク オプションを見つけるのに役立ちます。 -
.pc
ファイルが存在するパスを に追加することでPKG_CONFIG_PATH
、pkg-config
正しい依存ライブラリ情報を見つけられるようになり、コンパイル時にコードをスムーズにリンクしてコンパイルできるようになります。 -
pybind11をインストールする
# Install pybind11
git clone https://github.com/pybind/pybind11.git
cd pybind11
mkdir build && cd build
cmake .. -DPYBIND11_TEST=OFF
make -j
sudo make install
4. インストールパッケージをダウンロードしてコンパイルします。
- untree_legged_msgs をダウンロードするuntree_ros_to_real
に移動してダウンロードするか、直接 git clone します。unitree_legged_msgs
git clone https://github.com/unitreerobotics/unitree_ros_to_real.git
-
untree_legged_msgs を取得します。
フォルダーを手動で抽出し、次の場所に置きます。z1_ws/src
-
z1_ros パッケージをインストールして構成する
mkdir -p ~/z1_ws/src
cd ~/z1_ws/src
git clone --recursive https://github.com/unitreerobotics/z1_ros.git
cd ..
rosdep install --from-paths src --ignore-src -yr --rosdistro noetic
# compile unitree_legged_msgs first
catkin_make --pkg unitree_legged_msgs
catkin_make
source devel/setup.bash
注:仮想マシンの場合、パフォーマンスが制限されている場合は、次のことを試してください。catkin_make -j2
4. テストを開始する
- 環境をセットアップする
source /opt/ros/noetic/setup.bash
source ~/z1_ws/devel/setup.bash
- デモを開始する
roslaunch z1_bringup real_arm.launch rviz:=true
7. その他のデモ
UDP モーター制御などの他のデモについては、Unitree Z1 の使用方法を参照してください。