Skip to content
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

Software & communications flow #11

Open
fabriziofiorucci opened this issue Apr 26, 2020 · 10 comments
Open

Software & communications flow #11

fabriziofiorucci opened this issue Apr 26, 2020 · 10 comments

Comments

@fabriziofiorucci
Copy link

I'm in the process of writing the control software.
This issue is mostly to share what I'm doing and to collect hints/other views on this topic.

Since my version of this rover is based on a Raspberry Zero WH, for development speed reasons I chose to use Java. I know that performance-wise and memory/CPU-wise it sucks, but there's a ton of ready-made libraries and I don't want to reinvent the wheel.
Namely, what I'm using is:

https://pi4j.com/ - for IMU, ADC, PWM controller, etc, it has lots of libraries ready to use
https://www.eclipse.org/paho/ - MQTT communication
https://eclipse-ee4j.github.io/jersey/ - REST API

I will eventually use WiFI and LoRa for the radio/control part, and all telemetry will be sent by the rover through MQTT. MQTT will also be used for interactive control.

Pre-programmed/batch control will be handled through a set of REST APIs that the code running on the rover will provide.

@jakkra
Copy link
Owner

jakkra commented Apr 27, 2020

I think that's a great idea. When you have something working and if you release it in a public repo, I'll link to it in a new section in the README "Alternative SW" or similar.

@fabriziofiorucci
Copy link
Author

Hi @jakkra I just created a repo for my control software at https://github.com/fabriziofiorucci/Mars-Rover-Control-Software
As soon as I have an alpha release ready I'll update the repo.

@jakkra
Copy link
Owner

jakkra commented Apr 29, 2020

Cool!

@fabriziofiorucci
Copy link
Author

Here you go: the pre-alpha release of my repo is ready, still work in progress

https://github.com/fabriziofiorucci/Mars-Rover-Control-Software

@jakkra
Copy link
Owner

jakkra commented May 17, 2020

Nice progress on your control SW!
I just finished my Controller if you are interested https://github.com/jakkra/RoverController

@fabriziofiorucci
Copy link
Author

That looks really interesting! I just completed the first round of driving tests including interactive control (through SSH to the onboard Raspberry PI for now) and through REST API, driven by Postman.

I'm cloning your controller repo and I'll definitely try to build it. Keep up the great work!

@Smarty-pro
Copy link

I don't understand, the 6 Channel RC receiver and transmitter is not enough to control the rover?

@jakkra
Copy link
Owner

jakkra commented Jul 13, 2020

Hi @Smarty-pro, @fabriziofiorucci Is writing his own controller software for the rover. A 6 ch RC receiver/transmitter is enough for basic control of the rover. Without a microcontroller you are limited to how advanced your RC controller is, i.e. turning on the spot may not be possible.

@Smarty-pro
Copy link

Oh nice

@fabriziofiorucci
Copy link
Author

FYI I just completed printing and adding the head, I'm working on the next commit of my control software + testing LoRA boards to control it remotely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants