Objectives , Challenges and Contributions - mfkenson/MAEG5755-2021-Team-PARK GitHub Wiki
Objectives
- Dexnet 4.0 bin picking demo with Baxter
- Refresh Baxter! (ROS Noetic, baxter_interface, realsense2, Moveit)
- Documenting how to run a baxter in 2021
The main requirement of this project, is implementing a bin picking demonstration using RethinkRobotic's Baxter robot. After evaluating the project requirement, few major high risk challenges were found.
Challenges
- Baxter ROS packages on latest ROS distro are not actively maintained.
- Baxter was born in 2014, targeted on ROS Indigo which reached its EOL in April, 2019 and then Rethink Robotics was shutted down in 2018.
- Although there are few unofficial open-sourced repo supporting the baxter on newer ROS distro, they are not always up-to-date and sometimes crashed with very limited clues.
- Major change on ROS Noetic is migrating from Python2.7 to Python3.8. A significant amount of ROS packages (not only the baxter specifc packages, but also all dependent ROS fundemental packages depends on Python2.7.
- Setting up an enviroment for dexnet.
- From the publisher of dexnet there are only few tips/descriptions on setting up a real environment for dexnet pick and place task. The only explicited mentioned point is the pre-trained networks are specifc to the camera intrinsics and the releative pose bewteen the candiate objects and the camera. Which means there are numbers of unknown factors needed to be explored. For examples, how to place the camera, robot, table and candidate objects, and the need of preprocessing the depth image.
Contributions
-
We encountered a number of compile-time errors (most of the time, package dependencies problem), and a number of run-time exceptions. We finally consolidated a collection of packages in this github repo to enable the baxter up and running on the latest ROS1 distro: Noetic. Details of items are available in FAQ section. Hopefully researchers and developers, with or without a baxter robot could make use of this repo as a practical guide how to run the their robot and moveit on ROS Noetic, with up-to-date packages.
-
We created a simulation gazebo package with baxter, intel realsense d435 camera, and candidate gazebo models to facilitate the test of impact of grasp quality when changing the ways to place the robot, camera, and all other objects. It also acts as an intutive example showing how easy to change the pose of objects in gazebo as all could be done in a XML or ROS service, without the impact from calibration error (which always exist in the real environment). A collection of python scripts to spawn, reset pose, and removing objects from gazebo were implemented.