Last update: 11/13/2024, 3:51 pm, new slide deck, new assignment
Assignment 1, Assignment 2, Assignment 3, Assignment 4, Assignment 5, Assignment 6, Assignment 7
- Log in to your local machine
- Open a terminal and cd into .local/share/ov/pkg/isaac-sim-2023.1.1
- git clone https://github.com/robocanes/csc398_isaac_hsr
- Username: csc398
- Token: please copy token from announcement in Blackboard
- Paste token in terminal to install software (8.8 GB)
- Installation will take a few minutes depending on bandwidth
- cd into csc398_isaac_hsr
- Compile code with catkin_make.
- Source with source devel/setup.bash
- Run scene with ./isaac_sim_hsr_start.sh
To move the robot:
- Open a new terminal
- cd into .local/share/ov/pkg/isaac-sim-2023.1.1/csc398_isaac_hsr
- Type 's', we created an alias for 'source devel/setup.bash' in your ~/.bashrc
- rosrun hsr-omniverse hsr_simple_move.py
Introduction
Autonomous robotic systems combine techniques and methods from many areas, such as AI, control, electronics, mechanics machine learning, image processing, signal processing and more. It is impossible covering everything in only one semester.
This course introduces you to the fundamental principles of robotics for computer science students. You will gain theoretical knowledge and practical experience in building and controlling robots using the Robot Operating System (ROS). Throughout the course, you will explore topics like robot kinematics, motion planning, perception, control systems, and ROS programming.
The course is based on lectures and hands-on programming in a state-of-the-art teaching lab with adequate computers for handling real-time physics and visualization. This course will use the Robot Operating System ROS. Programming in Python and C++ are required.
We will use various environments including the RoboCup@Home environment to learn and program. We use state-of-the-art simulators such as Gazebo and Isaac-Sim for simulation.
Instructor’s name
Dr. Ubbo Visser
Office: Ungar Building, Room 330A
Web: http://www.cs.miami.edu/~visser
Phone: 305-284-2254
Email: visser@cs.miami.edu
Office Hours: by appointment
Teaching Assistant
Kasia Pasternak
Email: kwp@cs.miami.edu
Contact Hours
Each week there are two 75 minutes sessions (TuTR 12:30PM - 1:45PM), extra lab hours TR 5-7pm.
Classroom: UB305, RoboCanes lab for special occasions possible.
Recommended Text Books
We will not use a dedicated textbook for this class. We do recommend the following books, though, for a thorough study of the field:
Course Content
A large part of the course concentrates on practical work with ROS, ISAAC Simulation and our RoboCanes agent on our HSR robot from Toyota. We will be using the simulator more than the actual robot. The goal is to understand the environment and core concepts of autonomous robotic systems.
The class on Tuesdays will mainly be used for theory and lectures, while the class on Thursdays and the lab on Tuesdays will involve more practical work to understand the programs you need for the class.
This class will be re-vamped from a previous graduate class but will have a lot of elements that are brand-new, including Isaac Sim. The following parts might change slightly within the semester.
Part 1 (Introduction to Robotics)
1. Introduction to autonomous systems, autonomous robots, RoboCup.
2. Overview of typical components of an autonomous robot.
3. Python and C/C++ Programming (if necessary)
Part 2 (Isaac Sim World, ROS)
1. Building blocks of the simulator (navigation in the simulator, first robot in am empty world, in our lab world)
2. ROS essentials
Part 3 (Control and motion)
1. PID-control, calibration of parameters.
2. Controlling a wheeled robot, controlling joints, kinematics
Part 4 (Localization, Path Planning and Navigation)
1. Recursive state estimation, Bayes’ filter, particle filter.
2. Self-localization.
3. Modeling path planning with A* and RRT
Part 5 (Perception)
1. Computer vision
2. Deep Learning for object detection
Assignments
There will be some mandatory assignments based on topics discussed in class. Problems will be either theoretical or implementation-based. The programming exercises will include Python, C++, and Matlab. The due dates will be available on the course web page. I might include one assignment preparing a short talk about parts of our software environment, tools or about current research of other RoboCup teams.
Grading
TBA.
Other