The farmbot_controller
is part of the FarmBot ROS ecosystem and is designed to interface with FarmBot hardware through the Robot Operating System 2 (ROS2). This package provides control over the FarmBot’s movement, sensors, and actions, enabling automated farming tasks in a ROS2 environment.
The farmbot_controller
package communicates with the FarmBot hardware and executes tasks based on ROS2 topics, services, and actions. It integrates with other ROS2 nodes and utilizes the capabilities of ROS2 for inter-process communication, scheduling, and lifecycle management.
config/
: Configuration files to customize the controller for your specific setup.launch/
: ROS2 launch files to start the controller node and related components.src/
: Source code for the controller implementation.CMakeLists.txt
: CMake configuration for building the package.package.xml
: Defines dependencies and metadata for the ROS2 package.
Before setting up the farmbot_controller
package, ensure the following:
- ROS2 Installation: Install ROS2 on your system. Instructions can be found in this ROS2 installation script.
- FarmBot Hardware: A fully operational FarmBot setup is required.
- Dependencies: Ensure that all dependencies are met as defined in the
package.xml
.
-
Clone the Repository:
git clone https://github.com/farmbot-ros/farmbot_controller.git
-
Build the Package Using Colcon:
Navigate to your ROS2 workspace and build the package with
colcon
:cd ~/ros2_ws colcon build --packages-select farmbot_controller
-
Source the Workspace:
After the build process completes, source the workspace to make the controller available:
source ~/ros2_ws/install/setup.bash
Customize the farmbot_controller
by editing configuration files located in the config/
directory. Make sure to adjust parameters to match your specific FarmBot hardware and setup needs.
To launch the FarmBot controller, use the following ROS2 launch command:
ros2 launch farmbot_controller controller.launch.py
This command starts the controller node and establishes communication between ROS2 and the FarmBot hardware.
Once the controller is running, you can send commands and interact with the FarmBot through ROS2 topics, services, and actions.
We welcome contributions! To contribute to the farmbot_controller
:
- Fork the repository.
- Create a new feature branch.
- Implement your changes and submit a pull request.
Please ensure that your code adheres to the ROS2 coding standards and passes tests.
For questions or issues, please open an issue in the GitHub repository, and we'll do our best to help.
The farmbot_controller
package is open-source and released under the MIT License. See the LICENSE
file for more details.