This simulation is made to reproduce the experiment of Rocking and Walking Manipulation for transporting cone object. For more details about the manipulation, see PRW-Manipulation for manuscript and demo video.
To watch the simulation video, see: here
This repository is a workspace that contains universal_robot
ROS package with modified launch files to perform simulation for Rocking and Walking Manipulation by Gazebo. The UR10 robot arm with customized caging end effector represented by Unified Robot Description Format (URDF) will be loaded into the simulated world as the launch file launched. The UR10 robot arm is controlled by a ROS node through MoveIt!
to perform manipulation. The simulation was tested on Ubuntu 16.04 LTS.
- ROS Kinetic
- MoveIt!
- Gazebo 7 (Should be included with ROS Kinetic desktop-full installation)
- catkin_tools
-
Clone this repository into your home directory, and rename it to
ur_ws
.
$ git clone https://github.com/ansonmak/RWM-Simulation.git
-
Enter the
ur_ws
directory and run the following command to build the workspace.
$ cd ws_moveit
$ catkin init
$ catkin clean
$ catkin build
-
Source the setup.bash to your bash session every time a new terminal is launched.
$ source ~/ur_ws/devel/setup.bash
or run the following command to add it in the.bashrc
for executing it everytime when a new terminal is launched.
$ echo "source ~/ur_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
-
Copy the models in the
models
directory to your GAZEBO_MODEL_PATH (The default path should be "~/.gazebo/models").
- Launch the Gazebo simulator with UR10 robot arm loaded.
$ roslaunch ur_gazebo ur10.launch limited:=true
The Gazebo simulator should be launched and the UR10 robot arm should be loaded in the simulated world.
You can rotate the view by dragging the scroll wheel.
-
Launch the movegroup context so that the UR10 robot arm can be controlled through MoveIt!.
$ roslaunch ur10_moveit_config ur10_moveit_planning_execution.launch sim:=true limited:=true
-
(Optional) Launch RViz for visualizing the planning motion and setting target pose by dragging the end effector.
$ roslaunch ur10_moveit_config moveit_rviz.launch config:=true
- Run the ROS node to start the manipulation.
$ rosrun ur_control_program ur10_rocking_walking_simulation.py
KaHei Mak ([email protected])