基础镜像
- 基础镜像使用Debian12,可在 下载中心 下载到相关镜像文件。
依赖安装
bash
# 基础依赖
sudo apt update && sudo apt install -y \
cmake g++ build-essential curl zip unzip tar \
libyaml-cpp-dev python3-pip libjsoncpp-dev \
libeigen3-dev python3-serial python3-evdev
# Eigen的功能扩展
sudo apt update && sudo apt install -y libsuitesparse-dev \
libopenblas-dev liblapack-dev libfftw3-dev libboost-all-dev \
libmpfr-dev libgmp-dev libhwloc-dev1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
环境搭建
在这里将构建相关的依赖,并完成环境的设置:
unitree_sdk2拉取构建并设置环境Unitree Actuator SDK拉取构建并设置环境YAML-CPP拉取构建并设置环境Eigen拉取构建并设置环境JsonCpp拉取构建并设置环境PyGame安装RoboTamerSdk4Qmini:SDK代码拉取OnnxRuntime安装UnitreeMotorSDK安装RoboTamerSdk4Qmini构建
1. unitree_sdk2
仓库:
https://github.com/unitreerobotics/unitree_sdk2git节点:
7694ddffcadc88436343dc0e0d1abb02da74691b
bash
# 返回lckfb主目录
cd ~
# 拉取仓库
git clone https://github.com/unitreerobotics/unitree_sdk2
# 构建
cd unitree_sdk2 && mkdir build && cd build && \
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unitree
# 安装
sudo make install
# 设置环境
echo "export CMAKE_PREFIX_PATH=/opt/unitree:$CMAKE_PREFIX_PATH" >> ~/.bashrc
source ~/.bashrc1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
效果如下【点击展开】
bash
lckfb@localhost:~$ git clone https://github.com/unitreerobotics/unitree_sdk2
Cloning into 'unitree_sdk2'...
remote: Enumerating objects: 2706, done.
remote: Counting objects: 100% (545/545), done.
remote: Compressing objects: 100% (228/228), done.
remote: Total 2706 (delta 353), reused 322 (delta 317), pack-reused 2161 (from 2)
Receiving objects: 100% (2706/2706), 86.02 MiB | 5.95 MiB/s, done.
Resolving deltas: 100% (1199/1199), done.
lckfb@localhost:~$ cd unitree_sdk2 && mkdir build && cd build && \
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unitree
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'Release' as none was specified.
-- Current system architecture: aarch64
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Importing: /home/lckfb/unitree_sdk2/thirdparty/lib/aarch64/libddsc.so
-- Importing: /home/lckfb/unitree_sdk2/thirdparty/lib/aarch64/libddscxx.so
-- Unitree SDK library found at: /home/lckfb/unitree_sdk2/lib/aarch64/libunitree_sdk2.a
-- Importing: /home/lckfb/unitree_sdk2/lib/aarch64/libunitree_sdk2.a
-- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.83.0/BoostConfig.cmake (found version "1.83.0") found components: program_options
-- Found yaml-cpp version 0.8.0
-- Configuring done (2.5s)
-- Generating done (0.2s)
-- Build files have been written to: /home/lckfb/unitree_sdk2/build
lckfb@localhost:~/unitree_sdk2/build$ sudo make install
[ 1%] Building CXX object example/helloworld/CMakeFiles/test_publisher.dir/publisher.cpp.o
[ 2%] Building CXX object example/helloworld/CMakeFiles/test_publisher.dir/HelloWorldData.cpp.o
[ 3%] Linking CXX executable ../../bin/test_publisher
[ 3%] Built target test_publisher
[ 5%] Building CXX object example/helloworld/CMakeFiles/test_subscriber.dir/subscriber.cpp.o
[ 6%] Building CXX object example/helloworld/CMakeFiles/test_subscriber.dir/HelloWorldData.cpp.o
[ 7%] Linking CXX executable ../../bin/test_subscriber
[ 7%] Built target test_subscriber
[ 8%] Building CXX object example/wireless_controller/CMakeFiles/advanced_gamepad.dir/main.cpp.o
[ 10%] Linking CXX executable ../../bin/advanced_gamepad
[ 10%] Built target advanced_gamepad
[ 11%] Building CXX object example/jsonize/CMakeFiles/test_jsonize.dir/test_jsonize.cpp.o
[ 12%] Linking CXX executable ../../bin/test_jsonize
[ 12%] Built target test_jsonize
[ 13%] Building CXX object example/state_machine/CMakeFiles/state_machine_example.dir/main.cpp.o
[ 15%] Linking CXX executable ../../bin/state_machine_example
[ 15%] Built target state_machine_example
[ 16%] Building CXX object example/go2/CMakeFiles/go2_sport_client.dir/go2_sport_client.cpp.o
[ 17%] Linking CXX executable ../../bin/go2_sport_client
[ 17%] Built target go2_sport_client
[ 18%] Building CXX object example/go2/CMakeFiles/go2_low_level.dir/go2_low_level.cpp.o
[ 20%] Linking CXX executable ../../bin/go2_low_level
[ 20%] Built target go2_low_level
[ 21%] Building CXX object example/go2/CMakeFiles/go2_stand_example.dir/go2_stand_example.cpp.o
[ 22%] Linking CXX executable ../../bin/go2_stand_example
[ 22%] Built target go2_stand_example
[ 23%] Building CXX object example/go2/CMakeFiles/go2_robot_state_client.dir/go2_robot_state_client.cpp.o
[ 25%] Linking CXX executable ../../bin/go2_robot_state_client
[ 25%] Built target go2_robot_state_client
[ 26%] Building CXX object example/go2/CMakeFiles/go2_video_client.dir/go2_video_client.cpp.o
[ 27%] Linking CXX executable ../../bin/go2_video_client
[ 27%] Built target go2_video_client
[ 28%] Building CXX object example/go2/CMakeFiles/go2_vui_client.dir/go2_vui_client.cpp.o
[ 30%] Linking CXX executable ../../bin/go2_vui_client
[ 30%] Built target go2_vui_client
[ 31%] Building CXX object example/b2/CMakeFiles/b2_sport_client.dir/b2_sport_client.cpp.o
[ 32%] Linking CXX executable ../../bin/b2_sport_client
[ 32%] Built target b2_sport_client
[ 33%] Building CXX object example/b2/CMakeFiles/b2_stand_example.dir/b2_stand_example.cpp.o
[ 35%] Linking CXX executable ../../bin/b2_stand_example
[ 35%] Built target b2_stand_example
[ 36%] Building CXX object example/h1/CMakeFiles/h1_loco_client.dir/high_level/h1_loco_client_example.cpp.o
[ 37%] Linking CXX executable ../../bin/h1_loco_client
[ 37%] Built target h1_loco_client
[ 38%] Building CXX object example/h1/CMakeFiles/h1_low_level_example.dir/low_level/humanoid.cpp.o
[ 40%] Linking CXX executable ../../bin/h1_low_level_example
[ 40%] Built target h1_low_level_example
[ 41%] Building CXX object example/h1/CMakeFiles/h1_27dof_example.dir/low_level/h1_27dof_example.cpp.o
[ 42%] Linking CXX executable ../../bin/h1_27dof_example
[ 42%] Built target h1_27dof_example
[ 43%] Building CXX object example/h1/CMakeFiles/h1_2_ankle_track.dir/low_level/h1_2_ankle_track.cpp.o
[ 45%] Linking CXX executable ../../bin/h1_2_ankle_track
[ 45%] Built target h1_2_ankle_track
[ 46%] Building CXX object example/h1/CMakeFiles/h1_arm_sdk_dds_example.dir/high_level/h1_arm_sdk_dds_example.cpp.o
[ 47%] Linking CXX executable ../../bin/h1_arm_sdk_dds_example
[ 47%] Built target h1_arm_sdk_dds_example
[ 48%] Building CXX object example/h1/CMakeFiles/h1_2_arm_sdk_dds_example.dir/high_level/h1_2_arm_sdk_dds_example.cpp.o
[ 50%] Linking CXX executable ../../bin/h1_2_arm_sdk_dds_example
[ 50%] Built target h1_2_arm_sdk_dds_example
[ 51%] Building CXX object example/g1/CMakeFiles/g1_loco_client.dir/high_level/g1_loco_client_example.cpp.o
[ 52%] Linking CXX executable ../../bin/g1_loco_client
[ 52%] Built target g1_loco_client
[ 53%] Building CXX object example/g1/CMakeFiles/g1_arm5_sdk_dds_example.dir/high_level/g1_arm5_sdk_dds_example.cpp.o
[ 55%] Linking CXX executable ../../bin/g1_arm5_sdk_dds_example
[ 55%] Built target g1_arm5_sdk_dds_example
[ 56%] Building CXX object example/g1/CMakeFiles/g1_arm7_sdk_dds_example.dir/high_level/g1_arm7_sdk_dds_example.cpp.o
[ 57%] Linking CXX executable ../../bin/g1_arm7_sdk_dds_example
[ 57%] Built target g1_arm7_sdk_dds_example
[ 58%] Building CXX object example/g1/CMakeFiles/g1_ankle_swing_example.dir/low_level/g1_ankle_swing_example.cpp.o
[ 60%] Linking CXX executable ../../bin/g1_ankle_swing_example
[ 60%] Built target g1_ankle_swing_example
[ 61%] Building CXX object example/g1/CMakeFiles/g1_audio_client_example.dir/audio/g1_audio_client_example.cpp.o
[ 62%] Linking CXX executable ../../bin/g1_audio_client_example
[ 62%] Built target g1_audio_client_example
[ 63%] Building CXX object example/g1/CMakeFiles/g1_dex3_example.dir/dex3/g1_dex3_example.cpp.o
[ 65%] Linking CXX executable ../../bin/g1_dex3_example
[ 65%] Built target g1_dex3_example
[ 66%] Building CXX object example/g1/CMakeFiles/g1_userctrl_dds_example.dir/high_level/g1_userctrl_dds_example.cpp.o
[ 67%] Linking CXX executable ../../bin/g1_userctrl_dds_example
[ 67%] Built target g1_userctrl_dds_example
[ 68%] Building CXX object example/g1/CMakeFiles/g1_termination.dir/low_level/terminations.cpp.o
[ 70%] Linking CXX executable ../../bin/g1_termination
[ 70%] Built target g1_termination
[ 71%] Building CXX object example/g1/CMakeFiles/g1_arm_action_example.dir/high_level/g1_arm_action_example.cpp.o
[ 72%] Linking CXX executable ../../bin/g1_arm_action_example
[ 72%] Built target g1_arm_action_example
[ 73%] Building CXX object example/g1/CMakeFiles/g1_dual_arm_example.dir/low_level/g1_dual_arm_example.cpp.o
[ 75%] Linking CXX executable ../../bin/g1_dual_arm_example
[ 75%] Built target g1_dual_arm_example
[ 76%] Building CXX object example/g1/CMakeFiles/g1_agv_client_example.dir/agv/g1_agv_client_example.cpp.o
[ 77%] Linking CXX executable ../../bin/g1_agv_client_example
[ 77%] Built target g1_agv_client_example
[ 78%] Building CXX object example/go2w/CMakeFiles/go2w_sport_client.dir/go2w_sport_client.cpp.o
[ 80%] Linking CXX executable ../../bin/go2w_sport_client
[ 80%] Built target go2w_sport_client
[ 81%] Building CXX object example/go2w/CMakeFiles/go2w_stand_example.dir/go2w_stand_example.cpp.o
[ 82%] Linking CXX executable ../../bin/go2w_stand_example
[ 82%] Built target go2w_stand_example
[ 83%] Building CXX object example/b2w/CMakeFiles/b2w_sport_client.dir/b2w_sport_client.cpp.o
[ 85%] Linking CXX executable ../../bin/b2w_sport_client
[ 85%] Built target b2w_sport_client
[ 86%] Building CXX object example/b2w/CMakeFiles/b2w_stand_example.dir/b2w_stand_example.cpp.o
[ 87%] Linking CXX executable ../../bin/b2w_stand_example
[ 87%] Built target b2w_stand_example
[ 88%] Building CXX object example/a2/CMakeFiles/a2_sport_client.dir/sport/a2_sport_client.cpp.o
[ 90%] Linking CXX executable ../../bin/a2_sport_client
[ 90%] Built target a2_sport_client
[ 91%] Building CXX object example/a2/CMakeFiles/a2_sport_state.dir/sport/a2_sport_state.cpp.o
[ 92%] Linking CXX executable ../../bin/a2_sport_state
[ 92%] Built target a2_sport_state
[ 93%] Building CXX object example/a2/CMakeFiles/a2_audio_client_example.dir/audio/a2_audio_client_example.cpp.o
[ 95%] Linking CXX executable ../../bin/a2_audio_client_example
[ 95%] Built target a2_audio_client_example
[ 96%] Building CXX object example/r1/CMakeFiles/r1_loco_client.dir/high_level/r1_loco_client_example.cpp.o
[ 97%] Linking CXX executable ../../bin/r1_loco_client
[ 97%] Built target r1_loco_client
[ 98%] Building CXX object example/r1/CMakeFiles/r1_ankle_swing_example.dir/low_level/r1_ankle_swing_example.cpp.o
[100%] Linking CXX executable ../../bin/r1_ankle_swing_example
[100%] Built target r1_ankle_swing_example
Install the project...
-- Install configuration: "Release"
-- Installing: /opt/unitree/include
-- Installing: /opt/unitree/include/unitree
-- Installing: /opt/unitree/include/unitree/idl
-- Installing: /opt/unitree/include/unitree/idl/hg_doubleimu
-- Installing: /opt/unitree/include/unitree/idl/hg_doubleimu/doubleIMUState_.hpp
-- Installing: /opt/unitree/include/unitree/idl/ros2
.....
-- Installing: /opt/unitree/include/dds/dds.h1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
2. Unitree Actuator SDK
仓库:
https://github.com/unitreerobotics/unitree_actuator_sdk
bash
# 返回lckfb主目录
cd ~
# 拉取仓库
git clone https://github.com/unitreerobotics/unitree_actuator_sdk
# 构建
cd unitree_actuator_sdk && \
git checkout GO-M8010-6 && \
mkdir build && cd build && cmake .. && \
make -j41
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
效果如下【点击展开】
bash
lckfb@localhost:~$ git clone https://github.com/unitreerobotics/unitree_actuator_sdk
Cloning into 'unitree_actuator_sdk'...
remote: Enumerating objects: 529, done.
remote: Counting objects: 100% (60/60), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 529 (delta 34), reused 22 (delta 22), pack-reused 469 (from 1)
Receiving objects: 100% (529/529), 9.03 MiB | 6.12 MiB/s, done.
Resolving deltas: 100% (100/100), done.
lckfb@localhost:~$ cd unitree_actuator_sdk && \
git checkout GO-M8010-6 && \
mkdir build && cd build && cmake .. && \
make -j4
branch 'GO-M8010-6' set up to track 'origin/GO-M8010-6'.
Switched to a new branch 'GO-M8010-6'
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (1.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/lckfb/unitree_actuator_sdk/build
[ 50%] Building CXX object CMakeFiles/motorctrl.dir/example/main.cpp.o
[100%] Linking CXX executable motorctrl
[100%] Built target motorctrl1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
3. YAML-CPP
仓库:
https://github.com/jbeder/yaml-cpp
bash
# 返回lckfb主目录
cd ~
# 拉取仓库
git clone https://github.com/jbeder/yaml-cpp
# 构建
cd yaml-cpp && mkdir build && cd build && \
cmake .. && make -j4 && sudo make install1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
效果如下【点击展开】
bash
lckfb@localhost:~$ git clone https://github.com/jbeder/yaml-cpp
Cloning into 'yaml-cpp'...
remote: Enumerating objects: 9510, done.
remote: Counting objects: 100% (153/153), done.
remote: Compressing objects: 100% (112/112), done.
remote: Total 9510 (delta 96), reused 41 (delta 41), pack-reused 9357 (from 3)
Receiving objects: 100% (9510/9510), 4.94 MiB | 4.88 MiB/s, done.
Resolving deltas: 100% (6244/6244), done.
lckfb@localhost:~$ cd yaml-cpp && mkdir build && cd build && \
cmake .. && make -j4 && sudo make install
-- The CXX compiler identification is GNU 13.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.8s)
-- Generating done (0.1s)
-- Build files have been written to: /home/lckfb/yaml-cpp/build
[ 5%] Building CXX object CMakeFiles/yaml-cpp.dir/src/binary.cpp.o
[ 5%] Building CXX object CMakeFiles/yaml-cpp.dir/src/contrib/graphbuilderadapter.cpp.o
[ 7%] Building CXX object CMakeFiles/yaml-cpp.dir/src/convert.cpp.o
[ 10%] Building CXX object CMakeFiles/yaml-cpp.dir/src/contrib/graphbuilder.cpp.o
[ 12%] Building CXX object CMakeFiles/yaml-cpp.dir/src/depthguard.cpp.o
[ 15%] Building CXX object CMakeFiles/yaml-cpp.dir/src/directives.cpp.o
[ 17%] Building CXX object CMakeFiles/yaml-cpp.dir/src/emit.cpp.o
[ 20%] Building CXX object CMakeFiles/yaml-cpp.dir/src/emitfromevents.cpp.o
[ 23%] Building CXX object CMakeFiles/yaml-cpp.dir/src/emitter.cpp.o
[ 25%] Building CXX object CMakeFiles/yaml-cpp.dir/src/emitterstate.cpp.o
[ 28%] Building CXX object CMakeFiles/yaml-cpp.dir/src/emitterutils.cpp.o
[ 30%] Building CXX object CMakeFiles/yaml-cpp.dir/src/exceptions.cpp.o
[ 33%] Building CXX object CMakeFiles/yaml-cpp.dir/src/exp.cpp.o
[ 35%] Building CXX object CMakeFiles/yaml-cpp.dir/src/fptostring.cpp.o
[ 38%] Building CXX object CMakeFiles/yaml-cpp.dir/src/memory.cpp.o
[ 41%] Building CXX object CMakeFiles/yaml-cpp.dir/src/node.cpp.o
[ 43%] Building CXX object CMakeFiles/yaml-cpp.dir/src/node_data.cpp.o
[ 46%] Building CXX object CMakeFiles/yaml-cpp.dir/src/nodebuilder.cpp.o
[ 48%] Building CXX object CMakeFiles/yaml-cpp.dir/src/nodeevents.cpp.o
[ 51%] Building CXX object CMakeFiles/yaml-cpp.dir/src/null.cpp.o
[ 53%] Building CXX object CMakeFiles/yaml-cpp.dir/src/ostream_wrapper.cpp.o
[ 56%] Building CXX object CMakeFiles/yaml-cpp.dir/src/parse.cpp.o
[ 58%] Building CXX object CMakeFiles/yaml-cpp.dir/src/parser.cpp.o
[ 61%] Building CXX object CMakeFiles/yaml-cpp.dir/src/regex_yaml.cpp.o
[ 64%] Building CXX object CMakeFiles/yaml-cpp.dir/src/scanner.cpp.o
[ 66%] Building CXX object CMakeFiles/yaml-cpp.dir/src/scanscalar.cpp.o
[ 69%] Building CXX object CMakeFiles/yaml-cpp.dir/src/scantag.cpp.o
[ 71%] Building CXX object CMakeFiles/yaml-cpp.dir/src/scantoken.cpp.o
[ 74%] Building CXX object CMakeFiles/yaml-cpp.dir/src/simplekey.cpp.o
[ 76%] Building CXX object CMakeFiles/yaml-cpp.dir/src/singledocparser.cpp.o
[ 79%] Building CXX object CMakeFiles/yaml-cpp.dir/src/stream.cpp.o
[ 82%] Building CXX object CMakeFiles/yaml-cpp.dir/src/tag.cpp.o
[ 84%] Linking CXX static library libyaml-cpp.a
[ 84%] Built target yaml-cpp
[ 87%] Building CXX object util/CMakeFiles/yaml-cpp-read.dir/read.cpp.o
[ 89%] Building CXX object util/CMakeFiles/yaml-cpp-sandbox.dir/sandbox.cpp.o
[ 92%] Building CXX object util/CMakeFiles/yaml-cpp-parse.dir/parse.cpp.o
[ 94%] Linking CXX executable parse
[ 97%] Linking CXX executable read
[100%] Linking CXX executable sandbox
[100%] Built target yaml-cpp-read
[100%] Built target yaml-cpp-parse
[100%] Built target yaml-cpp-sandbox
[ 84%] Built target yaml-cpp
[ 89%] Built target yaml-cpp-sandbox
[ 94%] Built target yaml-cpp-parse
[100%] Built target yaml-cpp-read
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/libyaml-cpp.a
-- Up-to-date: /usr/local/include
-- Installing: /usr/local/include/yaml-cpp
-- Installing: /usr/local/include/yaml-cpp/stlemitter.h
......
-- Installing: /usr/local/lib/pkgconfig/yaml-cpp.pc1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
4. Eigen
仓库:
https://gitlab.com/libeigen/eigen
bash
# 返回lckfb主目录
cd ~
# 拉取仓库
git clone https://gitlab.com/libeigen/eigen
# 构建
# 这个不建议使用多核编译,内存占用很大。
cd eigen && mkdir -p build && cd build && \
cmake .. && make && sudo make install1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
效果如下【点击展开】
bash
-- Performing Test HAVE_HWLOC_PARENT_MEMBER
-- Performing Test HAVE_HWLOC_PARENT_MEMBER - Success
-- Performing Test HAVE_HWLOC_CACHE_ATTR
-- Performing Test HAVE_HWLOC_CACHE_ATTR - Success
-- Performing Test HAVE_HWLOC_OBJ_PU
-- Performing Test HAVE_HWLOC_OBJ_PU - Success
-- Looking for hwloc_bitmap_free in hwloc
-- Looking for hwloc_bitmap_free in hwloc - found
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - not found
-- Found Threads: TRUE
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - found
-- Performing Test SCOTCH_Num_4
-- Performing Test SCOTCH_Num_4 - Failed
-- Performing Test SCOTCH_Num_8
-- Performing Test SCOTCH_Num_8 - Failed
-- A version of Pastix has been found but pastix_nompi.h does not exist in the include directory. Because Eigen tests require a version without MPI, we disable the Pastix backend.
-- SPQR version: 4.3.2
-- SPQR include: /usr/include/suitesparse
-- SPQR library: /usr/lib/aarch64-linux-gnu/libspqr.so.4.3.2
-- SPQR static: /usr/lib/aarch64-linux-gnu/libspqr.a
-- Could NOT find Accelerate (missing: Accelerate_INCLUDES Accelerate_LIBRARIES)
-- Found unsuitable Qt version "" from NOTFOUND
-- Performing Test COMPILER_SUPPORTS_VECTOR_EXTENSIONS
-- Performing Test COMPILER_SUPPORTS_VECTOR_EXTENSIONS - Failed
-- Performing Test COMPILER_SUPPORT_FASTMATH
-- Performing Test COMPILER_SUPPORT_FASTMATH - Success
-- Performing Test COMPILER_SUPPORT_WNO_NAN_INF
-- Performing Test COMPILER_SUPPORT_WNO_NAN_INF - Success
CUDA_TOOLKIT_ROOT_DIR not found or specified
-- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) (Required is at least version "9.0")
-- Found MPFR: /usr/include (Required is at least version "1.0.0")
-- Found GMP: /usr/include/aarch64-linux-gnu
-- ************************************************************
-- *** Eigen's unit tests configuration summary ***
-- ************************************************************
--
-- Build type: Release
-- Build site: localhost
-- Build string: linux-6.1.99-_-13.3.0-sse2-64bit
-- Enabled backends: CHOLMOD, UMFPACK, KLU, SPQR, Boost.Multiprecision,
-- Disabled backends: SuperLU, PaStiX, METIS, Accelerate, Qt4 support,
-- Default order: Column-major
-- Maximal matrix/vector size: 320
-- SSE2: Using architecture defaults
-- SSE3: Using architecture defaults
-- SSSE3: Using architecture defaults
-- SSE4.1: Using architecture defaults
-- SSE4.2: Using architecture defaults
-- AVX: Using architecture defaults
-- AVX2: Using architecture defaults
-- FMA: Using architecture defaults
-- AVX512: Using architecture defaults
-- AVX512DQ: Using architecture defaults
-- Altivec: Using architecture defaults
-- VSX: Using architecture defaults
-- MIPS MSA: Using architecture defaults
-- ARM NEON: Using architecture defaults
-- ARMv8 NEON: Using architecture defaults
-- S390X ZVECTOR: Using architecture defaults
-- LSX: Using architecture defaults
-- SYCL: OFF
-- CUDA: OFF
-- HIP: OFF
--
CXX: /usr/bin/c++
CXX_VERSION: c++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0
CXX_FLAGS: -pedantic -Wall -Wextra -Wundef -Wcast-align -Wchar-subscripts -Wnon-virtual-dtor -Wunused-local-typedefs -Wpointer-arith -Wwrite-strings -Wformat-security -Wlogical-op -Wenum-conversion -Wc++11-extensions -Wdouble-promotion -Wshadow -Wno-psabi -Wno-variadic-macros -Wno-long-long -Wno-pass-failed -fno-common -fstrict-aliasing -fno-check-new -Wno-array-bounds -Wno-maybe-uninitialized -Wno-stringop-overread -Wno-nonnull
Sparse lib flags: ;SuiteSparse::CHOLMOD;eigen_blas;eigen_lapack;SuiteSparse::UMFPACK;eigen_blas;SuiteSparse::KLU;eigen_blas;SuiteSparse::SPQR;SuiteSparse::CHOLMOD;eigen_lapack;eigen_blas
-- ************************************************************
-- Could NOT find GoogleHash (missing: GOOGLEHASH_INCLUDES GOOGLEHASH_COMPILE)
-- Could NOT find Adolc (missing: ADOLC_INCLUDES ADOLC_LIBRARIES)
-- Could NOT find MPREAL (missing: MPREAL_INCLUDES MPREAL_VERSION_OK MPREAL_WORKS) (Required is at least version "1.0.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1")
-- Found FFTW: /usr/include
INFO DUCCFFT-NOTFOUND
CUDA_TOOLKIT_ROOT_DIR not found or specified
-- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) (Required is at least version "9.0")
-- Found unsuitable Qt version "" from NOTFOUND
-- Found unsuitable Qt version "" from NOTFOUND
-- Qt4 not found, so disabling the mandelbrot and opengl demos
-- Available targets (use: make TARGET):
-- ------------+--------------------------------------------------------------
-- Target | Description
-- ------------+--------------------------------------------------------------
-- install | Install Eigen. Headers will be installed to:
-- | <CMAKE_INSTALL_PREFIX>/<INCLUDE_INSTALL_DIR>
-- | Using the following values:
-- | CMAKE_INSTALL_PREFIX: /usr/local
-- | INCLUDE_INSTALL_DIR: include/eigen3
-- | Change the install location of Eigen headers using:
-- | cmake . -DCMAKE_INSTALL_PREFIX=yourprefix
-- | Or:
-- | cmake . -DINCLUDE_INSTALL_DIR=yourdir
-- uninstall | Remove files installed by the install target
-- doc | Generate the API documentation, requires Doxygen & LaTeX
-- install-doc | Install the API documentation
-- check | Build and run the unit-tests. Read this page:
-- | http://eigen.tuxfamily.org/index.php?title=Tests
-- blas | Build BLAS library (not the same thing as Eigen)
-- lapack | Build LAPACK subset library (not the same thing as Eigen)
-- ------------+--------------------------------------------------------------
--
--
-- Configured Eigen 5.0.1
--
-- Configuring done (27.9s)
-- Generating done (7.0s)
-- Build files have been written to: /home/lckfb/eigen/build
[ 0%] Building CXX object blas/CMakeFiles/eigen_blas_static.dir/single.cpp.o
[ 0%] Building CXX object blas/CMakeFiles/eigen_blas_static.dir/double.cpp.o
........
[100%] Building Fortran object lapack/CMakeFiles/eigen_lapack.dir/zlacgv.f.o
[100%] Building Fortran object lapack/CMakeFiles/eigen_lapack.dir/slamch.f.o
[100%] Building Fortran object lapack/CMakeFiles/eigen_lapack.dir/dlamch.f.o
[100%] Linking CXX shared library libeigen_lapack.so
[100%] Built target eigen_lapack
[ 0%] Built target eigen_blas_static
[ 25%] Built target eigen_blas
[ 50%] Built target eigen_lapack_static
[100%] Built target eigen_lapack
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/include/eigen3/signature_of_eigen3_matrix_library
.........
-- Installing: /usr/local/lib/libeigen_lapack.so1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
5. JsonCpp
仓库:
https://github.com/Microsoft/vcpkg
bash
# 返回lckfb主目录
cd ~
# 拉取仓库
git clone https://github.com/Microsoft/vcpkg
# 构建
cd vcpkg && ./bootstrap-vcpkg.sh && \
./vcpkg integrate install && \
./vcpkg install jsoncpp1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
效果如下【点击展开】
bash
lckfb@localhost:~$ git clone https://github.com/Microsoft/vcpkg
Cloning into 'vcpkg'...
remote: Enumerating objects: 313794, done.
remote: Counting objects: 100% (245/245), done.
remote: Compressing objects: 100% (136/136), done.
remote: Total 313794 (delta 175), reused 129 (delta 109), pack-reused 313549 (from 3)
Receiving objects: 100% (313794/313794), 99.46 MiB | 6.72 MiB/s, done.
Resolving deltas: 100% (211315/211315), done.
Updating files: 100% (13622/13622), done.
lckfb@localhost:~$ cd vcpkg && ./bootstrap-vcpkg.sh && \
./vcpkg integrate install && \
./vcpkg install jsoncpp
Downloading vcpkg-arm64-glibc...
vcpkg package management program version 2026-03-04-4b3e4c276b5b87a649e66341e11553e8c577459c
See LICENSE.txt for license information.
Telemetry
---------
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.
Read more about vcpkg telemetry at docs/about/privacy.md
Applied user-wide integration for this vcpkg root.
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=/home/lckfb/vcpkg/scripts/buildsystems/vcpkg.cmake"
Computing installation plan...
A suitable version of cmake was not found (required v3.31.10).
Downloading https://github.com/Kitware/CMake/releases/download/v3.31.10/cmake-3.31.10-linux-aarch64.tar.gz -> cmake-3.31.10-linux-aarch64.tar.gz
Successfully downloaded cmake-3.31.10-linux-aarch64.tar.gz
Extracting cmake...
The following packages will be built and installed:
jsoncpp:arm64-linux@1.9.6
* vcpkg-cmake:arm64-linux@2024-04-23
* vcpkg-cmake-config:arm64-linux@2024-05-23
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet arm64-linux...
Compiler found: /usr/bin/c++
Restored 0 package(s) from /home/lckfb/.cache/vcpkg/archives in 41 us. Use --debug to see more details.
Installing 1/3 vcpkg-cmake:arm64-linux@2024-04-23...
vcpkg-cmake:arm64-linux@2024-04-23 package ABI: 939c42389e2f90954a5bece2989df77774f066e55b62ff6624211772435a69a1
Building vcpkg-cmake:arm64-linux@2024-04-23...
-- Installing: /home/lckfb/vcpkg/packages/vcpkg-cmake_arm64-linux/share/vcpkg-cmake/vcpkg_cmake_configure.cmake
-- Installing: /home/lckfb/vcpkg/packages/vcpkg-cmake_arm64-linux/share/vcpkg-cmake/vcpkg_cmake_build.cmake
-- Installing: /home/lckfb/vcpkg/packages/vcpkg-cmake_arm64-linux/share/vcpkg-cmake/vcpkg_cmake_install.cmake
-- Installing: /home/lckfb/vcpkg/packages/vcpkg-cmake_arm64-linux/share/vcpkg-cmake/vcpkg-port-config.cmake
-- Installing: /home/lckfb/vcpkg/packages/vcpkg-cmake_arm64-linux/share/vcpkg-cmake/copyright
-- Performing post-build validation
Starting submission of vcpkg-cmake:arm64-linux@2024-04-23 to 1 binary cache(s) in the background
Elapsed time to handle vcpkg-cmake:arm64-linux: 58.8 ms
Installing 2/3 vcpkg-cmake-config:arm64-linux@2024-05-23...
vcpkg-cmake-config:arm64-linux@2024-05-23 package ABI: 10889e4a5335addb5d5d23f6a85f8e9b347eb2164241452c7302d0132b75a90a
Building vcpkg-cmake-config:arm64-linux@2024-05-23...
-- Installing: /home/lckfb/vcpkg/packages/vcpkg-cmake-config_arm64-linux/share/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake
-- Installing: /home/lckfb/vcpkg/packages/vcpkg-cmake-config_arm64-linux/share/vcpkg-cmake-config/vcpkg-port-config.cmake
-- Installing: /home/lckfb/vcpkg/packages/vcpkg-cmake-config_arm64-linux/share/vcpkg-cmake-config/copyright
-- Skipping post-build validation due to VCPKG_POLICY_EMPTY_PACKAGE
Starting submission of vcpkg-cmake-config:arm64-linux@2024-05-23 to 1 binary cache(s) in the background
Elapsed time to handle vcpkg-cmake-config:arm64-linux: 52.5 ms
Completed submission of vcpkg-cmake:arm64-linux@2024-04-23 to 1 binary cache(s) in 11.9 ms
Installing 3/3 jsoncpp:arm64-linux@1.9.6...
jsoncpp:arm64-linux@1.9.6 package ABI: f28bdd5948ac302179557162b7c1821563c7d041d31c88ccc4a9e8befeb0766c
Building jsoncpp:arm64-linux@1.9.6...
Downloading https://github.com/open-source-parsers/jsoncpp/archive/1.9.6.tar.gz -> open-source-parsers-jsoncpp-1.9.6.tar.gz
Successfully downloaded open-source-parsers-jsoncpp-1.9.6.tar.gz
-- Extracting source /home/lckfb/vcpkg/downloads/open-source-parsers-jsoncpp-1.9.6.tar.gz
-- Using source at /home/lckfb/vcpkg/buildtrees/jsoncpp/src/1.9.6-29ceffc35f.clean
-- Configuring arm64-linux
-- Building arm64-linux-dbg
-- Building arm64-linux-rel
-- Fixing pkgconfig file: /home/lckfb/vcpkg/packages/jsoncpp_arm64-linux/lib/pkgconfig/jsoncpp.pc
-- Fixing pkgconfig file: /home/lckfb/vcpkg/packages/jsoncpp_arm64-linux/debug/lib/pkgconfig/jsoncpp.pc
-- Installing: /home/lckfb/vcpkg/packages/jsoncpp_arm64-linux/share/jsoncpp/copyright
-- Performing post-build validation
Starting submission of jsoncpp:arm64-linux@1.9.6 to 1 binary cache(s) in the background
Elapsed time to handle jsoncpp:arm64-linux: 24 s
Total install time: 24 s
Installed contents are licensed to you by owners. Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Packages installed in this vcpkg installation declare the following licenses:
MIT
jsoncpp provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(jsoncpp CONFIG REQUIRED)
target_link_libraries(main PRIVATE JsonCpp::JsonCpp)
jsoncpp provides pkg-config modules:
# A C++ library for interacting with JSON
jsoncpp
Completed submission of vcpkg-cmake-config:arm64-linux@2024-05-23 to 1 binary cache(s) in 8.56 ms
Waiting for 1 remaining binary cache submissions...
Completed submission of jsoncpp:arm64-linux@1.9.6 to 1 binary cache(s) in 332 ms (1/1)
All requested installations completed successfully in: 24 s1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
6. PyGame
安装相关的依赖:
bash
sudo apt install -y python3-pygame1
2
2
7. RoboTamerSdk4Qmini
主代码使用 RoboTamerSdk4Qmini 此仓库代码进行快速部署。后续有问题需要在此基础上进行微调即可。
7.1. SDK代码拉取
bash
# 返回lckfb主目录
cd ~
# 拉取代码
git clone https://github.com/vsislab/RoboTamerSdk4Qmini.git1
2
3
4
5
2
3
4
5
7.2. OnnxRuntime安装
bash
# 进入目标目录
cd ~/RoboTamerSdk4Qmini/lib/onnx
# 复制文件到目标目录
sudo cp -r libonnxruntime.so libonnxruntime.so.1.* /usr/local/lib
# 更新缓存
sudo ldconfig1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
7.3. UnitreeMotorSDK安装
bash
# 进入目标目录
cd ~/RoboTamerSdk4Qmini/lib/m8010motor
# 复制文件到目标目录
sudo cp libUnitreeMotorSDK_Arm64.so /usr/local/lib/
# 更新缓存
sudo ldconfig1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
7.4. RoboTamerSdk4Qmini构建
bash
# 创建目录并进入
mkdir -p ~/RoboTamerSdk4Qmini/build && cd ~/RoboTamerSdk4Qmini/build
# 构建项目
cmake -DPLATFORM=arm64 .. && make -j21
2
3
4
5
2
3
4
5
效果如下【点击展开】
bash
lckfb@localhost:~$ git clone https://github.com/vsislab/RoboTamerSdk4Qmini.git
Cloning into 'RoboTamerSdk4Qmini'...
remote: Enumerating objects: 912, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 912 (delta 4), reused 4 (delta 4), pack-reused 907 (from 2)
Receiving objects: 100% (912/912), 30.75 MiB | 6.76 MiB/s, done.
Resolving deltas: 100% (294/294), done.
Updating files: 100% (774/774), done.
lckfb@localhost:~$ cd ~/RoboTamerSdk4Qmini/lib/onnx
lckfb@localhost:~/RoboTamerSdk4Qmini/lib/onnx$ sudo cp -r libonnxruntime.so libonnxruntime.so.1.* /usr/local/lib
lckfb@localhost:~/RoboTamerSdk4Qmini/lib/onnx$ sudo ldconfig
lckfb@localhost:~/RoboTamerSdk4Qmini/lib/onnx$ cd ~/RoboTamerSdk4Qmini/lib/m8010motor
lckfb@localhost:~/RoboTamerSdk4Qmini/lib/m8010motor$ sudo cp libUnitreeMotorSDK_Arm64.so /usr/local/lib/
lckfb@localhost:~/RoboTamerSdk4Qmini/lib/m8010motor$ sudo ldconfig
lckfb@localhost:~/RoboTamerSdk4Qmini/lib/m8010motor$ mkdir -p ~/RoboTamerSdk4Qmini/build && cd ~/RoboTamerSdk4Qmini/build
lckfb@localhost:~/RoboTamerSdk4Qmini/build$ cmake -DPLATFORM=arm64 .. && make -j2
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'Debug' as none was specified.
-- Current system architecture: aarch64
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Importing: /home/lckfb/RoboTamerSdk4Qmini/thirdparty/lib/aarch64/libddsc.so
-- Importing: /home/lckfb/RoboTamerSdk4Qmini/thirdparty/lib/aarch64/libddscxx.so
-- Unitree SDK library found at: /home/lckfb/RoboTamerSdk4Qmini/lib/aarch64/libunitree_sdk2.a
-- Importing: /home/lckfb/RoboTamerSdk4Qmini/lib/aarch64/libunitree_sdk2.a
-- Found Python3: /usr/bin/python3 (found version "3.12.3") found components: Interpreter Development Development.Module Development.Embed
-- Configuring done (2.7s)
CMake Warning (dev) at CMakeLists.txt:101 (target_link_libraries):
The library that is being linked to, yaml-cpp, is marked as being
deprecated by the owner. The message provided by the developer is:
The target yaml-cpp is deprecated and will be removed in version 0.10.0.
Use the yaml-cpp::yaml-cpp target instead.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:101 (target_link_libraries):
The library that is being linked to, yaml-cpp, is marked as being
deprecated by the owner. The message provided by the developer is:
The target yaml-cpp is deprecated and will be removed in version 0.10.0.
Use the yaml-cpp::yaml-cpp target instead.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:101 (target_link_libraries):
The library that is being linked to, yaml-cpp, is marked as being
deprecated by the owner. The message provided by the developer is:
The target yaml-cpp is deprecated and will be removed in version 0.10.0.
Use the yaml-cpp::yaml-cpp target instead.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:101 (target_link_libraries):
The library that is being linked to, yaml-cpp, is marked as being
deprecated by the owner. The message provided by the developer is:
The target yaml-cpp is deprecated and will be removed in version 0.10.0.
Use the yaml-cpp::yaml-cpp target instead.
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:101 (target_link_libraries):
The library that is being linked to, yaml-cpp, is marked as being
deprecated by the owner. The message provided by the developer is:
The target yaml-cpp is deprecated and will be removed in version 0.10.0.
Use the yaml-cpp::yaml-cpp target instead.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done (0.0s)
CMake Warning:
Manually-specified variables were not used by the project:
PLATFORM
-- Build files have been written to: /home/lckfb/RoboTamerSdk4Qmini/build
[ 25%] Building CXX object CMakeFiles/run_interface.dir/source/user/custom.cpp.o
[ 50%] Building CXX object CMakeFiles/run_interface.dir/source/run_interface.cpp.o
[ 75%] Building CXX object CMakeFiles/run_interface.dir/source/user/rl_controller.cpp.o
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In static member function ‘static Vec3<float> RLController::convert_world_frame_to_base_frame(Vec3<float>&, Vec3<float>&)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:280:113: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
280 | Vec3<float> RLController::convert_world_frame_to_base_frame(const Vec3<float> &world_vec, const Vec3<float> &rpy) {
| ^
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In member function ‘Vec4<float> RLController::quat_product(Vec4<float>&, Vec4<float>&)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:302:72: note: parameter passing for argument of type ‘Eigen::Matrix<float, 4, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
302 | Vec4<float> RLController::quat_product(Vec4<float> &q1, Vec4<float> &q2) {
| ^
In file included from /usr/local/include/eigen3/Eigen/Geometry:36,
from /usr/local/include/eigen3/Eigen/Dense:6,
from /home/lckfb/RoboTamerSdk4Qmini/include/user/onnx_inference.h:12,
from /home/lckfb/RoboTamerSdk4Qmini/include/user/rl_controller.h:6,
from /home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:1:
/usr/local/include/eigen3/Eigen/src/Geometry/OrthoMethods.h: In instantiation of ‘typename Eigen::internal::cross_impl<Derived, OtherDerived>::return_type Eigen::MatrixBase<Derived>::cross(const Eigen::MatrixBase<OtherDerived>&) const [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::Matrix<float, 3, 1>; typename Eigen::internal::cross_impl<Derived, OtherDerived>::return_type = Eigen::Matrix<float, 3, 1>; Base = Eigen::DenseBase<Eigen::Matrix<float, 3, 1> >]’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:293:20: required from here
/usr/local/include/eigen3/Eigen/src/Geometry/OrthoMethods.h:91:1: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
91 | MatrixBase<Derived>::cross(const MatrixBase<OtherDerived>& other) const {
| ^~~~~~~~~~~~~~~~~~~
In file included from /home/lckfb/RoboTamerSdk4Qmini/include/user/rl_controller.h:12:
/home/lckfb/RoboTamerSdk4Qmini/include/utils/orientation_tools.h: In instantiation of ‘Quat<typename T::Scalar> ori::rotMat_to_quat(const Eigen::MatrixBase<Derived>&) [with T = Eigen::Matrix<float, 3, 3>; Quat<typename T::Scalar> = Eigen::Matrix<float, 4, 1>; typename T::Scalar = float]’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:323:33: required from here
/home/lckfb/RoboTamerSdk4Qmini/include/utils/orientation_tools.h:81:30: note: parameter passing for argument of type ‘Eigen::Matrix<float, 4, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
81 | Quat<typename T::Scalar> rotMat_to_quat(
| ^~~~~~~~~~~~~~
In file included from /usr/local/include/eigen3/Eigen/Core:359,
from /usr/local/include/eigen3/Eigen/Dense:1:
/usr/local/include/eigen3/Eigen/src/Core/DenseBase.h: In instantiation of ‘Eigen::DenseBase<Derived>::EvalReturnType Eigen::DenseBase<Derived>::eval() const [with Derived = Eigen::Transpose<Eigen::Matrix<float, 3, 1> >; EvalReturnType = const Eigen::Matrix<float, 1, 3>]’:
/usr/local/include/eigen3/Eigen/src/Core/IO.h:223:42: required from ‘std::ostream& Eigen::operator<<(std::ostream&, const DenseBase<Derived>&) [with Derived = Transpose<Matrix<float, 3, 1> >; std::ostream = std::basic_ostream<char>]’
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:60:59: required from here
/usr/local/include/eigen3/Eigen/src/Core/DenseBase.h:386:56: note: parameter passing for argument of type ‘Eigen::Matrix<float, 1, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
386 | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EvalReturnType eval() const {
| ^~~~
/usr/local/include/eigen3/Eigen/src/Geometry/OrthoMethods.h: In instantiation of ‘static Eigen::internal::cross_impl<Derived, OtherDerived, Size>::return_type Eigen::internal::cross_impl<Derived, OtherDerived, Size>::run(const Eigen::MatrixBase<Derived>&, const Eigen::MatrixBase<Rhs>&) [with Derived = Eigen::Matrix<float, 3, 1>; OtherDerived = Eigen::Matrix<float, 3, 1>; int Size = 3; return_type = Eigen::Matrix<float, 3, 1>]’:
/usr/local/include/eigen3/Eigen/src/Geometry/OrthoMethods.h:92:58: required from ‘typename Eigen::internal::cross_impl<Derived, OtherDerived>::return_type Eigen::MatrixBase<Derived>::cross(const Eigen::MatrixBase<OtherDerived>&) const [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::Matrix<float, 3, 1>; typename Eigen::internal::cross_impl<Derived, OtherDerived>::return_type = <type error>; Base = Eigen::DenseBase<Eigen::Matrix<float, 3, 1> >]’
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:293:20: required from here
/usr/local/include/eigen3/Eigen/src/Geometry/OrthoMethods.h:28:60: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
28 | static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE return_type run(const MatrixBase<Derived>& first,
| ^~~
In file included from /usr/local/include/eigen3/Eigen/Core:356:
/usr/local/include/eigen3/Eigen/src/Core/IO.h: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const DenseBase<Derived>&) [with Derived = Transpose<Matrix<float, 3, 1> >]’:
/usr/local/include/eigen3/Eigen/src/Core/IO.h:223:42: note: parameter passing for argument of type ‘Eigen::Matrix<float, 1, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
223 | return internal::print_matrix(s, m.eval(), EIGEN_DEFAULT_IO_FORMAT);
| ~~~~~~^~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In member function ‘void RLController::compute_pm_phase(Vec2<float>)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:204:6: note: parameter passing for argument of type ‘Eigen::Matrix<float, 2, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
204 | void RLController::compute_pm_phase(Vec2<float> f) {
| ^~~~~~~~~~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In static member function ‘static Vec3<float> RLController::convert_world_frame_to_base_frame(Vec3<float>&, Vec3<float>&)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:280:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
280 | Vec3<float> RLController::convert_world_frame_to_base_frame(const Vec3<float> &world_vec, const Vec3<float> &rpy) {
| ^~~~~~~~~~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In member function ‘Vec3<float> RLController::quat_rotate_inverse(Vec4<float>, Vec3<float>)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:284:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 4, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
284 | Vec3<float> RLController::quat_rotate_inverse(Vec4<float> q, Vec3<float> v) {
| ^~~~~~~~~~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:284:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In member function ‘Vec4<float> RLController::quat_product(Vec4<float>&, Vec4<float>&)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:302:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 4, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
302 | Vec4<float> RLController::quat_product(Vec4<float> &q1, Vec4<float> &q2) {
| ^~~~~~~~~~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:310:49: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
310 | Vec3<float> v = r1 * v2 + r2 * v1 + v1.cross(v2);
| ~~~~~~~~^~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:312:12: note: parameter passing for argument of type ‘Eigen::Matrix<float, 4, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
312 | return q;
| ^
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:310:49: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
310 | Vec3<float> v = r1 * v2 + r2 * v1 + v1.cross(v2);
| ~~~~~~~~^~~~
/usr/local/include/eigen3/Eigen/src/Core/IO.h: In function ‘std::ostream& Eigen::operator<<(std::ostream&, const DenseBase<Derived>&) [with Derived = Transpose<Matrix<float, 3, 1> >]’:
/usr/local/include/eigen3/Eigen/src/Core/IO.h:223:42: note: parameter passing for argument of type ‘Eigen::Matrix<float, 1, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
223 | return internal::print_matrix(s, m.eval(), EIGEN_DEFAULT_IO_FORMAT);
| ~~~~~~^~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In member function ‘void RLController::compute_pm_phase(Vec2<float>)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:204:6: note: parameter passing for argument of type ‘Eigen::Matrix<float, 2, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
204 | void RLController::compute_pm_phase(Vec2<float> f) {
| ^~~~~~~~~~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In member function ‘Vec3<float> RLController::quat_rotate_inverse(Vec4<float>, Vec3<float>)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:284:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
284 | Vec3<float> RLController::quat_rotate_inverse(Vec4<float> q, Vec3<float> v) {
| ^~~~~~~~~~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:284:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 4, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:284:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In member function ‘Vec4<float> RLController::quat_product(Vec4<float>&, Vec4<float>&)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:302:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 4, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
302 | Vec4<float> RLController::quat_product(Vec4<float> &q1, Vec4<float> &q2) {
| ^~~~~~~~~~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In static member function ‘static Vec3<float> RLController::convert_world_frame_to_base_frame(Vec3<float>&, Vec3<float>&)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:280:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 3, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
280 | Vec3<float> RLController::convert_world_frame_to_base_frame(const Vec3<float> &world_vec, const Vec3<float> &rpy) {
| ^~~~~~~~~~~~
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp: In member function ‘Vec4<float> RLController::rpy_to_quat(Vec3<float>&)’:
/home/lckfb/RoboTamerSdk4Qmini/source/user/rl_controller.cpp:321:13: note: parameter passing for argument of type ‘Eigen::Matrix<float, 4, 1>’ when C++17 is enabled changed to match C++14 in GCC 10.1
321 | Vec4<float> RLController::rpy_to_quat(const Vec3<float> &rpy) {
| ^~~~~~~~~~~~
[100%] Linking CXX executable /home/lckfb/RoboTamerSdk4Qmini/bin/run_interface
[100%] Built target run_interface
lckfb@localhost:~/RoboTamerSdk4Qmini/build$ ls -la ~/RoboTamerSdk4Qmini/bin/
total 56440
drwxrwxr-x 2 lckfb lckfb 4096 Mar 26 15:15 .
drwxrwxr-x 9 lckfb lckfb 4096 Mar 26 15:13 ..
-rw-rw-r-- 1 lckfb lckfb 1018 Mar 26 15:13 config.yaml
-rw-rw-r-- 1 lckfb lckfb 4537107 Mar 26 15:13 general.txt
-rw-rw-r-- 1 lckfb lckfb 167 Mar 26 15:13 imu_interface.py
-rw-rw-r-- 1 lckfb lckfb 8540 Mar 26 15:13 imu_receiver.py
-rw-rw-r-- 1 lckfb lckfb 4765 Mar 26 15:13 joystick.py
-rw-rw-r-- 1 lckfb lckfb 805015 Mar 26 15:13 policy.onnx
-rw-rw-r-- 1 lckfb lckfb 12120278 Mar 26 15:13 rl.txt
-rwxrwxr-x 1 lckfb lckfb 17552152 Mar 26 15:15 run_interface
-rw-rw-r-- 1 lckfb lckfb 22737432 Mar 26 15:13 test_interface1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
RoboTamerSdk4Qmini 构建完成之后,会在~/RoboTamerSdk4Qmini/bin/ 目录中生成一个 run_interface 可运行文件,之后我们就需要这个东西。