Posts

Showing posts from March 24, 2019

Real-time tracking and positioning

Image
Hi, In this blog, I will showcase two investigations that I have conducted to remove the doubt that my code is not the root of the delay issues that I have faced when sending trajectory commands to the robot's controller. To move the robot to the specified position I am using a function called compute_cartesian_path which computes and executes a plan of waypoints from its current pose to the target pose. The videos below illustrates a simple tracking of the puck and positions the end-effector to the y-coordinate of the puck. To avoid the robot from jittering, I appended 5 positions of the puck in a list and took the average of the list using mean and weighted average. As I am taking an average of positions, the robot may not initially exactly move to the puck's position, however, it will move there in the end. Tracking and Positioning using a mean average Tracking and Positioning using a weighted average As shown in the videos above, both investigations s

Moving ABB by joint positions

Image
Hi, I cloned the official ROS-Industrial ABB experimental meta-package which offers various launch files to get started with the ABB IRB 120 using ROS such as connecting to the real robot. Using the moveit_planning_execution.launch provided by the package, I could connect to the real robot and run my own code. In addition, the robot's trajectory can be visualise in RViz before sending commands to the real robot. After playing around with the Moveit! Python Interface, I programmed the ABB IRB 120 by specifying a joint angle to rotate as shown in the video below. Although, I plan on only using this method at the start of the program to make the robot's tool flange parallel to the air-hockey table. Moving the ABB by joint positions If I don't specify the rotation before moving the robot to positions, the robot could possibly collide onto the table. The robot would look like the image below. Directly specifying position without making tool0 parallel to table

Creating static frame in ROS

Image
Hi, This week, I created a node that publishes a frame to reference the robot's end-effector positions. Following these tutorials , I succeeded in creating a static frame in ROS and learned about tf transforms. Coordinate Frame Tree Update 25/03/19 After playing around with tf transforms, I faced problems of converting poses between frames due to time issues i.e. the rate that each transforms are published. Therefore, I plan on using offsets for now to progress further on my project. In addition, I have 3-D printed mounts to fix the air-hockey table onto the table that the ABB is mounted on. This will remove the need of calibrating the system to find where the air-hockey table is in reference to the robot. Immanuel