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

patrchri's profile - activity

2022-01-29 13:07:00 -0500 received badge  Famous Question (source)
2021-06-07 04:34:48 -0500 received badge  Notable Question (source)
2021-05-18 10:03:55 -0500 received badge  Famous Question (source)
2021-03-29 22:29:23 -0500 received badge  Popular Question (source)
2021-03-20 13:22:36 -0500 edited question How to create a joint with two DOF (using URDF)

How to create a joint with two DOF (using URDF) Hello, I have scanned the internet for answers regarding this issue, bu

2021-03-20 13:21:58 -0500 asked a question How to create a joint with two DOF (using URDF)

How to create a joint with two DOF (using URDF) Hello, I have scanned the internet for answers regarding this issue, bu

2021-03-19 13:47:47 -0500 received badge  Notable Question (source)
2021-03-19 13:47:47 -0500 received badge  Popular Question (source)
2021-01-12 20:56:47 -0500 received badge  Famous Question (source)
2020-12-23 05:11:52 -0500 received badge  Popular Question (source)
2020-12-23 05:11:52 -0500 received badge  Notable Question (source)
2020-12-18 14:28:43 -0500 commented question ROS and Jetbot AI Kit - Tutorials

Yes this is very nice, thank you. For some reason in google I could not find anything. Can you write your answer so I ca

2020-12-18 10:50:11 -0500 asked a question ROS and Jetbot AI Kit - Tutorials

ROS and Jetbot AI Kit - Tutorials Hello, I have a general question; I recently purchased a Jetbot AI Kit and I would li

2020-12-18 10:45:32 -0500 commented question How to make ROS differential drive robot move forward with teleop?

What warning do you get? If you just want to use the differential plugin, ros_control could be removed.

2020-12-17 08:20:33 -0500 commented question How to make ROS differential drive robot move forward with teleop?

The joint axis of the wheels should be set to y. I see in your urdf file, you have the rear wheels as fixed joints. Have

2020-12-16 15:44:48 -0500 marked best answer Failed to load Joint Controller - Ros Melodic

Hello,

I am running ROS melodic on a NVIDIA Jetson Nano and I am at the stage of simulation of a rover. To be more specific I have created the following rover (see XML code below) and I am trying to move its two continuous joints (essentially the two wheels) with a certain velocity. For this reason I am trying to use ros_control and more specifically effort_controllers/JointVelocityController. Below I have attached my config.yaml file as well as the spawn launch file I use to spawn the model in gazebo. My issue is that I get the following error in the command window when I try to run this:

SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.10
 * /rover/joint_left_wheel_velocity_controller/joint: joint_left_wheel
 * /rover/joint_left_wheel_velocity_controller/pid/d: 50
 * /rover/joint_left_wheel_velocity_controller/pid/i: 10
 * /rover/joint_left_wheel_velocity_controller/pid/p: 1000
 * /rover/joint_left_wheel_velocity_controller/type: effort_controller...
 * /rover/joint_right_wheel_velocity_controller/joint: joint_right_wheel
 * /rover/joint_right_wheel_velocity_controller/pid/d: 50
 * /rover/joint_right_wheel_velocity_controller/pid/i: 10
 * /rover/joint_right_wheel_velocity_controller/pid/p: 1000
 * /rover/joint_right_wheel_velocity_controller/type: effort_controller...
 * /rover/joint_state_controller/publish_rate: 60
 * /rover/joint_state_controller/type: joint_state_contr...
 * /rover/robot_description: <?xml version="1....

NODES
  /rover/
    controller_spawner (controller_manager/spawner)
    m2wr_spawn (gazebo_ros/spawn_model)

ROS_MASTER_URI=http://localhost:11311

process[rover/m2wr_spawn-1]: started with pid [22037]
process[rover/controller_spawner-2]: started with pid [22038]
[INFO] [1608147460.849910, 0.000000]: Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [1608147460.881118, 0.000000]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1608147460.905153, 11720.939000]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1608147460.919619, 11720.944000]: Loading controller: joint_state_controller
[INFO] [1608147460.951871, 11720.959000]: Loading controller: joint_left_wheel_velocity_controller
[ERROR] [1608147461.983806, 11721.560000]: Failed to load joint_left_wheel_velocity_controller
[INFO] [1608147461.988456, 11721.566000]: Loading controller: joint_right_wheel_velocity_controller
[ERROR] [1608147463.008570, 11722.090000]: Failed to load joint_right_wheel_velocity_controller
[INFO] [1608147463.013640, 11722.093000]: Controller Spawner: Loaded controllers: joint_state_controller
[INFO] [1608147463.036750, 11722.102000]: Started controllers: joint_state_controller
[INFO] [1608147464.088454, 0.000000]: Loading model XML from ros parameter robot_description
[INFO] [1608147464.170536, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[INFO] [1608147464.197719, 11722.766000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1608147464.229827, 11722.781000]: Spawn status: SpawnModel: Failure - entity already exists.

Ros control is installed, thus I am bit confused on why I get this error. Could you please help?

URDF file:

<?xml version="1.0" ?>
<robot name="rover" xmlns:xacro="http://www.ros.org/wiki/xacro">
  <material name="black">
    <color rgba="0.0 0.0 0.0 1.0"/>
  </material>
  <material name="blue">
    <color rgba="0.203125 0.23828125 0.28515625 1.0"/>
  </material>
  <material name="green">
    <color rgba="0.0 0.8 0.0 1.0"/>
  </material>
  <material name="grey">
    <color rgba="0.2 0.2 0.2 1.0"/>
  </material>
  <material name="orange">
    <color rgba="1.0 0.423529411765 0.0392156862745 1.0"/>
  </material>
  <material name="brown">
    <color rgba="0.870588235294 0.811764705882 0.764705882353 1.0"/>
  </material>
  <material name="red">
    <color rgba="0.80078125 0.12890625 0.1328125 1.0"/>
  < ...
(more)
2020-12-16 15:44:44 -0500 received badge  Rapid Responder (source)
2020-12-16 15:44:44 -0500 answered a question Failed to load Joint Controller - Ros Melodic

I figured the error. The error has to do with a syntax error in the xacro file. It should be: <transmission name =

2020-12-16 13:42:38 -0500 edited question Failed to load Joint Controller - Ros Melodic

Error when using ROS_Control - ROS Melodic Hello, I am running ROS melodic on a NVIDIA Jetson Nano and I am at the stag

2020-12-16 13:40:07 -0500 edited question Failed to load Joint Controller - Ros Melodic

Error when using ROS_Control - ROS Melodic Hello, I am running ROS melodic on a NVIDIA Jetson Nano and I am at the stag

2020-12-16 10:51:42 -0500 commented question How to make ROS differential drive robot move forward with teleop?

Can you post your publisher code? Are you using twist messages or Float64? In other words, are you using the ros_control

2020-12-16 10:48:12 -0500 asked a question Failed to load Joint Controller - Ros Melodic

Error when using ROS_Control - ROS Melodic Hello, I am running ROS melodic on a NVIDIA Jetson Nano and I am at the stag

2020-07-10 18:18:22 -0500 marked best answer Error at the beginner_tutorials package - build error (ROS tutorials)

Hello, I am a beginner at ROS and I was doing the following tutorial : http://wiki.ros.org/ROS/Tutorials/Wri... .

I did exactly what the tutorial instructed me to do (copy - pasted the code in use) and then tried to build my project with catkin_make .I also checked the directories of the package and everything was in accordance to the tutorial's instructions .I also sourced every environmental variable needed .I am in 14.04 Ubuntu LTS (dual install with windows) .

However, I got the following errors :

/opt/ros/jade/include/ros/time.h:180:31:   required from here
/usr/include/boost/format/feed_args.hpp:248:84: error: no matching function for call to ‘boost::io::too_many_args::too_many_args(int&, int&)’
                 boost::throw_exception(too_many_args(self.cur_arg_, self.num_args_)); 
                                                                                    ^
/usr/include/boost/format/feed_args.hpp:248:84: note: candidates are:
In file included from /usr/include/boost/format.hpp:44:0,
                 from /usr/include/boost/math/policies/error_handling.hpp:31,
                 from /usr/include/boost/math/special_functions/round.hpp:14,
                 from /opt/ros/jade/include/ros/time.h:58,
                 from /opt/ros/jade/include/ros/serialization.h:34,
                 from /opt/ros/jade/include/std_msgs/String.h:14,
                 from /home/patrchri/catkin_ws/src/beginner_tutorials/src/talker.cpp:2:
/usr/include/boost/format/exceptions.hpp:66:15: note: boost::io::too_many_args::too_many_args()
         class too_many_args : public format_error
               ^
/usr/include/boost/format/exceptions.hpp:66:15: note:   candidate expects 0 arguments, 2 provided
/usr/include/boost/format/exceptions.hpp:66:15: note: boost::io::too_many_args::too_many_args(const boost::io::too_many_args&)
/usr/include/boost/format/exceptions.hpp:66:15: note:   candidate expects 1 argument, 2 provided
make[2]: *** [beginner_tutorials/CMakeFiles/talker.dir/src/talker.cpp.o] Error 1
make[1]: *** [beginner_tutorials/CMakeFiles/talker.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

Could you please tell me what I am missing here and what this error means? In case more info is needed for you to help me, please tell me to edit my question .

Thank you in advance for your help .

2020-07-10 18:18:22 -0500 received badge  Self-Learner (source)
2020-05-04 08:39:48 -0500 marked best answer Cannot display the urdf model in rviz (launch file)

Hello,

I am new to ROS and today I attempted to write a simple code for a launch file just to display my urdf model in rviz. I wrote this for a start:

<launch>
  <param name="robot_description" textfile="$(find labrob_description)/urdf/labrob.urdf" />
  <node name="rviz" pkg="rviz" type="rviz" required="true" />
</launch>

What I get is an empty rviz grid. Could you please explain me what I am doing wrong ? I saw some ready codes and they work fine for me when I roslaunch them (they display my model correctly in rviz) and from what I got, these are the lines to display a urdf model. Am I right ?

Thanks for your time and your answer in advance, Chris

I am adding also the urdf model code:

<robot name="labrob">
  <!-- Base link -->
  <link name="base_link">
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
          <box size="1 0.5 0.25"/>
      </geometry>
      <material name="yellow">
        <color rgba="0.8 0.8 0 1"/>
      </material>
    </visual>
  </link>
  <!-- Front Right Wheel -->
  <link name="f_r_wheel">
    <visual>
      <origin xyz="0 0 0" rpy="1.570795 0 0" />
      <geometry>
          <cylinder length="0.1" radius="0.2" />
      </geometry>
      <material name="black">
        <color rgba="0.05 0.05 0.05 1"/>
      </material>
    </visual>
  </link>
  <joint name="joint_f_r_wheel" type="continuous">
    <parent link="base_link"/>
    <child link="f_r_wheel"/>
    <origin xyz="0.25 -0.30 0" rpy="0 0 0" /> 
    <axis xyz="0 1 0" rpy="0 0 0" />
  </joint>  
  <!-- Back Right Wheel -->
  <link name="b_r_wheel">
    <visual>
      <origin xyz="0 0 0" rpy="1.570795 0 0" />
      <geometry>
          <cylinder length="0.1" radius="0.2" />
      </geometry>
      <material name="black"/>
    </visual>
  </link>
  <joint name="joint_b_r_wheel" type="continuous">
    <parent link="base_link"/>
    <child link="b_r_wheel"/>
    <origin xyz="-0.25 -0.30 0" rpy="0 0 0" /> 
    <axis xyz="0 1 0" rpy="0 0 0" />
  </joint>  
  <!-- Front Left Wheel -->
  <link name="f_l_wheel">
    <visual>
      <origin xyz="0 0 0" rpy="1.570795 0 0" />
      <geometry>
          <cylinder length="0.1" radius="0.2" />
      </geometry>
      <material name="black"/>
    </visual>
  </link>
  <joint name="joint_f_l_wheel" type="continuous">
    <parent link="base_link"/>
    <child link="f_l_wheel"/>
    <origin xyz="0.25 0.30 0" rpy="0 0 0" /> 
    <axis xyz="0 1 0" rpy="0 0 0" />
  </joint>
  <!-- Back Left Wheel -->
  <link name="b_l_wheel">
    <visual>
      <origin xyz="0 0 0" rpy="1.570795 0 0" />
      <geometry>
          <cylinder length="0.1" radius="0.2" />
      </geometry>
      <material name="black"/>
    </visual>
  </link>
  <joint name="joint_b_l_wheel" type="continuous">
    <parent link="base_link"/>
    <child link="b_l_wheel"/>
    <origin xyz="-0.25 0.30 0" rpy="0 0 0" /> 
    <axis xyz="0 1 0" rpy="0 0 0" />
  </joint>
</robot>
2020-03-18 07:59:42 -0500 received badge  Favorite Question (source)
2019-12-25 02:05:57 -0500 received badge  Good Answer (source)
2019-11-07 03:19:50 -0500 marked best answer Error in rviz displaying urdf model

Hello,

I am trying to create a simple 4 wheel robot with a camera and I have written this code for the urdf model:

<robot name="labrob">
  <!-- Base link -->
  <link name="base_link">
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
          <box size="1 0.5 0.25"/>
      </geometry>
      <material name="yellow">
        <color rgba="0.8 0.8 0 1"/>
      </material>
    </visual>
  </link>
  <!-- Front Right Wheel -->
  <link name="f_r_wheel">
    <visual>
      <origin xyz="0 0 0" rpy="1.570795 0 0" />
      <geometry>
          <cylinder length="0.1" radius="0.2" />
      </geometry>
      <material name="black">
        <color rgba="0.05 0.05 0.05 1"/>
      </material>
    </visual>
  </link>
  <joint name="joint_f_r_wheel" type="continuous">
    <parent link="base_link"/>
    <child link="f_r_wheel"/>
    <origin xyz="0.25 -0.30 0" rpy="0 0 0" /> 
    <axis xyz="0 1 0" rpy="0 0 0" />
  </joint>  
  <!-- Back Right Wheel -->
  <link name="b_r_wheel">
    <visual>
      <origin xyz="0 0 0" rpy="1.570795 0 0" />
      <geometry>
          <cylinder length="0.1" radius="0.2" />
      </geometry>
      <material name="black"/>
    </visual>
  </link>
  <joint name="joint_b_r_wheel" type="continuous">
    <parent link="base_link"/>
    <child link="b_r_wheel"/>
    <origin xyz="-0.25 -0.30 0" rpy="0 0 0" /> 
    <axis xyz="0 1 0" rpy="0 0 0" />
  </joint>  
  <!-- Front Left Wheel -->
  <link name="f_l_wheel">
    <visual>
      <origin xyz="0 0 0" rpy="1.570795 0 0" />
      <geometry>
          <cylinder length="0.1" radius="0.2" />
      </geometry>
      <material name="black"/>
    </visual>
  </link>
  <joint name="joint_f_l_wheel" type="continuous">
    <parent link="base_link"/>
    <child link="f_l_wheel"/>
    <origin xyz="0.25 0.30 0" rpy="0 0 0" /> 
    <axis xyz="0 1 0" rpy="0 0 0" />
  </joint>
  <!-- Back Left Wheel -->
  <link name="b_l_wheel">
    <visual>
      <origin xyz="0 0 0" rpy="1.570795 0 0" />
      <geometry>
          <cylinder length="0.1" radius="0.2" />
      </geometry>
      <material name="black"/>
    </visual>
  </link>
  <joint name="joint_b_l_wheel" type="continuous">
    <parent link="base_link"/>
    <child link="b_l_wheel"/>
    <origin xyz="-0.25 0.30 0" rpy="0 0 0" /> 
    <axis xyz="0 1 0" rpy="0 0 0" />
  </joint>


</robot>

As you can read I haven't put yet the camera or the trasmission blocks. I just have written the basic structure of the model with the joints. I have also written this .launch file:

<launch>
  <!-- urdf xml robot description loaded on the Parameter Server-->
  <param name="robot_description" textfile="$(find labrob_description)/urdf/labrob.urdf" />
  <arg name="gui" default="true" />
  <arg name="rvizconfig" default="$(find labrob_description)/rviz/urdf.rviz" />


  <!--param name="robot_description" command="$(find xacro)/xacro.py $(arg model)" -->
  <param name="use_gui" value="$(arg gui)"/>


  <!-- source that publishes the joint positions as a sensor_msgs/JointState -->
  <param name="use_gui" value="true"/>
  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />


  <!-- publish all the frames to TF -->
  <node pkg="robot_state_publisher" type="robot_state_publisher" name="rob_st_pub" >
  <param name="publish_frequency" value="50"/> <!-- Hz -->
  </node>


  <!-- robot visualization -->
  <node name="rviz" pkg="rviz" args="-d $(arg rvizconfig)" type="rviz" required="true" />
</launch>

In this launch file I am trying to display my model in the rviz environment. Via the launch file I call a .rviz configuration file which is this one:

Panels ...
(more)
2019-11-07 03:19:50 -0500 received badge  Self-Learner (source)
2019-01-29 03:32:05 -0500 marked best answer Ros_control cannot be found (Kinetic)

Hello,

I am using ROS Kinetic and today I tried to create a package (labrob_control) to implement the necessary controllers for my actuators with the following dependencies: ros_control, ros_controllers.

I also checked at the /opt/ros/kinetic/share and I can see the 2 packages installed there.

But when I try to catkin_make my project I get the following warnings and errors:

Base path: /home/legged/4wheel_robot
Source space: /home/legged/4wheel_robot/src
Build space: /home/legged/4wheel_robot/build
Devel space: /home/legged/4wheel_robot/devel
Install space: /home/legged/4wheel_robot/install
####
#### Running command: "make cmake_check_build_system" in "/home/legged/4wheel_robot/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/legged/4wheel_robot/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic
-- This workspace overlays: /opt/ros/kinetic
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/legged/4wheel_robot/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.1
-- BUILD_SHARED_LIBS is on
WARNING: package "labrob_control" should not depend on metapackage "ros_control" but on its packages instead
WARNING: package "labrob_control" should not depend on metapackage "ros_controllers" but on its packages instead
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 3 packages in topological order:
-- ~~  - labrob_control
-- ~~  - labrob_description
-- ~~  - labrob_gazebo
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'labrob_control'
-- ==> add_subdirectory(labrob/labrob_control)
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
  Could not find a package configuration file provided by "ros_control" with
  any of the following names:

    ros_controlConfig.cmake
    ros_control-config.cmake

  Add the installation prefix of "ros_control" to CMAKE_PREFIX_PATH or set
  "ros_control_DIR" to a directory containing one of the above files.  If
  "ros_control" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  labrob/labrob_control/CMakeLists.txt:7 (find_package)


-- Could not find the required component 'ros_control'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "ros_control" with
  any of the following names:

    ros_controlConfig.cmake
    ros_control-config.cmake

  Add the installation prefix of "ros_control" to CMAKE_PREFIX_PATH or set
  "ros_control_DIR" to a directory containing one of the above files.  If
  "ros_control" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  labrob/labrob_control/CMakeLists.txt:7 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/legged/4wheel_robot/build/CMakeFiles/CMakeOutput.log".
See also "/home/legged/4wheel_robot/build/CMakeFiles/CMakeError.log".
Makefile:1704: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

Maybe it's important to notice that the package labrob_control is under a metapackage called labrob, along with two other packages: labrob_description, labrob_gazebo. Could you please tell me what is wrong here?

I also tried in the packages directory the following command in case any dependency was missing:

rosdep install --from-paths . --ignore-src --rosdistro kinetic

but everything ... (more)

2019-01-14 12:32:51 -0500 marked best answer Problem using a lidar sensor in gazebo

Hello,

I am new to ROS and I am using ROS Kinetic. So far I have found a URDF code for a hokuyo laser sensor, which I would like to use for simulations and I have put it on my robot:

 <link name="hokuyo_link">
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0"/>
      <geometry>
        <box size="0.15 0.15 0.15"/>
      </geometry>
    </collision>

    <visual>
      <origin xyz="0 0 0" rpy="0 0 0"/>
      <geometry>
        <mesh filename="package://labrob_description/meshes/hokuyo.dae"/>
      </geometry>
    </visual>

    <inertial>
      <mass value="1e-5" />
      <origin xyz="0 0 0" rpy="0 0 0"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6" />
    </inertial>
  </link>

  <property name="hokuyo_link" value="0.15" />
  <joint name="hokuyo_joint" type="fixed">
    <axis xyz="0 1 0" />
    <origin xyz="0.425 0 0.15" rpy="0 0 0"/>
    <parent link="base_link"/>
    <child link="hokuyo_link"/>
  </joint>

  <!-- hokuyo -->
  <gazebo reference="hokuyo_link">
    <sensor type="gpu_ray" name="head_hokuyo_sensor">
      <pose>0 0 0 0 0 0</pose>
      <visualize>false</visualize>
      <update_rate>40</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>720</samples>
            <resolution>1</resolution>
            <min_angle>-1.570796</min_angle>
            <max_angle>1.570796</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.10</min>
          <max>30.0</max>
          <resolution>0.01</resolution>
        </range>
        <noise>
          <type>gaussian</type>
          <!-- Noise parameters based on published spec for Hokuyo laser
               achieving "+-30mm" accuracy at range < 10m.  A mean of 0.0m and
               stddev of 0.01m will put 99.7% of samples within 0.03m of the true
               reading. -->
          <mean>0.0</mean>
          <stddev>0.01</stddev>
        </noise>
      </ray>
      <plugin name="gazebo_ros_head_hokuyo_controller" filename="libgazebo_ros_gpu_laser.so">
        <topicName>/labrob/laser/scan</topicName>
        <frameName>hokuyo_link</frameName>
      </plugin>
    </sensor>
  </gazebo>

I can successfully roslaunch the robot with the sensor in gazebo and see that the /labrob/laser/scan topic is being used from the sensor. I have tried adding objects really close to the sensor (tables for example), but I get the same data as when the sensor is in an empty world. The data which are being published on the topic are the following:

header: 
  seq: 37775
  stamp: 
    secs: 1156
    nsecs: 736000000
  frame_id: hokuyo_link
angle_min: -1.57079994678
angle_max: 1.57079994678
angle_increment: 0.00436940183863
time_increment: 0.0
scan_time: 0.0
range_min: 0.10000000149
range_max: 30.0
ranges: [-inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf, -inf ...
(more)
2019-01-14 12:32:51 -0500 received badge  Nice Answer (source)
2018-11-20 02:22:42 -0500 received badge  Taxonomist
2018-06-18 15:58:55 -0500 received badge  Notable Question (source)
2018-04-25 08:46:53 -0500 marked best answer differential drive plugin in real robot

Hello,

I have used the differential drive plugin in the gazebo environment as described here (scroll below in the page) to do some tasks with a 3 wheel robot. The plugin as you can see requests some characteristics of the vehicle and it creates an interface so I can interact with my robot in gazebo. The main feature of this interface is the cmd_vel topic which is actually what moves the robot. The cmd_vel is a topic that understands geometry_msgs/Twist messages, which are simple messages like linear.x velocity commands in m/s or angular.z velocity commands in rad/s. With these messages you can move and control your robot easily in the gazebo environment.

I want to create a similar real robot now and implement one similar plugin as this. I use Tiva microcontrollers to control my motors. I know that a way I can do this is by implementing a PID controller through Tiva and the encoders on my motors, so I can create a topic similar to cmd_vel, but this will require to build from scratch what the cmd_vel does. This means creating two controllers for the two seperate motors and then build a function that will somehow do what the cmd_vel does.

To avoid building from scratch a differential drive and to save time I would like to ask if there is a simpler and faster way (ready packages provided by ROS for example) to actually create the cmd_vel topic for a real robot with Tiva microcontrollers ?

Thank you for answering and for your time in advance,

Chris

2018-03-07 09:56:31 -0500 marked best answer Remapping the gazebo node

Hello,

I am using the following launch file to spawn my robot in gazebo:

<launch>
  <arg name="paused" default="false"/>
  <arg name="debug" default="false"/>
  <arg name="gui" default="true"/>
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find labrob_gazebo)/worlds/second_world.world"/>
    <arg name="paused" value="$(arg paused)" />
    <arg name="debug" value="$(arg debug)" />
    <arg name="gui" value="$(arg gui)" />
    <arg name="use_sim_time" value="true" />
    <arg name="headless" value="false" />
  </include>


  <!-- urdf xml robot description loaded on the Parameter Server-->
  <param name="robot_description" command="$(find xacro)/xacro.py '$(find labrob_description)/urdf/labrob.urdf'" />

  <!-- push robot_description to factory and spawn robot in gazebo -->
  <node name="labrob_spawn" pkg="gazebo_ros" type="spawn_model" output="screen" 
    args="-urdf -param robot_description -model labrob" />
</launch>

and I want to remap the gazebo node so it will stop using the tf topic.

I have seen this question after DavidN's help, but I would prefer not to modify the launch files of the gazebo_ros package and do the remapping from the launch files I use.

I have tried to create a remap.launch file that I ran after roslaunching the above file, in which I wrote:

<launch>
<node pkg="gazebo_ros" name="gazebo" type="gzserver">
<remap from="tf" to="gazebo_tf"/>
</node>
</launch>

This didn't work, probably because the remapping can be achieved at the start of the execution of the node and not during runtime. I have tried to use the <remap from="tf" to="gazebo_tf"/> tag almost everywhere in the first file I present here, but the gazebo node doesn't remap from the tf topic -it is not recognized.

How could I modify the first launch file to successfully remap the gazebo node from my package ?

Thank you for your answers and for your time in advance,

Chris

EDITED:

The solution proposed by Winston didn't work, because the /gazebo node was already launched initially in the launch file. To be more specific, I got the following errors:

roslaunch file contains multiple nodes named [/gazebo].
Please check all <node> 'name' attributes to make sure they are unique.
Also check that $(anon id) use different ids.
The traceback for the exception was written to the log file
2017-12-24 11:34:38 -0500 marked best answer Hector_Slam (Autonomous Navigation)

Hello,

I am new to navigation and generally in ros and I am trying to use hector_slam metapackage for autonomous navigation. I am using ROS Kinetic. I have a 3 wheel robot with a lidar on which I have created as a urdf model and I am using gazebo for simulations. Currently, I have managed to use the hector_mapping node to create a map and visualize it through rviz. For the building of the map, I used teleoperation to move the robot. Now I am lost, because I am trying to implement autonomy on my robot. What packages of the hector_slam meta will help me with that and generally where should i start ?

Thank you for your time and for your answers in advance,

Chris

2017-12-24 11:34:38 -0500 received badge  Self-Learner (source)
2017-11-30 21:39:22 -0500 received badge  Famous Question (source)
2017-11-19 11:35:09 -0500 received badge  Famous Question (source)