Final Report
Table of Contents
- Project Overview
- Working Product
- Videos
- Summary
- Future Work
- Learnings from the GSoC Experience
- Acknowledgement
Project Overview
Title: Robotics Academy — ROS2-RADI and Amazon warehouse exercise in web-based template for ROS2
Project objectives included creating Robotics Academy Docker Image (RADI) for ROS2, and exploring the application of Navigation2 features to the Amazon Warehouse Single Robot exercise.
My project proposal can be found here.
Working Product
Execute the following command to run RADI-4.2.0
docker run -it \
--rm \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--name foxy_radi_container \
-p 8000:8000 -p 2303:2303 -p 1905:1905 -p 8765:8765 -p 6080:6080 -p 6081:6081 -p 1108:1108 \
jderobot/robotics-academy:4.2.0 ./start.sh
Replace with :
jderobot/robotics-academy:4.1.0
to examine RADI-4.1.0jderobot/robotics-academy:4.0.0
to examine RADI-4.0.0
Videos
Demo of Amazon Warehouse Single Robot Exercise Deliveries with SLAM
Demo of RViz2 Template in RADI 4.1.0 with map building using cartographer
Demo of the new ROS2 Foxy RADI with tb3_teleop exercise inside the Turtlebot3 World Environment
Summary
On GitHub
Pull Request | Solves Issue | Description | More |
---|---|---|---|
#3 | #2 | ROS2 Foxy inside Docker container | README |
#80 | #79 | Fix to enable amazon_robot_controller package to successfully build | Week 2 blog |
#82 | #81 | Fix to successfully build amazon_robot_rviz_plugins | Week 2 blog |
#1046 | #1045 | Updated url & version of VirtualGL in Dockerfile-2.4.base | - |
#1047 | #1045 | Updated url and version of VirtualGL in Dockerfile-noetic-3.1 | - |
#1074 | #5, #7, and #796 | New RADI-4.0.0 for ROS2; Initial demo of ROS2 Foxy RADI with tb3_teleop exercise; Final demo of ROS2 RADI inside the Turtlebot3 World Environment | Week 4 blog, Week 5 blog |
#1094 | #6 and #801 | RViz2 web template for ROS2 RADI; Demo of RViz2 Template in RADI 4.0 with map building using cartographer | Week 6 blog |
#1184 | #8 and #1126 | RADI web template for Amazon warehouse Single Robot exercise | Week 7-8 blog |
#1 | #10 | Modified the no_roof_small_warehouse.world |
Week 10 blog |
#92 | #91 and #10 | Updated git submodule aws-robomaker-small-warehouse-world | Week 10 blog |
#94 | #93, #12, and #13 | Fixed Behavior Tree in Amazon warehouse package | Week 9 blog, Week 10 blog |
On DockerHub
Tag | Linked PR | Description | Introduces Exercises |
---|---|---|---|
4.0.0 | #1074 | First RADI image for ROS2 | TurtleBot3 Teleop |
4.1.0 | #1094 | RViz2 web template for ROS2 RADI | Turtlebot3 Map Building |
4.2.0 | #1184 | Introduces the first Amazon warehouse exercise | Amazon warehouse Single Robot |
Future Work
Integration of SLAM
There’s significant amount of unpushed work that introduces Simultaneous Localization and Mapping to the Amazon Warehouse exercise. The modifications are highlighted in the Roughwork blog.
Additional Features
Features lacking in the ROS2 Foxy RADI including Timer, Code Editor, Pause/Resume buttons.
Learnings from the GSoC Experience
A significant amount of time is devoted in getting existing software packages to do what you want to achieve, as compared to writing beautiful code from scratch. I had earlier believed that GSoC would be more of writing code. I have also learnt that real-life programming jobs will be similar to my GSoC experience in this respect.
More specifically to my domain, I had the opportunity to deep dive into fantastic robotics navigation packages and understand how they work. I have also significantly improved my skills in Git and multi-threaded programming.
I feel GSoC gave me a taste of contributing code to a robotics org and affirm that this is what I want to pursue in the future. In addition, it has allowed me to interact with fabulous members of the open-souce community.
Acknowledgement
Gratitude towards my mentors Pankhuri and Shreyas, who helped to delineate the direction of work during our meets and being available outside of meet hours as well. Their help was more than just the project, narrating their practical experiences at work and at grad school, from which I have learnt a lot.
Thanks to Pedro, Manuel, and Chandan (co-GSoCer) for testing my work.
Ultimately, heartfelt gratitude towards Prof. José Marı́a (jmplaza). Sir’s kind words, through the duration of GSoC, on my work have been very motivating. The discussions on the roboticsacademy developers’ channel with Sir have been very helpful to me as well.