Lab 2: Controlling the base - robotic-picker-sp22/fetch-picker GitHub Wiki
Fetch: The Fetch Research Edition manual can be found at http://docs.fetchrobotics.com/. All of its content is worth reading, but we are particularly interested in the API overview.
Read the Base Interface section
Read the Base Interface section, then answer these questions:
- The documentation says that you can control the base by publishing to a topic. What is the type of the topic?
- How do you look up the fields of the message type?
- You can publish messages to one of two topics. Which one is better to publish to?
Note
In ROS, topics can be re-mapped to different names. Remember that you can see a list of ROS topics by running:
rostopic list
Keyboard teleop
The starter code partially implements keyboard teleop for the Fetch, in applications/scripts/keyboard_teleop.py
.
If you try running it, you will get lots of Not implemented
errors:
rosrun applications keyboard_teleop.py
You will implement most of the robot's functionality in the robot_api
package.
Implement the base movement by editing robot_api/src/robot_api/base.py
.
Note that the teleop app already reads keyboard input in an infinite loop and calls the move
method inside the loop.
As a result, you only need to write code to publish the appropriate velocity command.
The solution should only be few lines of code.
Refer to the ROS tutorials to see how to write a ROS publisher in Python.