Niryo_one Studio connection to desktop_rviz_simulation2018-06-18T14:48:18+00:00

Forums Niryo One How to… Niryo_one Studio connection to desktop_rviz_simulation

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • FindingNiryo
    Participant
    Post count: 44

    Initially Was able to connect Niryo_one Studio from a Windows computer on the network and toggle learning mode but <move joint> commands timeout (Niryo_One Studio Applications log)

    [ ERROR ] [2018-49-14 16:49:42] Robot Command – Timeout , failed to execute command on the robot

    ROS Launch Warnings and error messages:
    [Error] Couldn’t open joytick /dev/input/js0. Will retry ever second
    ImportError: No module named jsonpickle
    [niryo_one_commander-7] process has died

    Installed jsonpickle and Robot Command Move Robot Joints successfully processed

    FindingNiryo
    Participant
    Post count: 44

    Unable to run sequence from Niryo_One Studio to ROS launch desktop_rviz_simulation (Application log reads)
    [ ERROR ] [2018-30-15 12:30:01] Sequence Command – [Errno 111] Connection refused

    Bash Shell displays:
    Sequence Server: Goal has been accepted
    Sequence Server: Executing thread
    Generate Python code from Blocky xml

    Edouard Renard
    Keymaster
    Post count: 110

    Hi,

    It seems that you are using the latest version on github. For now the official version is V1.1 and what you can find on github is still in development and will be released soon (V2.0). That’s why the documentation is still not complete yet 🙂

    So, yes you need to install the python module jsonpickle.

    And for your second error, it’s because you need to install some dependencies with npm (for the Blockly library). Please follow the installation instructions at the bottom of this page : https://github.com/NiryoRobotics/niryo_one_ros/tree/master/niryo_one_user_interface

    The README will be updated soon with all the new installation instructions !

    FindingNiryo
    Participant
    Post count: 44

    Following Niryo_one_user_interface installation:
    curl nodesource and apt-get install <success>
    $cd ~/catkin_ws/niryo_one_user_interface/blocky_code_generator
    $npm install
    npm WARN blocky_code_generator_server@1.0.0 No repository field
    npm WARN blocky_code_generator_server@1.0.0 license should be a valid SPDX licence expression

    $sudo npm link
    gyp ERR! configure error
    gyp ERR! stack Error:EACCAS: permission denied, mkdir /home/my_usr_id/catkin_ws/niryo_one_user_interface/blocky_code_generator/node_modules/libxmljs/build
    gyp ERR! System Linux 4.13.0-45-generic…

    $npm install libxmljs
    <lots of warnings array subscript bounds, too many arguments, signed unsigned comparison, etc.>
    $sudo npm link
    <SUCCESS>

    FindingNiryo
    Participant
    Post count: 44

    Niryo_one Studio Sequence Move Pose sets Y&Z from Z parameter
    Example:
    [Move Pose] 0.23,0.33,0,0,0,0
    rviz shell n.highlight_block… n.move_pose(0.23, 0.33, 0, 0, 0, 0)
    <end position 0.23,0,0,0,0,0>

    FIXED Niryo_one Studio Sequence Move Pose sets Y&Z from Z parameter
    Found error in niryo_one_commander/scripts/arm_commander.py
    def set_pose_target(self, x, y, z, roll, pitch, yaw):
    try:
    self.move_group_arm.set_pose_target(x,z,z,roll,pitch,yaw)

    Should be
    self.move_group_arm.set_pose_target(x,y,z,roll,pitch,yaw)

    • This reply was modified 4 months, 3 weeks ago by  FindingNiryo.
    FindingNiryo
    Participant
    Post count: 44

    Niryo_one Studio Move Pose <shell WARN “TCP/IP connection failed”>
    [ SUCCESS ] [2018-56-19 11:56:52] Sequence Command – Successfully executed Sequence code
    rviz shell reports

    [WARN] Dropping first 1 trajectory point(s) out of 10, as they occur before the current time. First valid point will be reached in 0.037s

    [WARN] Inbouncd TCP/IP connection failed: connection from sender terminated before handshake header received. 0 bytes were received. Please check sender for additional details

    FindingNiryo
    Participant
    Post count: 44

    FIXED Niryo_one Studio Sequence Move Pose sets Y&Z from Z parameter
    Found error in niryo_one_commander/scripts/arm_commander.py
    def set_pose_target(self, x, y, z, roll, pitch, yaw):
    try:
    self.move_group_arm.set_pose_target(x,z,z,roll,pitch,yaw)

    Should be
    self.move_group_arm.set_pose_target(x,y,z,roll,pitch,yaw)

    FindingNiryo
    Participant
    Post count: 44

    Regarding Always dropping first trajectory point I found this article
    joint_trajectory_controller – Always dropping first trajectory point #291
    https://github.com/ros-controls/ros_controllers/issues/291

    What is the best practices solution here?

    Edouard Renard
    Keymaster
    Post count: 110

    FIXED Niryo_one Studio Sequence Move Pose sets Y&Z from Z parameter
    Found error in niryo_one_commander/scripts/arm_commander.py
    def set_pose_target(self, x, y, z, roll, pitch, yaw):
    try:
    self.move_group_arm.set_pose_target(x,z,z,roll,pitch,yaw)

    Should be
    self.move_group_arm.set_pose_target(x,y,z,roll,pitch,yaw)

    Thanks for noticing that ! The error was included in a recent PR. This has now been fixed.

    Regarding Always dropping first trajectory point I found this article
    joint_trajectory_controller – Always dropping first trajectory point #291
    https://github.com/ros-controls/ros_controllers/issues/291

    What is the best practices solution here?

    As someone in the discussion pointed, this behavior is due to time_from_start which is 0. (in practice, this results in a higher acceleration at the beginning of a trajectory, because the controller is trying to catch up. However, the controller will always go smoothly and you won’t see abrupt movements)

    A solution I see could be to add a first point in the trajectory + adding a time offset to all other points, before sending the trajectory to the joint trajectory controller. I might look into that if I have some time. Also, feel free to contribute with a Pull Request if you find something useful !

    Also, the code you see now on the niryo_one_ros github will be packaged and released as a V2.0 software, in a few weeks. When it is ready, the README and documentation will be fully updated 🙂

    FindingNiryo
    Participant
    Post count: 44

    Some issues with Niryo_one Studio connection to desktop_rviz_simulation:
    1) NiryoBlock Pose X,Y,Z (in meters) limited to two decimal places.
    Location specification ± 5mm. Should be in millimeters or centimeters

    2) Open/Close Gripper Sequence Command – Goal has been aborted : No tool selected. Would like to select/activate Gripper in default_config.rviz

    Edouard Renard
    Keymaster
    Post count: 110

    Hi,

    1) You can use 3 decimals for pose command on the NiryoOneStudio V2.0 (final official release date : early September)

    2) For now this is not possible to select a tool by default on boot, and default_config.rviz wouldn’t be the place to do that. What you can do now is create a script with the Niryo One python API to select the gripper when you start your program. Or you can create a sequence to do that, and activate it when you press the top button.

    This feature (tool auto-selecting) might be added in the future.

    FindingNiryo
    Participant
    Post count: 44

    In order to include grippers in RVIZ desktop simulation:
    Where are the description files (STL, URDF, etc.) for tools
    # Tools IDs
    TOOL_NONE = 0
    TOOL_GRIPPER_1_ID = 11
    TOOL_GRIPPER_2_ID = 12
    TOOL_GRIPPER_3_ID = 13
    TOOL_ELECTROMAGNET_1_ID = 30
    TOOL_VACUUM_PUMP_1_ID = 31

    Edouard Renard
    Keymaster
    Post count: 110

    Hi,

    During the development of the robot we have decided to handle (programmatically) differently the arm and the tools. So, the arm is represented with a URDF file, and is operated with Moveit. The tools are directly handled with their own controller.

    You can find the “why” on our github repo were this matter has already been discussed.

Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.