Good morning Andy,
I was reading with detail last comments and it is true that the project has a level of development and the number of issues in low level to adjust are several but it is not a impossible if we create a GIT branch and more users participate in the process. In my personal opinion, Why I ask this request?** Reasons:* Linux generation:
(I think that EV3 is the Internet generation too, but this feature is covered 100%)
This hardware generation, EV3 Brick, has the possibility to not use a Firmware to interact with the hardware. LeJOS project is a project to develop software for robots using Java and in previous generations, RCX & NXT, we used only the language to develop the projecs but with EV3, we added Busybox in the architecture and we discovered that we could interact with the environment to enrich the project in the same way that we do with a real OS but Busybox is not a real Unix system and it is closed. When I say that it is closed, I say that it complex to add modules and the knowledge and effort to run a new module in the system and the knowledge on internet about advanced features for busybox is limited but in the Mindstorms community exist another project, EV3Dev
, where the dev-team develop a full-featured OS, Debian, and the environment allow developing with others general programming languages (Python, Go, C++), not only with the traditional programmming language oriented for Lego mindstorms as NXC or RobotC and I think that LeJOS Community should invest time to migrate the architecture to replace Busybox to a Linux OS to avoid losing the experience to develop software with Java and Linux too. * Innovation:
Evolving this piece of software, OS, in LeJOS architecture we could add a new innovation factor to LeJOS community. Software for robots is not only a task for the programming language. It is very nice when you explore a new fresh idea or develop some project in Java and you install your module in the OS using apt and you test the combination. If we offer a full-featured OS, we will offer an open environment to innovate but currently with Busybox users doesn't have some tool to search and install modules in internet to create complex projects. Linux is not the solution but the enrich the experience to develop interesting projects with LeJOS. If you observe the forum, many times developers asks new features and it is very complex to add due to:
-- Modules are not available for Busybox
-- Modules are not available for Arm5
But if we had a full-featured system, we could use the module repository from Debian for example which offers more modules than Busybox does. I think that it is the main reason why EV3Dev
is popular for this Mindstorm generation.
* OS Layer with capabilities to use in multiple boards:
If you observe in EV3Dev
) they have a solution to deploy a new release for EV3 and RPi with few effort. Currently in LeJOS, we don't have a stable solution for another board, for example BrickPI, so we have another reason to explore the possibibily to use EV3Dev
Once I have explained the reasons to replace Busybox by Linux (EV3Dev
has an example with Debian) in LeJOS architecture, I will analyze Pros and Cons:Pros:
+ Add a Linux full-featured OS with a package manager to install/uninstall modules
+ Increate the number of possiblities to create LeJOS robots. When you have a problem with the system, the time to solve will decrease.
+ Add more users to communityCons:
+ Time to adjust current development is high.
+ UI should be refactored. In this case, I think that LeJOS UI has some features for Networking better than EV3Dev
Reading some arguments about the usage of sysfs is focused for motors but for sensors, I think that we shouldn't have many problems, so for motors, we could use another approach. (Personal opinion)** Pilot:
I think that we could do a Pilot with a board as BrickPi/PiStorm for example. I know that Lawrie has BrickPi unit but I am not sure if he has time and motivation. In my case I will receive soon a unit for PiStorm. We could develop a Pilot to try to integrate LeJOS with PiStorm. This development doesn't impact current architecture but it could offer a window to offer new possibilities. I am not sure why I have to give you arguments about some development for RaspberryPi, it is a huge success in robotics and computers so simply, it is a opportunity to develop software for robots using LeJOS. In this comment, I don't add Arduino, because many of Arduino's product are more closed to NXT than EV3. LeJOS is the sum of firmware/busybox + APIs and APIs has the focus on Sensors provided by Lego ecosystem and the APIs for Local navigation are the best so BrickPi/PiStorm fits nice because, developers could increate the CPU / Memory to develop better software and continue using Lego sensors. I think that we could increase the scope of LeJOS and I think that we could try a pilot with BrickPi/PiStorm for example. Besides, in the process we will add more documentation about details of the development.
What is your opinion?