ROS packages for the Lynxmotion SSC-32U servo controller.
See the README in each individual package for details.
ROS packages for the Lynxmotion SSC-32U servo controller.
License: BSD 3-Clause "New" or "Revised" License
ROS packages for the Lynxmotion SSC-32U servo controller.
See the README in each individual package for details.
Using the new dev branch works well. However, when I try to publish data to the command topic using rqt_ez_publisher or rostopic (shown below) from the command line, the driver dies. After some debuging, I found line 386
inssc32_driver.cpp
on dev
branch to be where it dies. However, I cannot see an issue with the line. Any thoughts on this?
Thanks in advance,
-Tony
rostopic pub /joint_controller/command trajectory_msgs/JointTjectory "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
joint_names:
- 'joint_1, joint_2, joint_3, joint_4, gripper'
points:
- positions: [0,0,0,0,0]
velocities: [0]
accelerations: [0]
effort: [0]
time_from_start: {secs: 0, nsecs: 0}"
I was wondering if the driver would move the servos into their intial angles defined by the joint_lists? I connect to driver successfully as shown below, but the servos do not move at all. Do I have to issue a commond first or do they automatically go to that position?
Thank you,
-Tony
balto@T510:~$ roslaunch lynxmotion_al5d_support driver_al5d.launch
... logging to /home/balto/.ros/log/1f3645bc-4aa5-11e4-80bb-00262df3360c/roslaunch-T510-22437.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://T510:60830/
SUMMARY
========
PARAMETERS
* /joint_controller/robot_description
* /lynxmotion_ssc32_driver/controllers/joint_controller/joints
* /lynxmotion_ssc32_driver/controllers/joint_controller/publish_joint_states
* /lynxmotion_ssc32_driver/controllers/joint_controller/publish_rate
* /lynxmotion_ssc32_driver/controllers/joint_controller/type
* /lynxmotion_ssc32_driver/joints/gripper/channel
* /lynxmotion_ssc32_driver/joints/gripper/default_angle
* /lynxmotion_ssc32_driver/joints/gripper/invert
* /lynxmotion_ssc32_driver/joints/gripper/max_angle
* /lynxmotion_ssc32_driver/joints/gripper/min_angle
* /lynxmotion_ssc32_driver/joints/gripper/offset_angle
* /lynxmotion_ssc32_driver/joints/joint_1/channel
* /lynxmotion_ssc32_driver/joints/joint_1/default_angle
* /lynxmotion_ssc32_driver/joints/joint_1/invert
* /lynxmotion_ssc32_driver/joints/joint_1/max_angle
* /lynxmotion_ssc32_driver/joints/joint_1/min_angle
* /lynxmotion_ssc32_driver/joints/joint_1/offset_angle
* /lynxmotion_ssc32_driver/joints/joint_2/channel
* /lynxmotion_ssc32_driver/joints/joint_2/default_angle
* /lynxmotion_ssc32_driver/joints/joint_2/invert
* /lynxmotion_ssc32_driver/joints/joint_2/max_angle
* /lynxmotion_ssc32_driver/joints/joint_2/min_angle
* /lynxmotion_ssc32_driver/joints/joint_2/offset_angle
* /lynxmotion_ssc32_driver/joints/joint_3/channel
* /lynxmotion_ssc32_driver/joints/joint_3/default_angle
* /lynxmotion_ssc32_driver/joints/joint_3/invert
* /lynxmotion_ssc32_driver/joints/joint_3/max_angle
* /lynxmotion_ssc32_driver/joints/joint_3/min_angle
* /lynxmotion_ssc32_driver/joints/joint_3/offset_angle
* /lynxmotion_ssc32_driver/joints/joint_4/channel
* /lynxmotion_ssc32_driver/joints/joint_4/default_angle
* /lynxmotion_ssc32_driver/joints/joint_4/invert
* /lynxmotion_ssc32_driver/joints/joint_4/max_angle
* /lynxmotion_ssc32_driver/joints/joint_4/min_angle
* /lynxmotion_ssc32_driver/joints/joint_4/offset_angle
* /rosdistro
* /rosversion
NODES
/joint_controller/
robot_state_publisher (robot_state_publisher/robot_state_publisher)
/
lynxmotion_ssc32_driver (lynxmotion_ssc32/ssc32_node)
auto-starting new master
process[master]: started with pid [22454]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 1f3645bc-4aa5-11e4-80bb-00262df3360c
process[rosout-1]: started with pid [22468]
started core service [/rosout]
process[joint_controller/robot_state_publisher-2]: started with pid [22480]
process[lynxmotion_ssc32_driver-3]: started with pid [22498]
[ INFO] [1412303380.091396818]: Starting SSC32Driver
Successfully opened port /dev/ttyUSB0
[ INFO] [1412303380.094847616]: Initializing channel 0 to pulse width 1500
[ INFO] [1412303380.094890107]: Initializing channel 1 to pulse width 1500
[ INFO] [1412303380.094920101]: Initializing channel 2 to pulse width 1500
[ INFO] [1412303380.094943770]: Initializing channel 3 to pulse width 1500
[ INFO] [1412303380.094967677]: Initializing channel 4 to pulse width 1500
INFO: [send_message] Sending message: #0 P1500 #1 P1500 #2 P1500 #3 P1500 #4 P1500 <cr>
[ INFO] [1412303380.095032393]: Spinning...
INFO: [send_message] Sending message: QP0 <cr>
Hi, I am having issues getting the driver to respect the "time_from_start" part of the JointTrajectory message. I am publishing directly to the "/joint_controller_1/command" and have tried JointTrajectory messages with single and multiple JointTrajectoryPoint points and the "time_from_start" does not seem to effect the speeds.
I am used to using FollowJointTrajectoryAction actions with dynamixels so may be approaching this wrong. In the test code below the servos just move to the 1 position. Any help would be much appreciated.
Test code: https://s3-eu-west-1.amazonaws.com/data.re.je/tuck_arm.py
I think we should move this driver to smd-ros-pkg
and officially release it.
Thoughts from @mattrichard? @tonybaltovski?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.