{"id":15717235,"url":"https://github.com/leehyeonbeen/ROS-SLAM-AppleSilicon","last_synced_at":"2025-03-12T17:34:28.023Z","repository":{"id":203906067,"uuid":"710666434","full_name":"hyeonbeenlee/ROS-SLAM-AppleSilicon","owner":"hyeonbeenlee","description":"ROS with Turtlebot3 SLAM Simulation installation for Apple Silicon (M1, M2) users","archived":false,"fork":false,"pushed_at":"2023-10-31T06:31:50.000Z","size":61,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-04T21:49:07.887Z","etag":null,"topics":["applesilicon","arm","arm64","gazebo","m1","m1-mac","macos","macosx","ros","rviz","slam","turtlebot3"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/hyeonbeenlee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2023-10-27T07:19:27.000Z","updated_at":"2024-08-28T09:15:30.000Z","dependencies_parsed_at":"2023-12-31T11:50:55.061Z","dependency_job_id":null,"html_url":"https://github.com/hyeonbeenlee/ROS-SLAM-AppleSilicon","commit_stats":{"total_commits":35,"total_committers":2,"mean_commits":17.5,"dds":0.4,"last_synced_commit":"f494152c62202142ebae92077ea19461778fde7b"},"previous_names":["hyeonbeenlee/applesilicon-ros-gazebo","hyeonbeenlee/ros-gazebo-applesilicon","hyeonbeenlee/ros-slam-applesilicon"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyeonbeenlee%2FROS-SLAM-AppleSilicon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyeonbeenlee%2FROS-SLAM-AppleSilicon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyeonbeenlee%2FROS-SLAM-AppleSilicon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyeonbeenlee%2FROS-SLAM-AppleSilicon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyeonbeenlee","download_url":"https://codeload.github.com/hyeonbeenlee/ROS-SLAM-AppleSilicon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221309128,"owners_count":16795692,"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":["applesilicon","arm","arm64","gazebo","m1","m1-mac","macos","macosx","ros","rviz","slam","turtlebot3"],"created_at":"2024-10-03T21:49:09.772Z","updated_at":"2025-03-12T17:34:22.726Z","avatar_url":"https://github.com/hyeonbeenlee.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ROS-SLAM-AppleSilicon\n## This repo is tested for ROS-Noetic on Ubuntu 20.04 only.\n\n![demo1](https://github.com/hyeonbeenlee/ROS-SLAM-AppleSilicon/assets/78078652/9a801436-3bcb-4ab1-8fe8-baae9dfca665)\n  \n![demo2](https://github.com/hyeonbeenlee/ROS-SLAM-AppleSilicon/assets/78078652/91c02fa3-93a8-4357-addb-dd8cb595b000)\n\nI have struggled several weeks to \u003cins\u003erun Turtlebot3 SLAM simulations with ROS-Noetic on my M1 MacBook Pro\u003c/ins\u003e, and here is the ***ultimate solution.***  \nTo the best of my knowledge and experience, \u003cins\u003e**connecting Remote Desktop to VMware-running Ubuntu** was the only fully-successful option.\u003c/ins\u003e  \nI've also tried other options including:   \n1. Dual-booting to native Asahi-Ubuntu\n2. XQuartz-forwarding to Ubuntu Docker container\n3. Remote Desktop connecting to Ubuntu Docker container\n\nBut after all, these \u003cins\u003e***DID NOT***\u003c/ins\u003e successfully run Gazebo and other required applications.\n\n# Step 1: Install VMware Fusion and RDP client\n[Download Remote Desktop Client](https://apps.apple.com/kr/app/microsoft-remote-desktop/id1295203466?l=en-GB\u0026mt=12)  \n\n[Download VMware Fusion Player](https://www.vmware.com/products/fusion/fusion-evaluation.html)  \nYou may need to sign up and register to get the free personal-use license.\n\n\n# Step 2: Download Ubuntu image\n[Download Ubuntu Server for ARM 20.04 Focal](https://cdimage.ubuntu.com/releases/focal/release/ubuntu-20.04.5-live-server-arm64.iso)  \n[Download Ubuntu Server for ARM 22.04 Jammy](https://cdimage.ubuntu.com/releases/22.04/release/ubuntu-22.04.3-live-server-arm64.iso)\n\n# Step 3: Create Ubuntu machine in VMware Fusion\nCreate virtual Ubuntu machine from the downloaded image at Step 2.  \n\u003cins\u003eDon't forget to customize your settings\u003c/ins\u003e before starting the new virtual machine (disk size, processors, memories, etc.).  \nJust follow the instructions, create your user, and reboot.\n\n# Step 4: Clone this repo\n```\ncd \u0026\u0026 git clone https://github.com/hyeonbeenlee/ROS-SLAM-AppleSilicon.git\ncd ROS-SLAM-AppleSilicon\n```\n\n# Step 5: Run automatic setup\nRunning the ```setup_\u003cROS_DISTRO\u003e.sh``` in the VM's Ubuntu terminal will do the following in sequence:\n- Authorize the user\n-  Update the default apt mirrors to faster local(Korean) mirrors\n- Setup SSH and XRDP connections\n- Install Firefox and VSCode\n- Install ROS and Turtlebot3-Gazebo simulation apps\n- Clean and reboot\n\nBefore you run ```setup_\u003cROS_DISTRO\u003e.sh```, there're \u003cins\u003efew things to be personalized.\u003c/ins\u003e  \n```\nvi setup_\u003cROS_DISTRO\u003e.sh\n```\n1. **Replace ```hyeonbeen``` to ```\u003cYOUR_USERNAME\u003e```.**\n2. **Replace the Korean apt mirror ```ftp.lanet.kr``` to others, if necessary.**\n3. **Replace the ```noetic``` to ```\u003cYOUR_ROS_VERSION\u003e``` if necessary.**\n\nThen, run the ```setup_\u003cROS_DISTRO\u003e.sh```\n```\n. setup.sh\n```\n\n# Step 6: Connect to VM using Remote Desktop Client\nWhile your VM Ubuntu is running, you can connect to ```\u003cVM_IP\u003e:3389``` and use Full-GUI experience with ROS and Gazebo.  \n```\u003cVM_IP\u003e``` is the local IP address of your VM, and can be obtained through\n```\nifconfig\n```\n\n# Step 7: Test your VM\nTest apps on your VM by running below codes:  \n### Scanning and saving map\n[ROBOTIS Official SLAM Guide](https://emanual.robotis.com/docs/en/platform/turtlebot3/slam_simulation/)\n```\nroscore\nroslaunch turtlebot3_gazebo turtlebot3_house.launch\nroslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping\nroslaunch turtlebot3_teleop turtlebot3_teleop_key.launch\nrosrun map_server map_saver -f ~/map\n```\n\n### Loading scanned map and navigating\n[ROBOTIS Official Navigation Guide](https://emanual.robotis.com/docs/en/platform/turtlebot3/nav_simulation/)\n```\nroscore\nroslaunch turtlebot3_gazebo turtlebot3_house.launch\nroslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml\nroslaunch turtlebot3_teleop turtlebot3_teleop_key.launch\n```\n\n# Troubleshooting\nIf you cannot connect using the Remote Desktop,\nCheck if you're connecting to the right ```\u003cVM_IP\u003e```,  \n```\nsudo systemctl restart xrdp\nsudo service xrdp restart\n```\nand try reconnecting (or rebooting your MacBook).\n\n# ENJOY!\nI hope there are no more victims like me...  \nPlease make an issue if there're any problems.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleehyeonbeen%2FROS-SLAM-AppleSilicon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleehyeonbeen%2FROS-SLAM-AppleSilicon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleehyeonbeen%2FROS-SLAM-AppleSilicon/lists"}