WO2025058992A1 - Wireless microrobot and operating techniques - Google Patents

Wireless microrobot and operating techniques Download PDF

Info

Publication number
WO2025058992A1
WO2025058992A1 PCT/US2024/045862 US2024045862W WO2025058992A1 WO 2025058992 A1 WO2025058992 A1 WO 2025058992A1 US 2024045862 W US2024045862 W US 2024045862W WO 2025058992 A1 WO2025058992 A1 WO 2025058992A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
storage element
energy storage
power
actuator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/US2024/045862
Other languages
French (fr)
Inventor
Kyle Christopher Wynn Johnson
Vikram Subramaniam Iyer
Vicente ARROYOS
Zachary Bernard ENGLHARDT
Shwetak N. Patel
Dennis YIN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Washington
Original Assignee
University of Washington
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Washington filed Critical University of Washington
Publication of WO2025058992A1 publication Critical patent/WO2025058992A1/en
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L8/00Electric propulsion with power supply from forces of nature, e.g. sun or wind
    • B60L8/003Converting light into electric energy, e.g. by using photo-voltaic systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L50/00Electric propulsion with power supplied within the vehicle
    • B60L50/40Electric propulsion with power supplied within the vehicle using propulsion power supplied by capacitors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L58/00Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles
    • B60L58/10Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries
    • B60L58/12Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries responding to state of charge [SoC]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L58/00Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles
    • B60L58/10Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries
    • B60L58/18Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries of two or more battery modules
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JELECTRIC POWER NETWORKS; CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J50/00Circuit arrangements or systems for wireless supply or distribution of electric power
    • H02J50/001Energy harvesting or scavenging
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JELECTRIC POWER NETWORKS; CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or discharging batteries or for supplying loads from batteries
    • H02J7/34Parallel operation in networks using both storage and other DC sources, e.g. providing buffering
    • H02J7/35Parallel operation in networks using both storage and other DC sources, e.g. providing buffering with light sensitive cells
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JELECTRIC POWER NETWORKS; CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or discharging batteries or for supplying loads from batteries
    • H02J7/50Circuit arrangements for charging or discharging batteries or for supplying loads from batteries acting upon multiple batteries simultaneously or sequentially
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2200/00Type of vehicles
    • B60L2200/40Working vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2260/00Operating Modes
    • B60L2260/20Drive modes; Transition between modes
    • B60L2260/32Auto pilot mode
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JELECTRIC POWER NETWORKS; CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J2207/00Details of circuit arrangements for charging or discharging batteries or supplying loads from batteries
    • H02J2207/50Charging of capacitors, supercapacitors, ultra-capacitors or double layer capacitors

Definitions

  • FIG. 1 is an illustration of an example autonomous robot that is operable without a battery, according to at least one example.
  • FIG. 2 is an exploded-view illustration of components of an example autonomous robot that is operable without a battery, according to at least one example.
  • FIG.3 is an example circuit board for an autonomous robot, according to at least one example.
  • FIG.4 is an example wiring diagram for an autonomous robot that is operable without a battery, according to at least one example.
  • FIG. 5 is a timing chart of an example communication process between example autonomous robots, according to at least one example.
  • FIG.6 is a flow diagram of a process for operating an example autonomous robot without a battery, according to at least one example.
  • FIG.7 is a flow diagram of a process for autonomously navigating an example autonomous robot, according to at least one example.
  • FIG. 8 is a schematic of a computing device that can be incorporated in an example autonomous robot that is operable without a battery, according to at least one example.
  • Robotic sensor networks may have transformative potential for numerous applications.
  • the ability for a sensor to move e.g., as part of an autonomously moving robot) can enable such a sensor to sample a larger area compared to fixed Internet of Things (IoT) nodes.
  • IoT Internet of Things
  • Such autonomous robotic sensors may perform infrastructure inspection tasks on roadways, bridges, and railroads, automate inventory in warehouses, measure environmental conditions for indoor farms, take sensor measurements in hazardous industrial scenarios with toxic chemicals or strong electromagnetic fields, or the like. Moreover, its mobility may allow such an autonomous robotic sensor to seek out signal sources such as fires or gas leaks. Autonomous robotic sensors may, in some examples, be automatically dispersed to avoid manual deployment, which remains a major barrier in domains such as precision agriculture. [0014] Powering a robot may require significantly more energy for mechanical propulsion than is required for a typical, stationary IoT node. Combined with energy density limits of existing battery technologies, this may result in battery lifetimes of minutes to hours compared to years for a stationary IoT node.
  • Some examples of the present disclosure can overcome one or more of the issues mentioned above via an autonomous robot that can operate on harvested energy, such as solar energy or radiofrequency (RF) power, to cause motion of the robot by co-optimizing size, weight, and power of the robot.
  • harvested energy such as solar energy or radiofrequency (RF) power
  • the autonomous robot may in some examples be battery- free. By reducing the size of the autonomous robot to gram scale, with characteristic dimensions of up to ten square millimeters, the autonomous robot can operate on as little as 50 ⁇ W.
  • the autonomous robot can operate on external power sources such as harvested solar and radiofrequency (RF) power.
  • RF radiofrequency
  • the autonomous robot can operate in a myriad of practical power harvesting conditions, including both indoor and outdoor lighting as low as 30 W/m 2 and as little as -10 dBm (e.g., to operate within safe RF power limits).
  • Such an autonomous robot may also carry a variety of sensor payloads that are up to three times the weight of the autonomous robot.
  • the autonomous robot may perform autonomously by using sensor data to seek external energy sources (e.g., light sources or RF sources).
  • a maximum power point tracking strategy can be used to co-optimize power harvesting with robot speed by using variable length capacitor charge times. For example, while using power from a first capacitor, a controller in the autonomous robot can charge a second capacitor using harvested RF or solar energy. The controller can iteratively check whether a charge of the second capacitor exceeds a threshold. Once the charge exceeds the threshold, the charge on the second capacitor can be used to propel the robot. In some examples, the controller may use sensor data to determine a direction in which to propel the robot. For example, the controller can sample a set of onboard photodiodes to independently steer the autonomous robot towards light sources to maximize harvested power.
  • the controller can iteratively check whether the charge on the first capacitor has dropped below a different threshold. Once the charge drops below the different threshold, the controller can switch from charging the second capacitor to charging the first capacitor.
  • the autonomous robot can autonomously move to regions where available power is stronger and can iteratively switch between charging different capacitors based on available energy.
  • Embodiments of the present disclosure provide various technological advantages over conventional techniques for robotic sensors. Traditional autonomous robots may be tethered (e.g., wired) or may be unable to move independently. In contrast, embodiments described herein involve autonomous robots can move independently and carry their own power harvester onboard.
  • the power harvester may include high-efficiency solar cells, which can produce up to 6 mW/cm 2 in bright outdoor light, and RF sensors, which may produce around 1 mW/cm 2 .
  • the energy required to move an autonomous robot may scale with the mass of the robot. Therefore, by reducing the mass of the autonomous robot to 1 gram or less, the energy required to move such an autonomous robot may be less than 1 mJ.
  • miniaturization can be used to develop an autonomous robot that is compatible with the microwatts to milliwatts of power that are available in practical power harvesting scenarios (e.g., solar cells and RF sensors).
  • Embodiments of the present disclosure may also provide benefits over conventional small, sub-gram motors, which may require tens to hundreds of milliwatts of power to spin continuously. While such continuous motion may be common in wheeled robots and drones, this may not be the case in most natural systems. Legged locomotion in animals, for example, may occur in discrete steps. Thus, in contrast, embodiments described herein may involve using harvested power to cause intermittent motion of the autonomous robot. Discrete motion can be enabled by buffering sufficient energy from variable power sources using capacitors, as well as by using a transducer that can transform the energy into mechanical motion. The energy that can be stored in a capacitor is given by 1 ⁇ 2 CV 2 .
  • an autonomous robotic sensor that can move with less than 100 ⁇ W, has wireless connectivity, and can house sensors for light, temperature, humidity, etc.
  • the autonomous robot can have wireless connectivity between other robots or other devices at distances over 200 m.
  • Robust battery-free operation of the autonomous robot using solar power in both outdoor and indoor lighting, as well as RF power can allow the autonomous robot to move up to 5 mm/s, carry payloads up to three times the weight of the autonomous robot, and move on a variety of surfaces that can range from concrete to carpet.
  • the autonomous robot can be tuned to meet environmental conditions. For example, autonomous robots used to gather several sensor readings over a route as fast as possible in sunny outdoor environments can be constructed with relatively large capacitors and may use solar cells to power motion, while still implementing several sensors on the autonomous robot. In the case of indoor operation, where travel distance and speed are lower priority, an autonomous robot may have relatively smaller capacitors with relatively slower speeds and faster charge cycles.
  • FIG.1 is an illustration of an example autonomous robot 100 that may be operable without a battery, according to at least one example.
  • the autonomous robot 100 can include a chassis 102 that can support a drive system 104.
  • the drive system 104 depicted in FIG.1 includes a first set of wheels 106a and a second set of wheels 106b.
  • any system that can propel the autonomous robot 100 may also be used, such as legs, a propeller, etc.
  • the chassis 102 can also support a power harvesting system that can harvest power from an external source, such as solar cells 108 that can harvest light energy.
  • the power harvesting system may also include a radiofrequency (RF) sensor and/or an onboard storage element, such as a battery.
  • RF radiofrequency
  • the ball bearings 204 may be placed with rods (e.g., 3 mm rods) parallel to each actuator 202a-b.
  • the actuators 202a-b can be oriented such that each side of the chassis 102 can have one motor-powered wheel and one free-spinning bearing wheel. This arrangement can allow the autonomous robot 100 to power both actuators 202a-b simultaneously for straight movement, or to power each actuator 202a-b individually for turning left or right. This can result in a highly maneuverable autonomous robot 100 that can easily navigate in tight spaces.
  • the components of the autonomous robot can be assembled using cyanoacrylate adhesive or any other suitable adhesive.
  • FIG.4 is an example wiring diagram 400 for an autonomous robot that is operable without a battery, according to at least one example.
  • the wiring diagram 400 can include the circuit board 110 of FIGS.1-3.
  • wiring diagram 400 can include a microcontroller 402 that can apply voltages and transmit signals to various components of an autonomous robot (e.g., the autonomous robot 100 of FIGS.1-2) for controlling the autonomous robot 100.
  • the microcontroller 402 can include a memory 404 that can store digital information associated with the operation of the autonomous robot 100.
  • the microcontroller 402 can be coupled to one or more sensors 406 that may be positioned onboard the autonomous robot 100.
  • the one or more sensors 406 can include the photodiodes 111a-b of FIGS.1 and 3, the temperature and humidity sensor 302 of FIG.3, or any other suitable sensors, such as a gas sensor, a light sensor, a microphone, an RF sensor, a thermal sensor, and/or any other suitable sensor for sensing conditions.
  • the microcontroller 402 can be coupled to the one or more sensors 406 by an inter-integrated circuit (I2C) bus 407.
  • the microcontroller 220 can include the integrated circuit 304 of FIG.3, which in some examples may be a Bluetooth SOC (System-On-Chip) device.
  • the integrated circuit 304 can be used for processing information and communicating data via short-range wireless communication networks, such as Bluetooth.
  • the integrated circuit 304 can be electrically coupled to an onboard antenna 408.
  • the antenna 408 can enable the integrated circuit 304 to transmit and receive wireless signals such as Bluetooth signals.
  • the integrated circuit 304 can make use of the antenna 408 to communicate with other robots, Internet of Things (IoT) modules, or server nodes that may be present in an environment in which the autonomous robot 100 is operating.
  • IoT Internet of Things
  • the wiring diagram 400 further depicts a power harvesting system 410.
  • the power harvesting system 410 can harvest power from an external source or, in some examples, an onboard storage element such as a battery.
  • the power harvesting system 410 can include one or more photovoltaic cells or solar cells 108 that can harvest energy from the sun, indoor lighting, or any other suitable source of light. Additionally or alternatively, the power harvesting system 410 can include a radiofrequency (RF) harvester 412 that can harvest energy from RF signals.
  • RF radiofrequency
  • a first capacitor 112a can be used to power the microcontroller 402 and a second capacitor 112b can be used to power actuators 202. Although capacitors are depicted and described, in other examples any suitable energy storage element may be used.
  • the wiring diagram 400 can further include a switch 414 that can be used to toggle between providing power (e.g., from the capacitors 112a-b) to the actuators 202a-b and the microcontroller 402.
  • the switch 414 can route current from the power harvesting system 410 through a voltage regulator 416, which can act as a voltage limiter, and a cold-start circuit 418 (e.g., the startup circuit 304 of FIG. 3) to charge the first capacitor 112a.
  • the first capacitor 112a may, in some examples, be a small 7.5 mF supercapacitor.
  • the cold-start circuit 418 can provide power to the integrated circuit 304 once the voltage of the first capacitor 112a has exceeded a threshold.
  • the cold-start circuit 418 may provide 1.9 V of power to the integrated circuit 304 when the voltage of the first capacitor 112a rises to 2.5 V.
  • the integrated circuit 304 can be powered for over 40 seconds while the switch 414 then charges the second capacitor 112b (e.g., which provides power to the actuators 202).
  • the switch 414 can isolate the two voltage domains on the wiring diagram 400.
  • the microcontroller 402 can be run at relatively low voltages to prevent a system brownout.
  • the second capacitor 112b can be charged to a higher voltage than the first capacitor 112a.
  • the microcontroller 402 can trigger the switch 414 to divert incoming power (e.g., from the power harvesting system 410) directly to the second capacitor 112b.
  • the second capacitor 112b can be specialized to provide high peak current to the actuators 202, while the first capacitor 112a can be a supercapacitor that can provide higher energy density to the microcontroller 402 for long- term operation. Powering the actuators 202 from a separate power source than the microcontroller 402 via transistors can eliminate the risk of a system brownout due to drawing high current from a high series resistance supercapacitor.
  • the power output of the harvesting sources in the power harvesting system 410 may depend on the load to which the power harvesting system 410 is connected.
  • a solar cell 108 may have a relatively flat I-V curve that can maintain a roughly constant open circuit voltage and then experience a sharp drop off at the short circuit current.
  • the conventional approach to designing battery free systems may involve using a power harvesting chip such as the TIBQ25570 to manage issues such as cold start, as described above, and may provide maximum power point tacking (MPPT) to operate solar cells as close to this point as possible.
  • MPPT maximum power point tacking
  • the solar cells 108 and RF harvesters 412 described herein can be directly connected to the capacitors 112a-b. This can result in a changing charging rate over time.
  • Vc Vin (1 – e ⁇ (-t/IJ)), where Vc is the voltage across the capacitor 112, Vin is the output of the power harvesting system 410, and IJ is the time constant that depends on both the capacitance C of the capacitor 112 and a resistance R of the circuit board; in other words, IJ can be the time it takes to reach a threshold percentage of a target value, and can be used as a point of comparison between the capacitors 112a-b. In a particular example, IJ can be 63.5%.
  • the IJ values for the capacitors can be 5 ms and 10 ms. It would therefore take the 100 ⁇ F capacitor 5 ms to reach 63.5% of 1 V, and would take the 200 ⁇ F capacitor 10 ms to reach 63.5% of 1 V.
  • a capacitor 112 may be considered fully charged after 5 IJ.
  • the microcontroller 402 may operate the autonomous robot 100 via autonomous light seeking, which can enable the autonomous robot 100 to find power sources.
  • the sensors 406 may include photodiodes (e.g., the photodiodes 111 of FIGS.1 and 3), which may in some examples be arranged in a reverse-bias configuration.
  • the current along a photodiode may increase with light intensity, which can result in a higher voltage that can be measured by an analog-to-digital converter (ADC) 420 in the microcontroller 402 across a pulldown resistor.
  • ADC analog-to-digital converter
  • This can allow the integrated circuit 304 to sample the light intensity in each corner of the autonomous robot 100 to identify the direction (e.g., front, back, left, or right) with the highest light intensity.
  • the integrated circuit 304 can cause both actuators 202a-b to move forward, a left actuator (e.g., first actuator 202a) to turn left, or a right actuator (e.g., second actuator 202b) to turn right.
  • a left actuator e.g., first actuator 202a
  • a right actuator e.g., second actuator 202b
  • the autonomous robot 100 may turn right since it may only be capable of driving the actuators 202 in a forward direction.
  • the actuators 202 may be capable of driving in a backward direction.
  • the autonomous robot 100 may sample an interrupt 422 and the ADC 420 once per second. However, in low power conditions, the voltage of the second capacitor 112b may not be high enough to efficiently drive the actuators 202.
  • the ADC 420 may also sample the voltage on the second capacitor 112b and may only execute a movement step if the second capacitor 112b is charged above a threshold voltage value.
  • the autonomous robot 100 may harvest power from ambient light, light seeking may be a particularly useful form of autonomy. By navigating towards locations with higher light intensity, the autonomous robot 100 can increase the amount of harvested power and increase the available headroom for movement, data acquisition, and wireless networking tasks.
  • Bluetooth functionality of the integrated circuit 304 can be leveraged to utilize the autonomous robot 100 as a networked sensor node in addition to being a robotic sensor platform. For example, standard Bluetooth Low Energy (BLE) devices may consume several mA of current when transmitting and receiving data.
  • BLE Bluetooth Low Energy
  • the data transmission rate can be throttled based on available power to achieve power consumption of the integrated circuit 304 as low as 11 ⁇ A with a 0.2 Hz packet rate.
  • Encoding schemes that can be used include standard BLE advertising using the 1 M PHY, as well as Bluetooth Long Range advertising using the coded PHY on the nRF52840.
  • the autonomous robot 100 may in some examples act as a receiver to parse the advertising packets of other nearby autonomous robots or other such sensor devices. However, operating the microcontroller 402 in scan mode to detect incoming packets may result in significantly higher power consumption than transmitting.
  • the nRF52840 when continuously scanning for incoming packets, the nRF52840 may draw over 11 mA for standard mode and over 10 mA for long-range mode.
  • the average system power consumption for receiving in both PHY modes can be approximately 650 ⁇ A.
  • the highly asymmetric power requirements for transmitting and receiving may impose significant challenges for communicating between autonomous robots (and/or other sensor devices) and establishing a network of devices. To address this, a synchronization scheme can be used to leverage the light-seeking capabilities of the autonomous robot 100 to power inter-robot communication.
  • FIG.5 is a timing chart of an example communication process between example autonomous robots, according to at least one example.
  • Robot 1 can operate primarily as a transmitter, while Robot 2 can operate primarily as a receiver.
  • both Robot 1 and Robot 2 may be examples of the autonomous robot 100 described herein.
  • one of Robot 1 or Robot 2 may be any other type of sensor device that is capable of transmitting or receiving data packets.
  • Robot 1 can begin in an ultra- low power state at startup, in which Robot 1 sends an advertising packet with temperature data every 5 seconds.
  • Robot 1 may be programmed to move towards light, maximizing the power budget for motion.
  • Robot 1 may enter Mode 2.
  • Mode 2 may involve Robot 1 sending a series of N packets at a faster fixed time interval (e.g., TTXint). Each packet may encode a sequence number.
  • Robot 1 may enter a brief RX (e.g., receiving) window) to receive a timing synchronization packet.
  • Robot 1 may then continue seeking light, but may use a larger portion of its power budget for communication compared to Mode 1.
  • Robot 2 When an autonomous robot, such as Robot 2, detects higher input current above a different threshold, Robot 2 may enter Mode 3 operation. In Mode 3, Robot 2 may stop moving and may scan for advertising packets for a time period that is greater than the advertising frequency of Mode 2. This can ensure that Robot 2 is able to receive at least one packet from nearby Mode 2 robots. Robot 2 may decode the packet to determine the amount of time remaining until the nearby Robot 1 (e.g., in Mode 2) enters its RX window. Robot 2 can set a timer and send a short synchronization packet. [0047] Upon receiving the packet, Robot 1 and Robot 2 can both set timers to continue exchanging packets at a longer time interval.
  • FIG.6 is a flow diagram of a process 600 for operating an example autonomous robot without a battery, according to at least one example.
  • the process 600 of FIG.6, and any other processes described herein are illustrated as logical flow diagrams, each operation of which represents a sequence of operations that can be implemented in hardware, computer instructions, or a combination thereof.
  • the operations may represent computer-executable instructions stored on one or more non-transitory computer-readable storage media that, when executed by one or more processors, perform the recited operations.
  • computer-executable instructions include routines, programs, objects, components, data structures and the like that perform particular functions or implement particular data types.
  • Some or all of the process 600 can be performed by any suitable combination of hardware and/or software, such as by circuit board 110, integrated circuit 304, microcontroller 402, or computer system 800.
  • the process 600 begins at block 602, which involves an autonomous robot causing charging of a first energy storage element using a power harvesting system.
  • the power harvesting system can harvest energy from an external source, such as solar irradiance (via solar cells), RF signals (via an RF harvester), or, in some examples, an onboard storage element such as a battery.
  • the first energy storage element can be configured to power a microcontroller that can control operation of the autonomous robot.
  • the first energy storage element can be a first capacitor, such as a supercapacitor, that can provide power to the microcontroller.
  • the autonomous robot may include a switch that can toggle between storing power (e.g., harvested by the power harvesting system) in the first energy storage element and in a second energy storage element, which may provide power to a drive system of the autonomous robot.
  • the drive system may propel the autonomous robot in a direction (e.g., by driving forward on wheels, turning a propeller to propel through water, providing a jumping force, etc.).
  • the switch may cause the first energy storage element to store power harvested by the power harvesting system.
  • Block 604 of the process 600 involves the autonomous robot turning on the microcontroller and powering the microcontroller using the first energy storage element when a first value of the first energy storage element exceeds a first threshold.
  • the microcontroller may be powered on when a voltage of the first energy storage element exceeds a threshold, such as 2.5 V.
  • the microcontroller may include or be coupled to cold start circuitry that can facilitate the transmission of power from the first energy storage element to the microcontroller.
  • the cold start circuitry may provide 1.9 V of power once the voltage of the first energy storage element exceeds 2.5 V.
  • Block 606 of the process 600 involves the autonomous robot ceasing charging of the first energy storage element and causing charging of a second energy storage element using the power harvesting system.
  • the second energy storage element may power an actuator in the drive system of the autonomous robot.
  • the microcontroller can transmit a signal to the switch to redirect power received from the power harvesting system away from the first energy storage element and towards the second energy storage element.
  • the first energy storage element and the second energy storage element may have different properties.
  • the first energy storage element may in some examples be a supercapacitor, which may have a higher energy density for long-term operation compared to the second energy storage element.
  • the second energy storage element may be able to be charged to a higher voltage than the first energy storage element to store enough energy to enable motion of the autonomous robot.
  • Block 608 of the process 600 involves selectively and repeatedly sending power signals to the actuator using power from the second energy storage element.
  • the repeated and selective signals may enable intermittent movement of the autonomous robot (e.g., via intermittent actuation of the actuator).
  • the power signals may only be sent to actuate the actuator when power in the second energy storage element exceeds 50 ⁇ W.
  • the autonomous robot may be propelled once enough power has been harvested, allowing the autonomous robot to be operable even in low light or low RF environments. Movement may be slower in low light environments, as the second energy storage element may take longer to accumulate harvested power, but still possible.
  • Block 610 of the process 600 involves the autonomous robot ceasing charging of the second energy storage element and causing charging of the first energy storage element using the power harvesting system when a second value of the first energy storage element falls below a second threshold.
  • the microcontroller may iteratively check whether the voltage of the first energy storage element has fallen below a threshold of 2.5 V. If the voltage has fallen below 2.5 V, the switch may cause the power harvesting system to switch from storing power in the second energy storage element to storing power in (e.g., charging) the first energy storage element. Once the first energy storage element has been charged (e.g., to above 2.5 V), the microcontroller may be powered on by using the switch to cause the power harvesting system to store power in the second energy storage element, and the process can begin again from block 604.
  • FIG.7 is a flow diagram of a process 700 for autonomously navigating an example autonomous robot without a battery, according to at least one example.
  • the process 700 of FIG.7, and any other processes described herein are illustrated as logical flow diagrams, each operation of which represents a sequence of operations that can be implemented in hardware, computer instructions, or a combination thereof.
  • the operations may represent computer-executable instructions stored on one or more non- transitory computer-readable storage media that, when executed by one or more processors, perform the recited operations.
  • computer-executable instructions include routines, programs, objects, components, data structures and the like that perform particular functions or implement particular data types.
  • Some or all of the process 700 can be performed by any suitable combination of hardware and/or software, such as by circuit board 110, integrated circuit 304, microcontroller 402, or computer system 800.
  • Block 702 of the process 700 involves a microcontroller of the autonomous robot comparing individual sensor readings from each of a set of sensors.
  • the set of sensors may in some examples include a set of photodiodes that are disposed on a set of sides of the autonomous robot. Each of the photodiodes may sense light conditions on each respective side of the autonomous robot.
  • the set of sensors may include any other type of power harvesting sensors that can sense power harvesting conditions, such as temperature sensors, gas sensors, electromagnetic sensors, etc.
  • the set of sensors may, in other examples, include any type of environmental sensor that can sense environmental conditions.
  • Block 704 of the process 700 involves the microcontroller using the sensor data to determine which of a first actuator or a second actuator on the autonomous robot to actuate to drive the robot.
  • the first actuator may actuate a first wheel of the autonomous robot and the second actuator may actuate a second wheel of the autonomous robot.
  • the first wheel and the second wheel can be actuated separately or together to propel the autonomous robot.
  • the first actuator and the second actuator may be powered by a second energy storage element.
  • the microcontroller may determine which of the first actuator or the second actuator to actuate by identifying a direction that corresponds to the sensor within the set of sensors that had a highest sensor reading. This can enable the autonomous robot to move towards the direction that has the greatest power source.
  • Block 706 of the process 700 involves the microcontroller iteratively checking that a value of the second energy storage element exceeds a threshold. For example, the first actuator or the second actuator may only be actuated when sufficient power has been stored in the second energy storage element. Thus, the microcontroller may iteratively check the power in the second energy storage element to determine when the power exceeds 50 ⁇ W. If the power does not exceed 50 ⁇ W, the second energy storage element can continue to accumulate power that is harvested by the power harvesting system.
  • Block 708 of the process 700 involves the microcontroller sending a control signal to the second actuator to drive the robot in the direction corresponding to the sensor that is within the set of sensors that has the highest sensor reading.
  • FIG.8 illustrates example components of a computer system 800, in accordance with embodiments of the present disclosure.
  • the computer system 800 can be used as a node in a computer network, where this node provides one or more computing components of an underlay network of the computer network and/or one or more computing components of an overlay network of the computer network.
  • the components of the computer system 800 can be used in an endpoint. Although the components of the computer system 800 are illustrated as belonging to a same system, the computer system 800 can also be distributed (e.g., between multiple user devices).
  • the computer system 800 can be an example of the microcontroller 402 of FIG.4, or any other suitable electronic device described herein.
  • the computer system 800 can include at least a processor 802, a memory 804, a storage device 806, input/output peripherals (I/O) 808, communication peripherals 810, and an interface bus 812.
  • the interface bus 812 is configured to communicate, transmit, and transfer data, controls, and commands among the various components of the computer system 800.
  • the memory 804 and the storage device 806 include computer-readable storage media, such as RAM, ROM, electrically erasable programmable read-only memory (EEPROM), hard drives, CD-ROMs, optical storage devices, magnetic storage devices, electronic non- volatile computer storage; for example, Flash® memory, and other tangible storage media. Any of such computer-readable storage media can be configured to store instructions or program codes embodying aspects of the disclosure.
  • the memory 804 and the storage device 806 also include computer-readable signal media.
  • a computer-readable signal medium includes a propagated data signal with computer-readable program code embodied therein. Such a propagated signal takes any of a variety of forms including, but not limited to, electromagnetic, optical, or any combination thereof.
  • a computer-readable signal medium includes any computer-readable medium that is not a computer-readable storage medium and that can communicate, propagate, or transport a program for use in connection with the computer system 800.
  • the memory 804 includes an operating system, programs, and applications.
  • the processor 802 is configured to execute the stored instructions and includes, for example, a logical processing unit, a microprocessor, a digital signal processor, and other processors.
  • the memory 804 and/or the processor 802 can be virtualized and can be hosted within another computer system of, for example, a cloud network or a data center.
  • the I/O peripherals 808 include user interfaces, such as a keyboard, screen (e.g., a touch screen), microphone, speaker, other input/output devices, and computing components, such as graphical processing units, serial ports, parallel ports, universal serial buses, and other input/output peripherals.
  • the I/O peripherals 808 are connected to the processor 802 through any of the ports coupled to the interface bus 812.
  • the communication peripherals 810 are configured to facilitate communication between the computer system 800 and other systems over a communications network and include, for example, a network interface controller, modem, wireless and wired interface cards, antenna, and other communication peripherals.
  • the computer system 800 can include a variety of data stores and other memory and storage media as discussed above.
  • SAN storage-area network
  • any necessary files for performing the functions attributed to the computers, servers, or other network devices may be stored locally and/or remotely, as appropriate.
  • each such device can include hardware elements that may be electrically coupled via a bus, the elements including, for example, at least one central processing unit (“CPU”), at least one input device (e.g., a mouse, keyboard, controller, touch screen, or keypad), and at least one output device (e.g., a display device, printer, or speaker).
  • CPU central processing unit
  • input device e.g., a mouse, keyboard, controller, touch screen, or keypad
  • output device e.g., a display device, printer, or speaker
  • Such a system may also include one or more storage devices, such as disk drives, optical storage devices, and solid-state storage devices, such as random-access memory (“RAM”) or read-only memory (“ROM”), as well as removable media devices, memory cards, and/or flash cards.
  • RAM random-access memory
  • ROM read-only memory
  • Such devices can include a computer-readable storage media reader, a communications device (e.g., a modem, a network card (wireless or wired)), an infrared communication device, etc.), and working memory as described above.
  • the computer- readable storage media reader can be connected with, or configured to receive, a computer- readable storage medium, representing remote, local, fixed, and/or removable storage devices as well as storage media for temporarily and/or more permanently containing, storing, transmitting, and retrieving computer-readable information.
  • the system and various devices also typically will include a number of software applications, modules, services, or other elements located within at least one working memory device, including an operating system and application programs, such as a client application or Web browser.
  • Storage media computer readable media for containing code, or portions of code can include any appropriate media known or used in the art, including storage media and communication media, such as but not limited to volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage and/or transmission of information such as computer readable instructions, data structures, program modules, or other data, including RAM, ROM, Electrically Erasable Programmable Read- Only Memory (“EEPROM”), flash memory or other memory technology, Compact Disc Read-Only Memory (“CD-ROM”), digital versatile disk (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a system device.
  • RAM random access memory
  • ROM read-only memory
  • EEPROM Electrically Erasable Programmable Read- Only Memory
  • CD-ROM Compact Disc Read-Only Memory
  • DVD digital versatile disk
  • magnetic cassettes magnetic tape
  • magnetic disk storage or other magnetic storage devices, or
  • Suitable computing devices include multipurpose microprocessor-based computing systems accessing stored software that programs or configures the computing system from a general purpose computing apparatus to a specialized computing apparatus implementing one or more embodiments of the present subject matter. Any suitable programming, scripting, or other type of language or combinations of languages may be used to implement the teachings contained herein in software to be used in programming or configuring a computing device. [0068] Embodiments of the methods disclosed herein may be performed in the operation of such computing devices. The order of the blocks presented in the examples above can be varied—for example, blocks can be re-ordered, combined, and/or broken into sub-blocks. Certain blocks or processes can be performed in parallel.
  • Conditional language used herein such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain examples include, while other examples do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more examples or that one or more examples necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular example.
  • Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is otherwise understood within the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain examples require at least one of X, at least one of Y, or at least one of Z to each be present. [0071] Use herein of the word “or” is intended to cover inclusive and exclusive OR conditions.
  • a or B or C includes any or all of the following alternative combinations as appropriate for a particular usage: A alone; B alone; C alone; A and B only; A and C only; B and C only; and all three of A and B and C.
  • the use of the terms “a” and “an” and “the” and similar referents in the context of describing the disclosed examples (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context.
  • the terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth.
  • the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list.
  • the use of “adapted to” or “configured to” herein is meant as open and inclusive language that does not foreclose devices adapted to or configured to perform additional tasks or steps.
  • the term “connected” is to be construed as partly or wholly contained within, attached to, or joined together, even if there is something intervening.
  • the methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described blocks or states may be performed in an order other than that specifically disclosed, or multiple blocks or states may be combined in a single block or state. The example blocks or states may be performed in serial, in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed examples. Similarly, the example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed examples.
  • Some or all of the processed described herein may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) executing collectively on one or more processors, by hardware or combinations thereof.
  • the code may be stored on a computer-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors.
  • the computer-readable storage medium may be non-transitory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Sustainable Development (AREA)
  • Sustainable Energy (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Manipulator (AREA)

Abstract

An autonomous miniature robot is described. The autonomous robot may include a chassis, a drive system, actuators, capacitors, a power harvesting system, and a microcontroller. The microcontroller may selectively control how the power harvesting system charges the capacitors. When the microcontroller is being powered by a first capacitor, the microcontroller directs the power harvesting system to charge a second capacitor. The second capacitor is used to send power pulses to the drive system to propel the robot. When the charge of the first capacitor falls below a threshold, the microcontroller directs the power harvesting system to charge the first capacitor. This process of switching between charging the two capacitors and controlling the drive system is iteratively repeated to create motion. The robot may include a set of power harvesting sensors (e.g., photodiodes) that can be used to direct the trajectory of the robot towards areas of higher power intensity.

Description

PATENT Attorney Docket No.080097-1456263 (04010WO) Client Ref. No.49800.02WO2 WIRELESS MICROROBOT AND OPERATING TECHNIQUES CROSS-REFERENCES TO RELATED APPLICATIONS [0001] This application claims the benefit of U.S. Provisional Application No.63/582,203 filed September 12, 2023, the entire contents of which are hereby incorporated for all purposes in their entirety. BACKGROUND [0002] Miniature robots, such as those that are gram-scale, have conventionally received power via wired tethers. A small number have integrated onboard batteries, including sensing or wireless connectivity with a battery. These small robots that use batteries to provide power limit the degree to which such robots can be miniaturized. BRIEF DESCRIPTION OF THE DRAWINGS [0003] The drawings illustrate several embodiments of the present disclosure, wherein identical reference numerals refer to identical or similar elements or features in different views or embodiments shown in the drawings. [0004] FIG. 1 is an illustration of an example autonomous robot that is operable without a battery, according to at least one example. [0005] FIG. 2 is an exploded-view illustration of components of an example autonomous robot that is operable without a battery, according to at least one example. [0006] FIG.3 is an example circuit board for an autonomous robot, according to at least one example. [0007] FIG.4 is an example wiring diagram for an autonomous robot that is operable without a battery, according to at least one example. [0008] FIG. 5 is a timing chart of an example communication process between example autonomous robots, according to at least one example. [0009] FIG.6 is a flow diagram of a process for operating an example autonomous robot without a battery, according to at least one example. [0010] FIG.7 is a flow diagram of a process for autonomously navigating an example autonomous robot, according to at least one example. [0011] FIG. 8 is a schematic of a computing device that can be incorporated in an example autonomous robot that is operable without a battery, according to at least one example. DETAILED DESCRIPTION [0012] In the following description, various embodiments will be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the embodiments. However, it will also be apparent to one skilled in the art that the embodiments may be practiced without the specific details. Furthermore, well-known features may be omitted or simplified in order not to obscure the embodiment being described. [0013] Robotic sensor networks may have transformative potential for numerous applications. The ability for a sensor to move (e.g., as part of an autonomously moving robot) can enable such a sensor to sample a larger area compared to fixed Internet of Things (IoT) nodes. Such autonomous robotic sensors may perform infrastructure inspection tasks on roadways, bridges, and railroads, automate inventory in warehouses, measure environmental conditions for indoor farms, take sensor measurements in hazardous industrial scenarios with toxic chemicals or strong electromagnetic fields, or the like. Moreover, its mobility may allow such an autonomous robotic sensor to seek out signal sources such as fires or gas leaks. Autonomous robotic sensors may, in some examples, be automatically dispersed to avoid manual deployment, which remains a major barrier in domains such as precision agriculture. [0014] Powering a robot may require significantly more energy for mechanical propulsion than is required for a typical, stationary IoT node. Combined with energy density limits of existing battery technologies, this may result in battery lifetimes of minutes to hours compared to years for a stationary IoT node. The shorter battery lifetimes can thus constrain the areas that autonomous robotic sensors may traverse as well as the operational lifetime. Further, such shorter battery lifetimes may impose significantly higher maintenance costs to change or recharge onboard batteries. Onboard batteries may additionally introduce significant environmental costs. Lithium batteries, which have become ubiquitous in mobile devices, may pose significant ecotoxicity and human health concerns at end-of-life disposal due to high levels of lead, cobalt, chromium, and thallium. Additionally, battery manufacturing may also have significant environmental impacts and requirements for critical minerals. [0015] Some examples of the present disclosure can overcome one or more of the issues mentioned above via an autonomous robot that can operate on harvested energy, such as solar energy or radiofrequency (RF) power, to cause motion of the robot by co-optimizing size, weight, and power of the robot. The autonomous robot may in some examples be battery- free. By reducing the size of the autonomous robot to gram scale, with characteristic dimensions of up to ten square millimeters, the autonomous robot can operate on as little as 50 μW. For example, the autonomous robot can operate on external power sources such as harvested solar and radiofrequency (RF) power. The autonomous robot can operate in a myriad of practical power harvesting conditions, including both indoor and outdoor lighting as low as 30 W/m2 and as little as -10 dBm (e.g., to operate within safe RF power limits). Such an autonomous robot may also carry a variety of sensor payloads that are up to three times the weight of the autonomous robot. The autonomous robot may perform autonomously by using sensor data to seek external energy sources (e.g., light sources or RF sources). [0016] For example, a maximum power point tracking strategy can be used to co-optimize power harvesting with robot speed by using variable length capacitor charge times. For example, while using power from a first capacitor, a controller in the autonomous robot can charge a second capacitor using harvested RF or solar energy. The controller can iteratively check whether a charge of the second capacitor exceeds a threshold. Once the charge exceeds the threshold, the charge on the second capacitor can be used to propel the robot. In some examples, the controller may use sensor data to determine a direction in which to propel the robot. For example, the controller can sample a set of onboard photodiodes to independently steer the autonomous robot towards light sources to maximize harvested power. Additionally, the controller can iteratively check whether the charge on the first capacitor has dropped below a different threshold. Once the charge drops below the different threshold, the controller can switch from charging the second capacitor to charging the first capacitor. Thus, the autonomous robot can autonomously move to regions where available power is stronger and can iteratively switch between charging different capacitors based on available energy. [0017] Embodiments of the present disclosure provide various technological advantages over conventional techniques for robotic sensors. Traditional autonomous robots may be tethered (e.g., wired) or may be unable to move independently. In contrast, embodiments described herein involve autonomous robots can move independently and carry their own power harvester onboard. The power harvester may include high-efficiency solar cells, which can produce up to 6 mW/cm2 in bright outdoor light, and RF sensors, which may produce around 1 mW/cm2. The energy required to move an autonomous robot may scale with the mass of the robot. Therefore, by reducing the mass of the autonomous robot to 1 gram or less, the energy required to move such an autonomous robot may be less than 1 mJ. Thus, miniaturization can be used to develop an autonomous robot that is compatible with the microwatts to milliwatts of power that are available in practical power harvesting scenarios (e.g., solar cells and RF sensors). [0018] Embodiments of the present disclosure may also provide benefits over conventional small, sub-gram motors, which may require tens to hundreds of milliwatts of power to spin continuously. While such continuous motion may be common in wheeled robots and drones, this may not be the case in most natural systems. Legged locomotion in animals, for example, may occur in discrete steps. Thus, in contrast, embodiments described herein may involve using harvested power to cause intermittent motion of the autonomous robot. Discrete motion can be enabled by buffering sufficient energy from variable power sources using capacitors, as well as by using a transducer that can transform the energy into mechanical motion. The energy that can be stored in a capacitor is given by ½ CV2. Charging an approximately 100 μF capacitor to 5F can therefore be sufficient to store over 1 mJ of energy. Discharging this energy directly into a small eccentric rotating mass (ERM) vibration motor can overcome inertia and resistive losses to produce a revolution of a 450 mg mass. [0019] In contrast to conventional battery free robots that use magnetic fields (which may be limited to a few centimeters), high-powered lasers, or RF transmitters, embodiments described herein involve an autonomous robotic sensor that can move with less than 100 μW, has wireless connectivity, and can house sensors for light, temperature, humidity, etc. In some examples, the autonomous robot can have wireless connectivity between other robots or other devices at distances over 200 m. Robust battery-free operation of the autonomous robot using solar power in both outdoor and indoor lighting, as well as RF power, can allow the autonomous robot to move up to 5 mm/s, carry payloads up to three times the weight of the autonomous robot, and move on a variety of surfaces that can range from concrete to carpet. The autonomous robot can be tuned to meet environmental conditions. For example, autonomous robots used to gather several sensor readings over a route as fast as possible in sunny outdoor environments can be constructed with relatively large capacitors and may use solar cells to power motion, while still implementing several sensors on the autonomous robot. In the case of indoor operation, where travel distance and speed are lower priority, an autonomous robot may have relatively smaller capacitors with relatively slower speeds and faster charge cycles. [0020] FIG.1 is an illustration of an example autonomous robot 100 that may be operable without a battery, according to at least one example. The autonomous robot 100 can include a chassis 102 that can support a drive system 104. The drive system 104 depicted in FIG.1 includes a first set of wheels 106a and a second set of wheels 106b. In other examples, any system that can propel the autonomous robot 100 may also be used, such as legs, a propeller, etc. The chassis 102 can also support a power harvesting system that can harvest power from an external source, such as solar cells 108 that can harvest light energy. In some examples, the power harvesting system may also include a radiofrequency (RF) sensor and/or an onboard storage element, such as a battery. [0021] The chassis 102 can also support a circuit board 110. The circuit board 110 can include a microcontroller (not pictured) that can control operation of the solar cells 108 and the drive system 104. The circuit board 110 can further include energy storage elements, such as capacitors (not pictured). The capacitors can store energy harvested from the solar cells 108. In a particular example, the autonomous robot 100 may have a 10 mm x 10 mm chassis 102 and may include four thin film solar cells 108 and two parallel, 47 ^F capacitors. The amount of power output by the solar cells 108 may be dependent on the impedance of the load to which the solar cells 108 are connected. The energy stored in the capacitors can be given by ½ CV2, where C is the capacitance and V is the voltage. It may be beneficial to maximize voltage to store maximum energy. Therefore, in this particular example, two solar cells can be connected in series to produce up to 5.8 V, which can approach a 6.3 V maximum of a capacitor. Even in low light conditions, sufficient solar energy can be harvested to charge the capacitors. For example, even in low light conditions, the autonomous robot 100 can harvest solar energy to overcome the leakage current of the capacitors to charge up to, for example, 2.5 V. In some examples, the autonomous robot 100 may be able to cold-start and move in light conditions as low as 30 W/m2 and -10 dBm of RF power. [0022] The circuit board 110 can also house photodiodes 111a-b. The photodiodes 111a-b may be mounted on different sides of the autonomous robot 100 and may sense light intensity. The photodiodes 111a-b can provide feedback to the circuit board 110 that can be used to determine which direction to direct the autonomous robot 100. For example, the circuit board 110 can use the light intensity sensed by photodiodes 111a-b on different sides of the autonomous robot 100 and may cause the drive system 104 to propel the autonomous robot 100 towards the direction having the highest sensed light intensity. The circuit board 110 may use the power harvested by the solar cells 108 and stored in the capacitors to actuate the drive system 104 and propel the autonomous robot 100. Although photodiodes 111a-b are depicted in FIG.1, in other examples other sensors may be used to determine direction of propulsion. For example, temperature sensors may be used to seek out heat, even if heat is not being harvested for energy. In other examples, gas sensors may be used to seek out gas or chemical leaks, magnetometers may be used to seek out metal objects, RF antenna and receiver or envelope detectors may be used to seek out RF field sources, temperature sensors may be used to detect fire or other heat sources, etc. The ability to move may also enable sampling of spatial gradients which may be important for many such applications. When combined with sensors such as cameras, the autonomous robot 100 may be used to automate a wide variety of inspection tasks, particularly in scenarios that may be dangerous to humans. [0023] For example, industrial equipment and infrastructure such as high-powered radio transmitters and other devices that generate strong electromagnetic fields may be harmful to human health, but may provide the perfect scenario for the autonomous robot 100 to automate dangerous tasks. The autonomous robot 100 may not be constrained by battery life and can therefore operate for infinite lifetimes outdoors, for inspection tasks on roads, railroad tracks, etc. Similarly, the autonomous robot 100 may be used for space or interplanetary exploration due to its small size and ability to operate on harvested energy. The ability to move in such a relatively small form factor may also be combined with recent developments in airborne sensor releases to enable precise large-scale deployment of sensor networks. [0024] In some examples, the ability of the autonomous robot 100 to move an entiresensor may permit incorporating remote feedback from an edge device to create a dynamically controllable sensor network. For example, a base station can coordinate the sensor network to steer directional sensors (e.g., autonomous robots 100) to focus on a sensing target of interest, or autonomous robots 100 may use this ability to move themselves to optimize connectivity. [0025] An exploded view of the example autonomous robot 100 of FIG.1 is depicted in FIG.2, which illustrates the chassis 102, the circuit board 110, the solar cells 108, and components of the drive system 104. The drive system 104 may include wheels 106, actuators 202a-b, and ball bearings 204. Each set of wheels 106 can be driven by the first actuator 202a or the second actuator 202b. The example depicted in FIG.2 may include fiberglass wheels 106, but any suitable wheel, tread, leg, spring, or any other component that can be acted upon by the actuators 202a-b to propel the autonomous robot 100 may be used. The wheels 106 can be formed in a 3-spoke configuration and can be manufactured from 150 ^m thick fiberglass (e.g., FR-4). In some examples, the wheels 106 may be applied to the actuators 202a-b and ball bearings 204 via a press fit or interference fit to minimize use of glue, which may negatively affect the actuators 202a-b. In some examples, the wheel size may allow for up to 3 mm of clearance underneath the chassis 102 to aid in navigating uneven terrain. The ball bearings 204 may be placed with rods (e.g., 3 mm rods) parallel to each actuator 202a-b. The actuators 202a-b can be oriented such that each side of the chassis 102 can have one motor-powered wheel and one free-spinning bearing wheel. This arrangement can allow the autonomous robot 100 to power both actuators 202a-b simultaneously for straight movement, or to power each actuator 202a-b individually for turning left or right. This can result in a highly maneuverable autonomous robot 100 that can easily navigate in tight spaces. In some examples, the components of the autonomous robot can be assembled using cyanoacrylate adhesive or any other suitable adhesive. [0026] Conventional microrobot systems may use piezo actuators due to their relatively light weight (e.g., tens of milligrams) and high efficiency. But piezo actuators require high voltages of over 200 V for operation. Additionally, piezo actuators may operate most efficiently when driven at their resonant frequency to produce repeated motion such as wing flapping. In contrast, the autonomous robot 100 described herein may move in discrete steps at lower voltages. This can eliminate the need for dielectric elastomers and other electrostatic actuators that may require even higher voltages. Thus, the actuators 202a-b can be electromagnetic vibration motors that produce vibrations by rotating an off-center mass at a relatively high rotational frequency. The mass of the actuators 202a-b may range from 0.5 g to 1 g. In other examples, the actuators 202a-b can be a brush motor, stepper motor, or any other suitable small-scale motor. [0027] In some examples, the autonomous robot 100 may weigh between 0 and 1.1 g and may carry additional payloads of up to or greater than 3 g. In other examples, the autonomous robot 100 may be weigh more than 1.1 g. The chassis 102 may have an area of between 0 and 1 cm2. To minimize weight, in some examples, the chassis 102 can be manufactured from a single flat folded laminate consisting of carbon fiber (e.g., Toray M46J) and polyimide (e.g., Dupont Kapton). Laser micromachining (e.g., LPKF U4) may be used to cut an outline and pattern the carbon fiber layers of the chassis 102. Next, the carbon fiber layers can be aligned with a sheet adhesive, such as Pyralux FR1500 in a heat press to be laminated together. The final shape can be cut and folded into the chassis 102. In some examples, the front and back of the chassis 102 may have a curvature and relatively shorter sides to allow for a larger approach angle on uneven terrains. [0028] FIG.3 is an example circuit board 110 for an autonomous robot, according to at least one example. The circuit board 110 may be a power management and programmable control circuit that can drive the autonomous robot 100 of FIGS.1 and 2. To minimize weight, in some examples, the circuit board 110 can be made of a flexible polyimide substrate that may be clad on both sides with 12 ^m copper (e.g., AG122512EM). An example thickness of the polyimide substrate may be 25 ^m, but other suitable thicknesses may be used. To minimize footprint of the autonomous robot 100, the circuit board 110 may be designed to fold compactly to mount onto the chassis 102 of FIGS.1-2. The circuit board 110 may be fabricated by coating each side of the polyimide substrate in an etch resist, patterning traces with a laser (e.g., LPKF U4) before etching with ferric chloride to expose circuit features. High conductivity silver paint can then be applied to vias of the circuit board 110 to ensure conductivity between board layers. After soldering the board components, the resulting circuit board 110 can fit inside the chassis 102 of FIGS.1-2. [0029] The circuit board 110 can include an integrated circuit 304 that can provide low- power processing and short form bandwidth communication. For example, the integrated circuit 304 may be a Bluetooth system-on-chip (SOC). The circuit board 110 further includes four photodiodes 111 that can sample light intensity. Examples of the photodiodes 111 can include SD019-141-411-R. The sampled light intensity can be used by the circuit board 110 to determine a direction in which to propel the autonomous robot 100. Other sensors may also be included on the circuit board 110, such as a temperature and humidity sensor 302. The temperature and humidity sensor 302, such as HDC2010, can be used to perform environmental monitoring tasks. In some examples, any suitable sensors used to perform environmental monitoring or used to provide feedback to the circuit board 110 to determine which direction to direct the autonomous robot 100 may be used. [0030] The circuit board 110 can further include capacitors 112a-b and a startup circuit 304. To control the autonomous robot 100 and perform sensing tasks, the circuit board 110 can balance competing voltage requirements of a microcontroller (which can include the integrated circuit 304) and the actuators 202a-b depicted in FIG.2. The microcontroller is depicted and described in further detail below in relation to FIG.4. The first capacitor 112a can store voltage that is used to power the integrated circuit 304 and the second capacitor 112b can store voltage that is used to power the actuators 202a-b. The startup circuit 304 can provide power to the integrated circuit 304 once a voltage of the first capacitor 112a has exceeded a threshold, such as 2.5 V. [0031] FIG.4 is an example wiring diagram 400 for an autonomous robot that is operable without a battery, according to at least one example. The wiring diagram 400 can include the circuit board 110 of FIGS.1-3. For example, wiring diagram 400 can include a microcontroller 402 that can apply voltages and transmit signals to various components of an autonomous robot (e.g., the autonomous robot 100 of FIGS.1-2) for controlling the autonomous robot 100. The microcontroller 402 can include a memory 404 that can store digital information associated with the operation of the autonomous robot 100. The microcontroller 402 can be coupled to one or more sensors 406 that may be positioned onboard the autonomous robot 100. [0032] The one or more sensors 406 can include the photodiodes 111a-b of FIGS.1 and 3, the temperature and humidity sensor 302 of FIG.3, or any other suitable sensors, such as a gas sensor, a light sensor, a microphone, an RF sensor, a thermal sensor, and/or any other suitable sensor for sensing conditions. In some examples, the microcontroller 402 can be coupled to the one or more sensors 406 by an inter-integrated circuit (I2C) bus 407. The microcontroller 220 can include the integrated circuit 304 of FIG.3, which in some examples may be a Bluetooth SOC (System-On-Chip) device. The integrated circuit 304 can be used for processing information and communicating data via short-range wireless communication networks, such as Bluetooth. The integrated circuit 304 can be electrically coupled to an onboard antenna 408. The antenna 408 can enable the integrated circuit 304 to transmit and receive wireless signals such as Bluetooth signals. For example, the integrated circuit 304 can make use of the antenna 408 to communicate with other robots, Internet of Things (IoT) modules, or server nodes that may be present in an environment in which the autonomous robot 100 is operating. [0033] The wiring diagram 400 further depicts a power harvesting system 410. The power harvesting system 410 can harvest power from an external source or, in some examples, an onboard storage element such as a battery. In some examples, the power harvesting system 410 can include one or more photovoltaic cells or solar cells 108 that can harvest energy from the sun, indoor lighting, or any other suitable source of light. Additionally or alternatively, the power harvesting system 410 can include a radiofrequency (RF) harvester 412 that can harvest energy from RF signals. [0034] A first capacitor 112a can be used to power the microcontroller 402 and a second capacitor 112b can be used to power actuators 202. Although capacitors are depicted and described, in other examples any suitable energy storage element may be used. The wiring diagram 400 can further include a switch 414 that can be used to toggle between providing power (e.g., from the capacitors 112a-b) to the actuators 202a-b and the microcontroller 402. When the integrated circuit 304 is powered off, the switch 414 can route current from the power harvesting system 410 through a voltage regulator 416, which can act as a voltage limiter, and a cold-start circuit 418 (e.g., the startup circuit 304 of FIG. 3) to charge the first capacitor 112a. The first capacitor 112a may, in some examples, be a small 7.5 mF supercapacitor. The cold-start circuit 418 can provide power to the integrated circuit 304 once the voltage of the first capacitor 112a has exceeded a threshold. In a particular example, the cold-start circuit 418 may provide 1.9 V of power to the integrated circuit 304 when the voltage of the first capacitor 112a rises to 2.5 V. In some examples, the integrated circuit 304 can be powered for over 40 seconds while the switch 414 then charges the second capacitor 112b (e.g., which provides power to the actuators 202). The switch 414 can isolate the two voltage domains on the wiring diagram 400. To keep the microcontroller 402 powered while charging the second capacitor 112b for the actuators 202, the microcontroller 402 can be run at relatively low voltages to prevent a system brownout. [0035] In contrast, the second capacitor 112b can be charged to a higher voltage than the first capacitor 112a. This can enable the second capacitor 112b to store more energy and enable greater motion per charging cycle. After powering on, the microcontroller 402 can trigger the switch 414 to divert incoming power (e.g., from the power harvesting system 410) directly to the second capacitor 112b. The second capacitor 112b can be specialized to provide high peak current to the actuators 202, while the first capacitor 112a can be a supercapacitor that can provide higher energy density to the microcontroller 402 for long- term operation. Powering the actuators 202 from a separate power source than the microcontroller 402 via transistors can eliminate the risk of a system brownout due to drawing high current from a high series resistance supercapacitor. [0036] When the autonomous robot 100 runs off of harvested light energy, the solar cells 108 can be connected directly to an input diode of the wiring diagram 400. When the autonomous robot 100 is powered by harvested RF power (e.g., by the RF harvester 412), a small wire antenna can be connected to a rectifier with a voltage multiplier to generate a direct current (DC) voltage. The rectifier breakout circuit may occupy a similar footprint to the solar cells 108, and the rectifier outputs can connected to a PCB input in place of the solar cells 108. This means that no additional changes to the main robot PCB may be required when configuring for each of these power harvesting modes. [0037] The power output of the harvesting sources in the power harvesting system 410 may depend on the load to which the power harvesting system 410 is connected. For example, a solar cell 108 may have a relatively flat I-V curve that can maintain a roughly constant open circuit voltage and then experience a sharp drop off at the short circuit current. The solar cells 108 can therefore output maximum power P = IV at the corner of this curve. The conventional approach to designing battery free systems may involve using a power harvesting chip such as the TIBQ25570 to manage issues such as cold start, as described above, and may provide maximum power point tacking (MPPT) to operate solar cells as close to this point as possible. But dedicated power harvesting chips are often relatively large and heavy and may require an off-chip inductor to run their internal DC-DC converters. In contrast, and to minimize weight, the solar cells 108 and RF harvesters 412 described herein can be directly connected to the capacitors 112a-b. This can result in a changing charging rate over time. [0038] The equation for a charging capacitor can be: Vc = Vin (1 – e^(-t/IJ)), where Vc is the voltage across the capacitor 112, Vin is the output of the power harvesting system 410, and IJ is the time constant that depends on both the capacitance C of the capacitor 112 and a resistance R of the circuit board; in other words, IJ can be the time it takes to reach a threshold percentage of a target value, and can be used as a point of comparison between the capacitors 112a-b. In a particular example, IJ can be 63.5%. With a final stage voltage of 1 V, capacitor values of 100 ^F and 200 ^F, and a circuit resistance of 50 ȍ, the IJ values for the capacitors can be 5 ms and 10 ms. It would therefore take the 100 ^F capacitor 5 ms to reach 63.5% of 1 V, and would take the 200 ^F capacitor 10 ms to reach 63.5% of 1 V. A capacitor 112 may be considered fully charged after 5 IJ. [0039] The microcontroller 402 may operate the autonomous robot 100 via autonomous light seeking, which can enable the autonomous robot 100 to find power sources. The sensors 406 may include photodiodes (e.g., the photodiodes 111 of FIGS.1 and 3), which may in some examples be arranged in a reverse-bias configuration. The current along a photodiode may increase with light intensity, which can result in a higher voltage that can be measured by an analog-to-digital converter (ADC) 420 in the microcontroller 402 across a pulldown resistor. This can allow the integrated circuit 304 to sample the light intensity in each corner of the autonomous robot 100 to identify the direction (e.g., front, back, left, or right) with the highest light intensity. Based on this information, the integrated circuit 304 can cause both actuators 202a-b to move forward, a left actuator (e.g., first actuator 202a) to turn left, or a right actuator (e.g., second actuator 202b) to turn right. In the case where the highest light intensity is in the back of the autonomous robot 100, the autonomous robot 100 may turn right since it may only be capable of driving the actuators 202 in a forward direction. In other examples, the actuators 202 may be capable of driving in a backward direction. In some examples, the autonomous robot 100 may sample an interrupt 422 and the ADC 420 once per second. However, in low power conditions, the voltage of the second capacitor 112b may not be high enough to efficiently drive the actuators 202. Because of this, the ADC 420 may also sample the voltage on the second capacitor 112b and may only execute a movement step if the second capacitor 112b is charged above a threshold voltage value. [0040] Because the autonomous robot 100 may harvest power from ambient light, light seeking may be a particularly useful form of autonomy. By navigating towards locations with higher light intensity, the autonomous robot 100 can increase the amount of harvested power and increase the available headroom for movement, data acquisition, and wireless networking tasks. [0041] In some examples, Bluetooth functionality of the integrated circuit 304 can be leveraged to utilize the autonomous robot 100 as a networked sensor node in addition to being a robotic sensor platform. For example, standard Bluetooth Low Energy (BLE) devices may consume several mA of current when transmitting and receiving data. By duty cycling BLE advertising packets, the data transmission rate can be throttled based on available power to achieve power consumption of the integrated circuit 304 as low as 11 ^A with a 0.2 Hz packet rate. Encoding schemes that can be used include standard BLE advertising using the 1 M PHY, as well as Bluetooth Long Range advertising using the coded PHY on the nRF52840. [0042] The autonomous robot 100 may in some examples act as a receiver to parse the advertising packets of other nearby autonomous robots or other such sensor devices. However, operating the microcontroller 402 in scan mode to detect incoming packets may result in significantly higher power consumption than transmitting. In a particular example, when continuously scanning for incoming packets, the nRF52840 may draw over 11 mA for standard mode and over 10 mA for long-range mode. By implementing a short receive window as low as 2.5 ms, the average system power consumption for receiving in both PHY modes can be approximately 650 ^A. [0043] The highly asymmetric power requirements for transmitting and receiving may impose significant challenges for communicating between autonomous robots (and/or other sensor devices) and establishing a network of devices. To address this, a synchronization scheme can be used to leverage the light-seeking capabilities of the autonomous robot 100 to power inter-robot communication. Spatial variation in power can be leveraged to enable the autonomous robot 100 to harvest relatively large amounts of power to act primarily in receive mode, while devices with less available power can operate primarily as transmitters. The different modes of operation for each autonomous robot in such a synchronization scheme, which co-optimizes motion and wireless transmission, are described in further detail below in relation to FIG.5. [0044] FIG.5 is a timing chart of an example communication process between example autonomous robots, according to at least one example. Robot 1 can operate primarily as a transmitter, while Robot 2 can operate primarily as a receiver. In some examples, both Robot 1 and Robot 2 may be examples of the autonomous robot 100 described herein. In other examples, one of Robot 1 or Robot 2 may be any other type of sensor device that is capable of transmitting or receiving data packets. Starting in Mode 1, Robot 1 can begin in an ultra- low power state at startup, in which Robot 1 sends an advertising packet with temperature data every 5 seconds. Robot 1 may be programmed to move towards light, maximizing the power budget for motion. [0045] Upon reaching a harvested current threshold, Robot 1 may enter Mode 2. Mode 2 may involve Robot 1 sending a series of N packets at a faster fixed time interval (e.g., TTXint). Each packet may encode a sequence number. After transmitting N packets, Robot 1 may enter a brief RX (e.g., receiving) window) to receive a timing synchronization packet. Robot 1 may then continue seeking light, but may use a larger portion of its power budget for communication compared to Mode 1. [0046] When an autonomous robot, such as Robot 2, detects higher input current above a different threshold, Robot 2 may enter Mode 3 operation. In Mode 3, Robot 2 may stop moving and may scan for advertising packets for a time period that is greater than the advertising frequency of Mode 2. This can ensure that Robot 2 is able to receive at least one packet from nearby Mode 2 robots. Robot 2 may decode the packet to determine the amount of time remaining until the nearby Robot 1 (e.g., in Mode 2) enters its RX window. Robot 2 can set a timer and send a short synchronization packet. [0047] Upon receiving the packet, Robot 1 and Robot 2 can both set timers to continue exchanging packets at a longer time interval. To handle the case where both Robot 1 and Robot 2 are in Mode 3, if no Mode 2 packets are received, then Robot 2 can also transmit a single advertisement containing the equivalent cycles remaining until it enters the receive state, allowing Robot 2 to capture a transmission sync from another Mode 3 robot. The ability to perform bi-directional communication can allow an autonomous robot to coordinate transmissions in a TDMA scheme, or allow a node with relatively higher power to serve as a relay to a base function. [0048] FIG.6 is a flow diagram of a process 600 for operating an example autonomous robot without a battery, according to at least one example. The process 600 of FIG.6, and any other processes described herein are illustrated as logical flow diagrams, each operation of which represents a sequence of operations that can be implemented in hardware, computer instructions, or a combination thereof. In the context of computer instructions, the operations may represent computer-executable instructions stored on one or more non-transitory computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures and the like that perform particular functions or implement particular data types. Some or all of the process 600 can be performed by any suitable combination of hardware and/or software, such as by circuit board 110, integrated circuit 304, microcontroller 402, or computer system 800. [0049] The process 600 begins at block 602, which involves an autonomous robot causing charging of a first energy storage element using a power harvesting system. The power harvesting system can harvest energy from an external source, such as solar irradiance (via solar cells), RF signals (via an RF harvester), or, in some examples, an onboard storage element such as a battery. The first energy storage element can be configured to power a microcontroller that can control operation of the autonomous robot. The first energy storage element can be a first capacitor, such as a supercapacitor, that can provide power to the microcontroller. In some examples, the autonomous robot may include a switch that can toggle between storing power (e.g., harvested by the power harvesting system) in the first energy storage element and in a second energy storage element, which may provide power to a drive system of the autonomous robot. The drive system may propel the autonomous robot in a direction (e.g., by driving forward on wheels, turning a propeller to propel through water, providing a jumping force, etc.). Before the drive system receives power, the switch may cause the first energy storage element to store power harvested by the power harvesting system. [0050] Block 604 of the process 600 involves the autonomous robot turning on the microcontroller and powering the microcontroller using the first energy storage element when a first value of the first energy storage element exceeds a first threshold. For example, the microcontroller may be powered on when a voltage of the first energy storage element exceeds a threshold, such as 2.5 V. In some examples, the microcontroller may include or be coupled to cold start circuitry that can facilitate the transmission of power from the first energy storage element to the microcontroller. In a particular example, the cold start circuitry may provide 1.9 V of power once the voltage of the first energy storage element exceeds 2.5 V. [0051] Block 606 of the process 600 involves the autonomous robot ceasing charging of the first energy storage element and causing charging of a second energy storage element using the power harvesting system. The second energy storage element may power an actuator in the drive system of the autonomous robot. In some examples, the microcontroller can transmit a signal to the switch to redirect power received from the power harvesting system away from the first energy storage element and towards the second energy storage element. In some examples, the first energy storage element and the second energy storage element may have different properties. For example, the first energy storage element may in some examples be a supercapacitor, which may have a higher energy density for long-term operation compared to the second energy storage element. The second energy storage element may be able to be charged to a higher voltage than the first energy storage element to store enough energy to enable motion of the autonomous robot. [0052] Block 608 of the process 600 involves selectively and repeatedly sending power signals to the actuator using power from the second energy storage element. The repeated and selective signals may enable intermittent movement of the autonomous robot (e.g., via intermittent actuation of the actuator). For example, the power signals may only be sent to actuate the actuator when power in the second energy storage element exceeds 50 ^W. Thus, the autonomous robot may be propelled once enough power has been harvested, allowing the autonomous robot to be operable even in low light or low RF environments. Movement may be slower in low light environments, as the second energy storage element may take longer to accumulate harvested power, but still possible. [0053] Block 610 of the process 600 involves the autonomous robot ceasing charging of the second energy storage element and causing charging of the first energy storage element using the power harvesting system when a second value of the first energy storage element falls below a second threshold. For example, the microcontroller may iteratively check whether the voltage of the first energy storage element has fallen below a threshold of 2.5 V. If the voltage has fallen below 2.5 V, the switch may cause the power harvesting system to switch from storing power in the second energy storage element to storing power in (e.g., charging) the first energy storage element. Once the first energy storage element has been charged (e.g., to above 2.5 V), the microcontroller may be powered on by using the switch to cause the power harvesting system to store power in the second energy storage element, and the process can begin again from block 604. [0054] FIG.7 is a flow diagram of a process 700 for autonomously navigating an example autonomous robot without a battery, according to at least one example. The process 700 of FIG.7, and any other processes described herein are illustrated as logical flow diagrams, each operation of which represents a sequence of operations that can be implemented in hardware, computer instructions, or a combination thereof. In the context of computer instructions, the operations may represent computer-executable instructions stored on one or more non- transitory computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures and the like that perform particular functions or implement particular data types. Some or all of the process 700 can be performed by any suitable combination of hardware and/or software, such as by circuit board 110, integrated circuit 304, microcontroller 402, or computer system 800. [0055] Block 702 of the process 700 involves a microcontroller of the autonomous robot comparing individual sensor readings from each of a set of sensors. The set of sensors may in some examples include a set of photodiodes that are disposed on a set of sides of the autonomous robot. Each of the photodiodes may sense light conditions on each respective side of the autonomous robot. In other examples, the set of sensors may include any other type of power harvesting sensors that can sense power harvesting conditions, such as temperature sensors, gas sensors, electromagnetic sensors, etc. The set of sensors may, in other examples, include any type of environmental sensor that can sense environmental conditions. [0056] Block 704 of the process 700 involves the microcontroller using the sensor data to determine which of a first actuator or a second actuator on the autonomous robot to actuate to drive the robot. In some examples, the first actuator may actuate a first wheel of the autonomous robot and the second actuator may actuate a second wheel of the autonomous robot. The first wheel and the second wheel can be actuated separately or together to propel the autonomous robot. The first actuator and the second actuator may be powered by a second energy storage element. The microcontroller may determine which of the first actuator or the second actuator to actuate by identifying a direction that corresponds to the sensor within the set of sensors that had a highest sensor reading. This can enable the autonomous robot to move towards the direction that has the greatest power source. [0057] Block 706 of the process 700 involves the microcontroller iteratively checking that a value of the second energy storage element exceeds a threshold. For example, the first actuator or the second actuator may only be actuated when sufficient power has been stored in the second energy storage element. Thus, the microcontroller may iteratively check the power in the second energy storage element to determine when the power exceeds 50 ^W. If the power does not exceed 50 ^W, the second energy storage element can continue to accumulate power that is harvested by the power harvesting system. [0058] Block 708 of the process 700 involves the microcontroller sending a control signal to the second actuator to drive the robot in the direction corresponding to the sensor that is within the set of sensors that has the highest sensor reading. For example, if a front right photodiode has a highest detected light strength, the microcontroller may send a control signal to the second actuator, which may drive a right hand wheel of the autonomous robot. This may cause the autonomous robot to turn in a rightwards direction. The control signal may only be sent to the second actuator if the power in the second energy storage element exceeds 50 ^W. [0059] FIG.8 illustrates example components of a computer system 800, in accordance with embodiments of the present disclosure. The computer system 800 can be used as a node in a computer network, where this node provides one or more computing components of an underlay network of the computer network and/or one or more computing components of an overlay network of the computer network. Additionally or alternatively, the components of the computer system 800 can be used in an endpoint. Although the components of the computer system 800 are illustrated as belonging to a same system, the computer system 800 can also be distributed (e.g., between multiple user devices). The computer system 800 can be an example of the microcontroller 402 of FIG.4, or any other suitable electronic device described herein. [0060] The computer system 800 can include at least a processor 802, a memory 804, a storage device 806, input/output peripherals (I/O) 808, communication peripherals 810, and an interface bus 812. The interface bus 812 is configured to communicate, transmit, and transfer data, controls, and commands among the various components of the computer system 800. The memory 804 and the storage device 806 include computer-readable storage media, such as RAM, ROM, electrically erasable programmable read-only memory (EEPROM), hard drives, CD-ROMs, optical storage devices, magnetic storage devices, electronic non- volatile computer storage; for example, Flash® memory, and other tangible storage media. Any of such computer-readable storage media can be configured to store instructions or program codes embodying aspects of the disclosure. The memory 804 and the storage device 806 also include computer-readable signal media. A computer-readable signal medium includes a propagated data signal with computer-readable program code embodied therein. Such a propagated signal takes any of a variety of forms including, but not limited to, electromagnetic, optical, or any combination thereof. A computer-readable signal medium includes any computer-readable medium that is not a computer-readable storage medium and that can communicate, propagate, or transport a program for use in connection with the computer system 800. [0061] Further, the memory 804 includes an operating system, programs, and applications. The processor 802 is configured to execute the stored instructions and includes, for example, a logical processing unit, a microprocessor, a digital signal processor, and other processors. The memory 804 and/or the processor 802 can be virtualized and can be hosted within another computer system of, for example, a cloud network or a data center. The I/O peripherals 808 include user interfaces, such as a keyboard, screen (e.g., a touch screen), microphone, speaker, other input/output devices, and computing components, such as graphical processing units, serial ports, parallel ports, universal serial buses, and other input/output peripherals. The I/O peripherals 808 are connected to the processor 802 through any of the ports coupled to the interface bus 812. The communication peripherals 810 are configured to facilitate communication between the computer system 800 and other systems over a communications network and include, for example, a network interface controller, modem, wireless and wired interface cards, antenna, and other communication peripherals. [0062] The computer system 800 can include a variety of data stores and other memory and storage media as discussed above. These can reside in a variety of locations, such as on a storage medium local to (and/or resident in) one or more of the computers or remote from any or all of the computers across the network. In a particular set of embodiments, the information may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers, servers, or other network devices may be stored locally and/or remotely, as appropriate. Where a system includes computerized devices, each such device can include hardware elements that may be electrically coupled via a bus, the elements including, for example, at least one central processing unit (“CPU”), at least one input device (e.g., a mouse, keyboard, controller, touch screen, or keypad), and at least one output device (e.g., a display device, printer, or speaker). Such a system may also include one or more storage devices, such as disk drives, optical storage devices, and solid-state storage devices, such as random-access memory (“RAM”) or read-only memory (“ROM”), as well as removable media devices, memory cards, and/or flash cards. [0063] Such devices also can include a computer-readable storage media reader, a communications device (e.g., a modem, a network card (wireless or wired)), an infrared communication device, etc.), and working memory as described above. The computer- readable storage media reader can be connected with, or configured to receive, a computer- readable storage medium, representing remote, local, fixed, and/or removable storage devices as well as storage media for temporarily and/or more permanently containing, storing, transmitting, and retrieving computer-readable information. The system and various devices also typically will include a number of software applications, modules, services, or other elements located within at least one working memory device, including an operating system and application programs, such as a client application or Web browser. It should be appreciated that alternate embodiments may have numerous variations from that described above. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed. [0064] Storage media computer readable media for containing code, or portions of code, can include any appropriate media known or used in the art, including storage media and communication media, such as but not limited to volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage and/or transmission of information such as computer readable instructions, data structures, program modules, or other data, including RAM, ROM, Electrically Erasable Programmable Read- Only Memory (“EEPROM”), flash memory or other memory technology, Compact Disc Read-Only Memory (“CD-ROM”), digital versatile disk (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a system device. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will appreciate other ways and/or methods to implement the various embodiments. [0065] While the present subject matter has been described in detail with respect to specific embodiments thereof, it will be appreciated that those skilled in the art, upon attaining an understanding of the foregoing may readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, it should be understood that the present disclosure has been presented for purposes of example rather than limitation, and does not preclude inclusion of such modifications, variations, and/or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. Indeed, the methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions, and changes in the form of the methods and systems described herein may be made without departing from the spirit of the present disclosure. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the present disclosure. [0066] Unless specifically stated otherwise, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” and “identifying” or the like refer to actions or processes of a computing device, such as one or more computers or a similar electronic computing device or devices, that manipulate or transform data represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the computing platform. [0067] The system or systems discussed herein are not limited to any particular hardware architecture or configuration. A computing device can include any suitable arrangement of components that provide a result conditioned on one or more inputs. Suitable computing devices include multipurpose microprocessor-based computing systems accessing stored software that programs or configures the computing system from a general purpose computing apparatus to a specialized computing apparatus implementing one or more embodiments of the present subject matter. Any suitable programming, scripting, or other type of language or combinations of languages may be used to implement the teachings contained herein in software to be used in programming or configuring a computing device. [0068] Embodiments of the methods disclosed herein may be performed in the operation of such computing devices. The order of the blocks presented in the examples above can be varied—for example, blocks can be re-ordered, combined, and/or broken into sub-blocks. Certain blocks or processes can be performed in parallel. [0069] Conditional language used herein, such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain examples include, while other examples do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more examples or that one or more examples necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular example. [0070] Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is otherwise understood within the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain examples require at least one of X, at least one of Y, or at least one of Z to each be present. [0071] Use herein of the word “or” is intended to cover inclusive and exclusive OR conditions. In other words, A or B or C includes any or all of the following alternative combinations as appropriate for a particular usage: A alone; B alone; C alone; A and B only; A and C only; B and C only; and all three of A and B and C. [0072] The use of the terms “a” and “an” and “the” and similar referents in the context of describing the disclosed examples (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. The use of “adapted to” or “configured to” herein is meant as open and inclusive language that does not foreclose devices adapted to or configured to perform additional tasks or steps. The term “connected” is to be construed as partly or wholly contained within, attached to, or joined together, even if there is something intervening. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. Additionally, the use of “based on” is meant to be open and inclusive, in that a process, step, calculation, or other action “based on” one or more recited conditions or values may, in practice, be based on additional conditions or values beyond those recited. Similarly, the use of “based at least in part on” is meant to be open and inclusive, in that a process, step, calculation, or other action “based at least in part on” one or more recited conditions or values may, in practice, be based on additional conditions or values beyond those recited. Headings, lists, and numbering included herein are for ease of explanation only and are not meant to be limiting. [0073] The various features and processes described above may be used independently of one another or may be combined in various ways. All possible combinations and sub- combinations are intended to fall within the scope of the present disclosure. In addition, certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described blocks or states may be performed in an order other than that specifically disclosed, or multiple blocks or states may be combined in a single block or state. The example blocks or states may be performed in serial, in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed examples. Similarly, the example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed examples. [0074] All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein. [0075] Certain processes are described and claimed herein. The operation of each block represents a sequence of operations that can be implemented in hardware, computer instructions, or a combination thereof. In the context of computer instructions, the operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be omitted or combined in any order and/or in parallel to implement the processes. [0076] Some or all of the processed described herein may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) executing collectively on one or more processors, by hardware or combinations thereof. The code may be stored on a computer-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors. The computer-readable storage medium may be non-transitory.

Claims

WHAT IS CLAIMED IS: 1. A robot, comprising: a chassis; an actuator supported by the chassis and configured to propel the robot; a power harvesting system supported by the chassis and configured to harvest power from at least one of an external source to charge a first energy storage element and a second energy storage element; and a controller supported by the chassis and electrically coupled to the actuator, the first energy storage element, and the second energy storage element, and the power harvesting system, wherein the controller is configured to: while using power from the first energy storage element, cause the power harvesting system to charge the second energy storage element; and iteratively check that a value of the second energy storage element exceeds a threshold and send a control signal to the actuator based on the value exceeding the threshold, wherein the control signal causes the actuator to propel the robot.
2. The robot of claim 1, wherein the robot is autonomous and battery-free.
3. The robot of claim 1, wherein the controller is further configured to: iteratively check that a different value of the first energy storage element has dropped below a different threshold; and in response to determining that the different value has dropped below the different threshold, switch the power harvesting system to charge the first energy storage element.
4. The robot of claim 1, wherein the actuator is a first actuator configured to propel the robot by actuating a first wheel, the robot further comprising a second actuator supported by the chassis and configured to propel the robot by actuating a second wheel.
5. The robot of claim 4, wherein the controller is further configured to iteratively check that the value of the second energy storage element exceeds the threshold and send a different control signal to the second actuator based on the value exceeding the threshold, wherein the different control signal causes the second actuator to propel the robot.
6. The robot of claim 4, further comprising a set of sensors each mounted on a different side of the robot and configured to sense conditions surrounding the robot, wherein the controller is further configured to: receive sensor data from the set of sensors; and use the sensor data to determine which of the first actuator or the second actuator to actuate to propel the robot.
7. The robot of claim 6, wherein the controller is further configured to compare individual sensor readings from each of the set of sensors, and wherein using the sensor data to determine which of the first actuator or the second actuator to actuate comprises driving the robot in a direction corresponding to a sensor that is within the set of sensors and that has a highest sensor reading.
8. An autonomous robot, comprising: a chassis; a drive system supported by the chassis and comprising: a first motor configured to drive a first set of wheels; a second motor and configured to drive a second set of wheels; a power harvesting system supported by the chassis and configured to harvest power from an external source; a circuit board supported by the chassis and comprising: a microcontroller that controls operation of the power harvesting system and the drive system; a first energy storage element that selectively receives power from the power harvesting system and powers the microcontroller; a second energy storage element that selectively receives power from the power harvesting system to power the first motor and the second motor; and a switch that is controlled by the microcontroller to selectively switch electrical connectivity between power harvesting system and the first energy storage element and the second energy storage element.
9. The autonomous robot of claim 8, further comprising a set of power harvesting sensors configured to sense power harvesting conditions surrounding the autonomous robot.
10. The autonomous robot of claim 9, wherein the set of power harvesting sensors comprises a set of photodiodes disposed on a set of sides of the autonomous robot, each photodiode configured to sense light conditions on each respective side of the autonomous robot.
11. The autonomous robot of claim 10, wherein the set of power harvesting sensors, the first energy storage element, the second energy storage element, and the microcontroller are incorporated into a foldable printed circuit board.
12. The autonomous robot of claim 8, further comprising an environmental sensor package configured to sense one or more environmental conditions, and wherein the microcontroller is further configured to: receive sensor data from the environmental sensor package; store the sensor data in memory; and share the sensor data with an external receiver via an antenna.
13. The autonomous robot of claim 8, wherein the first energy storage element and the second energy storage element have different properties.
14. A method for moving an autonomous robot, comprising: causing charging of a first energy storage element using a power harvesting system, the power harvesting system configured to harvest energy from at least one of an external source, the first energy storage element configured to power a microcontroller; turning on the microcontroller and powering the microcontroller using the first energy storage element when a first value of the first energy storage element exceeds a first threshold; ceasing charging of the first energy storage element and causing charging of a second energy storage element using the power harvesting system, the second energy storage element configured to power an actuator; selectively and repeatedly sending power signals to the actuator using power from the second energy storage element; and ceasing charging of the second energy storage element and causing charging of the first energy storage element using the power harvesting system when a second value of the first energy storage element falls below a second threshold.
15. The method of claim 14, further comprising: iteratively checking that a different value of the first energy storage element has dropped below a different threshold; and in response to determining that the different value has dropped below the different threshold, switching the power harvesting system to charge the first energy storage element.
16. The method of claim 14, wherein the actuator is a first actuator, and wherein the method further comprises: propelling the autonomous robot by actuating a first wheel via the first actuator; and propelling the autonomous robot by actuating a second wheel via a second actuator.
17. The method of claim 16, further comprising: iteratively checking that a value of the second energy storage element exceeds the threshold; and sending a different control signal to the second actuator based on the value exceeding the threshold, wherein the different control signal causes the second actuator to propel the autonomous robot.
18. The method of claim 16, further comprising: comparing individual sensor readings from each of a set of sensors; using sensor data to determine which of the first actuator or the second actuator to actuate; and driving the autonomous robot in a direction corresponding to a sensor that is within the set of sensors that has a highest sensor reading.
19. The method of claim 14, further comprising sensing power harvesting conditions surrounding the autonomous robot via a set of power harvesting sensors.
20. The method of claim 19, wherein the set of power harvesting sensors comprises a set of photodiodes disposed on a set of sides of the autonomous robot, each photodiode configured to sense light conditions on each respective side of the autonomous robot.
PCT/US2024/045862 2023-09-12 2024-09-09 Wireless microrobot and operating techniques Pending WO2025058992A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202363582203P 2023-09-12 2023-09-12
US63/582,203 2023-09-12

Publications (1)

Publication Number Publication Date
WO2025058992A1 true WO2025058992A1 (en) 2025-03-20

Family

ID=95021830

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2024/045862 Pending WO2025058992A1 (en) 2023-09-12 2024-09-09 Wireless microrobot and operating techniques

Country Status (1)

Country Link
WO (1) WO2025058992A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120274144A1 (en) * 2011-04-29 2012-11-01 Stmicroelectronics S.R.L. System and method for efficiently harvesting environmental energy
US20170024014A1 (en) * 2013-01-24 2017-01-26 University Of Washington Through Its Center For Commercialization Methods and Systems for Six Degree-of-Freedom Haptic Interaction with Streaming Point Data
US20210046833A1 (en) * 2019-06-07 2021-02-18 Anthony Macaluso Methods and apparatus for powering a vehicle
US20230327482A1 (en) * 2022-04-12 2023-10-12 Trameto Limited Power management apparatus for energy harvesting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120274144A1 (en) * 2011-04-29 2012-11-01 Stmicroelectronics S.R.L. System and method for efficiently harvesting environmental energy
US20170024014A1 (en) * 2013-01-24 2017-01-26 University Of Washington Through Its Center For Commercialization Methods and Systems for Six Degree-of-Freedom Haptic Interaction with Streaming Point Data
US20210046833A1 (en) * 2019-06-07 2021-02-18 Anthony Macaluso Methods and apparatus for powering a vehicle
US20230327482A1 (en) * 2022-04-12 2023-10-12 Trameto Limited Power management apparatus for energy harvesting

Similar Documents

Publication Publication Date Title
Ozaki et al. A wireless radiofrequency-powered insect-scale flapping-wing aerial vehicle
US20160336772A1 (en) Charging apparatus and method for electrically charging energy storage devices
Fujii et al. Endless flyer: a continuous flying drone with automatic battery replacement
Hougen et al. A miniature robotic system for reconnaissance and surveillance
US7082351B2 (en) Group robot system, and sensing robot and base station used therefor
Goldberg et al. Power and control autonomy for high-speed locomotion with an insect-scale legged robot
Junaid et al. Design and implementation of autonomous wireless charging station for rotary-wing UAVs
Song et al. A surveillance robot with hopping capabilities for home security
Johnson et al. Millimobile: An autonomous battery-free wireless microrobot
US7409266B2 (en) Group robot system that can obtain detailed overall information of object efficiently
Elkunchwar et al. Toward battery-free flight: Duty cycled recharging of small drones
Palossi et al. Extending the lifetime of nano-blimps via dynamic motor control
Sabelhaus et al. TinyTeRP: A tiny terrestrial robotic platform with modular sensing
WO2025058992A1 (en) Wireless microrobot and operating techniques
KR101982398B1 (en) Net type collection device Operable at Harsh Conditions for Safe Drone Landing
Carlson et al. Integrated solar power harvesting and hibernation for a recurrent-mission vtol micro aerial vehicle
JP2005349517A (en) Mobile robot having buoyancy generating mechanism and mobile robot group
Mandal et al. Low-cost bluetooth-arduino hover control design of a quad copter
Vishnu et al. A Low-Cost Prototyping Approach for Autonomous Unmanned Ground Vehicle for Real-Time Surveillance
Shkoropad et al. Advanced Remote-Control Systems in AI Bionic Dog Robots Using LoRa
Phanden et al. An experimental study on the flight time of quadcopter using solar energy
Indra et al. Development of A Guided Drone Powered by Radio Frequency Energy Harvesting
CN221872010U (en) Humanoid Robot
Elkunchwar Miniaturized robotics and wireless for environmental sensing
Ngo et al. Truly autonomous robots: hardware design for an energy trophallactic robot

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24866132

Country of ref document: EP

Kind code of ref document: A1