{"id":17494220,"url":"https://github.com/maxstrange/artie","last_synced_at":"2026-01-19T06:02:48.005Z","repository":{"id":49219540,"uuid":"235641440","full_name":"MaxStrange/Artie","owner":"MaxStrange","description":"Research in Developmental Robotics","archived":false,"fork":false,"pushed_at":"2026-01-15T17:43:56.000Z","size":19173,"stargazers_count":0,"open_issues_count":65,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-15T20:17:55.806Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaxStrange.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-01-22T18:47:10.000Z","updated_at":"2025-12-30T04:05:14.000Z","dependencies_parsed_at":"2023-02-14T13:15:31.345Z","dependency_job_id":"ae3de010-9b5e-4a0c-a8b4-6774740f6819","html_url":"https://github.com/MaxStrange/Artie","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MaxStrange/Artie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxStrange%2FArtie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxStrange%2FArtie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxStrange%2FArtie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxStrange%2FArtie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaxStrange","download_url":"https://codeload.github.com/MaxStrange/Artie/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxStrange%2FArtie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28562239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-19T13:05:47.192Z","updated_at":"2026-01-19T06:02:47.999Z","avatar_url":"https://github.com/MaxStrange.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Artie\n\n**This code is pre-release: you cannot yet build an Artie bot - not all of the software and hardware is ready!**\n\nThis repository contains all the software and documentation required to build and use Artie,\nan open source developmental robotics platform.\n\nThe purpose of Artie is twofold: data collection and testing developmental robotics theories.\n\nThe vision is that Artie will be fully open source, 3D-printable, and as cheap as is feasible,\nwhile still being easy to use and extend.\n\n## Get Started\n\n**Looking for the contributing guide?** [See here](./CONTRIBUTING.md)\n\nBefore you can use Artie, you need to build him.\n\n**Please note:** you cannot yet build an Artie! These instructions will certainly change, the bill of materials\nwill change, the schematics will change, etc.\n\n### Building Artie\n\nBuilding Artie is composed of the following steps:\n\n1. Get your parts\n1. Flash the parts\n1. Build your bot\n\n[See here for the full instructions](./docs/building/building-artie-main.md)\n\n### Using Artie\n\nThe Artie ecosystem consists of the following:\n\n* *Artie*: The actual robot itself - the PCBs, 3D printed parts, the single board computers (SBCs),\n           microcontroller units (MCUs), sensors, actuators, LCDs, etc.\n           The first release will be a robot that is physically similar to a full-term newborn infant.\n           This Artie is refered to as Artie00. There are plans for future versions of Artie that\n           are physically similar to older infants and toddlers. But you could also build your own\n           version of Artie that is physically similar to a different age or even a different species!\n    - *Firmware*: The MCU firmware.\n    - *Yocto Images*: The custom embedded Linux images for the SBCs.\n    - *Drivers*: Applications that run on the SBCs and interface with hardware.\n* *Artie Framework*: The tooling, services, and libraries that allow users to build applications\n  that run on an Artie and interface with Artie's hardware and software.\n    - *Artie Tool*: A single tool to flash, test, build, release, etc.\n    - *Artie Workbench*: A graphical user interface that allows a user to control and configure an Artie.\n    - *ArDK*: The Artie Development Kit - libraries, base Docker images, and infrastructural applications.\n\n### Artie Out of the Box\n\nOnce you have built an Artie, [see here for instructions on using your Artie](./docs/out-of-the-box/getting-started.md).\n\n## Motivation\n\n### Why Developmental Robotics?\n\nDevelopmental robotics is the study of human development by means of simulating it.\nIt is an important field of study for at least the following reasons:\n\n1. Developmental robotics informs the study of human development. What better way to test a theory\n   of how a human develops than to try to build a human?\n1. Developmental robotics informs the study of artificial intelligence. AI can benefit from any advances\n   in our understanding of human intelligence.\n1. Developmental robotics informs the study of robotics. Building a robot always involves solving difficult\n   engineering problems. Building a robot that can learn and adapt like a human is even more difficult,\n   and any advances in this field will likely have applications in more traditional robotics or in soft robotics.\n\nHere's a great excerpt from Wikipedia:\n\n\u003e As in human children, learning is expected to be cumulative and of progressively increasing complexity,\n  and to result from self-exploration of the world in combination with social interaction.\n  The typical methodological approach consists in starting from theories of human and animal development\n  elaborated in fields such as developmental psychology, neuroscience, developmental and evolutionary biology,\n  and linguistics, then to formalize and implement them in robots\n\nDevelopmental robotics is such a cool field. I wish way more people were interested in it.\n\n### Embodiment\n\nA central tenet of developmental robotics is that embodiment (agency) is necessary for intelligence.\nHuman intelligence stems from a need to manipulate the world and ourselves in response to the world.\nIt does not exist in a vacuum. Hence, it makes sense to embody an intelligent agent in a physical\n(or at least virtual) world.\n\n### Why a Robot?\n\nIf developmental robotics is the study of human development by means of simulating it, why\nbuild an actual robot? Why not just simulate one in a physics simulator?\n\nThe answer is simple: humans aren't simulated - they exist in a messy, physical world. Any theory\nof how a human develops must ultimately be put to the test in the same world with the same parameters.\nIn fact, when you try to go from a theory to a physical implementation, you always find that the theory\nwas underspecified: in implementing the theory, you have to make decisions about things that the theory\ndid not address. This process of implementation forces you to refine the theory and address gaps that\nyou did not know existed.\n\nNonetheless, there is a place for virtual simulation in developmental robotics, and Artie\nwill hopefully incorporate a simulator, since working with an actual robot is way less convenient\nthan working in a video game, but this simulator is a long way off for now. Get in touch if\nyou'd like to help build it!\n\nOne last thing about robots: embodiment is a two-way street. Though you can get by to an extent with\ndatasets that are impersonal and aggregated (as in the typical supervised learning paradigm of machine learning),\nhumans do not learn this way. Humans learn from interacting with their environment and by their environment\ninteracting with them. Parents speak directly to their children using infant-directed speech, based on\nwhat their children are currently doing. Teenagers navigate social environments that are unique to their\nparticular group of friends. Young adults take elective classes at university that are interesting to them.\n*An intelligent agent has an active, often causative relationship with the data from which it learns.*\nHence, you need to place the subject into an environment to truly study the development of natural intelligence.\n\nFinally, robots are awesome!\n\n### Why not Buy a Robot that Already Exists?\n\nWe found that we needed a robot that fulfilled the following criteria:\n\n* Open Source - both hardware and software\n* Affordable - we wanted to be able to build multiple copies of the robot without grant funding.\n  We think this is key: robotics research is slowly coming to the masses of hobbyists, students,\n  and citizen scientists, but developmental robotics research is still mostly confined to well-funded labs.\n* Designed for Developmental Robotics - many existing robots are designed for other purposes,\n  such as research in traditional robotics, human-robot interaction, or AI. These robots never\n  take into account the specific needs of developmental robotics research, such as the physical constraints\n  of a human infant, or the physiological requirements of various sensor components. Artie is designed\n  from the ground up with developmental robotics in mind: we have compromised on biomimicry only as far\n  as is absolutely necessary to make the robot affordable and buildable.\n* Modular and Extensible - we wanted a robot that could be easily modified, extended, and repaired.\n  Research moves quickly, and we wanted a robot that could keep pace.\n  We also wanted a robot that could be customized to fit the needs of different researchers\n  and different experiments, which means that we aren't building a robot - we are building a robotics ecosystem.\n* Easy to Build - we wanted a robot that could be built by a single person with moderate technical skills\n  and a small budget. This means that we had to make the robot as easy to assemble as possible,\n  while still maintaining the other criteria.\n* Professional grade - we wanted a robot that was reliable and fun to use. Every layer of Artie's\n  software stack is designed to be robust, maintainable, and to follow engineering best practices,\n  so that researchers can focus on their research, not on debugging the robot.\n* Data provenance and reproducibility - we wanted a robot that could keep track of where its data came from, so that\n  researchers can be sure that their experiments are reproducible and that their data is trustworthy.\n  Artie uses containerization and orchestration to ensure that software environments are consistent\n  across different deployments. Additionally, even the single board computers are running custom\n  Linux images built using Yocto, so that the entire software stack is under control: if it worked once,\n  it should work every time; you are running an experiment with Artie, not just getting him to work this one time.\n* Fun to use - we wanted a robot that was enjoyable to work with, both for researchers and for\n  the subjects of experiments. A robot that is engaging and appealing is more likely to elicit\n  natural behaviors from human subjects, which is crucial for developmental robotics research.\n\nAlternatives exist, but they don't meet these criteria. For example, there's:\n  - [Poppy](https://www.generationrobots.com/en/312-poppy-humanoid-robot), which is about $10k USD,\n    and while it's open source and extensible, it's not designed specifically for developmental robotics,\n    with very little biomimicry.\n  - [Nao](https://en.wikipedia.org/wiki/Nao_(robot)), which is about $15k USD, and while it is well-regarded\n    and used extensively, its hardware is not extensible or modifiable, and it\n    is designed more for human-robot interaction than developmental robotics. Again, very little biomimicry.\n  - [iCub](https://icub.iit.it/products/product-catalog), which is about$250k USD, and while it is\n    designed for developmental robotics and has a high degree of biomimicry, its cost\n    makes it inaccessible to most researchers.\n  - [Berkeley Humanoid Lite](https://lite.berkeley-humanoid.org/), which is about $5k USD, and while it is affordable\n    and open source, it is not designed specifically for developmental robotics, again with very little biomimicry\n    in mind.\n\nAdditionally, we did not use ROS (Robot Operating System) as the basis for Artie's software stack.\nWhile ROS is a great tool for traditional robotics development, we felt it was not well-suited\nfor reproducible developmental robotics research. ROS's architecture is not designed\nfor containerization and orchestration, which are key to ensuring that experiments\nare reproducible and that software environments are consistent across different deployments.\nAlso, while ROS has a huge ecosystem and excellent community support/adoption, it is too general purpose\nfor our needs: we wanted a software stack that was specifically designed for developmental robotics and for research.\nReally the only thing that we could have used from ROS was its inter-process communication (IPC) mechanisms.\nI suppose its physics simulator would have been nice, too.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxstrange%2Fartie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxstrange%2Fartie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxstrange%2Fartie/lists"}