ROSject Of The Week Challenge #3

 Level of the Challenge: INTERMEDIATE LEVEL

Hello ROS Developers! And welcome to the ROSject of the Week Challenge, by The Construct.

Within this challenge, you will be presented with a ROS-related problem which needs to be solved... by you!. Below in this notebook you will find detailed instructions that you will need to follow in order to solve the problem.

Between all the ROS Developers that take part in the challenge, the ones that solve it in less time will be rewarded with... hold your breath... a ROS Developer shirt!


Where to find the code

Inside the catkin_ws folder, you will find all the ROS packages associated to this challenge. You can have a look at it using the IDE, for instance.

To see the full code, open the IDE by going to the top menu and select Tools->IDE

To launch the simulation

Go to the top menu and select Simulations. On the menu that appears, click on the Choose launch file... button.

Now, from the launch files list, select the launch file named main.launch from the shadow_gazebo package.

Finally, click on the Launch button to start the simulation. At the end, you should get something like this:

The problem to solve

As you can see, this ROSject contains 1 package inside its catkin_ws workspace: myrobot_moveit_config. The purpose of this packages is to allow the UR5 manipulator to calculate motion plans and execute theem.

So, the main purpose of this ROSject is to be able to send a Position Goal to the manipulator, and the robot computes and executes a trajectory plan in order to reach this goal. The steps in order to achieve this are the following:

First you launch the MoveIt package by executing the following command:

In [ ]:
roslaunch myrobot_moveit_config myrobot_planning_execution.launch

**NOTE**: In case that, when executing the above command, you get the following error...

In [ ]:
[move_base.launch] is neither a launch file in package [my_summit_path_planning] nor is [my_summit_path_planning] a launch filename

...Make sure that you have sourced your **catkin_ws** workspace, with the following command:

In [ ]:
source ~/catkin_ws/devel/setup.bash

The roslaunch command above will automatically launch a MoveIt Rviz window.

Now, in order to be able to visualize the MoveIt RViz screen, you will need to open the Graphical Tools window, in the Tools menu.

Probably, at first, you will see the window a bit displaced.

In order to center it, just click on the Resize opened app button. At the end, you should get something like this:

Now, move to the Planning tab, here:

And set the start position in the Select Goal State menu.

Finally, click on the Plan button in order to calculate a suitable trajectory for reaching the goal position.

Ok, so... where's the problem? Well, if you have tried to reproduce the steps described above you have already seen that it DOES NOT WORK. When you follow the pipeline and set a position goal for the manipulator, this goal is not reached successfully. Why?

Well.. that's exactly what you need to figure out and solve in order to make the ROSject work as expected. So... have a look at the package myrobot_moveit_config, and try to figure out where the error (or errors) are. And remember, the goal is to make the ROSject work as expected (this is, the behavior described above).

So... good luck!

Claim your prize!

The FIRST ONE to solve the problem in less time will receive an amazing reward: a ROS Developers shirt! You can check the different models available here:

NOTE: You may have noticed that, from this Challenge, we have reduced the number of winners to 1. This is because, based on the experience from the first 2 challenges we've done, we have realized that it takes too much time for us to review all the ROSjects in order to pick the 3 winners. Since we are a small team and our time is very limited, we have decided to downgrade the number of winners to 1.

Once you have solved the challenge, and in order to claim your prize, you will need to follow the next steps:

 1. First, make sure that you Save the ROSject. In order to save the ROSject, just click on the Save button, at the top-right section.

 2. Second, go to RDS main page by clicking on the icon next to the Save button.

 3. Third, click on the Share button of your ROSject. This will open up a modal containing your ROSject link.

In [ ]:
@_TheConstruct_ [ROSject_link] #ROSDeveloper

**IMPORTANT**: Please note that we can only deliver shirts to the countrys that have availability. So please, make sure that your country is able to receive shippings from the following website:

Do you want to Become a ROS Developer?

You can become too a ROS DEVELOPER in less than a month, by learning at Robot Ignite Academy.

Check the **beginners path** to start learning ROS from zero. We even include specific courses to introduce you in Linux for robotics and Python for robotics

Beginners path

  1. Linux for Robotics
  2. Python for Robotics
  3. ROS Basics in 5 days
  4. URDF for robot modeling
  5. TF ROS 101
  6. ROS Control 101
  7. Your first robot with ROS

Advanced paths

  • Robot Navigation
  • Machine Learning for Robots
  • ROS for Industrial Robots
  • ROS for Self-Driving Cars

Keep pushing your ROS learning!