内容:
- 下载和安装必要软件
- 了解模拟的界面
- 了解如何开始这门课的作业
在VM image上运行模拟
- 下载并安装VM 官网Oracle Virtual Box 6.1 或 百度网盘提取码rba1
- 下载 Virtual Machine image(.ova)百度网盘提取码rba1 到本机并上传到VM,打开虚拟机(如果需要账户Student/密码是student)
- 打开虚拟机的Terminal输入pumasim开始
- 如果内存不够,请清理,例如
sudo apt autoremove
sudo du -sh /var/cache/apt
sudo apt-get clean
模拟器内部:
- 每2毫秒调用一次控制器==>不要在code中打印什么东西,因为这会打断调用
- 预定义名称==>不要改
- pumasim可执行文件不包含控制器,而是从共享库controllDLL.so中加载
- Pumasim首先在当前工作目录中查找该库,然后在/opt/pumasim中查找
- 只需要编译controlDLL.so
界面简介
打开Terminal输入pumasim可以看到模拟界面,右侧的解释如下
关闭模拟。下面是一些文件的简介,关于作业,后面将会介绍。
control.cpp
- 这里可以完善机器的控制器(robot controller)
- File must also be compatible on the Real Time PC running QNX.文件还必须在运行QNX的Real Time PC上兼容。
- init...() 函数将被call当你点击"Start"(controller)
- ...control()函数将被在频率为500Hz的伺服环路中定期被call
- 很多全局变量都在结构体gv中声明,其中包括模拟/机器人的状态
data.mat
- 纯ASCII文本文件
- 每一行都是一个时间点 time q(1...n) dq(1..n) tau(1..n) x(1..m) dx(1..m) xd(1..m)
- n = DOF
- m = 7 in "6-DOF(quaternions)
gains_*.txt
- 文本里包含特定机器人模式下所有控制器的gains
- gains_1.txt = gains during 3DOF mode
- gains_6.txt = gains during 6DOF quaternion mode
- 等等
- 不要手动编辑这些txt文件,而是使用界面里的"Store gains" 和"Load gains"
编程之前的准备工作:
- 阅读
- 可以使用 math library(vector, matrix等等), global variables等等
P-Controller
- 从gv结构体中上传P-controller的变量
- gv.tau: joint torques 关节扭矩
- gv.q: joint position 关节位置
- gv.kp:position gains for the current control mode 当前控制模式的位置增益
- gv.qd: desired joint position 目标关节位置
- 可以通过GUI调整
- 可以通过GUI将信号写入文本文件来(.mat)来可视化
关于Ubuntu
- 因为显示器的原因屏幕上字太小==>Settings/Displays/Scale
- 语言不匹配,添加语言==> Setting/Region&Language
关于作业
下载作业,解压。作业文件夹里包括:
- |------------------1
- |------------------1/CMakeLists.txt
- |------------------1/Readme.md
- |------------------1/controlDLL
- |------------------1/controlDLL/control.cpp
首先 编译controlDLL:
cd 1
mkdir build
cd build
cmake ..
make
- cmake .. 将根据文件里的CMakeLists.txt生成CMakeFiles文件夹以及cmake_install.cmake 文件等
- make 将根据control.cpp生成 libcontrolDLL.so文件
- 在build/ 目录下使用命令pumasim将打开模拟器
- 如何完成作业-->打开controlDLL/control.cpp并添加所需代码,在build/目录下输入make再次编译,输入pumasim查看结果
make
pumasim
单词
compatible 兼容 periodically 定期地 Plain 纯 quaternions 四元数 tune 调整