lab0
pdf
keyboard_arrow_up
School
Georgia Institute Of Technology *
*We aren’t endorsed by this school
Course
7785
Subject
Mechanical Engineering
Date
Apr 3, 2024
Type
Pages
3
Uploaded by ChancellorField13323
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
Related Documents
Related Questions
I want to answer all the questions by handwriting.
arrow_forward
Make a simulink program turning on the LED on the board for 10sec. Can you write down the steps to create the simulink program because it is my first time using it.
arrow_forward
Please do not copy other's work and do not use ChatGPT or Gpt4,i will be very very very appreciate!!!
Thanks a lot!!!!!
arrow_forward
Problem 1: You are working in a consulting company that does a lot of hand calculations for designs in
Aerospace Industry for mechanical, thermal, and fluidic systems. You took the Virtual engineering
course, and you want to convince your boss and the team you work to move to modelling and simulation
in computers using a certain software (Ansys, Abaqus, etc). Discuss the benefits and pitfalls of computer
based models used within an industrial environment to solve problems in engineering.
arrow_forward
Version #2
Describe the situation using a diagram:
Contact Push/Pull Interaction
4
Write the narrative:
During the contact push/pull interaction between the hand and the cart kinetic energy is transferred between them. The type of energy that changes in the two interacting objects is always the same as the type of energy that is transferred, so this means that the kinetic energy of the hand decreases while the kinetic energy of the cart increases. Since the cart was at rest to start with, this increase of kinetic energy means that it starts to move.
Which criterion (accuracy, completeness, or clarity and logical reasoning) is not satisfied by this explanation? Briefly explain why you think so.
arrow_forward
I have been working on this Solid Mech problem for a while and have gottem nowhere
we are supposed to be finding the modulus of elasticity for a set of data (attached). I have made an excel sheet from this to finda stress strain graph. I understand how the modulus of elasticity is (E = (delta stress)/(delta strain)) but I cannot find the propotional limit that I need to find delta stress and delta strain
arrow_forward
Don't Use Chat GPT Will Upvote And Give Handwritten Solution Please
arrow_forward
I need help solving this problem.
arrow_forward
System Specification
Task 1 is to complete the development of a simple simulated 2-wheel drive mobile robot platform.
You will need to research suitable actuators and platform designs. From review of your research then produce
a specification and model of the platform to hold the proposed processor unit (myRIO), and actuators together
(your chosen motors from selection available) with a battery (Hardware datasheets on BB).
arrow_forward
Please choose the false answer(s) from the following statements related to CAD!
a. It can be used for programming of robots, which may operate in a workcell arrangement, selecting and positioning tools and workpieces for NC machines.
b. It is a technology which uses computer system to assist in the creation, modification, analysis and optimization of a design.
c. Geometry can be used as a basis for other functions in CAE and CAM, saving time and reducing errors caused by redefining the geometry of design.
d. Basic role of CAD is to define the geometry of design (computer aided drafting, and geometric modelling are the most important component of CAD).
arrow_forward
Identify the lines
arrow_forward
4. Documents business requirements use-case narratives.for only one process
note: please i want Documents like this in pic
arrow_forward
You are spending the summer as an assistant learning how to navigate on a large ship carrying freight across Lake Erie. One day, you and your ship are to travel across the lake a distance of 200 km traveling due north from yourorigin port to your destination port. Just as you leave your origin port, the navigation electronics go down. The captain continues sailing, claiming he can depend on his years of experience on the water as a guide. The engineers work on the navigation system while the ship continues to sail,and winds and waves push it off course. Eventually, enough of the navigation system comes back up to tell you your location. The system tells you that your current position is 50.0 km north of the origin port and 25.0 km east of the port. The captain is a little embarrassed that his ship is sofar off course and barks an order to you to tell him immediately what heading he should set from your current position to the destination port. Give him an appropriate heading angle.
arrow_forward
SEE MORE QUESTIONS
Recommended textbooks for you

Welding: Principles and Applications (MindTap Cou...
Mechanical Engineering
ISBN:9781305494695
Author:Larry Jeffus
Publisher:Cengage Learning
Related Questions
- I want to answer all the questions by handwriting.arrow_forwardMake a simulink program turning on the LED on the board for 10sec. Can you write down the steps to create the simulink program because it is my first time using it.arrow_forwardPlease do not copy other's work and do not use ChatGPT or Gpt4,i will be very very very appreciate!!! Thanks a lot!!!!!arrow_forward
- Problem 1: You are working in a consulting company that does a lot of hand calculations for designs in Aerospace Industry for mechanical, thermal, and fluidic systems. You took the Virtual engineering course, and you want to convince your boss and the team you work to move to modelling and simulation in computers using a certain software (Ansys, Abaqus, etc). Discuss the benefits and pitfalls of computer based models used within an industrial environment to solve problems in engineering.arrow_forwardVersion #2 Describe the situation using a diagram: Contact Push/Pull Interaction 4 Write the narrative: During the contact push/pull interaction between the hand and the cart kinetic energy is transferred between them. The type of energy that changes in the two interacting objects is always the same as the type of energy that is transferred, so this means that the kinetic energy of the hand decreases while the kinetic energy of the cart increases. Since the cart was at rest to start with, this increase of kinetic energy means that it starts to move. Which criterion (accuracy, completeness, or clarity and logical reasoning) is not satisfied by this explanation? Briefly explain why you think so.arrow_forwardI have been working on this Solid Mech problem for a while and have gottem nowhere we are supposed to be finding the modulus of elasticity for a set of data (attached). I have made an excel sheet from this to finda stress strain graph. I understand how the modulus of elasticity is (E = (delta stress)/(delta strain)) but I cannot find the propotional limit that I need to find delta stress and delta strainarrow_forward
- Don't Use Chat GPT Will Upvote And Give Handwritten Solution Pleasearrow_forwardI need help solving this problem.arrow_forwardSystem Specification Task 1 is to complete the development of a simple simulated 2-wheel drive mobile robot platform. You will need to research suitable actuators and platform designs. From review of your research then produce a specification and model of the platform to hold the proposed processor unit (myRIO), and actuators together (your chosen motors from selection available) with a battery (Hardware datasheets on BB).arrow_forward
- Please choose the false answer(s) from the following statements related to CAD! a. It can be used for programming of robots, which may operate in a workcell arrangement, selecting and positioning tools and workpieces for NC machines. b. It is a technology which uses computer system to assist in the creation, modification, analysis and optimization of a design. c. Geometry can be used as a basis for other functions in CAE and CAM, saving time and reducing errors caused by redefining the geometry of design. d. Basic role of CAD is to define the geometry of design (computer aided drafting, and geometric modelling are the most important component of CAD).arrow_forwardIdentify the linesarrow_forward4. Documents business requirements use-case narratives.for only one process note: please i want Documents like this in picarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Welding: Principles and Applications (MindTap Cou...Mechanical EngineeringISBN:9781305494695Author:Larry JeffusPublisher:Cengage Learning

Welding: Principles and Applications (MindTap Cou...
Mechanical Engineering
ISBN:9781305494695
Author:Larry Jeffus
Publisher:Cengage Learning