0%

05 - 宏观模拟_ARCSim-HYLC

1. 下载与安装

下载链接

2. 环境配置

该处是原作者对 ARCSim 进行了魔改,因此也需要依赖 Boost 库,安装 Boost 库见 《04 - ARCSim》 2.1 boost 库(手动配置),因此该处默认 Boost 路径为(根据自己实际安装 Boost 的操作进行修改):

  • 头文件路径:/usr/local/include/(boost)
  • 库文件路径:/usr/local/lib/

2.1 找不到 Boost 头文件

screenShot.png

include/ 这个目录找不到 boost ,直接做个软连接:

1
2
3
sudo mkdir include

sudo ln -s /usr/local/include/boost/ /include/

2.2 找不到 Boost 库文件

此时报出下列错误。

screenShot.png

找到头文件,但是没有找到 Boost::system::* 函数的定义,即没有找到对应的库文件。

修改 /ARCSim-HYLC/v0.2.1/CMakeLists.txt ,重新设置 Boost 库导入的部分,大致结构如下:

1
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
# Boost library.
include(FindBoost)
find_package( Boost 1.55.0 COMPONENTS system filesystem REQUIRED )

include_directories(
...
${Boost_INCLUDE_DIRS}
...
)

link_directories(
${Boost_LIBRARY_DIRS}
)

# 关键语句,直接将找不到的两个库硬链进去,相当于:
# g++ *.cpp -L/usr/local/lib -llibboost_system -llibboost_filesystem
link_libraries(
/usr/local/lib/libboost_system.a
/usr/local/lib/libboost_filesystem.a
)

add_executable(arcsim_0.2.1
...
)

target_link_libraries(arcsim_0.2.1
${Boost_LIBRARIES}
)

参考文章:

2.3 运行可执行文件 exec.py

生成 build-Release

1
python3 exec.py

生成 build-Debug

1
python3 exec.py -d

运行一个实例:

1
python3 exec.py tests/2D/conf/stock_stretchX.json

按住 space 进行 step 。

screenShot.png

3. 使用示例

基本是基于 ARCSim 运行的,具体参考 《04 - ARCSim》 3. 使用方法

可以直接用 -o 调用 ARCSim 的原命令进行操作:

1
python3 exec.py -o <command> [<args>]

相当于:

1
bin/arcsim <command> [<args>]

3.1 简单可视化

在当前目录下创建一个 /output/ 文件夹:

1
python3 exec.py tests/2D/conf/stock_stretchX.json ./output

或者使用原始的 ARCSim 命令 simulate

1
python3 exec.py -o simulate tests/2D/conf/stock_stretchX.json ./output

仿真输出结果在该目录。

python3 run_folder.py 可用于(排序和)模拟整个文件夹的文件(离线非显示状态计算)。

3.2 自动输出文件夹内的仿真结果

1
python3 run_folder.py tests/2D/conf/

会在当前目录创建一个 sims 文件夹存储输出结果。

3.3 离线模拟

1
python3 exec.py -o simulateoffline tests/2D/conf/stock_stretchX.json ./stock_stretchX_output

在目录 ./stock_stretchX_output/ 下生成 “输出文件” 。

3.4 播放输出文件

1
python3 exec.py -o replay ./stock_stretchX_output/

可以在播放同时生成帧序列,存放在 ./stock_stretchX_images/ 目录下:

1
python3 exec.py -o replay ./stock_stretchX_output/ ./stock_stretchX_images/

3.5 示例

basket_drapeX

basket_drapeX

hylc_scarf_stiff

hylc_scarf_stiff