You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Multirotor Flight Controller for the Robotics Cape
1
+
# Documentation
2
+
[Documentation for rc_pilot](http://www-personal.umich.edu/~ghaggin/rc_pilot/)
2
3
3
-
Please don't use this and expect it to work the way you want it to!!!!!
4
-
I wrote this purely for my own use. NOT FOR PUBLIC USE!!!!
5
-
It comes with no warranty, no manual, and I won't answer questions about
6
-
how it works. If it breaks something, you get to keep both pieces.
4
+
# Setup
5
+
## Install dependencies on Beaglebone:
7
6
8
-
However, enough people have asked me for it so here it is.
7
+
```shell
8
+
$ sudo apt install libjson-c-dev libjson-c3
9
+
```
9
10
11
+
## Install librobotcontrol on Beaglebone:
10
12
11
-
Note: depends on libjson-c-dev & libjson-c3
12
-
sudo apt install libjson-c-dev libjson-c3
13
+
The repo for the library is located on the [Strawson Design](https://github.com/StrawsonDesign/librobotcontrol) GitHub page. There is a bug in the 1.0.4 release version (```rc_duplicate_filter``` fails for initialized filter) so [install librobotcontrol from source](http://strawsondesign.com/docs/librobotcontrol/installation.html).
13
14
14
-
also libroboticscape >v0.4.0
15
+
16
+
## Transfer rc_pilot source to Beaglebone:
17
+
In the scripts folder there are some convenient scripts for moving files to and from the vehicle. These scripts were build and tested on Ubuntu 19.04 but have not been tested on any other system. They should work on any system with bash and rsync. To transfer the files to the vehicle run:
Make sure that doxygen is installed on your system and run
40
+
41
+
```shell
42
+
$ make docs
43
+
```
44
+
45
+
Open the docs with the web browser of your choice
46
+
47
+
```shell
48
+
$ firefox docs/html/index.html
49
+
$ google-chrome docs/html/index.html
50
+
```
51
+
52
+
## (COMING SOON) Testing:
53
+
Test cases are written using the [Boost 1.66](https://www.boost.org/users/history/version_1_66_0.html) testing suite. Look at make target test for system install location. This suite is not written with portability in mind so it may take some tweaking to get it to work right now. Typically, installing boost with the option ```--prefix=/usr/local``` should put the libraries and headers in the correct location but don't count on it.
54
+
55
+
Run the test suit with the make target:
56
+
```shell
57
+
$ make test
58
+
```
59
+
60
+
### Adding Test Modules
61
+
62
+
To add a test modules, create a new file <module_name>_test.cpp and format it as follows:
63
+
64
+
```c++
65
+
#include<boost/test/unit_test.hpp>
66
+
67
+
BOOST_AUTO_TEST_SUIT(Test_<module_name>)
68
+
69
+
BOOST_AUTO_TEST_CASE(test1){...}
70
+
71
+
BOOST_AUTO_TEST_CASE(test2){...}
72
+
73
+
...
74
+
75
+
BOOST_AUTO_TEST_CASE_END()
76
+
```
77
+
78
+
The make target will compile each test module into a single executable and run all test cases simultaneously.
Copy file name to clipboardExpand all lines: docs/src/mainpage.dox
+68-5Lines changed: 68 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,79 @@
1
1
/**
2
-
3
2
\mainpage
3
+
# Setup
4
+
## Install dependencies on Beaglebone:
5
+
6
+
~~~
7
+
$ sudo apt install libjson-c-dev libjson-c3
8
+
~~~
9
+
10
+
## Install librobotcontrol on Beaglebone:
11
+
12
+
The repo for the library is located on the <a href="https://github.com/StrawsonDesign/librobotcontrol" target="_blank">Strawson Design</a> GitHub page. There is a bug in the 1.0.4 release version (rc_duplicate_filter fails for initialized filter) so <a href="http://strawsondesign.com/docs/librobotcontrol/installation.html" target="_blank">install librobotcontrol from source</a>.
13
+
14
+
## Transfer rc_pilot source to Beaglebone:
15
+
In the scripts folder there are some convenient scripts for moving files to and from the vehicle. These scripts were build and tested on Ubuntu 19.04 but have not been tested on any other system. They should work on any system with bash and rsync. To transfer the files to the vehicle run:
Make sure that doxygen is installed on your system and run
38
+
39
+
~~~
40
+
$ make docs
41
+
~~~
42
+
43
+
Open the docs with the web browser of your choice
44
+
45
+
~~~
46
+
$ firefox html/index.html
47
+
$ google-chrome html/index.html
48
+
~~~
49
+
50
+
## (COMING SOON) Testing:
51
+
Test cases are written using the <a href="https://www.boost.org/users/history/version_1_66_0.html" target="_blank">Boost 1.66.</a> unit test framework. Look at make target test for system install location. This suite is not written with portability in mind so you may need to tweak the build system in order to get it to compile on your machine. The boost libraries should be isntalled in /usr/local/lib and the headers should be installed in /usr/local/boost_1_66_0 (check the Makefile to confirm this).
52
+
53
+
Run the test suit with the make target:
54
+
~~~
55
+
$ make test
56
+
~~~
57
+
58
+
### Adding Test Modules
59
+
60
+
To add a test modules, create a new file <module_name>_test.cpp and format it as follows:
61
+
62
+
~~~
63
+
#include <boost/test/unit_test.hpp>
4
64
65
+
BOOST_AUTO_TEST_SUIT(Test_<module_name>)
5
66
6
-
This package contains the C library and example/testing programs for the Robot Control project. This project began as a hardware interface for the Robotics Cape and later the BeagleBone Blue and was originally called Robotics_Cape_Installer. It grew to include an extensive math library for discrete time feedback control, as well as a plethora of POSIX-compliant functions for timing, multithreading, program flow, and lots more. Everything is aimed at developing robotics software on embedded computers.
67
+
BOOST_AUTO_TEST_CASE(test1){...}
7
68
8
-
This package ships with official BeagleBone images and is focused on, but not excludive to, the BeagleBoard platform. The library and example programs are primarily written in C, however there also exists the RCPY python interface to this package available at <https://github.com/mcdeoliveira/rcpy>.
69
+
BOOST_AUTO_TEST_CASE(test2){...}
9
70
10
-
The master branch is always the most current but not necessarily stable. See [releases](https://github.com/StrawsonDesign/Robotics_Cape_Installer/releases) page for older stable versions or install from BeagleBoard.org repositories.
71
+
...
11
72
12
-
To get started, visit the [user manual](manual.html)
73
+
BOOST_AUTO_TEST_CASE_END()
74
+
~~~
13
75
76
+
The make target will compile each test module into a single executable and run all test cases simultaneously.
0 commit comments