Robot Programming
Robot programming requires a deep knowledge of the programming techniques and
the programming language chosen for software development.
In addition, the software for robotic applications is often built by means
of specialized development tools. In order to help the students becoming familiar
with programming environments and tools for robot programming,
the RoCoCo Lab has created
over the years some introductory material, where
robot programming is addressed using C++ as basic programming
language, ROS
and NAO SDK
as development frameworks.
The target robotic platforms are a simple wheeled robot,
MARRtino, that will be built during the class and the
NAO humanoid robot.
The course addresses examples of programming tasks in Perception, Localization and Navigation
and Mapping, Actions and Plan execution, Human Robot Interaction.
Starting with academic year 2015/16 the whole course on Robot Programing is no longer be taught
as a section of the Elective in Artificial Intelligence and Robotics; however, we still
offer few introductory lectures plus additional material on the web.
Lectures
Classes are on Wednesdays 10:15-13:30, Room A5
- October 7th, Introduction to hardware and basic software
The robot MARRtino;
Hardware: robot base and sensors,
Software: Robot Operating System (ROS);
Additional Material:
Robotics Software,
Git;
Robotic Simulators;
Simulation with Player/Stage,
- October 14th, Using ROS on robots:
Robot set up with ROS,
ROS Navigation;
Additional Material:
bag for the homework,
smaller bag for the homework;
- October 28th, Programming NAO-Robots:
RoboCup,
Nao: The B-Human Framework,
Other topics:
The additional class notes contain exercises and homeworks
that students can develop on their own.
- Image processing with OpenCV:
Image Processing: openCV;
- Perception with RGBD sensor:
3D data processing,
Using pcl,
codice;
- Actions and plans,
Basic actions in ROS,
Petri Net Plans,
PNP in ROS,
software,
PNP ,
- Human Robot Interaction,
Human Robot Interaction in Natural Language,
Code