Repository Summary
Checkout URI | https://github.com/hrnr/robo-rescue.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2016-03-11 |
Dev Status | UNMAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
p3dx_dpl | 0.0.0 |
p3dx_hal_vrep | 0.0.0 |
p3dx_robot | 0.0.0 |
p3dx_urdf_model | 0.0.0 |
README
robo-rescue
ROS nodes for rescue robots
This project brings P3DX robot to ROS. It contains nodes for ROS which integrates with VREP robotic simulator. But its modular design allows easy porting to other simulators and even to real robots.
Although whole stack has been designed around VREP, it was designed with real robots in mind, and should allow easy porting of algorithms to real robots.
Building
This project contains standard ROS catkin packages, which is default build system in recent ROS releases. So to to build you need to install and configure your ROS environment first.
This steps expects your ROS environment and VREP simulator are installed and configured properly.
Also if you want to use VREP bridge, you need robo-rescue-simulation- vrep (this guide includes steps to install it too).
- clone this repository
git clone http://github.com/hrnr/robo-rescue
- link (or copy) VREP common bridge to your workspace (this is needed to communicate with vrep)
ln -s <VREP dir>/programming/ros_packages/vrep_common <catkin workspace>/src/vrep_common
- add project packages to your workspace
cp -r robo-rescue/src/* <catkin workspace>/src
- build your catkin workspace
cd <catkin workspace>
catkin_make
You may also need to install other ROS packages such as gmapping
and
move_base
. This dependencies can be installed by
rosdep.
Running p3dx_robot
If you have retrieved and built all packages successfully you can run robot with these steps.
- clone repository containing VREP model and test enviroment
git clone https://github.com/hrnr/robo-rescue-simulation-vrep
- run
roscore
(this must be running before VREP)
roscore
- load scene and robot model in vrep
File > open scene ... robo-rescue-simulation-vrep/test_scenes/level01.ttt
File > load model ... robo-rescue-simulation-vrep/models/pioneer-p3dx.ttm
-
run simulation in VREP (PLAY button)
-
run P3DX via roslaunch
roslaunch p3dx_robot p3dx.launch
That’s it, your P3DX robot is running in ROS
You can check that everything is running with rostopic list
robot topics
starts with /p3dx_0
since this is first PD3X in simulation. Check some topic
with rostopic echo
, it should publish messages.
Run rviz
for little demo. Load rviz config file from src/pioneer-
p3dx/p3dx_robot/config/p3dx-config.rviz
. Set 2D Nav Goal
to robot, it will
go to specified location and map its environment. This is how robot looks in
its initial pose:
Architecture
This project uses layered architecture to create multiple layers of abstraction. Bottom layer is Hardware Abstraction Layer. With aim to hide maximum of hardware differences. Middle layer (DPL) aggregates multiple data streams from HAL into single data stream. Top layer holds higher algorithms which operate on the whole robot. Thanks to clearly defined layers is this architecture suitable for fast prototyping of robots.
Hardware Abstraction Layer
File truncated at 100 lines see the full file