Google Summer of Code 2018 - Robot Workcell Discovery
Repository for GSoC 2018 focusing on creation of a ROS package for Robotic Workcell exploration. The project is being done under the mentorship of Levi Armstrong and Alex Goins from SwRI and ROS Industrial.
- Install wstool in order manage the repos inside the workspace
sudo apt install python-wstool
- Set up catkin workspace with required packages
cd /path/to/catkin_ws
wstool init src https://raw.githubusercontent.com/ros-industrial/workcell_explorer/master/workcell_explorer.rosinstall
rosdep install --ignore-src --from-paths src
- Finally, to build:
catkin build
- Source the workspace
source devel/setup.bash
- Launch Gazebo world + robot mounted with a Kinect camera
roslaunch myworkcell_support workcell_gazebo.launch
- Launch the MoveIt! planning execution
roslaunch myworkcell_moveit_config myworkcell_planning_execution.launch.xml
- Launch the TSDF reconstruction node in the yak package
roslaunch yak launch_gazebo_robot.launch
- Start the Octomap server
roslaunch nbv_planner octomap_mapping.launch
- Start the exploration process
rosrun nbv_planner exploration_controller_node
- ROS Service to extract mesh after deciding that the reconstruction is good enough.
rosservice call /get_mesh
- Flipped Octomap
- Problem- Octomap is flipped 90 degrees with respect to the view of the Kinect.
- Potential solution- Issues with the URDF file.
- Add .rosinstall file instead of submodules [DONE]
-
- Issue 1- Observing minimal robot motion while it's trying to explore the Next-Best views.
-
A huge portion of the solutions (candidate poses) generated by Kinect fusion are being rejected. I am confused whether it is because of the camera constraints or the robot URDF itself has a limited number of IK solutions which limits the explorable workspace due to improper placement of Kinect on the end-effector.
-
Less exploration is leading to a very sparsely generated mesh which is improper.
- Issue 2- Extra octomap being created due to TF issues
- A flipped redundant octomap is generated due to what seems like delays in receiving TF transforms.
<<<<<<< HEAD
- Are Gazebo simulated objects may give unsatisfiable results while applying ICP. This is yet to be understood/ confirmed.
=======
-
Integrate the yak library with the workflow. YAK library uses Kinect fusion with Truncated Signed Distance Fields(TSDFs) used for created a probabilistic representation of solid surfaces in 3-D space [DONE].
- Integrate reconstruction node and octomap server node with given package.[DONE]
- Integrate the
exploration_controller_node
with the given package [DONE].
a50d10cb5aa2f76151942bf79b5267765bd1d472
-
Figure out why the robotic manipulator does not produce many paths while trying to explore the next best views.
-
Utilise the gl_depth_sim package to simulate organised depth camera data and test out the YAK package on the collected data.
- This is to avoid all problems regarding flipped octomaps which could be primarily created due to Gazebo and the way it represents simulated objects.
<<<<<<< HEAD
-
Create a blog post to introduce the Google Summer of Project in general and introduce the goals of the Robot WorkCell Discovery repository. [DONE]
-
Create series of blog posts to explain the following
- Create a blog post to summarise Kinect fusion uptil TSDF
- Explain how TSDF is used for fusion and explain the process of raycasting.
- Explain the use of the
Next Best-View planner
and theexploration_node
.
-
Make a list of all files which had to be changed which can help in quicker integration of the yak package for new users.
=======
- Create a blog post to talk about GSoC in general and introduce the Robot WorkCell Exploration project.
- Create a blog post to summarise Kinect fusion and mention how it's going to be used with TSDF for the project using yak library. Explain the use of the
nbv_planner
and theexploration_node
files for the process of workcell exploration.
a50d10cb5aa2f76151942bf79b5267765bd1d472