ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi, i just can tell you, how i did. In the beginning ROS was a sealed book for me. Am also an hobbyist using ROS now for nearly 2 years and am still learning everytime doing something new. I just started with simple examples like publisher and subscriber, then headed over to write my own base_controller for my robot. The base_controller simply listens to /cmd_vel topics and "translates" them into serial commands to drive an motor-driver board with attached motors. Next task was to publish encoder-values from the drives, done this also in the base_controller node/package.

Next task was to teleop the robot with a usb-gamepad. Therefore I used the ROS- Package joystick_drivers which publishes to a topic /joy. Then i programmed a node which listens/subscribes to that topic and "translates" into corresponding /cmd_vel commands.

In the meantime i programmed a node that computes encodervalues to odometry data and publishing to /tf and /odom-topic. With an URDF- model of my robot i now can visualize the robot and its movements in RViz... and there is so much more to do with the project and possible with ROS that i am still exited and don't worry if i sometimes struggle with it.

In parallel i am working on webtools for my robot using rosbridge_suite and rosjs now. That way i stumbled into web- programming as well, thanks to my project and ROS :-)

There are much tutorials around the internet and on ROS Webpages itself, that after reading them several times i understand more and more as getting deeper into it. Just begin with...

My Setup is a embedded Linux Board on the robot,(pcduino) with ROS-Indigo and my Ubuntu Desktop-PC as workstation also with ROS-Indigo installed on it. ROS Master is running on the Desktop PC and connected via local wireless Network to the robot.

You can find my ROS Workspace on my ROS Repo on github. Maybe you can find some inspiration there.

Fabian