Welcome to the exciting world of robotics! As a programmer for the RoboPrototypes company, you’ll simulate a mobile robot, implementing basic functionality and progressively improving control with a camera, LiDAR (light detection and ranging) and IMU (Inertial Measurement Units) sensors, an EKF (Extended Kalman Filter), and SLAM (Simultaneous Localization and Mapping). By the end of this series of liveProjects, you’ll have a self-driving robot as well as practical experience designing and working with complex mobile robotic systems.
Start building your robotics foundation: You’re a programmer helping create prototype robots for the RoboPrototypes company. You’ll get a brief introduction to ROS2, set up the programming environment, and onboard robotics building blocks with basic tutorials. Then you’re ready to create launch files, which are integral to every ROS project. As you create packages in ROS2, you’ll learn to define and use parameters and declare custom messages. When you’re finished, you’ll have a firm foundation for delving deeper into robotics.
The future of the RoboPrototypes company is in your hands. It’s your first day at the company, which specializes in bespoke robotic solutions. The CEO has asked you to develop a prototype of a mobile robot that will serve drinks to mall food court customers. An important client will decide whether they’ll provide follow-up funding after they see your prototype in simulation. Working with Gazebo 11 and employing ROS best practices, you’ll create a model for a differential drive robot that meets the provided specifications. Next, you’ll simulate the robot, implement a basic teleoperation node for controlling it, and add velocity multiplexing for safety purposes.
You’re a programmer at the RoboPrototypes company, and its “dribot”—a prototype of a robot that will serve drinks to customers at a food court—has been running into things (including the CEO’s shin). Using Gazebo 11 and RVIZ2, you’ll add LiDAR (light detection and ranging) and IMU (Inertial Measurement Units) sensors that will provide a view of the environment from the robot’s perspective. To make the most out of the sensor data, you’ll fuse information from multiple sensor sources to better estimate where the robot is in the world.
Keep tabs on your robot. RoboPrototype, the company you work for, is preparing to demo its autonomous beverage delivery robot for investors in a food court next month. Your CEO has tasked you with setting up SLAM (Simultaneous Localization and Mapping) on the robot, making it possible to locate the robot at all times. Using the Slam Toolbox, you’ll equip the robot with the ability to create a map of its environment as well as pinpoint its location on the map. You’ll also get firsthand experience mapping on real data captured on a Turtlebot3 Burger, a widely used mobile robot platform.
Let your robot drive itself! Your company, RoboPrototypes, is preparing to demo its autonomous beverage delivery robot to investors soon, but the technician who was supposed to drive it has quit. Since there’s no one to take his place, your CEO has tasked you with upgrading the robot with automatic navigation. You’ll set up Nav2 to load your desired parameters, implement navigation planners and controllers, and optimize navigation by tuning costmap parameters. Once you send your waypoint goals to Nav2 telling your robot where to go, it’ll be ready to quench thirsts at a food court near you.
These liveProjects are for programmers who are interested in gaining practical experience building mobile robots with ROS2 or who want to switch from ROS1 to ROS2. To follow these liveProjects you’ll need a computer running Ubuntu 20.04 capable of running Gazebo and be familiar with the following:TOOLS
In this liveProject series, you’ll acquire essential skills and knowledge for designing and working with complex mobile robotics systems including