🤖ROS
ROS Interface
There's also a ROS wrapper for developpers to easily connect to the ROS environment. It is recommended to use ROS with Raspberry Pi.
Using ROS on Raspberry Pi
Currently, it's recommended to install ROS using docker.
install docker on Raspberry Pi (ref)
sudo apt-get update && sudo apt-get upgrade
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker pi
# test installation
docker run hello-worldprepare workspace
mkdir -p workspace/src
cd workspace/src
git clone https://github.com/PetoiCamp/ros_opencat
cd ros_opencat
git submodule init && git submodule update
cd ../../..run the container
docker run -v path/to/workspace:/workspace \
-it --rm --privileged --network host --name ros ros:noetic-robotsource files and build inside the container
cd /workspace
source /opt/ros/noetic/setup.bash
catkin_makbase
source devel/setup.bashrun examples (see Examples for more)
rosrun opencat_examples opencat_examples_serialUsing ROS for remote control
Ros is designed with distributed computing in mind. Here's a simple example on how to run nodes on different machines.
on host machine (usually more powerful than Raspberry Pi)
# launch server
roscorerun service node on Raspberry Pi
export ROS_MASTER_URI=http://<Host_IP>:11311/
rosrun opencat_server opencat_service_nodesend command from host
rosrun opencat_examples opencat_examples_client_cppExamples
using serial library
rosrun opencat_examples opencat_examples_serialusing ROS service
# start core
roscore
# start service server
rosrun opencat_server opencat_service_node
# examples using oppencat ros service in C++
rosrun opencat_examples opencat_examples_client_cpp
# examples using opencat ros service in python
rosrun opencat_examples opencat_examples_client_pyLast updated
Was this helpful?