[openrtm-users 01453] RTコンポーネントリリース | New RT-Component release: RTC:HokuyoAist

6 posts / 0 new
Last post
root
Offline
Last seen: 4 days 10 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 01453] RTコンポーネントリリース | New RT-Component release: RTC:HokuyoAist

(English announcement follows Japanese.)

OpenRTM-aistメーリングリストの皆様

北洋電機株式会社製のレーザーセンサー用のRTコンポーネント
「RTC:HokuyoAist」をリリースしました。URG-04LX(Classic-URG)、UGH-
08LX(Hi-URG)、UTM-30LX(Top-URG)、UXM-30LX(Tough-URG)及びUXM-30LX-E
を含むレーザーセンサーの、すべての現在のモデルで機能します。Windows、
Linux及びMacOS Xで使うことができます。

■ 参照
http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist

■ ダウンロード:
http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0

---

An RT-Component for laser range sensors from Hokuyo Automatic Co., Ltd.
has been released. It functions with all current models of laser
scanner, including the URG-04LX (Classic-URG), UHG-08LX (Hi-URG),
UTM-30LX (Top-URG) and UXM-30LX/UXM-30LX-E (Tough-URG). It can be used
in Windows, Linux and MacOS X.

- Further information:
http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist

- Download:
http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0

Geoffrey Biggs

Undefined
root
Offline
Last seen: 4 days 10 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 01454] RTコンポーネントリリース | New RT-Component release:

Dear Geoffrey and OpenRTM ML:Actually I just started using the hokuyo_aist OpenRTM component in the Gearbox project. I quickly looked through the new RTC:HokuyoAist component, it's very different to the one in Gearbox.
I wonder what was the reason behind this major change??The link to download on the webpage (http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0)
is not correctly formated. Please check. Another thing not so related is that,I actually have been trying to write a component with a consumer service port to link with the control port (provider service)on the old hokuyo_aist component in Gearbox for the whole day today. But have not had any success.
It should be quite straight forward, but I couldn't find out why it's not connectingI have code like this.h:/RTC::CorbaPort m_hokuyo_aistPort;RTC::CorbaConsumer<hokuyo_aist_control> m_hokuyoPort;
cpp:/onInitialize()m_hokuyo_aistPort.registerConsumer("hokuyoPort", "hokuyo_aist_control", m_hokuyoPort);addPort(m_hokuyo_aistPort);but whenever I call a function like below.double tmp = m_hokuyoPort->GetStartAngle();
It throws an error complainingomniORB: ERROR -- the application attempted to invoke an operation on a nil reference.Error in service port.Do you know Is there anyway I can check the connection between service ports after they are initialise ?
or what I am doing wrong?Thanks in advanceTony2010/11/8 Geoffrey Biggs <>

(English announcement follows Japanese.)

OpenRTM-aistメーリングリストの皆様

北洋電機株式会社製のレーザーセンサー用のRTコンポーネント
「RTC:HokuyoAist」をリリースしました。URG-04LX(Classic-URG)、UGH-
08LX(Hi-URG)、UTM-30LX(Top-URG)、UXM-30LX(Tough-URG)及びUXM-30LX-E
を含むレーザーセンサーの、すべての現在のモデルで機能します。Windows、
Linux及びMacOS Xで使うことができます。

■ 参照
http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist

■ ダウンロード:
http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0

---

An RT-Component for laser range sensors from Hokuyo Automatic Co., Ltd.
has been released. It functions with all current models of laser
scanner, including the URG-04LX (Classic-URG), UHG-08LX (Hi-URG),
UTM-30LX (Top-URG) and UXM-30LX/UXM-30LX-E (Tough-URG). It can be used
in  Windows, Linux and MacOS X.

- Further information:
http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist

- Download:
http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0

Geoffrey Biggs

root
Offline
Last seen: 4 days 10 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 01455] RTコンポーネントリリース | New RT-Component release:

Dear Tony-san

> The link to download on the webpage (
> http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0)
> is not correctly formated. Please check.
Thank you for a report.
I have corrected the webpage.

Best regards,
Shinji Kurihara

On Mon, 8 Nov 2010 22:32:01 +1300
Tony Kuo wrote:

> Dear Geoffrey and OpenRTM ML:
>
> Actually I just started using the hokuyo_aist OpenRTM component in the
> Gearbox project.
>
> I quickly looked through the new RTC:HokuyoAist component,
> it's very different to the one in Gearbox.
>
> I wonder what was the reason behind this major change??
>
> The link to download on the webpage (
> http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0)
> is not correctly formated. Please check.
>
> Another thing not so related is that,
> I actually have been trying to write a component with a consumer service
> port to link with the control port (provider service)
> on the old hokuyo_aist component in Gearbox for the whole day today. But
> have not had any success.
>
> It should be quite straight forward, but I couldn't find out why it's not
> connecting
> I have code like this.
> h:/
> RTC::CorbaPort m_hokuyo_aistPort;
> RTC::CorbaConsumer m_hokuyoPort;
> cpp:/
> onInitialize()
> m_hokuyo_aistPort.registerConsumer("hokuyoPort", "hokuyo_aist_control",
> m_hokuyoPort);
> addPort(m_hokuyo_aistPort);
>
> but whenever I call a function like below.
> double tmp = m_hokuyoPort->GetStartAngle();
>
> It throws an error complaining
> omniORB: ERROR -- the application attempted to invoke an operation on a nil
> reference.
> Error in service port.
>
> Do you know Is there anyway I can check the connection between service ports
> after they are initialise ?
> or what I am doing wrong?
>
>
> Thanks in advance
> Tony
>
>
>
>
> 2010/11/8 Geoffrey Biggs
>
> > (English announcement follows Japanese.)
> >
> > OpenRTM-aistメーリングリストの皆様
> >
> > 北洋電機株式会社製のレーザーセンサー用のRTコンポーネント
> > 「RTC:HokuyoAist」をリリースしました。URG-04LX(Classic-URG)、UGH-
> > 08LX(Hi-URG)、UTM-30LX(Top-URG)、UXM-30LX(Tough-URG)及びUXM-30LX-E
> > を含むレーザーセンサーの、すべての現在のモデルで機能します。Windows、
> > Linux及びMacOS Xで使うことができます。
> >
> > ■ 参照
> > http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist
> >
> > ■ ダウンロード:
> > http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0
> >
> >
> > ---
> >
> > An RT-Component for laser range sensors from Hokuyo Automatic Co., Ltd.
> > has been released. It functions with all current models of laser
> > scanner, including the URG-04LX (Classic-URG), UHG-08LX (Hi-URG),
> > UTM-30LX (Top-URG) and UXM-30LX/UXM-30LX-E (Tough-URG). It can be used
> > in Windows, Linux and MacOS X.
> >
> > - Further information:
> > http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist
> >
> > - Download:
> > http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0
> >
> >
> >
>

root
Offline
Last seen: 4 days 10 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 01457] RTコンポーネントリリース | New RT-Component release:

On 08/11/10 18:32, Tony Kuo wrote:
> Dear Geoffrey and OpenRTM ML:
>
> Actually I just started using the hokuyo_aist OpenRTM component in the
> Gearbox project.
>
> I quickly looked through the new RTC:HokuyoAist component,
> it's very different to the one in Gearbox.
>
> I wonder what was the reason behind this major change??

The new component meets the hokuyo_aist-2.0 API, which is an overhaul of
the 1.0 API. The component in the Gearbox repository is not compatible
with the latest version of the hokuyo_aist library.

> The link to download on the webpage
> (http://www.openrtm.org/openrtm/ja/content/rtchokuyoaist-0)
> is not correctly formated. Please check.
>
> Another thing not so related is that,
> I actually have been trying to write a component with a consumer service
> port to link with the control port (provider service)
> on the old hokuyo_aist component in Gearbox for the whole day today. But
> have not had any success.
>
> It should be quite straight forward, but I couldn't find out why it's
> not connecting
> I have code like this.
> h:/
> RTC::CorbaPort m_hokuyo_aistPort;
> RTC::CorbaConsumer m_hokuyoPort;
> cpp:/
> onInitialize()
> m_hokuyo_aistPort.registerConsumer("hokuyoPort", "hokuyo_aist_control",
> m_hokuyoPort);
> addPort(m_hokuyo_aistPort);
>
> but whenever I call a function like below.
> double tmp = m_hokuyoPort->GetStartAngle();
>
> It throws an error complaining
> omniORB: ERROR -- the application attempted to invoke an operation on a
> nil reference.
> Error in service port.
>
> Do you know Is there anyway I can check the connection between service
> ports after they are initialise ?
> or what I am doing wrong?

I should check, just to be sure: did you connect the two service ports?
Service ports have to be connected, just like data ports. Having a nil
reference is a symptom of trying to use an unconnected port.

Are you trying to use the service ports in onInitialize()? You can't use
them at that point as the component is still initialising. You should do
any setting up that requires communication with the outside world in
onActivated().

Geoff

root
Offline
Last seen: 4 days 10 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 01469] RTコンポーネントリリース | New RT-Component release:

Hi Tony,

On 09/11/10 16:28, Tony Kuo wrote:
> Hi Geoff:
>
> I looked through the new component,
> it's using RTC::RangeData which is much better and easier to use.

That is why we implemented it. :)

> In my component that connect to the provider service port in the
> previous hokuyo_aist component in Gearbox.
> I was calling double tmp = m_hokuyoPort->GetStartAngle() in function
> onActivited()
>
> I understand that I was getting nil reference becoz it was not connected,
> but I have no way to check the connection or reconnect if it's not
> connected.

You can tell if a port is connected through the port object's API. If it
is connected, get_connector_profiles() will return a list of the
connector profiles. If you know the ID of the connection you expect then
you can use get_connector_profile() to check if it exists.

While it is possible to connect a port from inside a component, it's
extremely ugly and a hack that noone should ever do. Ensuring that a
port is connected before a component is activated is a deployment
problem, which is external to components. If a component requires that a
port is connected when it is activated, it should fail onActivated and
go into the error state when the port isn't connected.

We are still working on the deployment tools for OpenRTM-aist. The tools
in rtsshell are useful, but we don't consider them to be perfect nor to
be the final solution.

> Another thing I am finding difficult in developing with the hokuyo aist
> component
> is that there is no way I know of, allow me to visualise the laser data
> from the component.

OpenRTM-python includes a laser range data viewer as one of its sample
components. The released version uses a different format for the range
data, but the trunk version has been updated to use RTC::RangeData. You
can get it here:

http://openrtp.jp/openrtm/svn/OpenRTM-aist-Python/branches/RELENG_1_0/OpenRTM-aist-Python/OpenRTM_aist/examples/TkLRFViewer/

Geoff

root
Offline
Last seen: 4 days 10 hours ago
Joined: 2009-06-23 14:31
[openrtm-users 01472] RTコンポーネントリリース | New RT-Component release:

Dear Geoff:Thanks !!This information is very useful!I will try the laser data viewer!P.S. Another thing is I found that the new Hokuyo driver with Gearbox 10.11 doesn't readily work with laser at SCIP 1 version.
I had to switch back to Gearbox 9.11 to drive my laser with the old firmware. ThanksTonyOn 10 November 2010 14:29, Geoffrey Biggs <> wrote:

Hi Tony,

On 09/11/10 16:28, Tony Kuo wrote:
> Hi Geoff:
>
> I looked through the new component,
> it's using RTC::RangeData which is much better and easier to use.

That is why we implemented it. :)

> In my component that connect to the provider service port in the
> previous hokuyo_aist component in Gearbox.
> I was calling double tmp = m_hokuyoPort->GetStartAngle() in function
> onActivited()
>
> I understand that I was getting nil reference becoz it was not connected,
> but I have no way to check the connection or reconnect if it's not
> connected.

You can tell if a port is connected through the port object's API. If it
is connected, get_connector_profiles() will return a list of the
connector profiles. If you know the ID of the connection you expect then
you can use get_connector_profile() to check if it exists.

While it is possible to connect a port from inside a component, it's
extremely ugly and a hack that noone should ever do. Ensuring that a
port is connected before a component is activated is a deployment
problem, which is external to components. If a component requires that a
port is connected when it is activated, it should fail onActivated and
go into the error state when the port isn't connected.

We are still working on the deployment tools for OpenRTM-aist. The tools
in rtsshell are useful, but we don't consider them to be perfect nor to
be the final solution.

> Another thing I am finding difficult in developing with the hokuyo aist
> component
> is that there is no way I know of, allow me to visualise the laser data
> from the component.

OpenRTM-python includes a laser range data viewer as one of its sample
components. The released version uses a different format for the range
data, but the trunk version has been updated to use RTC::RangeData. You
can get it here:

http://openrtp.jp/openrtm/svn/OpenRTM-aist-Python/branches/RELENG_1_0/OpenRTM-aist-Python/OpenRTM_aist/examples/TkLRFViewer/

Geoff

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK