-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to use and extend the MRS software platform? #12
Comments
1 The system should run as-is on a Raspberry Pi or most of the other common ARM-based platforms (e.g. Jetson TX, Xavier NX or the Odroid). 2 In general, I'd say just try to install our system on a freshly flashed Raspberry Pi with Ubuntu 18.04 and see what works and what doesn't. It should work. If you encounter any specific problems, try to solve them one by one (pull requests welcome) or contact us in case you need something from our side. 3 Instead of this solution, I'd recommend using the PixHawk in place of the Raspberry Pi. This is the solution we are using currently and have experience with. We've not tested using Raspberry Pi or any other embedded computer in place of the PixHawk. 4 I refer you to our documentation: https://ctu-mrs.github.io. There is a specific section about simulation with a detailed tutorial on how to set up a basic simulation experiment, which is a good starting point to see that everything is working. Then you should add your specific HW platform into the simulation environment and test the system with it. You'll most probably have to set the correct weight, dimensions, motor layout and motor constants. @klaxalk may provide better details regarding this procedure. After your platform is flying in simulations, you can try going to real-world experiments. 5 You add another drone ;) On a more serious note - you should have the drones on a common LAN over WiFi and enable the collision avoidance to... well... avoid collisions. Although perhaps your question was more specific? If so, please rephrase. 6 Yes. 7 I'll look for some list. Again, @DanHert may have a better idea. Hope this was helpful :) Feel free to ask more questions in case anything is still unclear! |
Thanks a lot for the responses @matemat13 ! I'll keep you posted if at some point this alternative raspberry Pi + navio2 solution would be working. I have one main follow-up question concerning the transition from simulation to real-hardware tests. Thanks! |
Hello, regarding the tmux sessions that run on the drones, we have examples here: |
Hello MRS team,
Note: @klaxalk asked me to place my questions here since he will go on holiday.
As I told some of you during the MRS summer school, I (and some of my colleagues) would really like to use (and possibly extend) your system for research on constrained and distributed control of aerial swarms.
Currently, we have two identical quadrotor builds composed of:
I can teleoperate the drone using ardupilot (running on the raspbian OS) and I can calibrate/configure the settings using QGroundControl.
I did not yet test position control with gps, but would like to test it with your framework.
The questions I have:
1. If possible without expecting "big issues/risks of incompatibilities" and too much "lost time", it would be great if your system (and the ardupilot or px4 autopilot) can run onboard a cheap raspberry pi (model 3 or 4)
1.1 What is the quickest way to test if there is enough CPU/RAM on the raspi to run your software and the ardupilot or px4 autopilot?
1.2 Would it be enough if I install Ubuntu 18 server on the pi and try doing your 1 drone simulation tests?
2. CONFIG A: On the raspi I currently have raspbian OS, the specific version preconfigured by emlid for ardupilot on navio2. In your setup, you are running PX4 on pixhawk hardware. You have an intel nuc as a companion computer with ubuntu 18 and in my setup I use the raspi as both autopilot and companion computer.
2.1 Did you install the ubuntu 18 full desktop version or server version of the NUC?
2.2 Both ardupilot and PX4 seem to be -but I have no experience with this- compatible with MAVROS. So assuming I only use a single raspberry pi and navio2, which OS should be installed on the pi (raspbian by emlid, ubuntu server, ubuntu mate, ...)?
2.3 Should I still use ardupilot or should I use PX4 as you do? PX4 on raspi seems experimental/discontinued, assuming this is not an issue, which build to choose: native or cross-compiling? You don't seem to have a make working for this target yet.
3. CONFIG B: If it would be easier or if I need more compute power at some point,
3.1 would I still be able to use this raspi and navio2 as flight controller (running PX4 or ardupilot) and add another companion computer (e.g. an intel nuc or raspi, ...)?
3.2 Which OS to install then on the companion and on the raspi?
3.3 So should I do something similar as explained in your wiki and connect the navio2 UART port with an FTDI serial to USB converter to any onboard computer we want to use that can run your system?
4. Assuming I have a system that can be configured to run your software using CONFIG A and/or CONFIG B. Which steps should I prepare in simulation and follow during the real experiment to test safely some outdoor flight (e.g. running your MPC tracker) using gps with a single drone (my custom build)?
5. What changes if I want to test a basic example for 2 drones using normal gps?
6. If I understood correctly, you are also using RTK gps:
6.1 Is it correct that you mainly use this if you want to know precisely the distance between 2 drones? With normal gps there are relative position errors of the order of 1 meter, right?
6.2Which specific RTK gps do you use? Does it work well?
7. As a final backup strategy it would be great if you could provide a list with the drone hardware (e.g. F450) such that we can buy the components and are 100% sure everything will be compatible.
Many thanks for all your help and suggestions!
Best,
Bryan
The text was updated successfully, but these errors were encountered: