Question: Need help with ROS in robotics. Please see all tasks. All code needs to be in python. Please give clear and correct solutions. Thank you
Need help with ROS in robotics. Please see all tasks. All code needs to be in python. Please give clear and correct solutions. Thank you


1 Introduction In this lab we will explore basic uses of transforms and urdfs as well as implementing forward kinematic and inverse kinematic chains. 2 Getting Started 1. Download the package into your workspace 2. Build your workspace 3. Test the package by running the launch files inside rrbot description folder Gazebo: roslaunch rrbot-gazeborrbot.world. launch If the launch file does not work and you see an error related to " controller manager", try the following: sudo apt-get install ros-kinetic-ros-controllers sudo apt-get install ros-kineitc-control* sudo apt-get install ros-kinetic-gazebo* 3 Helpful Tips 3.1 Adding Eigen to package How to add eigen to your package (add the following to your cmakelists.txt): find package (cmake_modules REQUIRED) find package (Eigen3 REQUIRED) include directories (${EIGEN3 INCLUDEDIR}) add definitions (${EIGEN DEFINITIONS }) 3.2 Compute Euler Angles How to compute Euler angles: Given a 33 rotation matrix the 3 Euler angles are: R = [ru 112 113 21 22 23 131 132 133 0, = atan2(r32, 133) 3 HELPFUL TIPS 0,= atan2 ( -r31, VT +r3) 0; = atan2(r21,811) 3.3 How to write a TF Broadcaster For Python: For C++: 4 Lab Assignments Tasks: 1. Move Joints Take a look at the ros topics and write a publish command that moves the last joint 1 radian. It should look like "rostopic pub {Topic} {Msg}" 2. Ros Node Write a ros-node to control all the joints to do a pick and place motion. The robot does not have a gripper, so just the intermediate motion will be enough. 3. Compute FK You have to compute the forward kinematic chain of the robot in real time and print it in your terminal screen. Write a node which print the transform of the end effector w.r.t. to the world frame. Analyze the 'urdf' of the robot to calculate your transforms You must compute the kinematics by performing matrix multiplications in a loop. For python use numpy and for C++ use Eigen. 4. Validation You must validate your kinematic chain by writing a transform broadcaster. The output of your forward kinematic chain should be broadcasted as a new frame. You can check if your transformation is correct by simply visually inspecting it in rviz. If it is correct, then your transform (frame) will follow the end effector during the pick and place motion. 5. Compute IK You now have to compute the inverse kinematics of the robot in real time and print it in your terminal screen. There are multiple ways to do this and we would like you to: (a) compute IK by hand and implement the algebra into your node. (b) use matrices to compute IK and implement it in your node. be prepared to show your TA both implementations to get a sign-off. 1 Introduction In this lab we will explore basic uses of transforms and urdfs as well as implementing forward kinematic and inverse kinematic chains. 2 Getting Started 1. Download the package into your workspace 2. Build your workspace 3. Test the package by running the launch files inside rrbot description folder Gazebo: roslaunch rrbot-gazeborrbot.world. launch If the launch file does not work and you see an error related to " controller manager", try the following: sudo apt-get install ros-kinetic-ros-controllers sudo apt-get install ros-kineitc-control* sudo apt-get install ros-kinetic-gazebo* 3 Helpful Tips 3.1 Adding Eigen to package How to add eigen to your package (add the following to your cmakelists.txt): find package (cmake_modules REQUIRED) find package (Eigen3 REQUIRED) include directories (${EIGEN3 INCLUDEDIR}) add definitions (${EIGEN DEFINITIONS }) 3.2 Compute Euler Angles How to compute Euler angles: Given a 33 rotation matrix the 3 Euler angles are: R = [ru 112 113 21 22 23 131 132 133 0, = atan2(r32, 133) 3 HELPFUL TIPS 0,= atan2 ( -r31, VT +r3) 0; = atan2(r21,811) 3.3 How to write a TF Broadcaster For Python: For C++: 4 Lab Assignments Tasks: 1. Move Joints Take a look at the ros topics and write a publish command that moves the last joint 1 radian. It should look like "rostopic pub {Topic} {Msg}" 2. Ros Node Write a ros-node to control all the joints to do a pick and place motion. The robot does not have a gripper, so just the intermediate motion will be enough. 3. Compute FK You have to compute the forward kinematic chain of the robot in real time and print it in your terminal screen. Write a node which print the transform of the end effector w.r.t. to the world frame. Analyze the 'urdf' of the robot to calculate your transforms You must compute the kinematics by performing matrix multiplications in a loop. For python use numpy and for C++ use Eigen. 4. Validation You must validate your kinematic chain by writing a transform broadcaster. The output of your forward kinematic chain should be broadcasted as a new frame. You can check if your transformation is correct by simply visually inspecting it in rviz. If it is correct, then your transform (frame) will follow the end effector during the pick and place motion. 5. Compute IK You now have to compute the inverse kinematics of the robot in real time and print it in your terminal screen. There are multiple ways to do this and we would like you to: (a) compute IK by hand and implement the algebra into your node. (b) use matrices to compute IK and implement it in your node. be prepared to show your TA both implementations to get a sign-off
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
