在gazebo中导入移动小车+二维码
一、导入移动小车
本文使用的是TurtleBot3的这个开源项目小车,安装较为简单,安装完后使用键盘即可控制小车前后左右。
Turtlebot是一种室内移动机器人,搭载激光传感器,使机器有精确的距离感知能力。通过搭建仿真环境,可以在没有硬件支持的情况下进行仿真和编程,并熟悉ros系统。本文环境使Ubuntu18.04,安装的是对应的Ros melodic。
1、安装turtlebot3
终端安装代码如下,前提是你已经有了一个初始化好的ros工作空间,如果没有需要自行先建立一下:
cd ~/catkin_ws/src
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
cd ..
rosdep install --from-paths src -i -y
catkin_make
source ./devel/setup.bash
在用rosdep安装依赖项或者make的时候,不同电脑可能会报一定的错误,需读者根据终端错误对应搜索解决,至此,安装turtlebot3步骤完成,下面安装turtlebot3的仿真环境。
2、 安装TurtleBot3 Simulation
cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/catkin_ws && catkin_make
source ./devel/setup.bash
到这里仿真代码也就编译完成了。
3、安装键盘控制代码
cd ~/catkin_ws/src/
git clone https://github.com/ros-teleop/teleop_twist_keyboard.git
cd ~/catkin_ws && catkin_make
source ./devel/setup.bash
至此所有需要安装的代码均以完成。
二、启动小车
在turtlebot3_empty_world.launch文件里指定modle,改法如下:
终端输入:
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
上图是默认的小车,通过更改launch文件,可以更换不同的小车,源码总共支持3个小车,
下图展示了如何改为名为waffle_pi小车。
三、控制小车
在终端已启动完小车后,在打开一个新的终端,输入下面这段代码:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
终端输出如下;
鼠标选中这个控制台,按小写的 u i o 。。。终端提示的那九个按键,就可以控制车的运动了。
四、加入二维码靶标
1、首先需要在.gazebo的路径下加入需要添加的靶标模型,这里我用的是dae格式的文件
这里具体的搭建过程,可以参考我之前的视频或者博客。
2、将二维码固定到车上
首先找到上图我们使用的车的xacro模型文件,加入以下代码:
"ban">
"0.2 0 0.15" rpy="0 1.57 3.14" />
"/home/mapledream/.gazebo/models/ban/meshes/ban.dae" />
"ban_joint" type="fixed">
"0 0 0" rpy="0 0 0" />
"base_link" />
"ban" />
加入完,重新启动launch文件,打开后如下:
到这里你就拥有了一个可以移动的顶着二维码的小车了。
-------The End-------
长按下图关注机器人学习之路公众号,有超多资料和实用教程等你来,你的每次点赞和转发都是对我们最大的支持。如有疑问请加交流qq群:903013799。欢迎大家关注。
往期精选: