Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

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).

  1. clone this repository
	git clone http://github.com/hrnr/robo-rescue

  1. 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

  1. add project packages to your workspace
	cp -r robo-rescue/src/* <catkin workspace>/src

  1. 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.

  1. clone repository containing VREP model and test enviroment
	git clone https://github.com/hrnr/robo-rescue-simulation-vrep

  1. run roscore (this must be running before VREP)
	roscore

  1. 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

  1. run simulation in VREP (PLAY button)

  2. 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:

p3dx_robot after installing

Architecture

Hierarchy model

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

Hierarchy model

File truncated at 100 lines see the full file

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository

Repo symbol

robo_rescue repository