Skip to content

Commit 7cf6ebf

Browse files
committed
add readme
1 parent d1c64d0 commit 7cf6ebf

File tree

1 file changed

+257
-1
lines changed

1 file changed

+257
-1
lines changed

README.md

Lines changed: 257 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,257 @@
1-
# rc_control
1+
<a id="readme-top"></a>
2+
3+
<!-- LANGUAGE SWITCH -->
4+
5+
---
6+
7+
<!-- PROJECT LOGO -->
8+
9+
<br />
10+
<div align="center">
11+
12+
<h3 align="center">rc_control</h3>
13+
14+
<p align="center">
15+
This project provides a comprehensive robotics control framework for real-time sensor processing, hardware abstraction, and simulation integration. Built on ROS, it supports IMU filtering, CAN bus communication, GPIO control, and RC input handling. Key features include sensor fusion, hardware interfacing for actuators and laser sensors, Gazebo simulation plugins, and real-time control loops. Designed for modular deployment in robotic systems, it enables precise control, state estimation, and simulation for applications like mobile robots or robotic arms.
16+
<br />
17+
<a href="https://github.com/gdut-robocon/rc_control"><strong>Explore the docs »</strong></a>
18+
<br />
19+
</p>
20+
21+
<!-- PROJECT SHIELDS -->
22+
23+
[![Contributors][contributors-shield]][contributors-url]
24+
[![Forks][forks-shield]][forks-url]
25+
[![Stargazers][stars-shield]][stars-url]
26+
[![Issues][issues-shield]][issues-url]
27+
[![License][license-shield]][license-url]
28+
29+
<p align="center">
30+
<a href="https://github.com/gdut-robocon/rc_control">View Demo</a>
31+
·
32+
<a href="https://github.com/gdut-robocon/rc_control/issues/new?labels=bug&template=bug-report---.md">Report Bug</a>
33+
·
34+
<a href="https://github.com/gdut-robocon/rc_control/issues/new?labels=enhancement&template=feature-request---.md">Request Feature</a>
35+
</p>
36+
</div>
37+
38+
<!-- TABLE OF CONTENTS -->
39+
40+
<details>
41+
<summary>Table of Contents</summary>
42+
<ol>
43+
<li>
44+
<a href="#about-the-project">About The Project</a>
45+
<ul>
46+
<li><a href="#built-with">Built With</a></li>
47+
</ul>
48+
</li>
49+
<li>
50+
<a href="#getting-started">Getting Started</a>
51+
<ul>
52+
<li><a href="#prerequisites">Prerequisites</a></li>
53+
<li><a href="#installation">Installation</a></li>
54+
</ul>
55+
</li>
56+
<li><a href="#usage">Usage</a></li>
57+
<li><a href="#roadmap">Roadmap</a></li>
58+
<li><a href="#contributing">Contributing</a></li>
59+
<li><a href="#license">License</a></li>
60+
<li><a href="#contact">Contact</a></li>
61+
<li><a href="#acknowledgments">Acknowledgments</a></li>
62+
</ol>
63+
</details>
64+
65+
<!-- ABOUT THE PROJECT -->
66+
67+
## 📖 About The Project
68+
69+
This project provides a comprehensive robotics control framework for real-time sensor processing, hardware abstraction, and simulation integration. Built on ROS (Robot Operating System), it supports IMU filtering, CAN bus communication, GPIO control, and RC input handling. Key features include sensor fusion, hardware interfacing for actuators and laser sensors, Gazebo simulation plugins, and real-time control loops. Designed for modular deployment in robotic systems, it enables precise control, state estimation, and simulation for applications like mobile robots or robotic arms.
70+
71+
### Key Features
72+
73+
- **Robot Control Framework**: Modular architecture for integration with various robotic platforms.
74+
- **Sensor Fusion Filters**: Implements complementary filters, Kalman filters, and adaptive filtering for IMU data.
75+
- **Real-time Hardware Interface**: Supports CAN bus communication, GPIO control, and serial device integration.
76+
- **ROS Integration**: Full compatibility with ROS ecosystem including message types, launch files, and control interfaces.
77+
- **Gazebo Simulation Support**: Custom plugins for simulating hardware components in Gazebo.
78+
79+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
80+
81+
### Built With
82+
83+
* [![ROS][ROS-shield]][ROS-url]
84+
* [![Gazebo][Gazebo-shield]][Gazebo-url]
85+
* [![C++][C++-shield]][C++-url]
86+
87+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
88+
89+
### 📁 Project Structure
90+
91+
<details>
92+
<summary>Click to expand project structure</summary>
93+
94+
```
95+
rc_control/
96+
├── .clang-format
97+
├── .clang-tidy
98+
├── .pre-commit-config.yaml
99+
├── rc_common/
100+
├── rc_gazebo/
101+
├── rc_hw/
102+
├── rc_ibus/
103+
├── rc_msgs/
104+
```
105+
106+
</details>
107+
108+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
109+
110+
<!-- GETTING STARTED -->
111+
112+
## 🚀 Getting Started
113+
114+
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple steps.
115+
116+
### Prerequisites
117+
118+
- ROS (Noetic or later)
119+
- Gazebo
120+
- C++14 or higher
121+
- CMake
122+
- Git
123+
124+
### Installation
125+
126+
1. Clone the repo
127+
128+
```sh
129+
git clone https://github.com/gdut-robocon/rc_control.git
130+
```
131+
132+
2. Build with Catkin
133+
134+
```sh
135+
cd rc_control
136+
catkin_make
137+
```
138+
139+
3. Source the workspace
140+
141+
```sh
142+
source devel/setup.bash
143+
```
144+
145+
### Configuration
146+
147+
- Modify hardware configuration in `rc_hw/config/hw_config_template.yaml`
148+
- Adjust IMU filter parameters in `rc_common/include/rc_common/filters/`
149+
- Update CAN bus settings in `rc_hw/src/hardware_interface/can_bus.cpp`
150+
151+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
152+
153+
<!-- USAGE EXAMPLES -->
154+
155+
## 💻 Usage
156+
157+
To launch the hardware interface:
158+
159+
```sh
160+
roslaunch rc_hw rc_hw.launch
161+
```
162+
163+
To run the Gazebo simulation:
164+
165+
```sh
166+
roslaunch rc_gazebo field_rc23.launch
167+
```
168+
169+
To interface with RC input:
170+
171+
```sh
172+
roslaunch rc_ibus rc_ibus.launch
173+
```
174+
175+
For more detailed usage, refer to the documentation linked in the introduction.
176+
177+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
178+
179+
<!-- ROADMAP -->
180+
181+
## 🗺️ Roadmap
182+
183+
- **v1.0** - Initial release with core framework and hardware interface
184+
- **v1.1** - Added Gazebo simulation plugins and IMU filtering
185+
- **v1.2** - Introduced CAN bus support and GPIO control
186+
- **v2.0** - Enhanced real-time capabilities and added advanced filtering techniques
187+
- **v2.1** - Improved documentation and modular structure for easier integration
188+
189+
See the [open issues](https://github.com/gdut-robocon/rc_control/issues) for a full list of proposed features (and known issues).
190+
191+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
192+
193+
<!-- CONTRIBUTING -->
194+
195+
## 🤝 Contributing
196+
197+
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
198+
199+
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
200+
Don't forget to give the project a star! Thanks again!
201+
202+
1. Fork the Project
203+
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
204+
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
205+
4. Push to the Branch (`git push origin feature/AmazingFeature`)
206+
5. Open a Pull Request
207+
208+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
209+
210+
<!-- LICENSE -->
211+
212+
## 🎗 License
213+
214+
Copyright © 2024-2025 [rc_control][rc_control]. <br />
215+
Released under the [MIT][license-url] license.
216+
217+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
218+
219+
<!-- CONTACT -->
220+
221+
## 📧 Contact
222+
223+
224+
225+
Project Link: [https://github.com/gdut-robocon/rc_control](https://github.com/gdut-robocon/rc_control)
226+
227+
<p align="right">(<a href="#readme-top">back to top</a>)</p>
228+
229+
<!-- REFERENCE LINKS -->
230+
231+
[rc_control]: https://github.com/gdut-robocon/rc_control
232+
233+
<!-- MARKDOWN LINKS & IMAGES -->
234+
235+
[contributors-shield]: https://img.shields.io/github/contributors/gdut-robocon/rc_control.svg?style=flat-round
236+
[contributors-url]: https://github.com/gdut-robocon/rc_control/graphs/contributors
237+
[forks-shield]: https://img.shields.io/github/forks/gdut-robocon/rc_control.svg?style=flat-round
238+
[forks-url]: https://github.com/gdut-robocon/rc_control/network/members
239+
[stars-shield]: https://img.shields.io/github/stars/gdut-robocon/rc_control.svg?style=flat-round
240+
[stars-url]: https://github.com/gdut-robocon/rc_control/stargazers
241+
[issues-shield]: https://img.shields.io/github/issues/gdut-robocon/rc_control.svg?style=flat-round
242+
[issues-url]: https://github.com/gdut-robocon/rc_control/issues
243+
[license-shield]: https://img.shields.io/github/license/gdut-robocon/rc_control.svg?style=flat-round
244+
[license-url]: https://github.com/gdut-robocon/rc_control/blob/master/LICENSE.txt
245+
246+
<!-- Tech Stack -->
247+
248+
[ROS-shield]: https://img.shields.io/badge/ROS-2960CA?style=flat-round&logo=ros&logoColor=white
249+
[ROS-url]: https://www.ros.org/
250+
[Gazebo-shield]: https://img.shields.io/badge/Gazebo-000000?style=flat-round&logo=gazebo&logoColor=white
251+
[Gazebo-url]: https://gazebosim.org/
252+
[C++-shield]: https://img.shields.io/badge/C++-00599C?style=flat-round&logo=cplusplus&logoColor=white
253+
[C++-url]: https://isocpp.org/
254+
255+
## reference
256+
257+
[rm_control]:https://github.com/rm-controls/rm_control

0 commit comments

Comments
 (0)