本文适合有 ROS1 基础与了解 urdf语法 和 gazebo 的朋友
SCOUT MINI 是一款全地形高速Mini UGV,具有四轮差速驱动、独立悬挂、原地差速自转等特点,得益于自主研发的轻量级动力系统解决方案,SCOUT MINI最大速度高达10KM/H,专为前沿科学实验设计的全能型移动研究平台。
此外,松灵为用户提供了 SCOUT MINI 的完整 gazebo 仿真支持库,本文将带您逐步上手使用:
仓库地址:https://github.com/agilexrobotics/ugv_gazebo_sim
1. 开发环境配置
目前官方提供的仿真环境是 ROS-melodic
+ gazebo9
,如果您已配置好相关环境请跳过本节。
编者这里使用的开发环境是 docker
+ VSCode
,这个组合的好处可以参考我的博客文章:Docker 配合 VSC 开发最佳实践
我们首先新建工作空间文件夹,并使用 catkin
初始化工作空间:
$ mkdir scout_ws && cd scout_ws
$ mkdir src .devcontainer
$ cd ../.devcontainer
在 .devcontainer
中新建 devcontainer.json
和 Dockerfile
两个文件:
$ gedit devcontainer.json # 也可以自行更换其他的编辑器
在 devcontainer.json
保存如下内容:
{
"dockerFile": "Dockerfile",
"build": {
"args": {
"WORKSPACE": "${containerWorkspaceFolder}"
}
},
"remoteUser": "ros",
"runArgs": [
"--network=host",
"--cap-add=SYS_PTRACE",
"--security-opt=seccomp:unconfined",
"--security-opt=apparmor:unconfined",
"--volume=/tmp/.X11-unix:/tmp/.X11-unix"
],
"containerEnv": {
"DISPLAY": "${localEnv:DISPLAY}" },
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash"
},
},
"terminal.integrated.defaultProfile.linux": "bash"
},
"extensions": [
"dotjoshjohnson.xml",
"zachflower.uncrustify",
"ms-azuretools.vscode-docker",
"ms-iot.vscode-ros",
"ms-python.python",
"ms-vscode.cpptools"