{"id":18634580,"url":"https://github.com/abrg-models/miro","last_synced_at":"2025-11-04T11:30:30.661Z","repository":{"id":74369387,"uuid":"176303773","full_name":"ABRG-Models/MiRo","owner":"ABRG-Models","description":"Collaborative MiRo-E development","archived":false,"fork":false,"pushed_at":"2020-01-10T11:10:19.000Z","size":53530,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-27T08:27:06.810Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ABRG-Models.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-03-18T14:29:08.000Z","updated_at":"2024-11-10T20:25:45.000Z","dependencies_parsed_at":"2023-03-07T20:15:29.376Z","dependency_job_id":null,"html_url":"https://github.com/ABRG-Models/MiRo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ABRG-Models%2FMiRo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ABRG-Models%2FMiRo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ABRG-Models%2FMiRo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ABRG-Models%2FMiRo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ABRG-Models","download_url":"https://codeload.github.com/ABRG-Models/MiRo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239432873,"owners_count":19637799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-11-07T05:19:38.874Z","updated_at":"2025-11-04T11:30:30.615Z","avatar_url":"https://github.com/ABRG-Models.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MiRo\nFor collaborative development of the MiRo-E demo code\n\n## Getting started\nThere's just a few things you'll need to do before using this repo for MiRo development:\n1. Request access to the repo in the Slack and accept the invite\n2. Clone the repo to a suitable location on your local machine\n3. Run the MDK installer (at `mdk/bin/deb64/install_mdk.sh`) from the download location to set this version of the MDK as the one your MiRo simulator will run -- if you've previously installed the MDK you may have to remove the current symlink at `~/mdk` first\n4. That's it! If you're already familiar with Git, feel free to create a branch for your project and dig in; if you've not used Git before then there's a couple of guides linked below, but just ask if you need any help.\n\n* [Resources to help learn Git](https://try.github.io)\n* [Guides to various Git concepts](https://guides.github.com)\n* [Git commands cheatsheet](https://github.github.com/training-kit/downloads/github-git-cheat-sheet/)\n\n### Students\nThe desktop computers in B.09 have a copy of this repo at `~/Documents/MiRo`; the first thing you should do is create and checkout a new branch for your project by changing to the repo directory and running `git checkout -b \u003cyour_project_name\u003e`. We're going to store project work in a single cloned repo location on the disk (as this makes running the MDK a lot easier) but in separate branches, so it's probably worth familiarising yourself with [how branching works in Git](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell) if you've not used Git before. In particular, it's important that you remember to *checkout* your branch each time you want to do some work, and then *commit* and *push* your changes once you're finished.\n\nPlease don't push changes to the `master` branch or make changes to the code on the physical robots; these should be left in a known-good state.\n\n## Interacting with MiRo\nWe use [ROS](https://www.ros.org) to interface with both physical and virtual MiRos and [Gazebo](http://gazebosim.org) as a simulation environment, so these are the two additional software packages you'll need to test your code on your personal machine. There are two ways to get going:\n\n### Native\nA native install will allow the Gazebo simulator to run quicker and is likely to be simpler and have fewer issues overall, but because of the software dependencies it will require you to install [Ubuntu 16](http://releases.ubuntu.com/16.04/) or an Ubuntu 16 fork such as [Linux Mint 'Sylvia'](https://linuxmint.com/release.php?id=31) as your OS.\n\nOnce you've done that, it's recommended you follow the [official MiRo-E documentation](http://labs.consequentialrobotics.com/miro-e/docs/index.php?page=Developer_Profiles_Simulator) for installing ROS Kinetic and Gazebo 7.\n\n### Docker\nIf you don't want to install Ubuntu 16 on your machine, it should be possible to run a virtualised instance of the MiRo simulator through [Docker](https://www.docker.com) (as long as you're still running some Linux variant). [Install Docker CE](https://docs.docker.com/install/linux/docker-ce/ubuntu/) and then:\n1. Run `docker pull tacd/miro_sim` to get the MiRo simulator Docker image\n2. Run `docker run -it --net host -v $XAUTHORITY:/root/.Xauthority -v /tmp/.X11-unix:/tmp/.X11-unix tacd/miro_sim` to launch the Docker image\n\nIf all goes well, Gazebo should open with a virtual MiRo already loaded.\n\n## Connecting to a physical robot\nTo connect to the ROS core on your MiRo robot you will need to ensure three environment variables are set correctly:\n* `ROS_IP` must be set to your machine's IP address (of the interface used to communicate with MiRo)\n* `ROS_MASTER_URI` must be set to `http://\u003cMiRo's IP\u003e:11311`\n* `MIRO_ROBOT_NAME` must be set to your MiRo's ROS name - this can easily be viewed in the MiRo app\n\n### Useful commands\nThe following commands all require a running `roscore` instance for use with a virtual MiRo\n\n**Launch the MiRo simulator:**\n`~/mdk/sim/launch_sim.sh`\n\n**Run the client GUI:**\n`~/mdk/bin/shared/client_gui.py`\n\n**Run the MiRo demo code:**\nRun the following commands in separate terminal windows:\n* `~/mdk/share/python/miro2/core/client_demo.py - caml` (Note the space before and after the dash)\n* `~/mdk/share/python/miro2/core/client_demo.py - camr`\n* `~/mdk/share/python/miro2/core/client_demo.py`\n\n### Troubleshooting\nIf you can view ROS data but not send commands, this usually indicates that `ROS_IP` is not set correctly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabrg-models%2Fmiro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabrg-models%2Fmiro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabrg-models%2Fmiro/lists"}