This is a lightweight reimplementation of core ROS concepts, focusing on roscore and topic-based communication for subscribing and publishing. Built entirely in Go without external libraries, it mimics essential ROS behavior in a minimalistic way. The roscore server manages message exchanges between nodes, while topics enable asynchronous communication.
This aims to mimic the essential behavior of ROS in a minimalistic way, making it easier to understand the underlying mechanisms while maintaining flexibility and performance due to Go’s concurrency model.
| commands | purposes |
|---|---|
| core | To start roscore server on master url as in ROS |
| subscribe | To subscribe to a topic |
| publish | To publish a topic |
| status | To get stats of a topic |
- ROS core
- Publish topic
- Subscribe to topic
- message types
- get topic metrics
- better CLI
- Create more realistic topic
/cmd_velor/raw_image - ROS Node
- ROS simple client library
- ROS service
- ROS launch file
- Linux: simply run. Note SHELL_TYPE in Makefile may be different verify it if not working
make build
- MacOs: change the SHELL_TYPE, to location of shell script (ie
~/.bashrc) in the Makefile, then runmake build - Windows: use WSL, and follow Linux setup
You can check it for yourself using.
mini_ros --help