catkin_ws
简介说明
16dof采用留形科技的odin1空间记忆模组作为视觉方案
采用的odin1固件版本为0.12.0
本目录按 ROS 2 工作空间组织,工作空间根目录为当前目录,源码目录为 src/。
固件下载链接:https://vvcazjv268.feishu.cn/file/AAsOba7nSoGj22xclcKcoadE
Odin1驱动0.11.0获取链接:https://github.com/manifoldsdk/odin_ros_driver.git
本目录仅仅附带
catkin_ws/
├── src/ 空
├── runros.sh
├── readme.md 本文档
└── odin1的使用手册.md
所附带链接为留形科技官方下载链接 并默认已配置 官方 ROS 2 功能包:
-
src/odin_ros_driver以及参照官方教程完成系统规则写入 附带官方github链接:https://github.com/manifoldsdk/odin_ros_driver -
注意 odin1需配套对应 odin1固件版本, 驱动版本 以及 mindcloud软件版本,详情请查阅官方说明
目录结构
catkin_ws/
├── src/
│ └── odin_ros_driver/
├── build/
├── install/
├── runros.sh
├── readme.md
└── log/
说明:
src/用于存放 ROS 2 功能包源码。build/、install/、log/为colcon build后生成的工作空间产物。
扫图相关(需先完成control_command.yaml配置)
fire:~/catkin_ws/src/odin_ros_driver/config/control_command.yaml
#存颜色
recorddata: 1 # 0: off; 1: on
#存地图
custom_map_mode: 1 # 0: Odometry mode 1: SLAM mode 2: Relocalization mode
运行odin
# 启动官方历程
./runros.sh
#新建终端 保存地图
cd ~/catkin_ws/src/odin_ros_driver/
./set_param.sh save_map 1
将生成的文件导入留形官方后处理软件mindcloud 下载地址:https://version.manifoldtech.cn/download/mcs
使用方法
- 进入工作空间根目录:
cd ~/catkin_ws
提供一个一键构建脚本runros.sh
#请先赋予可执行权限,此脚本可代替ros2空间构建命令
./runros.sh
- 先加载 ROS 2 环境:
source /opt/ros/<你的发行版>/setup.bash
- 构建工作空间:
colcon build
- 加载工作空间环境:
source /home/lcf/catkin_ws/install/setup.bash
- 查看工作空间中的包:
colcon list
- 在当前终端加载环境:
source ~/catkin_ws/runros.sh
- 一键启动默认 ROS 2 驱动:
~/catkin_ws/runros.sh
默认等价于:
source ~/catkin_ws/install/setup.bash
ros2 launch odin_ros_driver odin1_ros2.launch.py
- 如需只打开一个已加载环境的干净交互 bash:
~/catkin_ws/runros.sh --shell
- 直接通过脚本执行
ros2或rviz2命令:
~/catkin_ws/runros.sh ros2 topic list
~/catkin_ws/runros.sh rviz2 -d /home/lcf/catkin_ws/src/odin_ros_driver/config/odin_ros2.rviz
说明
- 当前根目录已经是 ROS 2 工作空间根目录,无需额外执行
ros2 workspace create之类命令。 - 若构建失败,请先确认系统已安装 ROS 2、
colcon以及包依赖。 runros.sh会自动查找/opt/ros下可用的 ROS 2 发行版,并在存在install/setup.bash时自动叠加当前工作空间环境。runros.sh会将 ROS 2 运行日志写入工作空间下的log/ros2/,避免依赖用户主目录中的默认~/.ros/log。- 直接执行
runros.sh且不带参数时,会默认执行ros2 launch odin_ros_driver odin1_ros2.launch.py,用于一键启动驱动。 - 如需只进入 shell,请显式使用
runros.sh --shell;该模式会进入一个不读取用户~/.bashrc/~/.profile的干净交互 bash,避免用户 shell 初始化脚本覆盖或污染当前 ROS 环境。 - 直接执行
runros.sh且带参数时,会在完成环境加载后直接执行该命令,适合一键启动ros2或rviz2。