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
- Host: GitHub
- URL: https://github.com/shivammg/rosparam_expose
- Owner: shivamMg
- License: mit
- Created: 2020-01-23T08:46:49.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-04-14T04:01:06.000Z (over 5 years ago)
- Last Synced: 2025-03-23T00:42:16.408Z (7 months ago)
- Topics: ros, ros-packages, ros-services
- Language: Python
- Size: 26.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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
```