L1 Introduction2023
L1 Introduction2023
Introduction
• TurtleBot-burger
• UR5
• Tello
• Baxter
• Learning methods: attending lectures, attending tutorials, doing labs and project, prepare
labs and project demo and report.
Labs are to be done in groups
• 4 students per group (some groups of 5 permitted if needed):
– We are back in the lab!
– The assignments can be implemented on simulated environment and/or we will provide data to
test your code.
– Translate your project to real hardware (Ask tutors and staff how to access the hardware)
– When working in the lab, respect lab rules
• Labs and Project work and report are group assignments! Work in the lab
collaboratively and write the reports as collaborative papers.
Component Discipline
Manipulator/Rover, End effector Mechanical design
Sensors/Power system Electrical Design
Perception/Control/Intelligence Artificial intelligence, Computer Vision
Software, logic Computing Systems
Communication, interconnectivity Electronic Engineering; Tele
communication
Applications
• Industrial robots (manipulator)
Slide 19
Australian Centre for
Field Robotics
Australian Centre for Field Robotics
https://www.youtube.com/watch?v=punZ7ONvcMg
• Navigation and mapping: SLAM using both visual and Scott Reef (2009, 2011)
volumes of data
SA Sir Joseph Banks MPA (2008)
Batemans Bay (2010, 2012, 2014)
Legend
Geoscience
IMOS AUV
Facility
2007-2017
Logistics of Multivehicle Operations
Industry
• R&D Engineer at Icnita S.L., Girona, Spain (May 2005 – April 2006)
Research
• Post-doctoral research at IRI, Barcelona, Spain (May 2006 – April 2009)
• Post-doctoral research at Georgia Tech, Atlanta, USA (May 2009 – Sept. 2010)
• Research scientist at LAAS-CNRS, Toulouse, France (Oct. 2010 – Dec. 2011)
• Research scientist at Brno University of Technology, Brno, CZ (Feb. 2012 – Jan.2015)
• ACRV research fellow, ANU, Canberra, Australia (Feb. 2015 – Dec.2018)
• The University of Sydney (Jan. 2019 – Present)
40
University of Girona, Spain (UdG)
40
30
y(m)
20
10
20 15 10 5 0 5 10 15 20 25 30
Urban Robotics x(m)
Simultaneous Localization and Mapping (SLAM)
41
Georgia Tech, USA
x
x 2
2
1
0
x
x 1
x
1 1
2
0 x 3
1
1
Multirobot SLAM Underwater Positioning System 42
Brno University of Technology, Czech Republic
44
Application to Underwater 3D Reconstruction
Dynamic Scenes
International Developments in Robotics
Automating
Surgical Subtasks
Biomimetic Robots
Slide 55
Many More Robot Applications
Slide 57
MTRX5700: Major Project
MTRX5700: Major Project
MTRX5700: Major Project
• https://www.youtube.com/channel/UCD-
V1Qf4ep_NDZRIK22sDUA
ROS (Robot Operating System)
• Developed at Willow Garage (CA, USA) Originated at Stanford AI Lab
(Sachin Chitta and Radu Bogdan Rusu)
• BSD license (open source) support code reuse in robotics research and
development.
• Examples:
– turtlebot_bringup – initialise turtlebots
– gmapping – ROS SLAM package
– quad_velocity_control – custom package designed by to control the velocity of
a quadrotor
How ROS Packages are formatted
includes package.xml
Contains all header files
(eg. .h files for C++). CMakeLists.txt
Nodes
• Single-purposed executable programs
– e.g. sensor driver(s), actuator driver(s), mapper, planner, UI, etc.
• Modular design
– Individually compiled, executed, and managed
• Written with the use of a ROS client library
• Nodes communicate with each other using topics & services.
• Executed with:
$ rosrun <package name> <node name> [<arg:=value>]
Messages
• Nodes communicate by passing around messages
• A data structure with typed fields
• Many pre-defined messages exist
• Custom messages can be made in a text file (.msg extension)
• Message can also contain other messages, as part of the
message
• For example, geometry_msgs/Pose.msg
Ways to communicate
• Topic
– A topic is a messaging method that sends data to all nodes requiring
information, as soon as a node updates that message.
• Service
– A service is a special messaging method, that will give information when a node
calls for the information.
– Services can also perform other roles:
• carry out remote computation
• trigger functionality / behavior
Launch file
• Used to execute multiple nodes at once, or even other launch files
• Can put parameters on ROS system
– eg. address to camera data
• Written in XML
• File extension is ‘.launch’
• Executed with:
$ roslaunch <package name> <file.launch> [<arg:=value>]
Robots that are using ROS
Full list at http://wiki.ros.org/Robots
etc.
Conclusions
• Robotic systems are playing an increasingly important, and
diverse, role in our society
• The study of robotics involves an integration of a number of
different areas including hardware, electronic and software
• Lots of exciting applications are driving developments in this
field