I'm trying to finish the course today, but

Respected Prof,
As I’m going to do my best to finish the ROS-Basics today, I’ve few doubts and I hope your kind guidance.
I’m a B.Tech final year student studying Mechatronics. We are a team of 5, working on a project of a Gator Bot. We decided to use stereo camera and nividia jetson nano for it’s control and navigation etc.
Although I’m about to finish the basic concepts of ROS, I wonder:

  1. How do I use ROS for our robot. How does ROS recognize our robot so that I work with it?
  2. How would I use /cmd_vel and other similar topics on our robot to give commands? I mean in robotigniteacademy, I’m just using commands and the robot automatically does that.
  3. How would I use services to pass the values? (As of right now, I’ve not reached actions, so I’m asking for services)
  4. How do I work with this camera sensor that we are using? and how do I locate the position of this sensor on our robot?
  5. General query: We can use publisher/subscriber. Why do we go for services/actions ?
  6. Dear Prof, If there’s anything besides this you want to tell, please…

Hi,

  1. You’ll have to install ROS in the nvidia jetson nano and create a catkin_ws in there to create packages and work from there to use ROS
  2. Once you have that, you can use topics like /cmd_vel by including motor driver packages that are available online depending on what you choose to include to your robot.
  3. What do you mean by passing the values? You can create a service to indicate a behavior that you want to perform, although in the beginning I would stick with publishing through topics.
  4. You’ll have to add a driver package that can work with the stereo camera you select and ROS. You can go to http://wiki.ros.org/Sensors/Cameras to check available drivers for stereo cameras.
  5. You can use both. You can use publisher and subscribers to connect the information transfer between nodes, you can even have multiple nodes publishing to the same topic. Server clients tend to be used when a request and a response that it has been received is needed. Here a client makes an explicit request for something specific. A subscriber on the other hand would listen to everything that is being published through that topic.

Thank you Mr. Rodrigo @roalgoal for the lovely explanation

1 Like