很久没有更新博客,学习任务比较繁重,时间过得很快,怎样每日一更,可是现在太忙了,借着交作业的机会,顺便更新一遍实践博客,具体原理有机会深究…
本博客参考张老师教程,博主为张博公选课学生,根据张博教程自主搭建机器人并仿真!
对原理理解并不深刻,如需学习只是还请参考张博的博客!
参考博客:
- 使用机器人操作系统ROS 2和仿真软件Gazebo 9搭建机器人教程(一)
- mobot_room.world-ROS2Gazebo9附1
- mobot模型-ROS2Gazebo9附2
- CMakeLists部分-ROS2Gazebo9附3
- world.launch.py部分-ROS2Gazebo9附4
仿真视频展示
<iframex id="yV1yTV0w-1591019981390" frameborder="0" src="undefined" allowfullscreen="true" data-mediaembed="undefined"></iframex>
undefined
ROS环境配置
- barch文件
- 环境选择
- 手动设置环境变量
1 2 3 | alvin@ros:~$ source /opt/ros/dashing/setup.bash alvin@ros:~$ echo $ROS_DISTRO dashing |
ROS环境搭建教程:Ubuntu18.04 安装ROS Melodic && Ros2 Dashing踩坑笔记
创建工作区
1 2 | mkdir -p mobot/src cd mobot/src/ |
- 创建mobot包
1 | ros2 pkg create --build-type ament_cmake mobot |
室内环境 world
1 2 3 4 | alvin@ros:~/mobot/src/mobot$ mkdir worlds alvin@ros:~/mobot/src/mobot$ cd worlds/ alvin@ros:~/mobot/src/mobot/worlds$ touch mobot_room.world alvin@ros:~/mobot/src/mobot/worlds$ gedit mobot_room.world |
打开后输入内容:
mobot_room.world-ROS2Gazebo9附1
搭建机器人
- 安装相关的ROS2软件包:
1 | sudo apt install ros-dashing-gazebo-* |
可以通过运行以下命令进行检查:
1 | ros2 pkg list |
- gazebo插件
1 2 3 4 5 | $ cd ~/mobot/src/mobot $ mkdir urdf $ cd urdf $ touch mobot.gazebo $ gedit mobot.gazebo |
打开后输入内容:
mobot模型-ROS2Gazebo9附2(mobot.gazebo部分)
1 2 3 | $ cd urdf $ touch mobot.urdf.xacro $ gedit mobot.urdf.xacro |
打开后输入内容:
mobot模型-ROS2Gazebo9附2(mobot.urdf.xacro部分)
编写CMakeLists 文件
1 2 3 | $ source /opt/ros/dashing/setup.bash $ cd ~/mobot $ colcon build |
1 2 | alvin@ros:~$ cd mobot/src/mobot/ alvin@ros:~/mobot/src/mobot$ gedit CMakeLists.txt |
打开后输入内容:
CMakeLists部分-ROS2Gazebo9附3
编译代码
-此时,在
编写启动文件
1 2 3 4 5 | $ cd mobot/src/mobot $ mkdir launch $ cd launch $ touch world.launch.py $ gedit world.launch.py |
打开后输入内容:
world.launch.py部分-ROS2Gazebo9附4
整个项目的工作目录
启动仿真
1 2 | $ source install/setup.bash $ ros2 launch mobot world.launch.py |
控制机器人运动
重新打开一个终端:
1 2 | alvin@ros:~/mobot$ source /opt/ros/dashing/setup.bash alvin@ros:~/mobot$ ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r __ns:=/mobot |