加固图像解码: 处理 step 行末 padding 情况 抽出 _decode_plane, 在 step 与 width*channels 不一致(驱动对齐) 时按 step 逐行切片, 避免某路相机 reshape 抛异常导致照片保存失败。
加固图像解码: 处理 step 行末 padding 情况
抽出 _decode_plane, 在 step 与 width*channels 不一致(驱动对齐) 时按 step 逐行切片, 避免某路相机 reshape 抛异常导致照片保存失败。
本仓库是小米铁蛋(Cyberdog)比赛二次开发的团队共享功能包仓库,只存放我们自己写的 ROS2 包(目前有 demo_tof)。 官方 SDK 代码不在本仓库——每位同事各自从官方 clone,本仓库只负责同步我们自己写的包。
demo_tof
https://gitlink.org.cn/Somebird/tianshu_cyberdog_ws.git
master
目标布局(同步完成后所有人都一样):cyberdog_ws/src/ 直接就是本仓库的工作区,我们的包在 cyberdog_ws/src/race/<包名>/。
cyberdog_ws/src/
cyberdog_ws/src/race/<包名>/
race/
race/demo_tof/
.gitignore
README.md
build/
install/
log/
race/<包名>/
cyberdog_ws
vcs import . < cyberdog.repos
colcon build
⚠️ 下方”首次同步”会把你 cyberdog_ws/src/ 下官方的 .git 改名备份(删了也行),并让 src/ 变成本仓库的工作区。官方源码仍在 GitHub(MiRoboticsLab/cyberdog_ws)上,随时能重新 clone,所以挪走 .git 没有风险。官方各模块目录(bridges/motion/…)不受影响,继续留在 src/ 下供编译用。
.git
src/
MiRoboticsLab/cyberdog_ws
在 cyberdog_ws/src/ 目录下执行:
cd <你的路径>/cyberdog_ws/src # (1) 把官方仓库改名备份(可还原) mv .git .git.official.bak # (2) 本仓库会带来自己的 .gitignore 和 README.md, # 而官方这两个同名文件还在、会冲突——先改名备份: mv .gitignore .gitignore.official.bak mv README.md README.md.official.bak # (3) 在 src/ 初始化本团队仓库并拉取 git init git remote add origin https://gitlink.org.cn/Somebird/tianshu_cyberdog_ws.git git fetch origin git checkout -b master origin/master
完成后验证:
ls race/demo_tof/ # 应能看到 demo_tof 的 package.xml / CMakeLists.txt / src/ git status # 应是干净状态(官方模块已被 .gitignore 忽略,不会出现)
此时你的 cyberdog_ws/src/ 结构:
cyberdog_ws/src/ ├── .git/ # ← 本团队仓库(不再是官方的) ├── .gitignore # ← 本仓库的白名单版本 ├── README.md # ← 本说明 ├── race/ │ └── demo_tof/ # 我们的包 ├── bridges/ manager/ motion/ sensors/ ... # 官方模块(未跟踪,继续用于编译) └── *.official.bak # 各份备份,确认无误后可自行删除
备份文件(.git.official.bak 等)也被 .gitignore 忽略,不会进仓库;确认一切正常后可以删掉。
.git.official.bak
cd <你的路径>/cyberdog_ws/src git pull
race/my_pkg/
package.xml
CMakeLists.txt
cd <你的路径>/cyberdog_ws/src git add -A git status # 确认只有 race/my_pkg/ 被加入,没有官方代码 git commit -m "add my_pkg" git push
git pull
提交前务必看一眼 git status:应该只出现 race/ 下的内容。若冒出官方模块或 build/install/log,说明 .gitignore 没生效,先别提交。
git status
build/install/log
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
tianshu_cyberdog_ws —— 天枢 铁蛋比赛开发共享包
本仓库是小米铁蛋(Cyberdog)比赛二次开发的团队共享功能包仓库,只存放我们自己写的 ROS2 包(目前有
demo_tof)。 官方 SDK 代码不在本仓库——每位同事各自从官方 clone,本仓库只负责同步我们自己写的包。https://gitlink.org.cn/Somebird/tianshu_cyberdog_ws.gitmaster仓库约定(重要)
race/目录下,例如race/demo_tof/。.gitignore配置为:只跟踪race/和README.md,其余(官方模块、build/、install/、log/等)一律忽略,不会入库。race/<包名>/即被自动跟踪,无需改.gitignore。前置条件(每位同事自行准备)
cyberdog_ws并执行vcs import . < cyberdog.repos展开源码(官方各模块在cyberdog_ws/src/下)。colcon build。同步方法(核心)
1. 首次同步(让你的布局和仓库主人完全一致)
在
cyberdog_ws/src/目录下执行:完成后验证:
此时你的
cyberdog_ws/src/结构:2. 之后拉取团队最新更新
如何贡献新包
race/下新建包目录:race/my_pkg/(含package.xml、CMakeLists.txt、源码)。git pull即可拿到。相关链接