Error while loading robot control. Unable to set parameters. Cannot marshal None unless allow_none is enabled.

asked 2020-02-19 11:29:51 -0500

John999991 gravatar image

updated 2020-02-19 13:00:24 -0500

After issuing:

roslaunch robot_control robot_control.launch

(after gazebo has been loaded with my model, correctly), I get the following error:

load_parameters: unable to set parameters (last param was [/robot/BLJ_position_controller/pid/d=0.0]): cannot marshal None unless allow_none is enabled

FULL OUTPUT:

SUMMARY
========

PARAMETERS
 * /joint_state_publisher/use_gui: True
 * /robot/BLJ_position_controller/joint: BLJ
 * /robot/BLJ_position_controller/pid/d: 0.0
 * /robot/BLJ_position_controller/pid/i: 0.0
 * /robot/BLJ_position_controller/pid/p: 1.0
 * /robot/BLJ_position_controller/type: effort_controller...
 * /robot/BLJ_velocity_controller: None
 * /robot/BRJ_position_controller/joint: BRJ
 * /robot/BRJ_position_controller/pid/d: 0.0
 * /robot/BRJ_position_controller/pid/i: 0.0
 * /robot/BRJ_position_controller/pid/p: 1.0
 * /robot/BRJ_position_controller/type: effort_controller...
 * /robot/BRJ_velocity_controller: None
 * /robot/FLJ_position_controller/joint: FLJ
 * /robot/FLJ_position_controller/pid/d: 0.0
 * /robot/FLJ_position_controller/pid/i: 0.0
 * /robot/FLJ_position_controller/pid/p: 1.0
 * /robot/FLJ_position_controller/type: effort_controller...
 * /robot/FLJ_velocity_controller: None
 * /robot/FRJ_position_controller/joint: FRJ
 * /robot/FRJ_position_controller/pid/d: 0.0
 * /robot/FRJ_position_controller/pid/i: 0.0
 * /robot/FRJ_position_controller/pid/p: 1.0
 * /robot/FRJ_position_controller/type: effort_controller...
 * /robot/FRJ_velocity_controller: None
 * /robot/joint: BLJ
 * /robot/joint_state_controller/publish_rate: 50
 * /robot/joint_state_controller/type: effort_controller...
 * /robot/pid/d: 0.0
 * /robot/pid/i: 0.0
 * /robot/pid/p: 1.0
 * /robot/type: effort_controller...
 * /robot_description: <?xml version="1....
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /
    joint_state_publisher (joint_state_publisher/joint_state_publisher)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)
  /robot/
    controller_spawner (controller_manager/spawner)

ROS_MASTER_URI=http://localhost:11311

load_parameters: unable to set parameters (last param was [/robot/BLJ_position_controller/pid/d=0.0]): cannot marshal None unless allow_none is enabled
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 306, in main
    p.start()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 279, in start
    self.runner.launch()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/launch.py", line 657, in launch
    self._setup()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/launch.py", line 644, in _setup
    self._load_parameters()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/launch.py", line 338, in _load_parameters
    r  = param_server_multi()
  File "/usr/lib/python2.7/xmlrpclib.py", line 1006, in __call__
    return MultiCallIterator(self.__server.system.multicall(marshalled_list))
  File "/usr/lib/python2.7/xmlrpclib.py", line 1243, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1596, in __request
    allow_none=self.__allow_none)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1094, in dumps
    data = m.dumps(params)
  File "/usr/lib/python2.7/xmlrpclib.py", line 638, in dumps
    dump(v, write)
  File "/usr/lib/python2.7/xmlrpclib.py", line 660, in __dump
    f(self, value, write)
  File "/usr/lib/python2.7/xmlrpclib.py", line 719, in dump_array
    dump(v, write)
  File "/usr/lib/python2.7/xmlrpclib.py", line 660, in __dump
    f(self, value, write)
  File "/usr/lib/python2.7/xmlrpclib.py", line 741, in dump_struct
    dump(v, write)
  File "/usr/lib/python2.7/xmlrpclib.py", line 660, in __dump
    f(self, value, write)
  File "/usr/lib/python2.7/xmlrpclib.py", line 719, in dump_array
    dump(v, write)
  File ...
(more)
edit retag flag offensive close merge delete

Comments

1

Well, this seems like it would be a problem:

PARAMETERS
 * /robot/BLJ_velocity_controller: None
 * /robot/BRJ_velocity_controller: None
 * /robot/FLJ_velocity_controller: None
 * /robot/FRJ_velocity_controller: None

If what you show as your robot_control.yaml is a verbatim copy-paste, you'll want to check the indentation of the stanzas in the "Velocity Controllers" section.

You need to pay attention to such things. Computers are non-forgiving when it comes to this.

gvdhoorn gravatar image gvdhoorn  ( 2020-02-19 12:30:26 -0500 )edit

Thank you very much for your reply. I didn't know yaml had a thing with identations... In any case my issue was not solve. I still experience the

[ERROR] [1582137830.757769, 11.138000]: Failed to load joint_state_controller
John999991 gravatar image John999991  ( 2020-02-19 12:46:29 -0500 )edit

I have removed the ns="/robot" from the section of controller Launch file. Please check my new addition on my Question for the results. It says something about "Controller Spawner couldn't find the expected controller_manager ROS interface."

John999991 gravatar image John999991  ( 2020-02-19 16:02:17 -0500 )edit

My opinion is that we need to have the namespace defined but if I do so, I cannot get the joint_state_controller to load...

John999991 gravatar image John999991  ( 2020-02-20 04:09:21 -0500 )edit