lab0

pdf

School

Georgia Institute Of Technology *

*We aren’t endorsed by this school

Course

7785

Subject

Mechanical Engineering

Date

Apr 3, 2024

Type

pdf

Pages

3

Uploaded by ChancellorField13323

Report
CS/ME/ECE/AE/BME 7785 Lab 0 Before you get started... Read this entire section before starting any installations to understand all of your options. Always feel free to reach out to the instructors of the course if you have concerns or questions. When released, the robots we work with in this course (Turtlebot 3), originally used Ubuntu 16.04 and ROS 1 Kinetic Kame but, since those are are reaching their EOL, we will be switching to Ubuntu 22.04 and ROS 2 Humble Hawksbill. Be careful when following Turtlebot3 guides blindly as they were originally written for ROS 1 Kinetic Kame. Ubuntu is the standard operating system used with ROS, and the one we advise you use in this course. We will be using Ubuntu 22.04 (see the notes below). If you don’t have this Ubuntu version installed already, then you have several options: Dual-boot your laptop to run both Ubuntu and your current OS. Note: Windows dual boots require you to disable Bitlocker, make sure you know your Bitloccker login credentials before disabling this feature as you will need to re-enable Bitlocker after the installation to access your encrypted files . Install Ubuntu on an external hard drive and boot from that. Set up Ubuntu on a virtual machine. There may be some challenges to making this work well. For MacOS students have reported good results using a guide available on Canvas. Use one of the lab desktops we provide. This is the least flexible solution since it relies on a shared machine. Note 1: ROS 2 has functionality on Windows, however, the instructors have not tested this thoroughly with the Turtlebots and it does not appear that the Turtlebot3 packages have been updated for ROS 2 with Windows. Note 2: ROS 2 has functionality on MAC OS, however, the instructors have not tested this thoroughly with the Turtlebots. Beyond this, there may be issues with the M1/M2 chipset and it does not appear that the Turtlebot3 packages have been updated for ROS 2 with Mac OS. 1
Introduction to Robotics Research, Lab 0: Spring, 2024 Lab 1. If you are new to ROS and to a lesser extent ROS2, information for installing and understand- ing ROS2 Humble Hawksbill can be found at: http://docs.ros.org/en/humble/ . 2. There are two guides to install ROS2 on Linux and Windows (they are the same presented in different ways), (a) Follow the guide from the official ROS 2 documentation at http://docs.ros.org/en/humble/Installation.html i. This course recommends you perform a Desktop-Full Install so you include all the GUI options available with ROS 2. (b) Follow the guide from the Turtlebot3 documentation at https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/ i. Note this page defaults to ROS Kinetic, make sure you click the button at the top for Humble/Windows and follow the correct Humble/Windows directions. You’ll know you’re on the right page if your instructions include com- mands like, sudo apt-get install ros- humble -gazebo-* 3. Complete the Beginner ROS tutorials found at http://docs.ros.org/en/humble/Tutorials.html . Make sure you are using the colcon build system. There are tutorials in both C++ and Python. Feel free to use either language, however note that ROS Python code is typically easier to understand and debug (for your instructors as well as in general). C++ is typically performs faster and has some advantages (like Nodelets), but we will not be doing anything requiring that kind of optimization. 4. Next install the Turtlebot3 Packages. The directions are in section 3.1.4 of https://emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/ . Note this page de- faults to ROS Kinetic, make sure you click the button at the top for Hum- ble/Windows and follow the correct Humble/Windows directions. For Linux sys- tem, make sure you build from source instead of installing via debian packages. The following commands will successfully install Turtlebot3 packages for Linux PC with ROS2 Humble: mkdir -p ~/turtlebot3_ws/src cd ~/turtlebot3_ws/src/ git clone -b humble-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git cd ~/turtlebot3_ws colcon build –symlink-install 2
Introduction to Robotics Research, Lab 0: Spring, 2024 echo ’source ~/turtlebot3_ws/install/setup.bash’ » ~/.bashrc source ~/.bashrc The next two steps involve simulation. If your PC cannot handle the simulation environment or there are other errors let us know. 5. Now that you’re starting to grasp at ROS, it is useful to be able to test scripts you write in a simulation environment before deploying them on the hardware in the lab. The people working on the Turtlebot3 have released a great simulation package for Gazebo ( http://gazebosim.org/ ). Follow the tutorials in Step 6 of the quick start guide found at https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/ make sure to install and test the Gazebo simulator (step 6.1) and fake_node (step 6.4). Note again these pages defaults to ROS Kinetic, make sure you click the button at the top for Humble and follow the correct Humble directions. 6. Make sure you can run the turtlebot3_teleop example using the Turtlebot3 fake node and Gazebo simulator. The simulated robot should move around based on your keyboard com- mand! Submission There is nothing to submit for this lab, but please post any issues or questions you run into during this process in Slack. While this lab does not count towards your grade, it is the foundation for the rest of the course. If you are having problems, please avoid waiting until Lab 1 to address them. Note, after reading over the beginner tutorials for ROS you should be able to answer the following questions. What is a ROS_DOMAIN_ID? What is a workspace? What is a package? What is a node? What is a topic? What is a message? What is a subscriber? Write the lines of code required to to create a subscriber in Python. What is a publisher? Write the lines of code required to to create a publisher in Python. Can a node have multiple subscribers? Can a node have multiple publishers? 3
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
  • Access to all documents
  • Unlimited textbook solutions
  • 24/7 expert homework help