Mobile Manipulation Exercise

There were several issues that we were facing in the migration of Machine Vision Exercise which are as follows:

  • Not only was the object’s position incorrectly recorded, but the shape identified by object shape filter was incorrect as well. And we had no clue why this behaviour was occurring.
  • Yijia also stated that because this exercise employs a vaccum gripper rather than a qrt gripper, he had a lot of trouble replicating the picking mechanism last year because the object would slide out of the vaccum gripper, making the task extremely difficult to accomplish.

We chose to go on to the mobile manipulation exercise, which uses rqt gripper, after considering all of these factors. We intended to finish the mobile manipulation exercise before moving on to machine vision.

Migration to RADI-3 or Migration of rest of the exercises

Instead of moving the rest of the exercises to RADI-2 (Melodic + Python2), Jose Maria proposed that we migrate the existing pick and place exercises to RADI-3 (Noetic + Python3). Rviz, like Gzclient and console for most RADI-3 exercises, can be used as an additional tool in other RADI-3 exercises. This would also act as a feature to the new RADI and future debugging will be a lot easier as one will not have to make the changes in RADI-3 as well as RADI-2(if Rviz is integrated in RADI-2). After considering all of this, my mentors and I agreed, and we met to re-create our weekly goals.

However, after pulling the RADI-3 docker image and making some adjustments, I discovered that most of the industrial rtobot packages were reporting problems. The reason for this was that these packages were produced with Melodic, and I needed to make some changes to run them on Noetic. But the problem with that I have Melodic installed in my PC on Ubuntu 18.04. So, in order to debug, I’ll have to first instal Ubuntu 20.02, then Noetic, which is not only a time-consuming job, but also one that I can’t just abandon to my ongoing Melodic projects.

So, after talking with my mentor about it, we decided to keep moving forward with the exercise conversion to web-templates. We may then go on to the RADI-3 migration of exercises after the exercises have been transferred.

Migration of Mobile Manipulation Exercise

So, after a lengthy time of deliberation, I returned to coding and began working on the mobile migration exercises migration. I began by writing the simulation’s code. Its navigation functioned properly, but it was unable to pickup the objects. I needed to fine-tune WIDTH since the items were slipping out of the grippers. Fortunately, Yijia had the solution to this exercise, which he had prepared the previous year. When I tested his code, it worked flawlessly.

After that, I made a card for the Mobile Manipulation exercise and a prototype for the new exercises. The first testing revealed a large number of problems linked to missing packages (mainly navigation packages). Even after installing those packages, there were still two problems that I couldn’t fix.

>Cannot locate node of type [scan_unifier_node] in package [cob_scan_unifier]. Make sure file exists in package path and permission is set to executable (chmod +x)

>Failed to load plugin libgazebo_ros_moveit_planning_scene.so: libgazebo_ros_moveit_planning_scene.so: cannot open shared object file: No such file or directory

The first problem indicates that the file requires executable permissions, however this was not resolved even after executing the chmod +x command. According to the second error, libgazebo ros moveit planning scene plugin was missing. I looked for it on the internet but couldn’t find anything. What’s strange is that there’s no such issue when I run it locally, and this package doesn’t even exist on my machine.

For testing the current exericse, one can pull the Mobile Manipulation branch from my repository and use the command

docker run --rm -it --name=Industrial -v /your/local/repo:/RoboticsAcademy -p 8000:8000 -p 2303:2303 -p 1905:1905 -p 8765:8765 -p 6080:6080 -p 1108:1108 -p 6081:6081 jderobot/robotics-academy:2.4 /RoboticsAcademy/scripts/start.sh

The git diffs can be checked from here