0
$\begingroup$

Rosanswers logo

Hello,

I began to work on ROS.On my home computer everything is okay.I can send/receive messages over topics, I can exchange messages over services, use rosbags, parameters, create launch files.I am aware that nodes can make communications over network etc.

What about porting these programmes to real robots? Is it neccessary to first setup an OS and setup ROS on robots and start nodes? What is the common practice? Do robots have systems to just respond to commands and transmit info to nodes which are on a different computer? or is there way to make the nodes actually run on robots without need to setup host OS?


Originally posted by basbursen on ROS Answers with karma: 53 on 2016-04-13

Post score: 3

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

There are many different ways that people architect robot systems that use ROS. For example, there are "native-ROS" robots like the PR2, Baxter, Turtlebot, etc. These robots all have a Linux computer of some kind that has a full-blown OS and a version of ROS running. These robots also have lower level, embedded computers for things like motor control. The main computer and OS on the robot then employs various mechanisms for communicating with these lower level control computers. They may use communication protocols like EtherCAT, RS232, or CAN, and various hardware/driver solutions for implementing these protocols.

Another strategy often employed is to have the robots themselves be non-ROS robots. This is more common for applications like swarm robots, and quadrotors where each individual agent is fairly simple. In this case, ROS typically runs on some off-board computer and some sort of communication tool (rosserial, a custom node, etc) is used to pass data between the ROS world and the robots (control commands, sensor readings, etc.).

In between the two previous ideas would be a very small embedded computer that is capable of running ROS (Raspberry Pi, odroid, BBB, etc.). In this case the small computer could run ROS and natively communicate with other ROS computers, and it could perform its own low-level control and sensor interfacing.

If you want to run a ROS node that you've developed on a normal PC directly on a robot, then that robot must be able to run ROS and must have a host OS.


Originally posted by jarvisschultz with karma: 9031 on 2016-04-13

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by gapal on 2016-09-15:
for "In between the two previous ......(Raspberry Pi, odroid, BBB, etc.). ", which of the following is a possible way to install ROS:

  1. install some flavour of ubuntu and then install ROS
  2. install specific OS like NuttX and then install ROS
  3. other options are also there ( if yes, please inform

Comment by jarvisschultz on 2016-09-15:
Options 1 and 2 are certainly possible with Option 1 likely being the easier path to success, and it seems to me the more common path. Getting ROS compiled on a less common distro can be challenging.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.