A mobile manipulator robot designed for household usage. Let's realize the dream of throwing your socks freeeeeely! For more details, please visit our wiki page.
By May 13th, the turtleGripper (or "tgrip") can do:
- Building a map both in simulation[1] and in real world[2].
- Navigating in the known environment, both in simulation[3] and in real world[4]
- Recognizing targets. (Both in simulation [3] and in real world [5] )
- Picking up the target from the ground. ( in real world [6], the simulation has an issue )
Originated from a course project of EN.530.707 Robot System Programming.
Mentor: Simon Leonard
Student: Yiping Zheng, Irina Bataeva, Jian Kwon
@ LCSR, WSE, Johns Hopkins University.
-
ROS is our preliminary requirement.
-
Here's our core repo and 3rd-Party repo, put it somewhere and build.
mkdir -p ~/projects/tgrip_ws/src
cd ~/projects/tgrip_ws/src
catkin init
git clone https://github.com/Yiping-Steven/turtleGripper_core.git
git clone https://github.com/Yiping-Steven/turtleGripper_3rdParty.git
catkin build
- We need these drivers to drive the robot hardware (kobuki base, lidar and the manipulator).
sudo apt install ros-kinetic-turtlebot-bringup # to drive the turtlebot base
sudo apt install ros-kinetic-urg-node # to drive the lidar
sudo apt-get install ros-kinetic-ros-controllers ros-kinetic-gazebo* ros-kinetic-moveit* ros-kinetic-industrial-core # to drive manipulator
sudo apt-get install ros-kinetic-aruco-ros #to detect AR tags
- open your shell config file, for example:
vim ~/.bashrc
- Add these environment variables to your shell config file.
export TURTLEBOT_3D_SENSOR=kinect
export TURTLEBOT_MAP_FILE=$(PROJECT_PATH)/tgrip_ws/src/core/nav_module/tgrip_nav_srvcli/map/my_map.yaml
- import the tgrip packages to your shell environment.
source /home/project/tgrip_ws/devel/setup.bash
roscore
roslaunch tgrip_gazebo simulation.launch gui:=false #for silence, specify "gui"
or if you have all the hardware connected and want to do it in real world:
roslaunch tgrip_nav_srvcli minimal.launch
roslaunch tgrip_description tgrip_description.launch
We have an issue that forces us to load robot_description separately.
We have prebuilt map for the gazebo simulation environment (make sure you choose simulation in Step 1):
roslaunch tgrip_nav_srvcli amcl_demo.launch #
or if you choose the real world in Step 1 and have a map for the environment (eg. my appartment)
roslaunch tgrip_nav_srvcli amcl_apartment.launch
or if you built your own simulated or real world environment and want to create a map. (It doesn't matter what you chose in Step 1)
roslaunch tgrip_nav_srvcli gmapping_demo.launch
Control the turtlebot with keyboard
roslaunch turtlebot_teleop keyboard_teleop.launch
roslaunch tgrip_cv_cube find_cube.launch
roslaunch tgrip_nav_srvcli view_navigation.launch
First launch the server. (to be automated)
rosrun tgrip_mng_srvcli taskServer_node
Then launch the user interface:
rosrun tgrip_mng_srvcli taskClient_node