ros Gazebo上搭建wheel imu camera的仿真平台
程序员文章站
2022-04-18 19:46:21
...
Gazebo
上搭建wheel imu camera
的仿真平台
在ubuntu 16.04
平台上,安装的gazebo
的版本为gazebo 7
,其他版本的ubuntu
需要确认,至少ubuntu12.04
以后,gazebo 7
都是可以使用的。gazebo 7
和ros
不是必须一起使用的,但是在ros
下使用gazebo
确实会方便不少。
ROS Kinetic
安装
安装ROS Kinect
的命令如下:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
sudo rosdep init
rosdep update
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
#安装catkin build工具
sudo apt-get install python-catkin-tools
Gazebo 7
安装
安装gazebo 7
的命令如下所示:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install gazebo7
安装完以后,在终端里面输入gazebo
应该就会弹出来gazebo
的使用界面。
Gazebo
与ROS
的交互环境配置
安装ros
下gazebo
的包,有两种安装的方式,一种是直接安装deb
包,另外一种方式是从源码编译。
cd ~/catkin_ws/src
git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git -b kinetic-devel
#rosdep用来安装包的依赖项
rosdep update
#检查当前目录下的包的依赖项
rosdep check --from-paths . --ignore-src --rosdistro kinetic
#安装当前目录下的包的依赖项
rosdep install --from-paths . --ignore-src --rosdistro kinetic -y
#编译(-j后面的参数根据自己的电脑来选择,如果性能差,可以用-j1)
catkin build -j2
安装了ros gazebo
以后,还需要配置gazebo
的模型。方便起见,可以事先下载这些模型,下载的脚本如下:
#!/bin/sh
# Download all model archive files
wget -l 2 -nc -r "http://models.gazebosim.org/" --accept gz
# This is the folder into which wget downloads the model archives
cd "models.gazebosim.org"
# Extract all model archives
for i in *
do
tar -zvxf "$i/model.tar.gz"
done
# Copy extracted files to the local model folder
cp -vfR * "$HOME/.gazebo/models/"
然后把下载的models
解压,把~/models
里面的所有内容复制到~/.gazebo/models
目录下。
现在ros gazebo
已经安装好了,可以测试下该程序是否可以运行,命令如下:
roslaunch gazebo_ros empty_world.launch
创建robot wheel imu camera
的模型
这里,我们从gazebo
上已经有的robot
模型开始造*,这里使用turtlebot
来进行仿真,turtlebot
的代码在这里。turtlebot
的仿真模型中已经有了IMU
,轮速和rgbd
相机,对应的topic
分别为/camera/rgb/image_raw
,odom
和/mobile_base/sensors/imu_data
。命令为
cd ~/catkin_ws/src
git clone https://github.com/turtlebot/turtlebot_simulator
rosdep check --from-paths . --ignore-src --rosdistro kinetic
rosdep install --from-paths . --ignore-src --rosdistro kinetic -y
cd ..
catkin build
运行仿真程序
roslaunch turtlebot_gazebo turtlebot_world.launch
场景如下图所示: