An open API service indexing awesome lists of open source software.

https://github.com/shivammg/rosparam_expose

Exposes ROS1 Parameter Server operations as ROS Services
https://github.com/shivammg/rosparam_expose

ros ros-packages ros-services

Last synced: 3 months ago
JSON representation

Exposes ROS1 Parameter Server operations as ROS Services

Awesome Lists containing this project

README

          

## rosparam_expose

* Exposes ROS1 Parameter Server operations as ROS Services
* Provides a `rosparam` like CLI that can call these ROS Services

### Build and Run

```
mkdir -p catkin_ws/src
cd catkin_ws
git clone https://github.com/shivamMg/rosparam_expose src/rosparam_expose
rosdep install --from-paths src/rosparam_expose
catkin_make
roslaunch rosparam_expose server.launch # start server

# From a separate terminal
. catkin_ws/devel/setup.bash
rosservice list # should show all services under /rosparam_expose/
rosservice call /rosparam_expose/set foo bar
rosservice call /rosparam_expose/get foo # should print: value: "bar"

# rosparam-like CLI to call rosparam_expose services
# create a yaml
cat > load.yaml < tag examples
cat $(rospack find rosparam_expose)/launch/example.launch
```

### Run on rapyuta.io

1. Import example package using:



The package has a server and a client component. Server starts rosparam_expose server. Client
component executable just sleeps infinitely. Both components have separate ROS masters but are
connected via [Cloud Bridge](https://userdocs.rapyuta.io/developer-guide/manage-software-cycle/communication-topologies/ros-support/).
So ROS services exposed at Server component should be available at Client component.

2. After the imported package is successfully built, deploy it.
3. Let the deployment go to `Status: Running` then go to `Shell Access` tab.
4. SSH into client and run the following commands:
```
bash
. /opt/catkin_ws/devel/setup.bash
rosservice list # you should see /rosparam_expose services
cat $(rospack find rosparam_expose)/configs/example.yaml # example yaml that we'll load at server
rosrun rosparam_expose client load $(rospack find rosparam_expose)/configs/example.yaml /configs
```
5. Now go back to `Shell Access` tab, and SSH into server and run the following commands:
```
bash
. /opt/catkin_ws/devel/setup.bash
rosparam get /configs # should be same as example.yaml from above
```