The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms. - https://www.ros.org/about-ros/
/serial_nodein this case), "bridges" communication with the CORE2 board, so any topics it publishes or subscribes are created and used in the firmware.
/batterytopic. Let's read the published values using
/cmd_veltopic. This topic is used by the firmware to receive drive commands. We can look at it's type:
geometry_msgs/Twist. This is a standard message in ROS for commanding velocity controlled ground robots. We can lookup the message description using
linearfield represents linear velocity (in meters per second) along x, y, z axes.
angularfield represents angular velocity (in radians per second) along the same axes.
angular.zvalues are used.
rostopictool to actually command the Rover to move forward, by sending messages to
launch filethat starts the robot's functionality. It includes the launch file from the leo_bringup package which starts the base functionality of the rover, but also allows to add additional nodes to be started or parameters to be set on the Parameter Server.
/opt/ros/melodic/setup.bash) and sets additional environment variables used by ROS.
/etc/ros/setup.bashfile and launches the
leosystemd service starts the
leo-startscript when the computer boots.
Ctrl+Cto stop the nodes and exit the script.
/etc/ros/robot.launchfile and restart the nodes.
<launch>tag, into a separate file (e.g.
/etc/ros/function1.launch) and add this lines to the
USE_FUNCTION1environment variable and restarting the nodes.
base_linkas a reference frame for other links in the model. The exact position of the
base_linkorigin is defined as the center this mounting hole:
The catkin build system also supports an overlay mechanism, where one workspace can extend another result space. An
environment setup filefrom the result space of such workspace will extend your shell environment by packages from both workspaces.
leo_bringupto this workspace and build the package
/etc/ros/setup.bashfile to use our overlay
/opt/ros/melodic/setup.bashfile, but we can also explicitly point out the space to extend:
leo_bringuppackage is already installed on the system, this step is redundant. For any other package you can use
rosdepto automatically install any dependencies:
rospack list, you should see all of the packages installed on your system, but
rospack find leo_bringupshould point you to the directory on your newly created workspace.
/etc/ros/setup.bashto use our overlay. Simply edit this file (e.g. with
nano) by removing or commenting out the first line and adding:
/etc/ros/setup.bashwill use your overlay and the
/etc/ros/robot.launchfile should use the version of
leo_bringupthat you have built in your workspace.
LeoRover-XXXXby default) or an external router (if you followed
Connect to the Internettutorial).
master.localnethostname. Open a terminal on your computer and type:
/etc/hostsfile on your computer:
pingthe Rover by it's hostname. Type
ping master.localnetto check.
X.X.X.Xwith your IP address.
the first sectionof this tutorial on your computer.
base_link. In Displays panel, click Add and choose RobotModel plugin. Change the Background Color to make the model more visible.
launchfile, you might need to remap axes and buttons to suit the joystick you have. Start
axesarray (remember that the values are indexed from 0).
buttonsarray when you click the button.
enable_buttonparameters in joy_mapping.yaml file.
joy_nodeand start your the
rosdepto install dependent package:
rvizin the terminal
/camera/image_rawand Transport Hint to
compressedto open the image stream
/ar_pose_markertopic, so you could use the output in your custom nodes.