Programming: Difference between revisions

From Mirror Swarm
Jump to navigation Jump to search
No edit summary
No edit summary
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Setting standards and constraints first is a good idea.
Setting standards and constraints first is a good idea.


These minibots are small small small and they have microprocessors built of dirt on an alien planet. I don't expect them to be powerful and I don't imagine they'll each have a lot of memory. On the other hand, programming this entire swarm in assembler or C isn't going to necessarily be the best option available.
These minibots are small small small and they have microprocessors built of dirt on an alien planet. I don't expect them to be powerful and I don't imagine they'll each have a lot of memory. The underlying architecture might as well be RISC-V since it's very well tested, can be low heat generating and it's open source. There's also a way into the design aspects at https://developer.arm.com/ip-products/designstart
 
==Communications on site==
Alternatively, consider whether the architecture can be a [https://en.wikipedia.org/wiki/System_on_a_chip#Embedded_systems microcontroller (MCU)] manufactured on Earth. The rest of the minibot can be locally constructed but the standard SoC can be part of the initial fab. Clearly this involves resupply launches because we're not able to send the fab with 200 trillion SoCs, but we could get the site working before resupply becomes an issue. Without a working site, nothing is going to proceed.
Each minibot is autonomous and addressable, it has the project in mind and it decides what to do and who to do it with. The alternative is to build overseers.
 
Cost per MCU, US$0.03. [https://lcsc.com/product-detail/PADAUK_PADAUK-Tech-PMS150C_C129127.html as on EEVBLOG 8-Bit OTP RISC 8MHz 2V ~ 5.5V SOP-8 PADAUK] weight 0.07g and there's the STM8 higher capability from ST to look at. That would get the nastiest bit of the start-up requirement trimmed. 70kg gets a million microcontroller packages to the site for under $30,000. Maybe the minibots would have to be bigger if  we started the site with so few. The MCU will be about a quarter of the minibot's weight wherever it gets made.
 
Each device is autonomous and addressable, it has the project in mind and it decides what to do and who to do it with. The alternative is to build overseers.


Randomly picking a task at birth gives roughly the right proportions of task seekers as are needed. It's a lot easier than looking at a trillion neighbours all trying to work out what needs fixing next.
Randomly picking a task at birth gives roughly the right proportions of task seekers as are needed. It's a lot easier than looking at a trillion neighbours all trying to work out what needs fixing next.
Line 25: Line 21:
which is roughly 2^100, but both figures are under 2^128, which is a fair address length if we want a bit of slack. The length of an IPv6 address is 128 bits. Clearly someone's done this calculation ahead of me. IPv6 has approximately 3.4E38 addresses, so we have ourselves a viable addressing scheme. I suggest we find an unused reserved bit near the end (there appear to be at least 11) and set it to 1 so we can never clash with the Internet, since we're not going to apply for address space from a terrestrial net-master.
which is roughly 2^100, but both figures are under 2^128, which is a fair address length if we want a bit of slack. The length of an IPv6 address is 128 bits. Clearly someone's done this calculation ahead of me. IPv6 has approximately 3.4E38 addresses, so we have ourselves a viable addressing scheme. I suggest we find an unused reserved bit near the end (there appear to be at least 11) and set it to 1 so we can never clash with the Internet, since we're not going to apply for address space from a terrestrial net-master.


I do not as yet know how an autonomous bot can self-assign a unique address. I don't think it can happen.
I do not as yet know how an autonomous bot can self-assign a unique address. I don't think it can happen so we appear to need a full Internet implementation on site. Fortunately we don't have to re-invent that particular wheel. And yes, on reflection Jowan may well be right and we do need to build overseers after all. He'll be back online by Tuesday, just at the moment he has a cold. [[User:John|John]] ([[User talk:John|talk]]) 08:28, 12 January 2020 (UTC)
 
==Communications Site/Earth==
The NASA Lander report 2010 says: Landed operations assume 8 hours of contact per day using the Deep Space Network (DSN) 34-m dish.
This will bring down an average of 100 Mbits of science data per day.
 
Similar networks are run by Russia, China, India, Japan and the European Space Agency. We might outsource access to one. Creating a Deep Space Network for this one project would be an expensive distraction.
 
==Overview==
Two systems are needed for the payload to be delivered to the surface.
 
#We need a command computer onboard, programmed to navigate and to communicate.
#We also need a simulator to wrap around it, to get the first system tested. Once the command computer is in transit it has to work first time.
 
There is a second phase system to run on the same hardware once the landing is complete. This is the establishment of ground operations and the site communications phase.

Latest revision as of 16:06, 10 March 2020

Setting standards and constraints first is a good idea.

These minibots are small small small and they have microprocessors built of dirt on an alien planet. I don't expect them to be powerful and I don't imagine they'll each have a lot of memory. The underlying architecture might as well be RISC-V since it's very well tested, can be low heat generating and it's open source. There's also a way into the design aspects at https://developer.arm.com/ip-products/designstart

Communications on site

Each minibot is autonomous and addressable, it has the project in mind and it decides what to do and who to do it with. The alternative is to build overseers.

Randomly picking a task at birth gives roughly the right proportions of task seekers as are needed. It's a lot easier than looking at a trillion neighbours all trying to work out what needs fixing next.

Addresses. Let's solve this puzzle for the host as a whole, not just this single swarm. We can always step downward if we need to for practical reasons later.

Mass of host as mols times Avogadro's constant / atoms per device = number of addresses needed given full conversion:

3.3E23kg / 0.054 * 6E23 / 3.6E10 = 1E38 addresses

which is roughly 2^117

and we said 0.1% efficiency, = 1E35 addresses

and we said 1% of host, =1E33 addresses.

which is roughly 2^100, but both figures are under 2^128, which is a fair address length if we want a bit of slack. The length of an IPv6 address is 128 bits. Clearly someone's done this calculation ahead of me. IPv6 has approximately 3.4E38 addresses, so we have ourselves a viable addressing scheme. I suggest we find an unused reserved bit near the end (there appear to be at least 11) and set it to 1 so we can never clash with the Internet, since we're not going to apply for address space from a terrestrial net-master.

I do not as yet know how an autonomous bot can self-assign a unique address. I don't think it can happen so we appear to need a full Internet implementation on site. Fortunately we don't have to re-invent that particular wheel. And yes, on reflection Jowan may well be right and we do need to build overseers after all. He'll be back online by Tuesday, just at the moment he has a cold. John (talk) 08:28, 12 January 2020 (UTC)

Communications Site/Earth

The NASA Lander report 2010 says: Landed operations assume 8 hours of contact per day using the Deep Space Network (DSN) 34-m dish. This will bring down an average of 100 Mbits of science data per day.

Similar networks are run by Russia, China, India, Japan and the European Space Agency. We might outsource access to one. Creating a Deep Space Network for this one project would be an expensive distraction.

Overview

Two systems are needed for the payload to be delivered to the surface.

  1. We need a command computer onboard, programmed to navigate and to communicate.
  2. We also need a simulator to wrap around it, to get the first system tested. Once the command computer is in transit it has to work first time.

There is a second phase system to run on the same hardware once the landing is complete. This is the establishment of ground operations and the site communications phase.