参考专栏,完成之前的内容
Turtlebot3安装
采用Source模式,将TurtleBot3安装在catkin工程目录catkin_ws中。代码部分分别涵盖了TB3消息包、TB3功能包以及TB3仿真包。
mkdir -p ~/tub3_ws/src
cd ~/tub3_ws/src
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/tub3_ws
rosdep install --from-paths src -i -y
catkin_make
如果rosdep出现问题,参考下面的错误1
编译成功后如下图
catkin_make编译后,还需要将新工程的ROS环境设置加入~/.bashrc文件,命令如下:
echo "source ~/tub3_ws/devel/setup.bash " >> ~/.bashrc
source ~/.bashrc
最后还可以根据所选用的TB3机器人是Burger还是Waffle,将其作为环境变量加入~/.bashrc文件,以方便后续使用。否则每次运行程序都需要先输入“export TURTLEBOT3_MODEL=burger”或者“export TURTLEBOT3_MODEL=waffle”。
命令如下:
echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
source ~/.bashrc
最后检查一下环境变量设置是否成功:env | grep TURTLEBOT3
如显示TURTLEBOT3_MODEL=burger则表示成功。
仿真测试
简单仿真测试:roslaunch turtlebot3_fake turtlebot3_fake.launch
这是turtlebot3_simulation里给出的一个简单仿真器,其并没有物理引擎,只是根据速度指令和角速度指令进行积分,给出odom和base_link坐标系之间的tf,无法给出传感器测量数据仿真。运行显示结果如下:
Gazebo仿真测试:roslaunch turtlebot3_gazebo turtlebot3_world.launch
首次打开界面显示要黑一会儿,主要是在下载所需model文件。下载完毕后,显示结果如下所示
Gazebo仿真器具有物理引擎,除给出机器人的位置姿态以外,还能够给出惯性imu、激光雷达以及相机或RGB-D等传感器仿真数据。因此功能更为丰富。
启动空的世界地图: roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
键盘控制测试
通过键盘控制turtlebot:
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
在打开的Terminal中通过w/a/d/x控制方向,s来停止移动。
如果使用控制程序:
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_simulation.launch
会使turtlebot开始根据激光雷达的信号开始自主规划避障。
同时,也可以开启可视化rivz:
export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
效果如下:
错误
错误1
rosdep
出现如下界面时:
或者catkin_make
时,出现如下错误:
解决办法:
在当前工作空间的src目录下:
1.apt安装 sudo apt-get install ros-kinetic-interactive-makers
kinetic换成你的ros版本
interactive-makers换成你缺少的包名,注意如果原先包名有下划线,换成横线!!
比如hls_lfcd_lds_drivers
需要换成`hls-lfcd-lds-drivers
2.GitHub自己下载
在github上下载相对应的ros包:
github有关ros包下载地址
把包放在你的src下即可
其他办法:参考解决办法2
错误2
运行RVIZ案例时报错:
解决方法:
关闭当前的端口 ctrl+c
执行sudo apt-get install ros-kinetic-rviz
在重新执行roslaunch
如果是其他版本的ros只需要把kinetic改成对应的版本就行了
错误3
解决办法:
执行sudo apt-get install ros-kinetic-tutlebot3_teleop
参考
Ubuntu16.04+Ros Kinetic+TurtleBot3仿真搭建教程
通过Gazebo仿真学TurtleBot3(二)——环境搭建