This is a simple viam-ros integration which has been tested with ROS2 Humble turtlebots.
- Install Viam on ROS2 Humble robot
- clone repo on robot using
git clone
- setup virtual environment using
setup.sh
- configure ROS2 module in https://app.viam.com
- configure each component (see sample_config.json as reference)
By default, rmw_fastrtps_cpp uses eProsima DDS implementation, which makes use of shared memory transports when communication is between entities running on the same processing unit (or host).
Since viam by default starts as root, there are some shared memory issues. The current fix is to update
the DDS implementation to use UDPv4
as the only transport, see fastdds_rpi.xml for
the example config used in turtlebot4.
- update sensor to use single viam node
- create test cases for each message type supported
- improve documentation
- add message
- fix ros_base (only publish when needed - currently sending all the time)
- set parameter config
- ability to build custom messaging
- service calls such as dock etc.
- more fun stuff
Any issues feel free to open an issue on the github, create pull requests, etc.