ROS+Gazebo+Gym+Gym_gazebo安装配置

首先明确的是Gym和Gym_gazebo是python的功能包。使用ROS+Gazebo的仿真去实现RL的仿真环境训练。直观的显示RL的过程。

总结这一套环境的配置过程和注意事项

1、install ROS kinetic(ubuntu16.04)

     refer to ROS wiki 

     https://www.ncnynl.com/archives/201801/2273.html

   (可以依照连接上的安装,以full的形式安装,这样ROS+Gazebo就可以直接安装成功,

       当然你也可以先安装ROS,再源码去安装Gazebo,相关内容可以去本人博客的Gazebo标签中去找)

      开始安装Gym前,注意该安装是基于Gazebo7的相关版本,python2.7+pip(你可以改成python3.5+pip3,只需要将下面的pip改成pip3,但是要注意之间的对应关系,另外根据官网上的安装是基于Gazebo8版本的,也对应于不同ubuntu版本的系统,版本对应不上,可能会出现各种的错误)


2、install Gym

  • sudo apt-get install -y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig
  • sudo pip install gym

3、install Gym-Gazebo

  • sudo pip install rospkg catkin_pkg
  • sudo apt-get install pyqt4-dev-tools
  • sudo apt-get install ros-kinetic-ar-track-alvar-msgs
  • sudo apt-get install libspnav-dev libbluetooth-dev libcwiid-dev python-skimage
  • sudo apt-get install qt4-qmake libqt4-dev libusb-dev libftdi-dev python-defusedxml python-vcstool ros-kinetic-octomap-msgs ros-kinetic-joy ros-kinetic-geodesy ros-kinetic-octomap-ros ros-kinetic-control-toolbox ros-kinetic-pluginlib  ros-kinetic-trajectory-msgs ros-kinetic-control-msgs ros-kinetic-std-srvs ros-kinetic-nodelet ros-kinetic-urdf ros-kinetic-rviz ros-kinetic-kdl-conversions ros-kinetic-eigen-conversions ros-kinetic-tf2-sensor-msgs ros-kinetic-pcl-ros ros-kinetic-navigation ros-kinetic-turtlebot*

4、源码安装sophus

  • git clone https://github.com/stonier/sophus -b release/0.9.1-kinetic
  • cd sophus
  • mkdir build
  • cd build
  • cmake ..
  • make
  • sudo make install

5、源码安装gym-gazebo包


6、Modify source code:

    Correct ecl packages version:

     Edit file “gym-gazebo/gym_gazebo/envs/installation/gezabo.repos”

     and correct the version field of 3 packages “ecl_core”, “ecl_lite” and “ecl_tools” to “release/0.61-indigo-kinetic

    在 gazebo.repos文件 在其中加入:

ar_track_alvar:

    type: git

    url: https://github.com/ros-perception/ar_track_alvar.git

    version: kinetic-devel

mav_comm:

    type: git

    url: https://github.com/ethz-asl/mav_comm.git

    version: master

7、创建gym-gazebo下面的catkin_ws

  • cd gym-gazebo/gym_gazebo/envs/installation
  • bash setup_kinetic.bash
  • bash turtlebot_setup.bash
  • bash turtlebot_nn_setup.bash

8、Correct “kobuki.launch.xml” file:

Edit file “gym-gazebo/gym_gazebo/envs/installation/catkin_ws/src/turtlebot_simulator/turtlebot_gazebo/launch/includes/kobuki.launch.xml” and correct line 6 to(这里是加载xacro文件的两种方式,原来的--inorder也是对的,只是新旧版本的要求)

“<arg name="urdf_file" default="$(find xacro)/xacro.py '$(find turtlebot_description)/robots/$(arg base)_$(arg stacks)_$(arg 3d_sensor).urdf.xacro'"/>”

9、Killing background processes:

echo "alias killgazebogym='killall -9 rosout roslaunch rosmaster gzserver nodelet robot_state_publisher gzclient'" >> ~/.bashrc

10、Test gym-gezabo:

  • cd gym-gazebo/gym-gazebo/examples/turtlebot
  • export ROS_PORT_SIM=11311
  • python circuit2_turtlebot_lidar_qlearn.py

11、Open ANOTHER terminal to display simulation:

  • gzclient

12、Open ANOTHER terminal to display reward plot:

  • cd examples/utilities
  • python display_plot.py

Other problems

  1. 运行出现 kinetic/share/hector_pose_estimation/hector_pose_estimation_nodelets.xml

    Solution:  sudo gedit /opt/ros/kinetic/share/hector_pose_estimation/hector_pose_estimation_nodelets.xml
<library path="lib/libhector_pose_estimation_nodelet">

<class name="hector_pose_estimation/PoseEstimationNodelet" type="hector_pose_estimation::PoseEstimationNodelet" base_class_type="nodelet::Nodelet">

 <description> This nodelet initializes the pose estimation filter with a generic system model driven by IMU measurements only.

</description>

</class>

</library>
  1. Correct circuit2_turtlebot_lidar_qlearn.py

          from gym import wrappers

  1. Correct display_plot.py

         from gym.wrappers import monitor

          results = monitor.load_results(self.outdir)

     

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值