RAPP Platform Wiki
v0.6.0
RAPP Platform is a collection of ROS nodes and back-end processes that aim to deliver ready-to-use generic services to robots
|
Rapp_path_planning is used in the RAPP case to plan path from given pose to given goal. User can costomize the path planning module with following parameters:
Rapp_map_server delivers prebuild maps to rapp_path_planning component. All avaliable maps are contained here.
This component is based on the ROS package: map_server. The rapp_map_server reads .png and .yaml files and publishes map as OccupacyGrid data. RAPP case needs run-time changing map publication, thus the rapp_map_server extands map_server functionality. The rapp_map_server enables user run-time changes of map. It subscribes to ROS parameter: rospy.set_param(nodeName+"/setMap", map_path)
and publishes the map specified in map_path. Examplary map changing request is presented below. ```python nodename = rospy.get_name() map_path = "/home/rapp/rapp_platform/rapp-platform-catkin-ws/src/rapp-platform/rapp_map_server/maps/empty.yaml" rospy.set_param(nodename+/setMap, map_path) A ROS service exists to store new maps in each user's workspace, called
upload_map. Then each application can invoke the
planPath2D``` service, providing the map's name (among others) as input argument.
Launches the path planning node and can be launched using ```bash roslaunch rapp_path_planning path_planning.launch ```
New map files have to be compatible with the map_server package. Detailed description of files and their parameters can be found here. Exemplary map files can be found here.
<map_name>.yaml
```
image: <png_file_name> # example -> image: test_map.png
resolution: <resolution> # example -> resolution: 0.1
origin: <map_origin> # example -> origin: [0.0, 0.0, 0.0]
negate: <negate> # example -> negate: 0
occupied_thresh:
# example -> occupied_thresh: 0.65
free_thresh:
# example -> free_thresh: 0.196 ```
Service URL: /rapp/rapp_path_planning/planPath2D
Service type: ```bash
string map_name
string robot_type
string algorithm
geometry_msgs/PoseStamped start
uint8 plan_found
string error_message
geometry_msgs/PoseStamped[] path ```
Service URL: /rapp/rapp_path_planning/upload_map
Service type: ```bash
string user_name
string map_name
float32 resolution
float32[] origin
int16 negate
float32 occupied_thresh
float32 free_thresh
uint32 file_size
byte status ``` More information on the Occupancy Grid Map representation can be found here
localhost:9001/hop/path_planning_path_2d
``` Input = { "map_name": “THE_PRESTORED_MAP_NAME”, "robot_type": "Nao", "algorithm": "dijkstra", "start": {x: 0, y: 10}, "goal": {x: 10, y: 0} }
Output = { "plan_found": 0, "path": [{x: 0, y: 10}, {x: ... ], "error": "" } ```
localhost:9001/hop/path_planning_upload_map
``` Input = { "png_file": “map.png”, "yaml_file": "map.yaml", "map_name": "simple_map_1" }
Output = { "error": "" } ```
The full documentation exists here and here.