Skip to content

kajananchinniah/mobilearmbot

Repository files navigation

mobilearmbot

IMPORTANT NOTE: Due to school starting, I will be slowing down on development on this significantly... (I may continue on it next summer)

Missing Features:

  • A navigation stack
  • A kinect sensor
  • Functional demos (grasping an object doesn't work; probably due to my inexperience in general, I couldn't figure it out)
  • SLAM (I also still don't know how SLAM works)
  • Gazebo worlds (it has one currently)

This is a ROS package that I'm working on. My end goal is to create a four wheel mobile manipulator. Image of mobilearmbot in Gazebo

This robot will probably not be viable to create in real life. My intent is to familarize myself with ROS, rather than create a real robot.

For sensors, I currently only plan on having a laser scan & a kinect (kinect will be added later).

Current file structure:

  • mobilearmbot_description contains the urdf and xacro files that describe the robot. It also contains a rviz file that will be updated later. This directory also temporarily contains launch files
  • mobilearmbot_moveit was autogenerated by the moveit setup assistant
  • mobilearmbot_demos (currently doesn't work) will contain a demo of the robot driving to a can and picking it up, and then possibly driving back to the origin. This will not rely on sensors much, aside from the laser scan. This demo will only work in the included world (the location of the object shouldn't matter too much as long as it's on the ground, but the type matters a lot)
  • mobilearmbot_control currently uses position controllers (follow joint trajectory). It also contains a launch file for launching the control.
  • mobilearmbot_gazebo contains a launch file for launching gazebo, spawning mobilearmbot, and it's controller. It currently only contains one world, but more to come (I'll likely just take turtlebot3's worlds). Note: if you're using moveit, the launch file here does not spawn the srdf that describes the groups necessary for moveit so you'll need to manually include the launch file (move_group.launch) from the mobilearmbot_moveit pkg.
  • mobilearmbot_teleop contains code for a way to control the drivetrain using keyboard inputs (w,a,d,x for movement and s for force stop), control the arm (via i/k for selecting arm joint and l/j for moving it) and the end effector (o to open and p to close). IMPORTANT NOTE: to exit, use q, otherwise the controller won't be switched back to follow joint trajectory.

Future plans:

  • Add a kinect or other type of sensor to allow for perception purposes (will be following moveit tutorials for this)
  • Setup the gazebo file (basically just have some worlds & launch files)
  • Setup ROS' navigation stack & try to add SLAM to the robot (I also have to learn how SLAM works)

Resources & tutorials I consulted:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published