OEM 包制作流程
本文档介绍如何根据客户定制化需求制作 OEM 包。包含有线版本和无线版本的配置项说明,以及详细的示例和注意事项。
1 制作流程
1.1 模板下载与存放目录
- 点击下载模板 ,将模板文件放置
/root
目录 - 默认模板:模板中不包含任何定制内容,用户可根据需求进行修改
1.2 解压与命名
解压模板文件至当前目录,并重命名为定制包名 ,下面以制作
E10_release.oem
为例1.3 修改参数
- 文件
oem.conf
, 可以定制示教器软件的配置、机械臂和控制柜的名称、软件logo等。 - 文件
before.sh
,可以设置禁用、开启有线和无线。 - 文件
setup.sh
,设置更换开关机logo,更新桌面图标,替换模型文件和皮肤等功能。 - 文件
deploy.sh
, 设置oem包名和打包版本。1.4 打包
修改脚本文件
deploy.sh
将框选中的内容更改成oem
包定制名称 ,例如E10
因为是本地打包所以需要自己手动修改
oem
包版本号VERSION_NUM=1.0.* #版本号根据具体情况设置
执行脚本
./deploy.sh
,打包成功后,在 build 目录下,会生成oem
包
1.5 安装使用
打包完成后,参考 OEM 定制包使用指南 进行安装和使用。
2 有线版本可配置项目
2.1 上位机配置项
打开 /config/oem.conf
文件,根据实际需求修改配置参数,若该参数不使用时,可以用 #
注释掉,以下是详细参数说明。
# 以下配置参数均为默认配置
[Teachpendant]
hide_logo = false # 默认不隐藏 logo, true-隐藏、false-不隐藏
hide_tp_3pe_config = false # 默认不隐藏示教器三档位开关配置, true-隐藏、false-不隐藏
default_tp_3pe_for_handguide = true # 默认的三档位开关作为拖动功能,true-拖动、false-安全防护
logo_pic_path = "oem/1.png" # 指定自定义 logo 的加载路径
splash_path = "xx/2.png" # 指定自定义 splash 的加载路径
login_pic_path= "oem/3.png" # 指定高级模式登录页面的记载路径
default_language = "en" # 默认语言为英文,目前支持 en(英文)、zh_CN(中文)、ja(日语)、ru(俄语)、ko(韩语)
default_theme = "orange" # 默认主题颜色为橙色,目前支持 orange(橙色)、blue(蓝色)
default_loop_forever = true # 默认勾选一直循环, true-勾选、false-不勾选
default_authority_mode = 0 # 默认模式为经典模式,0-经典模式 1-高级模式
lock_language = false # 默认不锁定语言,允许修改设置,true-锁定语言、false-不锁定语言
lock_theme = false # 默认不锁定主题,允许修改设置,true-锁定主题、false-不锁定主题
operation_auto_to_manual_lock_screen = false# 操作模式从自动切换到手动后触发所屏效果(io触发),默认不锁定,true-锁定、false-不锁定
edit_stop_program = true # 程序运行后是否可以编辑程序 默认可以编辑, true-可以编辑、false-不可以编辑
measure_unit = "radian" # 姿态单位 radian:弧度 "angle":度 默认为radian(弧度)
running_disable_io_trigger = false # 程序运行时,禁止主动触发IO 默认可以触发,true-不可以触发、false-可以触发
io_action_slow_down = false # IO动作中显示非一级减速、非二级减速 默认不显示,true-显示、false-不显示
io_action_safe_guard = false # IO动作中显示安全停止、运行中保护 默认不显示,true-显示、false-不显示
passwd_protected_operation_mode_switch = "manual" # always:模式切换都需要密码 manual:切换到手动需要密码 nerver: 模式切换不需要密码 默认切换到手动需要密码
hide_safety_mode_dlg = false # 是否隐藏示教器上次异常退出弹窗,默认不隐藏,true-隐藏、false-不隐藏
lock_dragdamping = false # 配置中的拖动阻尼页是否开启密码保护,默认不开,true-开启、false-不开启
check_use_age = false # 是否开启使用年限检查,默认 false-不开启
use_age_limit = 36 # 额定质保年限配置,整数(月)。 要大于等于1,才能正常开启功能
# 宁德定制
collision_level_1_force = 300 # 等级1碰撞力
collision_level_2_force = 290 #等级2碰撞力
collision_level_3_force = 280 #等级3碰撞力
collision_level_4_force = 270 # 等级4碰撞力
collision_level_5_force = 260 # 等级5碰撞力
collision_level_6_force = 250 # 等级6碰撞力
collision_level_7_force = 240 # 等级7碰撞力
collision_level_8_force = 230 # 等级8碰撞力
collision_level_9_force = 220 # 等级9碰撞力
collision_level_10_force = 210 # 等级10碰撞力
collision_force_info = "" # 碰撞力信息
## 机器人/控制柜型号和名字的映射
[RobotType]
aubo_i10H = "i10H"
cb_standard-zh_CN = "改进型控制柜"
cb_standard-ko = "향상된 제어 캐비닛"
cb_ISStation-zh_CN = "iS控制柜"
cb_standard-zh_CN = "改进型控制柜"
cb_iSstandardStation-zh_CN = "iS控制柜"
cb_CStation-zh_CN = "C系列控制柜"
cb_SmartStation-zh_CN = "S系列控制柜"
cb_PStation-zh_CN = "工业机器人控制柜"
cb_i-zh_cn = "改进型控制柜"
## 指定安装包的路径/过滤器
[Sources]
arcs_update_url=["https://download.aubo-robotics.cn/arcs/", "https://download.aubo-robotics.cn/oem/"] # 更新链接
arcs_update_prefix=["arcs_update","xxx"]
arcs_update_contain=["NSL"]
2.2 控制器配置项
# 以下配置参数均为默认配置
[aubo_control]
opmode_stop_strategy = 0 #0:默认值,手动切到自动模式,运行的程序会暂停;1: 手动切到自动模式,运行的程序会停止
collision_pause_rtm = true #true:默认值,碰撞后暂停运行时;false: 碰撞后停止运行时
estop_speed_fraction = 0.01 #0.01: 默认值,范围:[0-1],紧急停止后的速度比例值设置
manual_mode_active_linked_io = false #false:默认值,配置联动IO在手动模式下不生效;true:配置联动IO在手动模式下生效
log_count = 20 #20:默认值,范围:[20-1000],log日志数量设置
linkage_mode_active = true #true:默认值,联动模式默认生效;false:禁用联动模式,自动模式等效于联动模式
2.3 OEM中默认值逻辑的字段与INI中字段的对应
Teachpendant/hide_logo<===>customization/hide_logo
Teachpendant/default_language<===>system/language
Teachpendant/default_theme<===>system/themes
Teachpendant/default_loop_forever<===>system/loop_forever
Teachpendant/default_authority_mode<===>authority/advanced_mode
Teachpendant/edit_stop_program<===>system/edit_stop_program
Teachpendant/measure_unit<===>system/measure_unit
3 无线版本可配置项目
# 以下配置参数均为默认配置
[Teachpendant]
default_language = "en" # 默认语言为英文,目前支持 en(英文)、zh_CN(中文)、ja(日语)、ru(俄语)、ko(韩语)
edit_stop_program = true # 程序运行后是否可以编辑程序 默认可以编辑, true-可以编辑、false-不可以编辑
measure_unit = "radian" # 姿态单位 radian:弧度 "angle":度 默认为radian(弧度)
hide_logo = false # 默认不隐藏 logo, true-隐藏、false-不隐藏
default_loop_forever = true # 默认勾选一直循环, true-勾选、false-不勾选
running_disable_io_trigger = false # 程序运行时,禁止主动触发IO 默认可以触发,true-不可以触发、false-可以触发
io_action_slow_down = false # IO动作中显示非一级减速、非二级减速 默认不显示,true-显示、false-不显示
io_action_safe_guard = false # IO动作中显示安全停止、运行中保护 默认不显示,true-显示、false-不显示
collision_level_1_force = 300 # 等级1碰撞力
collision_level_2_force = 290 #等级2碰撞力
collision_level_3_force = 280 #等级3碰撞力
collision_level_4_force = 270 # 等级4碰撞力
collision_level_5_force = 260 # 等级5碰撞力
collision_level_6_force = 250 # 等级6碰撞力
collision_level_7_force = 240 # 等级7碰撞力
collision_level_8_force = 230 # 等级8碰撞力
collision_level_9_force = 220 # 等级9碰撞力
collision_level_10_force = 210 # 等级10碰撞力
collision_force_info = "" # 碰撞力信息
4 示例
4.1 无logo模式
无logo模式需要将所有图标中的aubo
字样替换或者隐藏,替换图标包含开关机的logo和桌面快捷方式,隐藏logo包含软件加载页面/关于页面/高级模式登录页面,参考模板nologo.zip
。
- 替换开关机logo,将模板中的xubuntu图标替换aubo图标。
- 开关机定制图标放到目录
/resources/logo/
下,根据setup.sh
脚本中设置的名称,开机图片重命名为logo_16bit.png
,关机图片重命名为logo.png
,(开关机必须是同一个图标样式)。 打开
setup.sh
脚本,增加如下代码 。隐藏软件logo,打开
/config/oem.conf
文件,修改hide_logo = true
, 即会隐藏图标。无logo模式是需将开关机图片/桌面快捷图标替换,并隐藏高级模式登录/关于页面/软件登录页面的
aubo
字样的图标。如需要定制图标,参考步骤4.2 定制软件logo。
4.2 定制软件logo
定制开关机图标,参考步骤4.1的操作流程。
定制软件启动页面图标。
将替换的logo放到目录
/resources/logo/
下,打开/config/oem.conf
,软件启动加载背景配置为splash_path= "resources/logo/start_0_en_16_10.png"
,把/resources/logo/
图片重命名对应的图标。定制高级模式登录页面图标。
将替换的logo放到目录
/resources/logo/
下,打开/config/oem.conf
,软件启动加载背景配置为login_pic_path = "resources/logo/login.png"
,把/resources/logo/
图片重命名对应的图标。定制桌面快捷方式图标。
将替换的logo放到目录
/resources/logo/
下,重命名定制图标为arcs.png
,增加如下代码# 更新桌面图标 cp -av ${ROOT_DIR}/resources/logo/arcs.png ${INSTALL_DIR}/share/icons/customize.png sed -i "s/^Comment=.*/Comment=Robot Control System/g" "${INSTALL_DIR}/share/applications/arcs.desktop.in" sed -Ei "s@^(Icon=.*)arcs.png@\1customize.png@g" "${INSTALL_DIR}/share/applications/arcs.desktop.in"
备注:替换的图标有尺寸要求,详细尺寸参考表格 :尺寸要求
定制关于页面图标。
将替换的logo放到目录
/resources/logo/
下,打开/config/oem.conf
,软件启动加载背景配置为logo_pic_path= "resources/logo/technored_logo.png"
,把/resources/logo/
图片重命名对应的图标。
4.3 定制机械臂名称
若定制机械臂 i3H
显示为 i3HFY
,修改参数 aubo_i3H = "i3HFY"
,若配置文件中没有该臂型号,可自行添加。
若定制控制柜 cb_ISStation-zh_CN
显示 IS控制柜
,修改参数 cb_ISStation-zh_CN = "iS控制柜"
,以此类推。
4.4 定制模型颜色
例如定制 i5H 模型为 red 模型,将 i5H 模型 替换为 i5H_red 模型文件,复制代码到文件中替换。(定制模型找算法刘赛男,模型文件拷贝至 /resources/
目录下)
修改 setup.sh
脚本,增加如下代码(模板已增加,不使用时可以加 #
注释)
if [ -d "${INSTALL_DIR}/aubo_description/meshes" ]; then
( [ -d "${INSTALL_DIR}/aubo_description/meshes/aubo_i5H/visual" ] && mv "${INSTALL_DIR}/aubo_description/meshes/aubo_i5H/visual" "${INSTALL_DIR}/aubo_description/meshes/aubo_i5H/visual_bak") || echo "aubo_i5H visual file not found"
fi
ln -s "${RES_DIR}/i5H_red/visual" "${INSTALL_DIR}/aubo_description/meshes/aubo_i5H/visual"
4.5 禁用有线/禁用无线
打开配置文件 before_setup.sh
# 配置安装
export INSTALL_AUBO_SCOPE=true #true:默认值,启用有线示教器;false: 关闭有线示教器
export INSTALL_WEBSCOPE=false #false:默认值,关闭无线;true: 启用无线
export INSTALL_NGINX=false #false:默认值,关闭nginx网页访问;true: 启用nginx网页访问
5 注意事项
- 建议使用 git 或者其他方式将自己的修改进行留存,有利于后续的变更及追溯。
- 隐藏logo,是隐藏arcs软件中带有aubo的字样,指关于页面/软件启动页面/桌面快捷方式/高级模式登录页面。
- 系统开关机只有aubo图标,没有xubuntu的logo,所以aubo_oem.conf中隐藏logo,开关机的logo无法隐藏,只能替换新logo。(参考模板
nologo.zip
) - 开机和关机的logo需要是同一张logo。
- 替换软件加载页面的logo,需要先设置
hide_logo=true
。