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

akihiko's profile - activity

2021-10-25 12:01:04 -0500 received badge  Popular Question (source)
2021-10-25 02:51:12 -0500 commented answer catkin: When are the install directives in CMakeLists.txt effective?

Thanks for answering. Although this is explaining how to install the files (and where), it doesn't mention why the insta

2021-10-25 02:51:12 -0500 received badge  Commentator
2021-10-25 02:51:05 -0500 commented question catkin: When are the install directives in CMakeLists.txt effective?

@gvdhoorn Partially. I'm also asking the necessity of installation, if the package works without doing that.

2021-10-25 00:08:38 -0500 asked a question catkin: When are the install directives in CMakeLists.txt effective?

catkin: When are the install directives in CMakeLists.txt effective? I tested a simple catkin package, and have some que

2021-10-24 22:57:07 -0500 commented question rosmake error [melodic - ubuntu 18.04]

@gvdhoorn 1. rosmake cannot build catkin packages, of course. But packages build with rosmake can work with catkin-built

2021-10-22 01:14:56 -0500 commented question rosmake error [melodic - ubuntu 18.04]

@jarvisschultz Thanks for the comments. Yes, deprecation is too strong, if there is no agreements. I understand the adva

2021-10-20 23:27:46 -0500 commented question rosmake error [melodic - ubuntu 18.04]

@jarvisschultz Where is the evidence that rosmake was deprecated? In its official ROS Wiki, the status is maintained, an

2021-10-13 13:22:00 -0500 received badge  Famous Question (source)
2021-04-07 17:49:44 -0500 received badge  Good Question (source)
2021-03-31 10:17:26 -0500 received badge  Notable Question (source)
2020-11-08 08:48:21 -0500 received badge  Popular Question (source)
2020-11-01 21:46:45 -0500 asked a question Elapsed time goes weird

Elapsed time goes weird Hello, I'm experiencing periodic Moved backwards in time errors from robot_state_publisher. I'm

2019-07-06 11:43:00 -0500 received badge  Nice Question (source)
2019-03-27 02:31:17 -0500 received badge  Famous Question (source)
2018-09-14 17:28:04 -0500 marked best answer Motoman FS100: Velocity feedback control

Hello, I'm controlling Yaskawa Motoman SIA10F (controller: FS100) over ROS. I'd like to do a velocity feedback control (PD control). As the first-step implementation, I made a simple joy stick control: joy stick command is converted to target joint velocities. My code is like:

for each loop (e.g. 40 Hz):
    make a target trajectory consisting of two points:
      point-0 (time=0): current joint positions, current joint velocities
      point-1 (time=dt): target joint positions after dt, target joint velocities
    send the trajectory to /joint_path_command

The current joint velocities are computed internally, because FS100 does not publish joint velocities in the /joint_states topic. dt=1/40. 40 Hz is chosen because the hz of /joint_states is approx. 40.

When executing this code, it did not work, and I encountered errors:

[ERROR] [1511841339.366407562]: Aborting Trajectory.  Failed to send point (#0): Invalid message (3) : Trajectory start position doesn't match current robot position (3011)                                                                                        
[ERROR] [1511841339.621870698]: Trajectory splicing not yet implemented, stopping current motion.
[ERROR] [1511841339.622553123]: Validation failed: Trajectory doesn't start at current position.

How can I implement a velocity feedback control? If there is an example code, please let me know. Thanks!

2018-04-18 22:47:44 -0500 received badge  Famous Question (source)
2018-02-26 04:07:11 -0500 received badge  Notable Question (source)
2018-01-11 20:07:40 -0500 marked best answer Collision detection in Python

Hello everyone! I would like to ask a simple question.

How can we detect collisions in Python? (as simple as possible) My goal is as follows:

  • Want to check a state validity and a trajectory validity by evaluating self-collision and collision with obstacles.
  • Want to use a PR2 robot.
  • Want to add some simple primitives like a box, a cylinder, etc. to the scene.
  • Want to attach simple primitives to the robot body (assuming that the robot is grasping an object).
  • Not want to implement too much.

I found several solutions as follows, but I want simpler solutions.

  1. Using the /environment_server node through the services.
    • This is slow, and has a problem to detect collisions between cylinders as reported here.
  2. Using MoveIt!.
  3. Using FCL.
    • Only has a C++ interface.

Hence, to the best of my knowledge, I need to implement a python interface to call C++ functions (by using either the Python/C interface or the ROS communication), which sounds a bit complicated.

If anyone can suggest simpler solutions, please tell me.

Thanks in advance.

2017-12-04 01:24:15 -0500 received badge  Popular Question (source)
2017-12-03 00:49:22 -0500 received badge  Supporter (source)
2017-12-01 05:14:03 -0500 asked a question Motoman FS100: Velocity feedback control

Motoman FS100: Velocity feedback control Hello, I'm controlling Yaskawa Motoman SIA10F (controller: FS100) over ROS. I'

2017-11-28 16:30:44 -0500 received badge  Notable Question (source)
2017-11-27 18:21:11 -0500 marked best answer Motoman FS100: Missing velocity and effort in joint_states

I'm controlling Yaskawa Motoman SIA10F (controller: FS100) over ROS. Previously the /joint_states topic had values of velocity and effort as well as position, but now velocity and effort disappeared (just blank vectors are sent). I removed some newly-installed packages, but they are still blank. Can anyone have ideas to fix this issue?

What I am doing to launch the Motoman system is as follows:

$ roscore
$ rosparam load `rospack find motoman_sia10f_support`/urdf/sia10f.urdf robot_description
$ rosparam set controller_joint_names "[joint_s, joint_l, joint_e, joint_u, joint_r, joint_b, joint_t]"
$ roslaunch motoman_driver robot_interface_streaming_fs100.launch robot_ip:=192.168.12.31
$ rostopic echo /joint_states
2017-11-27 18:21:11 -0500 received badge  Scholar (source)
2017-11-27 18:17:49 -0500 commented answer Motoman FS100: Missing velocity and effort in joint_states

Mmm it could be my mistake. What I'm sure is that I saw a "response" of robot for pushing it. I thought the response w

2017-11-27 08:19:44 -0500 received badge  Popular Question (source)
2017-11-27 00:16:31 -0500 commented question Motoman FS100: Missing velocity and effort in joint_states

I added some packages, but now I removed them.

2017-11-26 23:46:38 -0500 asked a question Motoman FS100: Missing velocity and effort in joint_states

Motoman FS100: Missing velocity and effort in joint_states I'm controlling Yaskawa Motoman SIA10F (controller: FS100) o

2017-10-10 04:48:51 -0500 received badge  Famous Question (source)
2017-04-04 06:41:59 -0500 received badge  Nice Question (source)
2017-01-18 22:04:32 -0500 received badge  Popular Question (source)
2017-01-18 22:04:32 -0500 received badge  Notable Question (source)
2016-05-08 15:36:43 -0500 marked best answer Collision is not detected with cylinder model

I am testing the arm_navigation's collision detection for a virtual object added to the planning scene and a virtual object attached to the robot. When using CYLINDER models, the collision detection fails; the results are OK when using BOX models. Using CYLINDER models is better in my case, so if somebody knows the reason, please tell me.

Here is the detail:

First, I added a virtual CYLINDER object to the planning scene through the /environment_server/set_planning_scene_diff service. Also, I attached a virtual CYLINDER object to the robot's left gripper. Then, I checked the collision during moving the robot's arm through the planning_scene_validity_server/get_state_validity service.

It could detect collisions between 1. the robot's body and the virtual scene object, and 2. the virtual robot's object and the robot's body. However, it could not detect collisions between the virtual robot's object and the virtual scene object. I tested to change the SetPlanningSceneDiffRequest.operations.collision_operations parameter, but it did not work.

Here is a video to show this problem: http://youtu.be/oRmfEwKrD9s (CYLINDER case)

By changing the objects to BOX models, it works as I expected.

The video is here: http://youtu.be/YH-MAvbKm9M (BOX case)

Many thanks!


Update: Combinations of (CYLINDER and BOX) or (BOX and CYLINDER) work well. Only the (CYLINDER and CYLINDER) case is weird.

2016-04-22 16:10:07 -0500 asked a question MoveIt! Collision Detection of Single Point

Hello,

I am using planning_scene::PlanningScene of MoveIt! to detect collisions with the checkCollision member function.

Now I would like to program a lower-level collision check. How can I detect a collision of a single point (x,y,z)?

My goal is for a given set of points (i.e. point cloud), categorizing each point into (1) colliding with a robot or an object or (2) no-collision. I guess a collision detection of single point would solve this problem. But if have any other ideas, please let me know.

Thanks!

2015-08-21 07:57:31 -0500 received badge  Famous Question (source)
2015-07-21 18:56:22 -0500 commented question Error: Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain

I haven't solved this problem yet, but my tentative solution would work in many cases. Use an external PC and connect to the same network as PR2. Then launch a node using above code (e.g. a planner, state-validity checker) on the external PC. Now you can use that node as if it is working on PR2.

2015-05-12 10:36:10 -0500 received badge  Famous Question (source)
2015-05-08 02:41:55 -0500 received badge  Notable Question (source)
2015-05-07 18:30:21 -0500 received badge  Popular Question (source)
2015-03-10 20:45:05 -0500 received badge  Self-Learner (source)
2015-03-10 20:45:05 -0500 received badge  Necromancer (source)
2015-03-10 20:45:05 -0500 received badge  Teacher (source)
2015-03-10 19:13:36 -0500 answered a question Collision is not detected with cylinder model

The collision detection of planning_environment ( http://wiki.ros.org/planning_environment ) seems to be using the collision checker of ODE (open dynamics engine). The codes are not available online now, but they are:

  • /opt/ros/groovy/stacks/arm_navigation/planning_environment
    • src/models/collision_models.cpp
    • src/models/collision_models_interface.cpp
    • include/planning_environment/models/collision_models.h
    • include/planning_environment/models/collision_models_interface.h
  • /opt/ros/groovy/stacks/arm_navigation/collision_space
    • include/collision_space/environmentODE.h
    • src/environmentODE.cpp

Anyway, unless fixing this bug, collision detection between two cylinder models does not work.

Hence, a better solution is using other collision detection library, such as:

Though MoveIt! is an integrated planning tool, we can use it as a collision detection library (and it is easy to use on ROS).

The following videos are the similar situations where we are using MoveIt! as a collision checker. No problem is happening in the collision detection between two cylinder models case.

2015-03-10 17:04:31 -0500 asked a question Error: Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain

Hello everyone.

I have a problem in using MoveIt! and the real PR2 robot. I am using MoveIt! for collision checking from C++.

When I load a robot model with robot_model_loader::RobotModelLoader from the "robot_description" parameter on the ROS parameter server with a code like:

int main(int argc, char**argv)
{
  ros::init(argc, argv, "state_validity_checker");
  ros::NodeHandle node("~");
  robot_model_loader::RobotModelLoader robot_model_loader("robot_description");
  return 0;
}

the program outputs an error and dies as follows:

...
core service [/rosout] found
process[state_validity_checker-1]: started with pid [19705]
[ERROR]: Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain. Not included in group 'left_arm'
[ WARN]: Group 'left_arm' is empty.
[state_validity_checker-1] process has died [pid 19705, exit code -11, cmd ...

I tested the same code on the gazebo simulator where the program could run correctly, then I executed the code on the real PR2 where the above error happened.

I checked that the "robot_description" parameter provides a correct information as follows:
On an external PC, I executed the same program, using the "robot_description" parameter provided by the computers on the real PR2. Thus, there is no problem of the "robot_description" parameter.

Hence, the problem will be a library or a configuration file. However, I could not identify the problem. I checked the URDF and SRDF of PR2, but they are the same as those of the external PC.

Could you please give me any advises to solve this problem?

Thank you so much in advance,
-- Akihiko


Edited@2015-05-07

I still can not solve this problem. I also tested to execute a tutorial program such as collision_contact_tutorial.launch in pr2_moveit_tutorials:

roslaunch pr2_moveit_tutorials collision_contact_tutorial.launch

but there was the same error (Links 'torso_lift_link' and 'l_wrist_roll_link' do not form a chain). By the way, those links are used in the beginning of the SRDF file as:

<group name="left_arm">
    <chain base_link="torso_lift_link" tip_link="l_wrist_roll_link" />
</group>

Anyway now I doubt this will be a moveit!'s problem. Has someone experienced a similar problem?

2015-02-25 13:01:45 -0500 commented question Collision detection in Python

Good idea. I have created a topic about this.

2015-02-25 01:59:16 -0500 received badge  Notable Question (source)
2015-02-24 12:59:29 -0500 received badge  Popular Question (source)